午後から→オーバークロック

駆け出しハッカー()によるプログラミング・サービス開発備忘録。

Sublime Textのプラグインまとめ

Sublime Text 3(Mac)に自分が入れたプラグインをまとめました。

一般

日本語対応

  • IMESupport
    • Windowsのみ必要。Macだと要らないです。
  • ConvertToUTF8
  • Codecs33

ユーティリティ

  • SideBarEnhancements
  • Trailing Spaces
  • RecentActiveFiles
  • Local History
  • SublimeOnSaveBuild
  • AdvancedNewFile
  • Terminal
  • BoundKeys
  • Smart Delete

Web系

SassやLESSなどのプリプロセッサは省略。

  • Goto-CSS-Declaration
  • LiveReload
    • ST3だとここからdev版を入手して手動インストールし、コマンドパレットからLiveReload: Enable/disable Plug-ins
    • アドオンは2.x
  • SublimeServer
  • Live Style
  • Inc-Dec-Value

Goto-CSS-Declarationはcmd+rightcmd+leftを使ってしまっているので、
キーバインドを変更しましょう。

Key Bindings - User

[
    // change key binding for goto_css_declaration
    {
        "keys": ["super+right"],
        "command": "move_to",
        "args": {"to": "eol"}
    },
    {
        "keys": ["super+left"],
        "command": "move_to",
        "args": {"to": "bol"}
    },
    {
        "keys": ["ctrl+right"], "command": "goto_css_declaration",
        "args": {"goto": "next"}
    },
    {
        "keys": ["ctrl+left"],  "command": "goto_css_declaration",
        "args": {"goto": "prev"}
    }
]

外部リソース

  • Nettuts+ Fetch
    • Fetch: Manageで設定追加
  • cdnjs

コード補完・整形

SublimeCodeIntelは敢えて除去

  • SublimeLinter
  • All Autocomplete
  • Tag
  • CSScomb
  • AutoFileName
  • jQuery

  • Emmet

  • Hayaku

Emmetはキーバインドが多いので、一部(ctrl+ectrl+d)無効化
また、HayakuとバッティングしないようにCSSを無効化

PackageSetting -> Emmet -> Setting - User

{
    "disabled_keymap_actions": "expand_abbreviation,balance_outward",
    "disable_tab_abbreviations_for_scopes": "css,less,sass,scss,stylus"
}

その他の言語

Python

  • Anaconda
    • ST2だとSublimeJedi
    • PEP8のLinterも含むので、Python Flake8 Lintとか要らない

PackageSetting -> Anaconda -> Setting - User

{
    "pep8_max_line_length": 109,
    "anaconda_linter_mark_style": "none",
    "anaconda_linter_underlines": true,
    "pep8_ignore":
    [
        "E231","E302"
    ]
}

Markdown

  • OmniMarkupPreviewer
  • Monokai Extended
    • 有効化(Preferences -> ColorScheme)
  • Markdown Extended
    • syntax有効化(View -> syntax -> Open All with...)

その他の設定

Preferences: Settings - User

{
    "show_encoding": true,
    "show_line_endings": true
}

Preferences: Key Bindings - User

[
  // PageUp
  {
      "keys": ["ctrl+["],
      "command": "move",
      "args": {"by": "pages", "forward": false}
  },
  // PageDown
  {
      "keys": ["ctrl+]"],
      "command": "move",
      "args": {"by": "pages", "forward": true}
  },
  // jump to line top without indent
  {
      "keys": ["ctrl+a"],
      "command": "move_to",
      "args": { "to": "bol", "extend": false}
  }
]

ターミナル

sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/bin/subl

注意すること

プラグインをたくさん入れると、どうしても機能がかぶることがあります。
そのため、設定が反映されない、と思うときは、他のパッケージを疑ってみましょう。

また、User設定を作るときは、Default設定ファイルが一番良いと思います。

参考

Web制作者のためのSublime Textの教科書 今すぐ最高のエディタを使いこなすプロのノウハウ

