リーダブルコード勉強会に参加してきました

f:id:BLThunder1991:20140708124132j:plain

事の発端

前のがっこの先生が,こちら勉強会のことをツイートしてたのが始まりです.

SEゼミ | プロフェッショナルを目指す学生のためのインターン | プログラミングが好きな学生のためのリーダブルコード勉強会

リーダブルコードは,前のがっこにいた時に,指導教員のせんせにおすすめされて読んだことがあります. その時も結構感銘を受けて,コードの書き方滅茶苦茶変わったりしました.

それまでにも,チーム開発の機会は結構あったし,これからもたくさん増えてきそう(実際ものすごく増えてる)なので,リーダブルなコードについてお勉強しようと応募しました.

無事,参加が決まって実際に行ってきた(7/6)のでその時のお話を書きます.

続きを読む

OSXのEmacsで…とかOptionを使う文字を入力する

事の発端

三点リーダ…とか毎回・を三回打って変換とかしてたんだけど、どうにかして一回で入力したいと思った。
調べたらどうやら Option + ; で入力できるらしい。

だけど僕は、普段Emacs使っていて、OSの設定でOptをmetaに割り当てている。
そうなると、Emacs上でOptionキーが使えなくてちょっと困る。
どうにかして、右のOptionだけとかを、metaじゃなくしたい。

結論

これをinit.elに書く。右のOptionキーだけ、metaじゃなくてOptionとして使える。

(setq ns-right-alternate-modifier nil)

参考:OSX Emacs: unbind just the right alt? - Stack Overflow

オチ

実は初めはMarkdown記法でソースコードを表示するときの`をどうにかして打ちたかった。
恥ずかしながら、この記号をプライム´だと勘違いしていた僕は、
一生懸命ググってこのやり方に辿り着いたのだけど、
いざ入力してみたらMarkdown-modeなのに色が変わらない。

おかしいなって思ってよく見たら記号逆じゃーん。
しかもMacのキーボードをよくよく見たら一番左端に打ちたかった文字が……orz

というわけで、急遽三点リーダ…を打ちたかったことにしましたとさ。

redmineを1.3.3から2.5.1にUpdateして色々大変だった話

事の発端

本学のプロジェクトで使用しているRedmineのバージョンが1.3.3だったので,最新版にアップデートしたかった.

Backlogsとか入れてみたかったしね.

 

流れ

まず,もともと入っていたRubyが1.8.7 だった.

最新のRedmineでも,サポート範囲内だったと思うけど,作ってるプロダクトが2.0.0で作られてたので,将来的にここにサンプルとかもデプロイする運用を考えたかったので,バージョンを上げたい.

ただ,上書きはちょっと怖いので,rvmを利用することに.

適当に,

$ sudo apt-get install ruby-rvm

とかやっていたら,なんだかうまく行かなかった.そこで,ちゃんと調べてインストールしてみることに.

この後,参考にしたのは以下のサイト.

RedmineをUbuntu 12.04 LTSにrvmを使ってインストールする - espresso3389の日記

Install Ruby on Rails using rvm on Ubuntu 12.04 - Stack Overflow

user@host:~$ \curl -L https://get.rvm.io | bash -s stable
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   184  100   184    0     0    215      0 --:--:-- --:--:-- --:--:--   293
100 20511  100 20511    0     0  21206      0 --:--:-- --:--:-- --:--:--  472k

It looks you are one of the happy Ubuntu users,
RVM packaged by Ubuntu is old and broken,
follow this link for details how to fix:

  http://stackoverflow.com/a/9056395/497756

 おや,なんか失敗.しかもご丁寧に解決策が書いてあるリンクまで貼ってったので参照して無事インストール完了.

インストールが終わったので,rvmを更新.

$ sudo rvm get head
$ sudo rvm reload

パスが通っていないと怒られた.sudoすると,環境変数が引き継がれないらしい.

sudoでPATHなどの環境変数を引き継ぐ | Pistolfly

こちらを参考に,設定を変更.この時にvisudoしてnanoが立ち上がったのでイラッとしてnanoを削除

今度はコマンドが無事通ったので,目的のruby2.0.0をインストール.これも問題ない.

次は,rvm useを打ったんだけど,ログインコンソールでやってくださいと怒られた.

んー,理由はわからない.

$ /bin/bash --login
$ rvm use 2.0.0

今度は無事成功.バージョンを確認してみたら,最新バージョンになってる.はて?

とりあえずログインしなおしてから確認.今度はOK.

次は,redmineのインストール.とりあえず,最新版を適当なディレクトリに持ってきて,現行バージョンがおいてあった場所にシンボリックリンクを貼ることにした.

インストールの際に参考にしたのは以下のサイト.

RedmineUpgrade - Redmine

DebianでRedmine 1.3.2から2.0に更新する | kwLog

Redmine 2.5をCentOS 6.5にインストールする手順 | Redmine.JP Blog

手順に関しては,2番目の記事とほとんど手順は同じ,ただし,数カ所コケたところがあった.

一つ目は,mysqlのgemがうまく入らなかった.どうやら,1.4からmysql2というgemに切り替わったらしく,そいつを入れてあげなきゃいけないらしい.
入れようとしたけど,何故かコケた.ちょっと調べてみると,いくつか似たようなエラーを見つけた.

Rails - Ubuntuでmysql2 gemが入らない。 - Qiita

ここを参考に,無事解決.

次は,何故かdb:migrateでエラーが出る.しかもsyntax.なぜ…….

色々調べたら,該当gemを消せば直ったという記事を見つけた.(リンクどっか行っちゃいました.ゴメンナサイ)

 $ gem uninstall psych

これで,無事db:migrateも完了.

あと,僕が使っているサーバはPassengerを使っているので,そこのパスもrvmの場所に切り替えてあげなきゃいけない.

rvmのpassengerをapache用にコンパイルして,設定ファイルを書き換える.

Apache上でRuby on Railsアプリケーションを動かす/Passenger(mod_rails for Apache)の利用 — Redmine.JP

ここを参考に,設定.途中何回か怒られたけど,都度apt-getで対象パッケージをインストールしてココもクリア.

最後にapacheを再起動して,無事表示されることを確認しました.

#ここまで来るのに何回も再起動して失敗してるけどね

Macから富士ゼロックスのプリンタで印刷できなかった問題が解決した

事の発端

居室のプリンタ(富士ゼロックス DocuPrint C3350)に,Macから印刷投げてもエラーになってしまって困っていた.

目の前にWindowsもあるし,ちょっとめんどくさいけどわざわざWindowsから印刷してたりしたんだけど重い腰を挙げて問題解決した.

解決方法

Mac用のドライバを再インストールする.(ちゃんと一回消してから!)

解決までの道のり

とりあえずプリンタのジョブ履歴をプリントして,エラーを眺めてみる.

エラーコードは,「106-749」ドライバのエラーらしい.

 

というわけで公式サイトからドライバをインストールしてみる.

手順に従って,プリンタ設定してみたけど……ん?

指定の「FX Print Driver for Mac OS X vX.X」が見当たらない.

 

というわけで,再インストール.

一度インストールしたドライバを削除しようと思ったけど,そういえばMacのプリンタドライバってどこにあるの?

調べたらどうやら/Library/Printersにあるらしい.

その中のFujiXeroxディレクトリを丸ごと削除.

ついでに,PDDsのFX関係のファイルも削除

もひとつついでに,InstalledPrinters.plistのそれっぽい行も削除

もう一回インストールしたら,無事「FX Print Driver for Mac OS X vX.X」が登場.

 

無事プリントできるようになりましたとさ.