技術的備忘録・等

フロントエンド勉強中です

#技術書典 6に行ってきました

f:id:R_Tewi:20190415113844j:plain

昨日(4/14)開催された技術書典 6に参加してきました。

即売会イベントに慣れていないこともあり長蛇の列に驚きましたが、想像より待ち時間も短くスムーズに入場できました。運営の方々お疲れ様です。ありがとうございました。

戦利品

  • 会場で購入
    • 技術季報 vol.6
    • チーム開発1年目の教科書
    • 非エンジニアのためのJavaScript
    • ワンストップ勉強会
    • ワンストップ転職
    • エンジニアの成長を応援する本
    • 矢澤にこ先輩といっしょに代数!
    • せつラボ 〜圏論の基本〜
    • 継続的にアウトプットする技術――エンジニアのための「続けられる」科学
    • 挫折論への招待
    • はじめる技術 つづける技術
    • フロントエンドごった盛本 PIVO丼
  • イベント後にBOOTHで購入
    • マンガでわかるDocker ①
    • マンガでわかるDocker ②
    • マンガでわかるDocker ③
    • エンジニアの心を整える技術
    • 個人開発がやりたくなる本
    • OSGirls
    • 理論と事例でわかる自己肯定感

アウトプットが苦手なので、そのためのメンタリズムや方法についての本が多いですね。

まとめ

技術書典には初参加だったのですが、来場者は殆どがエンジニアという空間は非常に新鮮でした。

本を買うだけであれば通販でも出来ますが、実際に足を運んでみると今までの知らなかった/意識していなかった分野の本がたくさんあり面白かったです。

また普段Podcastなどで聞いている方々に実際にお会いすることが出来て良かったです。次回も参加したいです。

2018年振り返り・2019年にやりたいこと

文章を書くのが苦手でブログを始めましたが、下書きを書いても仕上げる事ができないということを繰り返していました。
今年は、やりたい事が色々あるので記事を書いていきたいです。

2018年振り返り

仕事に関して

新卒でIT系企業に入社し、SEとして9ヶ月間、NW系の案件の営業支援・プロジェクト管理などを行いました。

SEと言ってもコーディングは一切行わず、大量の書類・メール・Excelを扱うお仕事です。
福利厚生や教育体制も非常に整っており、同僚も良い人が多い(年齢層が高いせいもあり、しんどい時も多いですが・・・) 良い企業だと思いますが、自分の性格ややりたい事と合っていないというのが現状です。

創作に関して

WEBリリースのジャケットデザインとその特設ページの制作を2件行いました。

ブログサイトなど以外でWEBページを初めて作成しました。自分の制作物が世に出るというのは嬉しいですね。
しかしありとあらゆるスキルが不足している事を実感しました。

昨年は仕事を言い訳にして、あまり熱心に活動できませんでした。
今年はちゃんとします。

2019年にやりたい事

キャリアチェンジ

第一目標です。

現在の業務もやり甲斐はありますが、やはりコードが書くお仕事がしたいです。
低スペックマシンでマクロだらけのExcelを弄り、改ページプレビューとにらめっこして綺麗な書類を作成することがしたくてIT企業に入った訳ではありません。
管理職にも興味が無いですし、このまま現職を続けても、出世せずだらだらと過ごしていくでしょう。

引っ越し資金も貯まったため、早めにキャリアチェンジを実現させたいです。

アウトプット

エンジニアはアウトプットが大事と良く言われています。

昨年度はドットインストールなどの学習は行っていましたが、そこから成果物に通じるものを作成出来ていなかったです。 また文章作成に対する苦手意識が、記事を書く事に対する抵抗を強くしています。

今年は、稚拙でも良いのでアウトプットをしていきたいです。

PCの新調

現在はMac mini (Late 2014)をメイン機として運用していますが、スペック不足を感じるようになってきました。
MacBook Pro 15 + 外部ディスプレイが良いかなと思いますが、最近のMac高いですね・・・。


昨年度からアウトライナーを使うようになり、以前に比べるとましにはなったと思いますが、やはり文章がうまくまとまりません。

アウトライナーGTD等色々なことを試しています。ここら辺についてもそのうち書きたいですね。

Electron版の伺か(如何か)を動かしてみた

私は普段Macを使っているので、PlayOnMacでSSPを動かしています。
ただし仮想環境ということもたまにバグったり、文字化けしたりしてどうにも不安定です。

「そういえば、Web上で伺かを動かす如何というのがあったなぁ」
「というかWeb上で動くと言うことはElectronで動くのでは?」と思ったところそういうプロジェクトがあるらしい。
https://github.com/Ikagaka/ikagaka-desktop

現在Windows環境で作っているようなので、BootCampで試してみました。

Gitのインストール

下記URLからインストールします。
https://git-scm.com/downloads