Web制作者のためのSublime Textの教科書 今すぐ最高のエディタを使いこなすプロのノウハウ

Sublime Textのキーバインドをちょっといじる

Sublime Text 3のデフォルトのキーバインドだと、
PageDownはctrl+vで出来る(Emacsと一緒)のですが、
PageUpが出来ないので、ctrl+@に割り当ててみました。

設定

コマンドパレット(cmd+shift+p)でKeyBindings - Userを選んで、設定ファイルを開きます。

f:id:nemupm:20141112022234p:plain

そこに以下の様に書いて、保存しましょう。

[
    // PageUp
    {
        "keys": ["ctrl+@"],
        "command": "move",
        "args": {"by": "pages", "forward": false}
    }
]

その他のコマンド

Commands — Sublime Text Unofficial Documentation

公式ドキュメントや、上記の非公式ドキュメントなどを参照してください。

Macをクリーンインストールした

OSX Yosemiteにしたら動作が重くなって、
一文字打つごとにウィンドウが点滅するレベルだったので、クリーンインストールしました。

スペックはMacBook Air Late2010 11inch、メモリ4GB。

クリーンインストール方法

起動時にcmd+Rを押すだけ。

バックアップしたデータ

ファイル

  • ユーザフォルダ

環境・設定

  • アプリケーションのリスト
  • .zshrc
  • Homebrewのリスト(brew list
  • SublimeTextの設定

メールクライアントの設定とかはiCloudで同期されてたので要りませんでした。

結果

初期の時点で使用済みメモリが3.8GBくらいを占めてました。
主要アプリをインストールすると、(以前ほどではないにしろ)結局動作が重くなってしまいました。
以下アクティビティモニタです。

f:id:nemupm:20141103211247p:plain

再起動直後はマシですが、その後

  • 確保されているメモリ
  • 圧縮

あたりが増えていくのが問題です。
アプリそれぞれの譲らない部分が積もっていって窒息しかけてるんでしょうか。
スワップ使用領域も最初は0でしたが、増えだすと途端に遅くなります。

Yosemiteの想定メモリは8GB以上ってことですかね。

追記

どうやら、使用済みメモリがほぼMAXに行くのは最近のOSXの仕様みたいです。
スワップが無ければ気にしなくても良さそう。

初めての勉強会でLT(ライトニングトーク)してみた

f:id:nemupm:20141023031104j:plain

By Lovelorn Poets / talk

先日、大阪Pythonユーザの集まり 2014/10という勉強会にLT枠で参加してきました。

勉強会に参加しようと思ったきっかけは、
友人がdotsというエンジニアの為のイベント情報サイトを教えてくれてそこで存在を知ったのと、
同じく友人にYAPCとかに参加した自慢をされて、そういう集まりが羨ましかったからです(そんな理由でいいんか)

そしてイベント情報を見ると、「発表が苦手なあなたも5分だけだからLTに参加してみましょう!」
ということが書かれてて、最初は発表とかはステップ踏んでからだよね。とか思ってましたが
よく考えると最初のステップを踏むためのLTなのではと気付き、
なかなかこんな良い機会も無いなと思ったのでLT枠で申し込みました。

資料の準備

最近は研究室で使うプレゼンもマンネリ化してきて、あまり力を入れてなかったのですが、
この機会に自分の納得のいくまでデザインを凝ってみたいと考え、勉強し直しました。

プレゼンのデザインの勉強

読むだけでプレゼン力が格段に上がる!良質スライド&記事のまとめ15選 | Find Job ! Startup

特に上のサイトがすごく参考になりました。

自分なりにまとめたポイント

全体的なこと

  • 対話を心がける(聴衆を意識する。)
  • 聴衆が頷けるような説明をする。
  • 情報を極力絞る。

デザイン

  • 箇条書きは必要なところ以外では使わない。
  • 各スライドのタイトルが大きくある必要は無い。
    • 確かに大事なのはコンテンツなのにタイトルの方が目立つのも変な話だよなあと感じた
  • 重要な文は大きくor色を強く、あまり重要でない文は小さくor色を薄く。
  • 写真は図形(四角形)を挿入してから、その背景として選択したほうが個人的にはやりやすい。
  • 写真をぼかすのは、図形の書式設定>アート効果。
  • フォントはHGS創英角ゴシックUB。

資料サイト

作ってみて

結局作るのに結構時間はかかりましたが、
初めて会うエンジニアの人に、5分で簡単に楽しんでもらおうと考えた結果、 今までよりインパクトのあるスライドができた気がします。

いざ勉強会

集合場所へ到着

結構皆さんお静かに座ってらっしゃって緊張しました。。
(自分が一番年下だったみたいなので、それも緊張した要因かもしれません) マカーがほとんどを占めていたのが印象的でした。

勉強会開始!

やっぱり皆さん企業でバリバリ実装されてる人たちなので、
発表もかなり濃くて実践的な内容が多かったです。
自分の発表こんな内容で大丈夫か、と心配になりましたが、
やっぱり5分で強制交代ってのがLTの良いところで、
テンポ良く次に進んでいくのでちょっと安心しました。

初LT

自分はmacbook airを持って行ってVGA-miniDisplayPortアダプタも持ってきてたんですが、
アダプタが普通に登壇台に置いてあってさすがだなあと。
そしてあっという間に発表終了。

懇親会

けいはんな学研都市の方や、いろんな業界のエンジニアの方と喋れて、すごい新鮮な気分に浸れました。
一番びっくりしたのは、同じ大学出身で今年修士を卒業したという先輩と出会ったことです。
しかも、ニートをやってるらしくてすごい話がはずみました。
(画像処理のアルゴリズムとか言語とかに普通に詳しくて、すごい勿体無いニート先輩でした…)

感想

LTについて

  • 5分はやっぱり短い!
    • 5分に短くまとめるのは逆にかなり発表スキルが要るなと思いました。
    • ただ、資料作成の手間や沢山発表を聴けることを考えると、すごく良いシステムだと感じました。
  • スライドを作っていた時に「ここで笑わせたい!」と考えていた所がウケたりして、すごく嬉しかったです。
    • 研究スライドとかは勿論そういう作り方は全くしないので、割と新鮮でした。
  • スライドを作るのも割と楽しかったですし、発表者として参加することで、 他の人の発表を「こういう発表もあるのかー」と、発表者の目線で観れました。

勉強会全体

  • 手軽に色々な話題を聴けるのはすごいお得感があります。
  • 内容は結構コアでしたが、コアな分、自分が何を知らないかをたくさん知れたのでよかったです。
  • 色んなエンジニアの方の話を聴ける絶好の機会でした。
    • 懇親会はできる限り行こうと思いました。

最後に発表したスライドを一応載せておきます。

PIL(Python Imaging Library)をOS Xに入れる

授業で画像処理の勉強をしているのですが、pythonでは画像ファイルを扱うのにPILというパッケージを使うらしいのでインストールしました。

PILのインストール

pipでインストール。

sudo pip install PIL --upgrade

libjpegについて

自分の環境(Yosemite、pip1.4、py2.7)では、最初--upgradeをつけないでインストールすると

IOError: decoder jpeg not available

というエラーが出てしまった。どうやらこれはlibjpegというjpegを扱うライブラリが不足しているためのよう。
普通はpip install PILの際にjpegライブラリも合わせてインストールされるらしいが、macだと違うのかな?
(因みにpipでインストールした際の出力の最後にPIL SETUP SUMMARYというものが表示されますが、
そこにJPEG support availableと表示されていれば問題ないです。)

django - install pil on virtualenv with libjpeg - Stack Overflow

上記を参照すると、いくつか解決法が示されてました。

最初libjpegを別にインストールして、setup.pyでパスを指定してPILを改めてインストールしようとしたのですが、
setup.pyがどこにあるのかわからないという情弱なので
(色々調べたところPythonのパッケージが/Library/Python/2.7/site-packages/にあることは判明したのですがそこまで…)、
--upgradeオプションを指定する作戦をとったところうまくいきました。

PILの使い方

Python/PILで画像にノイズをかけ各種フィルタで除去する - Soleil cou coupé

上記ブログ様のメディアンフィルタソースコードを拝借させていただき、
以下のソースコードを実行しました。

同ディレクトリにinput.jpgを配置すれば、
フィルターを適用した画像がoutput.jpgとして出力されます。
ただ僕のair2010lateでは3000*2000サイズの画像を処理するのに5分くらいかかりました…。

今後授業で勉強したフィルターを追加するかもしれません。

追記

virtualenvに入れようとするとコケる。以下を参照したら行けた。

Python - pyenvでvirtualenvしててPILがインストール出来ない件 - Qiita

pip install PIL --allow-external PIL --allow-unverified PIL

魔改造されたWordPress Ver2.8の手動アップデートやその他

研究室のブログに使用しているWordPressが古いバージョンなのでバージョンアップしたいのに、
色々改造してあって管理画面にバージョンアップのメニューが表示されない
(というか殆どの機能が表示されない。)

ということで、手動アップデートしました。

マニュアル

WordPress のアップグレード/詳細 - WordPress Codex 日本語版

普通に公式オンラインマニュアルに詳しく書いてある!と思ったら2.0~2.6.5だったので
その先のリンク

WordPress のアップグレード - WordPress Codex 日本語版

を参考にした。

見ると、wp-includesとwp-adminディレクトリはごっそり新しいのに入れ替えて、
新しい方のwp-contentの中身のファイルとルートディレクトリのファイルは全て上書き保存するだけ
らしい。

以上を完了すると、アクセスしたときにデータベースの更新をするためのリンクが表示されたので、
素直に従って無事アップデート完了。

データベース

アップデートしたのに管理画面に機能制限がかかったままなので、改造テーマのせいじゃね?と予想。
テーマを変えるために、直接データベースをいじってみる。

公式のデータベース構造リファレンスを見ると、何かoptionが怪しそうである。
探してみるとビンゴ。

Themes

template The slug of the currently activated theme (how it is accessed by path, ex. /wp-content/themes/some-theme: some-theme would be the value) Default: 'default' Data type: String

mysqlでアクセスして(ユーザ名とパスワードはwp-config.phpに書いてあった)、対象行の値を変更。
しかし、エラーが出る。もう少し探ってみると

How to Change WordPress Themes Directly From the Database | AppThemes Docs

UPDATE wp_options SET option_value = 'ClassiPress' WHERE option_name = 'template';
UPDATE wp_options SET option_value = 'classipress' WHERE option_name = 'stylesheet';
UPDATE wp_options SET option_value = 'classipress' WHERE option_name = 'current_theme';

思いっきり書いてあった…。ほかにもあったのか。なるほど。

その他

結局管理画面はテーマを変えただけじゃ直らなかったが、
もしかして管理者権限でログインすればいけるんじゃないかと気付き、usersテーブルを探る。
すると、adminというユーザが確かに存在することを確認(これくらいログ残しておいてくれ〜〜)

管理者権限で入ると、すんなり色々表示されたので解決。

まとめ

wp-contentディレクトリとwp-config.php・wp-setting.phpおよびmysql以外を入れ替えるだけで
簡単にアプデ出来て感動した。データがちゃんと切り分けられてる。

あと、機能制限はどうやらfunctions.php(wp-adminにもそれぞれのテーマにもある)でやってたみたい。
そこまでいじれるのか〜。昔WordPressをいじったときは管理画面は共通だったのでちょっと焦りました。

名刺デザインを自作してみた

f:id:nemupm:20141014043516p:plain

エンジニアが集まる勉強会に最近行こうかと思っているのですが、
そうなると名刺を用意しておきたいなと思い、色々調べてみました。

求める条件は以下の二点です。

  • 自分でデザインをPDFファイルとして用意したい。
  • そのデザインを元にした名刺の印刷をオンラインで注文したい。

使うツール

はてブを漁ったところ、(イラレは除外するとして)Adobe ROMEpicky picsなどが見つかりました。

Adobe ROME

Project ROME | All-in-one content creation and publishing.

新規作成で91mm×55mm(日本の一般的な名刺サイズ)を入力。

最初はレイヤーもルーラーも表示されてないですが、
表示するように設定すると割と使いやすくなりました。 機能も一通り揃っている印象。

ただ個人的にとても残念だったのが、
オブジェクトをドラッグしても補助線が表示されない点。
補助線が無いと丁度真ん中にオブジェクトを配置、といったことも至難の業です。 PowerPointに慣れている自分としてはどうしても欲しい機能だったのでROMEは断念しました。

picky pics

Picky-Pics

かなり奇麗なテンプレートが揃っており、使えそうな素材もいくつか用意されています。
フォントは数はあまり無いものの、特に問題なさそう。

ただ、図形編集機能の自由度があまりにも少ない。
これは、テンプレートを基本的に使ってほしいということなのでしょうか。
必要十分な機能だけを提供するということなんでしょうが、
今回はちょっと使えそうにありませんでした。

結論

結局色々探してみて、PowerPointよりも良さそうなツールは見つかりませんでした。
最初からそうすりゃ良かった!!

デザイン作成

デザイン作成で行ったことを断片的に羅列。

色の検討

今回作るデザインはFlat UIをテーマにしようと元々決めていたので、
あの有名なサイトを利用しました。

Flat UI Colors

ここからRGBでいくつか色を拝借。

アイコンの準備

SNSなどの連絡先情報を記載する際にアイコンを利用しようと思い、準備しました。

フォントとして埋め込み

最初、Bootstrapでも使われているWebフリーフォントFontAwesomeを使ってアイコンを表示しようと思い、試行錯誤しました。(参考にしたサイト

しかし、いくらやってもうまく表示されず、日本語版のPowerPoint for Macには対応していないのだと判断し、断念しました。

ダウンロード

アイコンは以下のサイトのを使用しました。

Icons DB - free custom icons

ここで、contactsとtwitterfacebookは用意完了。
はてなブログのロゴはさすがに無かったですが、「はてなブログ 公式 ロゴ」で検索したところ、
しっかり公式配布されていたので、拝借。

加工

白抜きにしたいので、事前にGIMPでちょっと加工します。

インポートして、Colors>Colorizeを選択後、Lightnessを100にすることで
画像を無事白に加工することが出来ました。

その他のアイコンの挿入

メールや電話などのアイコンも欲しかったのですが、
これはデフォルトのフォントで用意されているのでそれを利用しました。

やり方は、編集タブ>文字パレットから入力、で表示されたパレットから文字を選択して挿入。

PDFとして出力

作成したオブジェクトをまとめて選択して、「図として保存」を選べばPDFとして出力出来ます。 オンラインサービスなどを利用して、フォントが埋め込まれているか一応確認しましょう。

名刺印刷を注文

今回利用するのは、名刺の達人という業者。

格安名刺・激安名刺はフルカラー100枚560円~の「名刺の達人」へ。

色々業者を調べた感じでは、結局どこも値段は似たり寄ったりということでしょうか。
なので、サイトの作りが割としっかりしている&サンプルが載っている上記業者様に決定しました。

…この記事を書いている段階ではまだ注文していないので、
注文して名刺が届いたらまた追記します。


追記

名刺が届きました!
翌日には校正のメールが届いて、振り込みをしたらその翌日の午前中には届きました。

f:id:nemupm:20141016230346j:plain

やっぱりテンション上がりますねー。
デザイン優先しすぎて文字小さすぎたかなーと思ったんですが、
ちゃんと綺麗に印字されててよかったです。