May 2013
1 post
Rails3+でassetsのログを非表示にする
邪魔だなーとか思いつつgrep通すなどして非表示にしてたけど、本家のissuesを漁っていたら二年ぐらい前から言われてるようで。 Served asset log messages are pretty annoying! :) 正解としては、config/initializers以下あたりに適当な名前で以下のコードを置けばいい。 # config/initializers/quiet_assets_log.rb Rails::Rack::Logger.class_eval do def call_with_quiet_assets(env) previous_level = Rails.logger.level Rails.logger.level = Logger::ERROR if ...
May 3rd
2 notes
April 2013
1 post
授業は無料、支払いは就職後に。プログラマー養成学校「Appアカデミー」 →
サンフランシスコのプログラミングを教える学校が導入した学費の仕組みが大きな注目を集めている。それは「仕事に就くまで、学費は支払わなくていい」というものだ。卒業して仕事を見つけた人は、初年度に稼ぐ年収の15%を学費として6ヶ月間ほど支払う契約になっている。
Apr 4th
March 2013
1 post
1 tag
sublime text2で好きな場所に秒速で新規ファイルを作る
最近sublime text2を買い、モダンで動作が高速なvim環境を目指して徐々に移行してます。 一番の障害はキーボードから手を離さないと出来ない操作なので、それを無くす方向でプラグインなどを探してるんだけど、表題のようなことをするのに最適なpluginを見つけたので紹介。 ケースとして、表題のように指定した場所に新規ファイルを開く場合。 vimだと :e some/directory/newfile.txt ってやるとnewfile.txtの有無に関わらずそこでそういうファイルを開いてくれるんだけど、sublime text2のgoto anythingでは存在しないファイルは開けないので困っていたところ、noklesta / SublimeQuickFileCreatorというのを見つけた。 これをInstall...
Mar 21st
3 notes
January 2013
2 posts
PHPでXMLをArrayに変換する多分一番簡単な方法
PHP Manualのsimplexmlの欄に書いてるけど $xml = '<?xml version="1.0" ?> <root> <parent> <child>MUSUKO</child> </parent> <attr foo="FOO" bar="BAR" /> </root>'; $array = json_decode(json_encode(simplexml_load_string($xml)), true); var_dump($array);
Jan 21st
3 notes
東京Ruby Kaigi #10のコードゴルフ問題
東京Ruby Kaigi #10に絡んでCodeIQに出題されてたFizzBuzzコードゴルフの問題について。 当日聞いてた中で一番短かったのは68byteだったと思うけど、そこまでたどり着かずギブアップ。 誰か教えてください。。。 $*[0].to_i.upto($*[1].to_i){|i|i%3<1&&x=:Fizz;puts i%5<1?"#{x}Buzz":x||i} ついでに、当日スタッフで参加してて他でもやりたいと思ったことを適当に ノベルティの袋詰めは事前にやるとよい スポンサーの方交えて事前・事後懇親会やるといろいろ捗りそう プロジェクタにPC切替器付けとくと登壇者の切り替えがスムーズ 振り返りボード、KPTは最初から設置しておく あんちぼっちxxxがぼっちじゃない人たちも一緒に盛り上がってて楽しそう ...
Jan 17th
December 2012
1 post
#kabepy Advent Calendar 22日目
こんばんは。Python界にたまに遊びに行くsanojimaruです。 これは#kabepy Advent Calendarのポストなんですが、みなさま#kabepyをご存知でしょうか。 #kabepyとは 正式名称?はPythonボルダリング部です。Pythonの人が集まって定期的にボルダリングする会ですが、僕みたいに全然Pythonにコミットしてなくても快く受け入れてくれるとってもいい人たちなので、多分普通のボルダリング部です。 基本的にTwitterでハッシュタグ#kabepyで連絡を取り合って、月1〜2ぐらいでやってます。FacebookにもPythonボルダリング部というグループがあります。また、活動の際はconnpassにあるPythonボルダリング部で募集するので要チェックです。 ボルダリングの魅力 ...
Dec 22nd
1 note
August 2012
1 post
2 tags
Rails3のController Specでファイルアップロードをテストする
以前まではActionController::TestUploadedFileとかいう微妙なクラスだったのだけど、Rails3よりfixture_file_uploadというメソッドになったので打ちやすくなりましたねっていうだけ。使い方は変わってない。 # fixture_file_upload(path, mime_type = nil, binary = false) let :uploaded_image { fixture_file_upload('/uploadedimage.png', 'image/png') before { post :upload, {image_file: uploaded_image } }
Aug 15th
3 notes
July 2012
1 post
2 tags
Railsに設定しているtimezoneでDateTime.parseしたい
日本向けアプリを作る場合、Railsのconfig/application.rbのconfig.timezoneは’Asia/Tokyo’にするわけですが、DateTime.parseの結果にはtimezoneが反映されないという問題。 結論として、DateTime.parseじゃなくてTime.to_datetimeを使えという話。 rails cで叩いてみるとこんな感じ。 # Rails 3.2.6 irb(main):001:0> DateTime.parse('2012-07-31') => Tue, 31 Jul 2012 00:00:00 +0000 irb(main):002:0> Time.parse('2012-07-31').to_datetime => Tue, 31 Jul 2012 00:00:00 +0900
Jul 30th
2 notes
May 2012
6 posts
macでfind-xargsからのcpやmvに引数を渡す
ブログ毎日書く宣言を撤回せざるを得ないほど忙しかったわけですが。 以下のようにするとできますよと。 find . -name “*.php” | xargs -J% cp -f % ~/workspace/phpfiles 上記の例は、カレントディレクトリ以下にある.phpファイル全てを~/workspace/phpfilesにコピーするものです。 キモはxargsの-Jオプションで、これを使うと後に続く”%”はパイプからの入力で置換される。 execでも同じ事出来るけど、xargsの方が並列実行できるしより直感的なオプションですね。
May 24th
1 tag
rubyで㈱などの機種依存文字をUTF-8に変換する
“㈱”や”㈲”などの文字をCSVなどからShift_JISで取り込み、rubyでUTF-8に変換するときにUndefinedConversionでハマった。 "㈱".encode('UTF-8', 'Shift_JIS') > "\x87\x8A" from Shift_JIS to UTF-8 > /User/sanojimaru/workspace/example/lib/string.rb:849:in `encode': "\x87\x8A" from Shift_JIS to UTF-8 (Encoding::UndefinedConversionError) Shift_JISは一部の機種依存文字に対応していないので、CP932(Windows-31J)を使えば良い。 "㈱".encode('UTF-8',...
May 11th
2 tags
ActiveRecordのattribute methodをオーバーライドするとき
ActiveRecordのattributeメソッドをオーバーライドする場合、オーバーライド元のattributeを呼ぶには(read|write)_attributeを使う。 例えば、とあるモデルExampleのhogeという属性が空の場合に、fugaという属性の中身を代替として返したい場合。 class Example < ActiveRecord::Base def hoge read_attribute(:hoge) || fuga end def fuga read_attribute(:fuga) || 'なんもないっす' end end また、hogeに値をセットしたとき、fugaが空ならfugaにも同じ値をセットしたい場合。 class Example < ActiveRecord::Base def...
May 9th
emacsの画面分割
左右に分割: M-x 3 上下に分割: M-x 2 現在の領域を削除: M-x 0
May 8th
ハインリッヒの法則
1件の重大事故の前には29件の軽微な事故があり、その前には300件のヒヤリとする出来事が起きている、という法則。 塵も積もれば何とやら、は塵を小まめに片付ければ難なく防げる。
May 7th
4 notes
ビタミンの最小律の法則
日々摂取している様々なビタミンのうち、実際に栄養素として作用するのは最も少なかったビタミンの摂取量に制限されてしまう。 過ぎたるは及ばざるが如し。
May 7th
1 note
April 2012
24 posts
2 tags
ActiveRecord validates :numericalityでnilを許可する
ActiveRecordのvalidates :numericalityは、文字通り数値以外は受け付けてくれないので、当然ブランクやnilも弾かれてしまう。許可させるには:allow_blankオプションを併用する。 validates :number, :numericality => true, :allow_blank => true
Apr 26th
Tumblrが日本時間の04:00頃に必ず重くなる件
最近、webサイトのレスポンスタイムを定期的に計測して任意のしきい値を超えた場合に自分宛にメールを送るサービスを作ってるんだけど、自分のこのブログが朝4時頃に必ずレスポンスが遅くなって毎朝メールが届く。 そんだけ。
Apr 25th
2 tags
ActiveRecordで配列に含まれないものをvalidation
ActiveRecordのvalidatesで、対象が任意の配列に含まれない場合に弾くためのvalidation。 こうすると、’hogehoge’または’fugafuga’以外は受け付けなくなる。 validates :hoge, :inclusion => ['hogehoge', 'fugafuga']
Apr 24th
1 tag
Vmware Fusion上のWindowsでCtrl+clickするには
VMWare上のWindowsでExcelをいじっている時に、隣接しない複数のセルを選択することができないという問題を相談された。そういえばそうだな、と思って調べてみたらこんなの見つけた。 VMware Communities: Ctrl Click in Excel using Fusion with… さらに調べてみると、CtrlやCommandキーを併用することでマウスの右ボタンや中央ボタンを呼び出すショートカットが仕込まれているらしい。Macが1ボタンだった時代の名残だろうか。 VMWare Fusion > Preferences > Keyboard & Mouse > Mouse...
Apr 23rd
1 note
明日有りと思う心の仇桜 夜半に嵐の吹かぬものかわ
今夜嵐が吹いて、明日には桜は儚く散ってしまうかもしれない、明日私の目が開くかどうかもわからないのだから、明日に頼らず今日できることは今日のうちにやろう。
Apr 22nd
1 tag
gitで過去のcommitをまとめて一つにしたりする
そこそこの大きさのフィーチャーを、専用のブランチを切って開発している場合、開発ブランチには入れたくない余計なcommitをまとめたいことがあって、主にこうしている。 例えば、直近3回分のcommitを編集する場合はこうする。 git rebase -i HEAD~3 すると、エディタでこういうのが開く。 (コミットのハッシュは適当につけたもの) 上の3行がコミットログで、コメントアウトされている部分が説明になっている。 pick j46freq1 add some feature pick g522gdf typo pick f4a70bd fixed some bugs # Rebase dfcab6a..f4a70bd onto dfcab6a # # Commands: # p, pick = use commit # r, reword = use...
Apr 19th
1 tag
Rails3でform_forにネストしたresourcesへのURLを指定する
rails3のroutesでは、以下のような書き方でリソースの親子関係を定義できる。 resources :posts do resources :comments end こうすると、例えば以下のURLの場合、後に続くメソッドが呼ばれる。 /posts/1/comments # CommentController.index(:post_id => 1) /posts/1/comments/2/edit # CommentController.edit(:id => 2, :post_id => 1) という感じで呼べる。 この時、routeも同様で、 post_comments_path(@post) edit_post_comments_path(@post, @comment) ...
Apr 18th
1 note
2 tags
ActiveRecordのtransactionとdelete_allが併用できない件
delete_allとtransactionが併用できない件について。 Hoge.transaction do Hoge.delete_all Hoge.create! hoges end っていう処理がしたいんだけど、実行結果を見るとこうなってる。 (0.2ms) BEGIN SQL (0.5ms) INSERT INTO `hoges` (`name`) VALUES ('hoge1') SQL (0.5ms) INSERT INTO `hoges` (`name`) VALUES ('hoge2') SQL (0.5ms) INSERT INTO `hoges` (`name`) VALUES ('hoge3') (0.2ms) COMMIT (0.2ms) BEGIN SQL (0.6ms) DELETE FROM `hoges` (0.2ms)...
Apr 17th
4 tags
chef-solo入門、zshとscreenをインストール
最近、EC2+Amazon Linuxしか使っておらず、「あとはchef-soloコマンドを叩くだけ」みたいな状態のAMIを作っておけばめちゃくちゃ便利じゃないかと思い、chef-soloのレシピを書き始めた。今shellでやっているセットアップ作業を全部移すつもりなのでとりあえず入門として以下を試してみる。 サーバーの準備 ssh関連の設定をしつつ、以下を実行。 # パッケージ準備 sudo yum -y update sudo yum -y groupinstall "Development tools" sudo yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel git rubygems #...
Apr 16th
2 notes
2 tags
devise2.0.4+omniauth1.1.0は相性が悪い
devise2.0.4+omniauth1.1.0だと、devise+omniauth-facebookの公式チュートリアルに則った手順であっても、oauth認証しようとした時に以下のエラーが発生してしまいにっちもさっちもいかなくなる。 ActionView::Template::Error (undefined method `user_omniauth_authorize_path' for #<#<Class:0x007f87d79ca688>:0x007f87d9b4e5e8>): これは、devise/#880やdevise/#872のようなissueの通り既知の問題なので、 gem 'omniauth', '~> 1.0.1' ...
Apr 15th
1 note
2 tags
[Rails+Rspec]Controllerでhas_manyな関連データのassignsをテストし...
タイトル長杉。 さて、あるネストしたresourcesで、親resourceに紐付くresourcesがcontrollerにassignされているかテストしようとしてハマった話。 以下の例で言うと、Postモデルに紐付くCommentだけがassignされているかテストするために、FactoryGirlでPostとそれに紐付くCommentを一気に作ってeq()かましたらテストが通らない、っていうことなんだけど。 何を言っているのかわからないと思うけど俺もわからないのでコードで。 # routes.rb resources :posts do resources :comments end # comments_controller.rb class CommentsController < ApplicationController def index ...
Apr 14th
1 tag
CakePHPでproduction,staging,developmentを自動で切り替える
CakePHPネタは久々ですがちょいちょい触ってますよアピールとして。 開発環境(development)、テスト環境(staging)、本番環境(production)という3環境において、ほとんどの場合でDBの接続情報とか違ってて、かつ.gitignoreにある憎き/app/configを消し去りたい時がある。 そういう時は往々にして、「ちゃんとした仕組みを後で作ろう」なんて思いながらいつまでも即席コードのまま、なので開き直って即席コードを晒す。 <?php # /app/Config/const.php define('PRODUCTION_HOSTNAME', 'www.example.com'); define('STAGING_HOSTNAME', 'stage.example.com'); ...
Apr 13th
2 tags
Rails+rspecでApplicationControllerをテストする
rspec-railsではApplicationControllerをそのままではテストしづらいので以下のようにダミークラスを作るといい。 require 'spec_helper' class ApplicationControllerDummy < ApplicationController; end describe ApplicationControllerDummy do controller ApplicationControllerDummy do def index head :no_content end end # example: describe "GET 'index'" do it do get 'index' assigns[:example].should ==...
Apr 12th
3 tags
Rails+Devise+Rspecでログインが必要なControllerをテスト
GithubのWikiに書いてあるんだけど、Rails+rspec+deviseで現在のユーザー情報を使用するを書いたついでに。 RAILS_ROOT/spec/supportsディレクトリにこれを作って、 # controller_macros.rb module ControllerMacros def login_user before(:each) do @request.env["devise.mapping"] = Devise.mappings[:user] sign_in Factory.create(:user) end end end spec_helper.rbにこれを追記して、 RSpec.configure do |config| config.include...
Apr 11th
2 notes
3 tags
Rails+rspec+deviseで現在のユーザー情報を使用する
ControllerのSpecでdeviseのcurrent_user的な情報を使いたい時。 下の例では、ExampleControllerのインスタンス変数@userがログイン中のユーザーcurrent_userと同じであることをテストしている。 require 'spec_helper' describe ExampleController do user_login it do get :show assigns[:user].should eq(subject.current_user) end end ...
Apr 10th
1 note
1 tag
Rails3でhas_many throughな関連をcheckboxで登録する
これのcheckboxなアレ。 view以外は全部同じ状態で、当該フォームのf.select :category_idsの部分だけを書き換える。 <%= form_for @post do |f| %> <%= render '/shared/validation_messages', :model => @product %> <div class="field"> <%= f.label :name %><br/> <%= f.text_field :name %> </div> <div class="field"> <%= f.label :body %><br/> ...
Apr 9th
1 tag
emacsで全てのバッファを一気に閉じる
emacs+anythingで開発してると、特に気にしない限り際限なくバッファが増えていくことが多い。適宜閉じたりしてればいいんだけど、anythingが便利なのでどれだけバッファが増えても特に効率が悪くなるということも無いように思う。ただ、あるプロジェクトでの作業をひと通り終えて、別プロジェクトの作業を開始するような場合に既存のバッファが邪魔になり、かつemacsの再起動は十数秒掛かるため避けたいので、バッファを一気に閉じる方法を調べてみた。 ;; Close all buffers (require 'cl) (defun close-all-buffers () (interactive) (loop for buffer being the buffers do (kill-buffer buffer))) ...
Apr 8th
3 tags
emacsでscssを扱うscss-modeを入れる
もう余程の理由がない限り手放せなくなった(scss)[http://sass-lang.com/]。Railsにおいても3.1からscssがデフォルトになったので、emacsにもscss-modeを入れる。 antonj / scss-mode いつもどおりauto-installでインストール。 M-x auto-install-from-url RET https://raw.github.com/antonj/scss-mode/master/scss-mode.el して、init.elに追記。 ;; scss-mode (autoload 'scss-mode "scss-mode") (add-to-list 'auto-mode-alist '("¥¥.scss$" . scss-mode)) ...
Apr 6th
1 note
2 tags
powのログを標準出力に表示し続ける
かっこいいrubyistのみなさんはrailsの開発用サーバーにpowを使ってることと思いますが、development.logを標準出力にダダ漏れさせたい時ってありますよね! Macbookにrbenv+ruby-build+powでモダンなrails開発環境 webrickを立ち上げた時にブワッと出てくるようなrailsの開発用ログはlogs/development.logに出力されているので、tailコマンドを使えばwebrickと同じような状態にできる! tail -f /path/to/railsapp/logs/development.log ま、Users Manualに書いてあるんだけど。 Note: Rails logger output does not appear in Pow’s logs. You’ll want...
Apr 5th
3 tags
rails用emacsプラグインrinariのキーバインド
覚えるとすごくはかどると思い。 C-c ; f c rinari-find-controller # コントローラーを開く C-c ; f e rinari-find-environment # envorinments/(development|test|production)rbを開く? C-c ; f f rinari-find-file-in-project # プロジェクト以下のファイル一覧を開く C-c ; f h rinari-find-helper # ヘルパーを開く C-c ; f i rinari-find-migration # マイグレーションファイルを開く C-c ; f j rinari-find-javascript # jsファイルを開く C-c ; f l ...
Apr 4th
emacsでyamlを扱うyaml-mode
emacsのRails環境がひと通り揃ってウハウハしてたんだけど、yamlが全然アレで落ち込んでのですぐに入れた。 入れたのはこのyaml-mode。auto-install-from-urlで一発インストール。 M-x auto-install-from-url RET https://raw.github.com/yoshiki/yaml-mode/master/yaml-mode.el 設定はこれだけで十分と思う。 ;; yaml-mode (when (require 'yaml-mode nil t) (add-to-list 'auto-mode-alist '("¥¥.yml$" . yaml-mode)))
Apr 3rd
2 notes
1 tag
emacsで複数行を一括コメントアウト
複数行を一括コメントアウトするばあい、vimだとNerdCommenterを使っていたのだけど、emacsでは標準機能として以下のコマンドが用意されている。 M-x comment-region さらに、コメント/アンコメントを切り替えるコマンドもある。 M-x comment-or-uncomment-region これはどっかのキーに割り当てておくといいと思い、eclipseっぽい感じにしてみた。 (define-key global-map (kbd "C-c /") 'comment-or-uncomment-region) これで、”C-c /”でコメント/アンコメントの切り替えができるようになった。 追記:20120409 “C-c...
Apr 3rd
3 notes
3 tags
ActiveRecordはテーブルに存在しないフィールドも扱える
例えばこういうテーブルがあったとする。 CREATE TABLE hoges ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL ); INSERT INTO hoges VALUES (null, 'test1', '2010-12-15 00:00:00', '2010-12-15 00:00:00'), (null, 'test2', '2011-05-04 00:00:00', '2011-05-04 00:00:00'), (null, 'test3', '2012-03-28 00:00:00', '2012-03-28...
Apr 2nd
1 tag
emacsにタブ文字を使わせない
インデントにはタブ文字ではなく半角スペースを使いたいのでその設定。 (setq-default indent-tabs-mode nil)
Apr 1st
March 2012
43 posts
1 tag
emacsで全角スペースなどを表示する
こんな感じ。 ;; Show Special chars (defface my-face-b-1 '((t (:background "medium aquamarine"))) nil) (defface my-face-b-1 '((t (:background "dark turquoise"))) nil) (defface my-face-b-2 '((t (:background "cyan"))) nil) (defface my-face-b-2 '((t (:background "SeaGreen"))) nil) (defface my-face-u-1 '((t (:foreground "SteelBlue" :underline t))) nil) (defvar my-face-b-1 'my-face-b-1) (defvar my-face-b-2...
Mar 31st
2 notes
「廊下で転ぶと鼻血が出て、人生で転ぶと涙が出るんだ。」
Mar 31st
3 notes
1 tag
emacsで行末のホワイトスペースを目立たせる
こんな設定をすると行末のホワイトスペースがものすごく独裁色で表示される。 ;; Show trailing whitespace (when (boundp 'show-trailing-whitespace) (setq-default show-trailing-whitespace t))
Mar 30th
1 note
1 tag
cocoa emacsを半透明にする
vimでもemacsでも集中して叩く時はフルスクリーンにするので、若干向こう側が透けて見えていた方がいろいろはかどる。emacsを半透明にするには以下のようにする。 ;; for window system (if window-system (progn (set-frame-parameter nil 'alpha 95))) 最後の行の’alphaの後の数値が100だと全く透けない、0だと完全に透明になる。
Mar 29th
1 tag
emacsでバッファを自動で保存する
emacsならC-x C-s、vimなら:wのようにあらゆるアプリケーションで常に保存する癖が付いている僕にはauto-save-buffers-enhancedが良さそうだったので導入してみた。 これは、もともとauto-save-buffersというelispだったものに、VCS管理下のファイルのみ自動保存するなどのより高度な機能を付加したもので見るからに捗りそうだ。 よい子のemacsにはauto-install.elが既にインストールされていると思うので、 M-x auto-install-from-url https://raw.github.com/kentaro/auto-save-buffers-enhanced/master/auto-save-buffers-enhanced.el して、init.elに ;;...
Mar 28th
2 notes
お節介ババアに気付かされたこと
日本的なお節介ババアは社会に良い影響を与えてるのではないかって話。そう思える出来事が昨日の帰りの電車で起きた。 僕はたまたまドア横の席に座れたので、いつものように携帯をいじっていた。つまりいつも通りの通勤電車だったのだけど、ふと年輩の女性が誰かに話し掛けているのに気付き聞き耳を立ててみた。それは「ここに寄りかかりなさいよっ」「だ、大丈夫です、、」という内容で、あぁ、よくあるお節介ババアか、と聞き流したのだが、数回目にして「あなた貧血なんでしょ!」というババアの語気に引き戻された。気になって見れば、大丈夫です、なんて返してたお姉さんの顔は真っ青で、いかにも貧血ではないか。僕は即座に席を立ち二人に声を掛けたが、更に数回のやり取りを経てお姉さんはようやく座ってくれた。 上から目線で大変恐縮ではあるが、よく貧血で途中下車する僕としては、このババアの一連の行動はとても興味深かった。 ...
Mar 27th
3 notes
2 tags
emacs、elispでcocoa emacsを判定する
elispでOSを判定し、macの場合のみ動作させたいスクリプトがある場合、従来は以下のようにしていた。 (when (eq window-system 'mac) (hogehoge)) しかしcocoa emacsではこれだと動かないので以下のようにする。 (when (eq window-system 'ns) (fugafuga))
Mar 27th
1 note
2 tags
emacsでcolor-theme-solarizedを使う
ターミナルやエディタの色というと、エンジニアに取って他のあらゆるものよりも長い時間見るものだと思うので多少のこだわりがあり、solarizedというテーマを愛用している。このsolarizedはとにかく目に優しい感じがしてよい。既にiTermとvimでは使っているので、早速emacsにも設定した。 color-themeをインストール emacsでテーマを扱うためのelispであるcolor-themeをインストールする。color-theme-6.6.0.tar.gzをダウンロードして、~/.emacs.d/elisp/color-themeに展開し、init.elに以下の記述を加える。 ;; color-theme (when (require 'color-theme) (color-theme-initialize) ...
Mar 26th
3 notes
1 tag
emacsにてサブディレクトリを一括でload-pathに追加する
emacsのload-pathっていうのはbashでいうPATHのようなもの。そこにあるものはrequireして使うことができるけど、基本的にディレクトリ指定なのでcolor-themeのように親子関係があるelispをそのまま読みこませるときに不便になる。 そういうときは、以下の記述をinit.elに記述すると、$HOME/.emacs.d/elisp以下のディレクトリを一括でload-pathに追加してくれる。 ;; load-path (let ((default-directory (expand-file-name "~/.emacs.d/elisp"))) (add-to-list 'load-path default-directory) (if (fboundp 'normal-top-level-add-subdirs-to-load-path) ...
Mar 25th
1 tag
mysqldumpで特定のテーブルを除外する
mysqldumpで特定のテーブルを除外したい場合、—ignore-tableオプションを使う。 mysqldump -u xxxx -pxxxx dbname --ignore-table=dbname.tablename > xyz.sql
Mar 24th
2 notes
cocoa emacsでプログラミング用フォントRictyを使う
普段使うフォントはプログラミング用フォントRictyがお気に入りで、iTermやvimでは必ず使ってるのでemacsにも設定してみた。 本家サイトの注意書きにもあるが、このフォントは1.5の倍数サイズ以外では半角:全角の幅が1:2にならないことがあるので、フォントサイズは13.5か15がちょうどよい、と思ったんだけどemacsで13.5は使えない様子。 ;; Fonts (let* ((size 15) (asciifont "Ricty") (jpfont "Ricty") (h (* size 10)) (fontspec (font-spec :family asciifont)) (jp-fontspec (font-spec :family jpfont))) (set-face-attribute...
Mar 23rd
2 notes
cocoa emacsでフォントが綺麗に表示できないとき
滅多に無いことだと思うんだけど、emacsでは設定でフォントのアンチエイリアスを切ることができるので、かっこいいフォントをものすごく汚く表示することができる。 ;; アンチエイリアス有効 (setq mac-allow-anti-aliasing t) ;; アンチエイリアス無効 (setq mac-allow-anti-aliasing nil) いらんものをコピペしてしまったせいでくだらないことにハマってしまった。
Mar 22nd