インストール時の設定は基本デフォルトのままで、下記の項目だけ変更しました。

  • 「Adjusting your PATH environment」-> 「Use Git from the Windows Command Prompt」
  • 「Configuring the line ending conversions」-> 「checkout as-is, commit Unix-style line ending」
  • 「Configuring the terminal emulator to use with Git Bash」 -> 「Use Windows' default console window」

Node.js(nodist)のインストール

Node.jsのバージョンを管理が出来るnodistをインストールします。 https://github.com/marcelklehr/nodist/releases

Windows PowerShellを起動します。 初期設定ではスクリプトの実行が禁止されているので、ポリシーを変更します。

> Set-ExecutionPolicy Unrestricted

インストール出来る、Node.jsの一覧を表示します。

> nodist dist

一覧の中から好きなバージョンをインストールします。 今回は10.5.0にしました。

> nodist + 10.5.0

使用するバージョンを指定。

> nodist 10.5.0

リポジトリのクローン

お好きなディレクトリで、リポジトリをクローンします。

> git clone https://github.com/Ikagaka/ikagaka-desktop.git

ikagaka-desktopディレクトリに移動して次のコマンドを実行します。

> cd ikagaka-desktop
> npm config set scripts-prepend-node-path true
> npm install
> npm run prepare:example
> npm run build
> npm run watchbuild

PowerShellをもう一つ起動し、次のコマンドを実行。

> npm run ndevw

無事起動。

f:id:R_Tewi:20180712010657p:plain

Dvorak配列をやめました

5年間ほど使い続けていたDvorak配列をやめました。

Dvorakは非常に打ちやすく気に入っていたのですが、一部ソフトウェアに依存してしまうことと、それに伴い環境構築に時間がかかってしまうことが苦痛になってきたのでQwertyに戻ることにしました。

macOSWindowsLinuxCentOSUbuntu)でDvorakを使用していました。

f:id:R_Tewi:20180520191732p:plain

macOSでは「Dvorak - QWERTY」配列で使っていました。

Dvorak - QWERTY」では、Commandキー押下時はQWERTYに戻るため、基本的なショートカットはそのまま使うことができます。

5年間Dvorak配列を使って

Dvorakは打ちやすいです。

タイピング速度が上がるというより、手にかかる負担がQwertyに比べて少ないです。これだけのためにこれまでいろいろ面倒くさい設定を繰り返して使い続けていました。

特にコーディングでよく使う記号、「.」「,」、C系の言語でよく使う「;」と「<」「>」の位置が非常に打ちやすいです。

QWERTYとの両立は意外となんとかなる

文章の入力に関しては、DvorakQwertyの両立は難しくありません。
当時、研究やバイト先などの共用PCではQwertyを使っていましたが問題無く使い分けていました。

記号の配列が変わるのがつらい

文章の入力に関してはどっちも使えるんですが、記号をよく打ち間違えます。 人のパソコンでちょっとコードを触るときなどは、ターミナルコマンドを打ち間違えたりしてダサい感じになってました。

Mac標準のIMEが使えない

Dvorakで日本語を入力する場合、キー配置の関係で「か」行は「k」ではなく「c」で打ちます。

Google IME」や「ATOK」では問題ないですが、macOSデフォルトのIMEではローマ字テーブルが書き換えられないので(Yosemiteではできたのですが・・・)使うことができません。私はATOKを使っていました。

viが壊滅

viはキー単体でのショートカットがメインのエディタなので、キーバインドが壊滅的になります。
これまで使っていた人は覚えなおすか、Qwerty風にキーバインドを全て書き換える必要があります。
ただ覚えなおした場合、元のキー配列を忘れてしまうためQwertyでのviは辿々しくなります。

一部アプリケーションでショートカットがおかしくなる

一部アプリケーションでは、Cmdキーを押してもDvorakのままの状態でショートカットが発行されてしまう現象がおきます。
例えば、カットをしようと「Cmd-x」を入力すると「Cmd-q」が発行されアプリケーションが落ちます。

私の確認したものでは、Atomエディタ、Blender、Inkdropなどで、クロスプラットフォームのアプリケーションで発生するようです。 またモノによって、一部のショートカットのみ正しく動作したりよく分かりません。

Atomエディタに関しては、issueが上がっており、「Dvorak - QWERTY」においてのみ修正されてます。日本語入力に変えるとおかしいままです。

私は、すべてのキーバインドを自力で書き換えて使っていましたが、HDDでは動作が重すぎたのにうんざりしていたのもあり、Emacsに乗り換えました。

EmacsDvorakと相性が良いです。

Dvorak配列を活用するのであれば、どれだけ周りが変わってもエディタ自体を弄ったりして心中できる覚悟が必要です。教授など、ずっと自分の環境でのみ作業ができる人は良いかもしれません。

