本の整理しなきゃなぁ

自宅の本棚から要らなくなった本を処分できた。
だいぶすっきりしたものの、まだまだ積読本やらなんやらがぎっしり。

一度一斉に片さないといけないなぁと思う。

感想をブログにも書きたい。

latexで小説を書く

タイトルでは小説としてますが、以下の要素を満たした文書を作成します。

  • 日本語の文章
  • 縦書き
  • 用紙サイズは自由(A4,B4,A5,B5から)

使用する環境は以下の通りです。

結論から言ってしまうとこういう書き方で使用しています。

\documentclass[a5j,12pt]{tbook}
\usepackage{okumacro}
\usepackage[pass]{geometry}
\title{タイトル}

\begin{document}
\maketitle

本文

\ruby{漢字}{かんじ}にルビを振りたい時は、このように入力します。

数字を横書きで書きたい時は、\rensuji{999}と書きます。

\end{document}

用紙サイズに関する注意点

a5jと書いてあるのは用紙サイズを指定しています。
ここではA5用紙サイズです。
同じようにa4j、b4j、b5jと書くことで他のサイズを指定できます。

用紙サイズで注意が必要なのは、documentclassで指定してもpdf化するとうまくいかないことがあります。
私もA4サイズの縮尺でA5サイズに出力されたり、文字が用紙からはみ出したりしました。
3行目の\usepackage[pass]{geometry}はこの問題を回避するために入力しています。

jsonファイルの出力

Python3でjsonファイルを出力するプログラムです。

import json
import codecs

# jsonオブジェクトを作成する
obj = dict()
obj['foo1'] = 'bar1'
obj['foo2'] = 'bar2'

# 書き出すjsonファイルをopen
file = codecs.open('./output.json', 'w', 'utf-8')

# ファイルにオブジェクトを書き出す
json.dump(obj, file, indent=4, ensure_ascii=False)

オプションとしてインデントを4、
ascii文字のエスケープは無効でやっています。
今回の例では不要ですが、ascii文字を使用するときはこれをやらないとエスケープされてしまいます。

以下が書き出したjsonのコードになります。

{
    "foo1": "bar1",
    "foo2": "bar2"
}

以下、公式のドキュメントです。
19.2. json — JSON エンコーダおよびデコーダ — Python 3.6.1 ドキュメント
7.2. codecs — codec レジストリと基底クラス — Python 3.6.1 ドキュメント

7、8月のまとめ

前回の記事を書いてから何やってきたか殆ど覚えていないので、
思い出しながらまとめてみる。

Boostnoteのインストール

デスクトップとノートの両方にインストールして使っている。
Markdownでメモを書けるのは本当に楽!わかりやすい!簡単!

iCloudの共有フォルダにデータディレクトリ入れてるので、勝手に同期してくれる。
こんな便利なものあったんだと目からウロコでした。

boostnote.io

Python3

主にScrapyでスクレイピングするために勉強した。
前はRubyのAnemoneやNokogiriでやってたけど、それより便利かも。

ただ、Rubyに比べて日本語のドキュメントが少ないのが欠点といえば欠点か。
プログラマなんだから英語の勉強もしろよってことですね。

まだしっくりきてないですが、
一応クローリングとスクレイピングは違いますよってことを書いておきます。

  • クローリング
    • Webページのリンクを辿りながら保存する作業
  • スクレイピング
    • 保存したページからデータを抽出する作業

Unity

これについては殆ど触りだけしかやってません。
具体的には、ドットインストールのチュートリアルやったくらい。

ただ何か作れそうといえば作れそうです。
それが未定なのでいまいちモチベが上がらないだけですが……。

C++

ここ最近半分以上はC++いじっていたような気がします。
それくらいずっとC++ばっかりやってました。

今更、STL凄い!スマートポインタ凄い!ラムダ式凄いと感動してます。
いままで避けてきたツケが回ってきたというか。

読んだ本についてはこんな感じです。

  • 書籍「ゲームエンジンアーキテクチャ第2版」
    • ゲーム業界特化で書いてあるので面白い
    • 具体的なツール名や考え方、便利な機能まで細かく書いてある
    • 情報量が多すぎてまだ全部読み切れていない……
  • 書籍「標準講座C++
    • 2年近く昔に買った本なので情報が古い
    • 基本的なことは一通り書いてあるので困ったときのドキュメントになってる

C++gccコンパイラを使ってます。
Makefileから書くと今まで意識してなかったことが理解しやすくて勉強になる。
リンクってなんだ?オブジェクトファイルってなんだ?が一気に解決しました。



そんなところです。

TS Sniperの出力エラー「Unable to to read next transport packet - End of file reached.」の対処方法について

録画したテレビ番組の編集にTS Sniperを使っているのですが、
ある時カット編集したTSファイルを出力しようとしたら以下のエラーが表示されました。

Unable to to read next transport packet - End of file reached.

f:id:katakusu1714:20170715141810p:plain

エラーが出るTSファイルと出ないファイルがあるようで、
原因がよく分かりませんでした。


色々調べた結果、対処方法らしきものを発見したので、
以下に記載しておきます。

対処法

要点だけ言うと、
今までと同じようにTSファイルをTS Sniperで編集するのではなく、
TSファイルを一旦tsMuxeRというソフトに通してからTS Sniperで編集するというものです。

tsMuxeRのダウンロードや説明は以下のリンクより
www.gigafree.net

tsMuxeRをダウンロードインストールしたら、以下の手順どおりに編集します。

実行手順

1. tsMuxeRを起動する

2. tsMuxeRにTSファイルをドラッグドロップ

色々設定できるみたいですが、確認するのはInputタブのみで大丈夫です。

Input filesにドラッグドロップしたファイルが設定されてて、
Tracksで全部(動画、音声)にチェックが入ってて、
OutputがTS muxingに設定されていることを確認します。

OutputのFile nameから出力先や出力名を変更できます。

3. [Start muxing]で出力する

4. 出力したTSファイルをTS Sniperで編集して書き出す


今のところ上記の方法でエラーは出なくなりました。

6月まとめ

6月にやったことをまとめてみる

一番内容濃かったと思ったのはSwiftの勉強だった。
実機でテストできるって知ってから一気にモチベ上がった。
ちなみに、手持ちのiPhoneは5無印という骨董品だけど。

Swift勉強する上できつかったのは、過去のバージョンとの互換性があまりない。
ナレッジを調べても出てくるコードはObjective-C、swift1、swift2……

AppleはまたSwift4出すようだけど、もうやめてくれと……

とりあえず編集してみる

前回の更新が2月末で今はもう5月末。
どんだけ経ってんだって話だよ、本当に。
それでもメモ帳代わりに書くなら、テキストファイルよりもブログでいいかと思ってダラダラと書きます。

前回の更新からなんかいろいろやってたなぁと。

脈絡もなく書いたけどこんな感じかな。

また新しくやりたいこと見つかったら、メモ代わりに書いていこうと思う。
やっぱり記録を残したり、書き出すって大切だな。