合同LT会
大学で技術系の3サークル合同でLT会を主催させてもらいました。
鍵関連や開催時間の調整だったりグダッてしまったりした部分があり、参加者の皆様大変申し訳有りませんでした。いっそのこと、発表者が少ないのであれば開催自体を見合わせるなどの調整をすべきだったかもしれません。もともとLTをする予定ではなかったのにLTをしてくれたり、複数回LTをして時間を調整してくれた方々ありがとうございました。
しかし、発表内容自体は水素水LTだったり、バーコードLTだったり面白い内容が多く全体的に楽しい会になったのではないかと個人的には思っています。
次回以降開催する場合は今回の反省を活かしてスムーズな司会進行をしていけるようにしようと思います。今回参加してくれた方々本当にありがとうございます。次回以降も参加していただけるように願っています。
scpで詰まったこと
scpでごく当たり前のことで詰まったのでまとめ。
新しくcentosの環境立ててそこにscpで普通にデータを送ろうとした。データを送る前に複数人使うし自分専用のユーザーを作ろうと思い作成した。しかしデータは全員使うものなのでルート直下にscpしようとしていた。
scpでデータを送ろうとしたら権限がないと言われてしまい少し戸惑った。権限がないならsudoで実行してやろうとsudoでscpを実行したが同じエラーが出た。普通に考えればcentosの環境の自分のユーザーにルートの権限はないのだから当たり前のことだけど20分くらい詰まったのでまとめ。普通にルートにファイルを置く権限を持っているユーザーに向けてscpをやれば解決した。
Ruby on Railsのfile.readの挙動
html側でfileをアップロードするinputフォームを作成し、それをサーバー側で中身を受け取ろうとしたときに詰まったのでそのまとめ。
f = params[:target_file] if(params[:target_file].present?) @original_filename = f.original_filename # ファイル名 @content_type = f.content_type # Content-Type @size = f.size # ファイルサイズ @read = f.read # ファイルの内容 puts '----------------' puts f.size puts f.read puts '----------------'
以上のようなコードを書いて受け取ったファイルのサイズと中身を表示しようとしていたが、puts f.read
は何も出力されなかった。なぜ中身を受け取ることができないのか探したのですが、結果としてこのコードでファイルの中身を受け取ることができていました。file.readは2度実行すると2回目に実行された方はnullになってしまう仕様でした。一度readされるとシークがファイルの最後まで進んでしまうため、2度目に実行する前にf.rewind
を実行してシークをファイルの始めの位置に戻してあげないと、ファイルがうまく受け取れていないように見えてしまいます。
一度変数で受け取った値は、受け取った変数を出力して中身が入っているか確認することでこのようなことは避けられるんじゃないかなー。
Go言語触ってみた
最近ちょっと話題になっているdockerに使われているGo言語を少し触ってみました。
Go言語はGoogleの開発した言語らしい。Googleの最初の2文字をとってGo言語なのかな?
とりあえず以下のチュートリアルをやりました。 gihyo.jp
上のチュートリアルをやったときに詰まったところをまとめたいと思います。
treeコマンドはmacにはデフォルトで入っていないので、macでファイル構造をチュートリアルと同じように確認したい場合は入れる必要があります。普通にbrewではいるのでbrew install tree
をシェルで実行すれば使えるようになります。
GOPATHを.bash_profileとかに登録するときにパスをpwdと書いて指定しています。しかしpwdと指定したところでエラーが出てしまったので、pwdを自分で絶対パスで指定するのが無難だと思います。
詰まったのはその2点くらいです。一応、1章の内容を終わらせたのでリンクを貼っときます。 github.com
MySQLの予約語の話
MySQLで少し困ったことのまとめ。
合ってるはずのクエリでエラーを吐かれて困りました。SQLのエラーは少し分かりにくくて、だいたいこの辺がおかしい気がするなーくらいのニュアンスのエラーしか吐いてくれませんでした。
まぁ最初のうちはクエリが間違ってるんだろうと色々確認してみたけどおかしなところが見当たらない。試しに作成しようとしているカラム名を変更してみたら通る。この時点でなんとなく予約語使っちゃってるんだろうなーと思って調べてみたら案の定でした。
MySQL :: MySQL 5.6 リファレンスマニュアル :: 9.3 予約語
予約語もカラム名とかに使おうと思えば以下のリンクのように使えるらしいですが、まぁあんまり使わないほうがいいですよね。keyとかvaluesとかついカラム名に使いたくなっちゃうようなのもあるので頭の隅に置いておこうかな。