前からトラブルに合うたびに意地で乗り切ってきましたが、最近では本格的に時間がなくなってきたので、Qwertyに戻りました。
エディタもEmacsからAtomに戻りました。 なんて楽なんだ。 打ちにくいなぁ。

Mac miniをSSDに換装した

最近Mac miniのストレージをSSDに換装した。

私はMac mini Late 2014モデルをストレージ(1TB HDD)以外最大までカスタマイズしたものを使用していたが、サブ機のMacBook Proや出先のパソコンも最近SSDにしたせいで今までの遅さに耐えられなくなってきた。

今のものをそのままクローンしたかったため、960GBのものを購入。

SanDisk SSD UltraII 960GB 2.5インチ [国内正規品]メーカー3年保証付 SDSSDHII-960G-J26

SanDisk SSD UltraII 960GB 2.5インチ [国内正規品]メーカー3年保証付 SDSSDHII-960G-J26

換装手順についてはiFixitや先駆者様の記事を参考にさせていただいた。
すべてのパーツを取り出す必要がある上、部品も小さくて壊しそうで怖い。

f:id:R_Tewi:20171119164633j:plain:w300f:id:R_Tewi:20171119164640j:plain:w300

換装前に比べて7〜8倍ほど速くなった。
起動や重いアプリの立ち上げだけでなく「Siri」や「通知センター」等の基本的な動作のもたつきがなくなり非常に快適。

2014年からアップデートのないMac miniを買おうという人は余りいないだろうが、もし検討しているならばストレージはSSDか最低限Fusion Driveにした方が良い。
購入後、自分で換装すれば安上がりだがサポート対象外となるのでおすすめしない。

次期Mac miniは、Mac Proのエントリーモデル的な立ち位置になるとかそんな事を聞いたが実際どうなるのか。
Apple製品のワイヤレスとスリムさの徹底は確かに魅力的だが、わたしはMacのキーボード&トラックパッドmacOSが気に入っていて使っているので、Windows機のようにグラボやストレージを自由に追加できるMac・・・箱形のMac Proが出てくれると一番嬉しい。

OmniFocusが読み込みエラー起動しなくなった時の対処法

先日、帰宅してOmniFocusを起動しようとしたら、こんなエラーが出て起動しなかった。
f:id:R_Tewi:20171023224519p:plain
原因は恐らく、iPhoneでプロジェクト名に絵文字を入れようと色々いじってたこと。

再インストールをしても症状が変わらなかったので、多分サーバ上のデータがおかしいらしい。

akisute.com

上記のサイトによると、OmniFocusのデータはローカルにzipファイルで保存されているらしい。

データは以下のディレクトリに保存されている。

~/Library/Containers/com.omnigroup.OmniFocus2/Data/Library/Application Support/OmniFocus/OmniFocus.ofocus

該当のzipを解凍して中を見てみる。

$ unzip 20171004074602=cavPSZh4hBJ+ejCZckK-qdm.zip
$ cat contents.xml
<?xml version="1.0" encoding="UTF-8"?>
<omnifocus xmlns="http://www.omnigroup.com/namespace/OmniFocus/v2" app-id="com.omnigroup.OmniFocus2.iPad" app-version="113.17.0.295955" os-name="iOS" os-version="11.0.1" machine-model="D10AP"><task id="e9DQg3U6UN0" op="update"><added>2017-10-04T07:44:44.314Z</added><modified>2017-10-04T07:46:02.636Z</modified><name>&#55357; &#56580;Daily Rituals</name></task></omnifocus>
...<name>&#55357; &#56580;Daily Rituals</name>...

この部分が悪さしてそうなので、絵文字部分を削除して再zipしたところ無事起動した。

忘れずに、「ファイル」->「サーバーデータベースを置き換え...」を実行しておく。

iOS11でOmniFocusのカレンダー照会がうまくいかない時の対処法

OmniFocusでは期限付きタスクをカレンダーとして照会出来る機能がある。

最近この機能を使おうとしたが、認証画面に正しいユーザ名とパスワードを入力しても一向に通らない現象に遭遇した。

軽く調べてみたところフォーラムに回避策が出ていたが、日本語の記事は見当たらなかったのでメモしておく。

Resolving "Calendar requires authentication" errors - Support - The Omni Group

  1.  キーチェーンアクセスを開く
  2.  分類からパスワードを選択し、検索欄でomniと検索
  3. 出てきた sync.omnifroup.comsync[#].omnifroup.com([#]は数字)のうち、キーチェーンがログインではなくiCloudとなっているものを削除する

これでiOSから再度設定すれば、正常に照会できる。

またMac版でカレンダー照会をする際に、保存場所をiCloudではなくローカルに保存しなければならない

これをしないと、iOS側で何回も認証画面が出てしまう。面倒くさいがデバイスごとに設定するしか無い。