社内環境を紹介します!

2015年06月02日
区分
社内環境
報告者:
oishi
こんにちは、oishiです。

このブログは使い慣れてるMarkdown形式でなく、HTMLで投稿されています。

いこーよでは、erbではなくslimを使っていることもあり、HTMLの閉じタグを書くのを身体がどんどん拒否しはじめているのがわかりました。
そこで、私はClojureをよく使うので、Hiccup
を使うことにしました。これで幾分ストレスが減りました。

さて、そんなわけで今日はエンジニアにとって重要な社内環境をご紹介します。

まずはこちらの「スタンディングデスク」です。



一時期話題になりましたが、弊社でも取り入れてます。
これで立ちながらでも仕事が可能です。結構集中できます。

ちなみに後ろに見えるのは、ヨガマットです。弊社ではヨガがさかんに行われています。

次は、「畳」です。


max4人ぐらい座れる畳スペースがあります(増床検討中)。足を伸ばしたいと思ったときに、いつでも伸ばすことができます。たまに畳上でMTGも行われています。

次に、私の私物ですが「マットレス」です。



「眠いのを我慢して仕事しても全然効率的でない。」とは、かの有名な方のお言葉ですが、私も効率的な仕事をするために、会社でよく昼寝をしています。


さて、こんな感じで紹介すると、あたかも健康志向な会社のように見えますねw
確かに家族のいる従業員が多いからか、健康に関心の高い従業員が多く見られます。
私もこのように自由に社内をウロウロさせてもらってるからか、よくエンジニアの職業病に取り上げられる腰痛や肩こりなどとは、今のところ無縁です。

最後に、こちらはエンジニアチームのホワイトボードです。



エンジニア きてね!↓
oishi@actindi.net
まで!
と書いてあります。

はい、弊社ではエンジニアを募集しております。自由な体勢で仕事がしたい健康志向のエンジニアをお待ちしております!!
アルバイトやインターンでもOKです!

【StumpWM】キーボードマクロを使ってBasic認証を自動で解除【xautomation】

2015年05月26日
区分
StumpWM
報告者:
oishi

こんにちは!oishiです。

最近「ThinkPad X1 Carbon」を買って幸せな毎日を送っています。

さて、新しいPCを買うと、「こいつを最高の使い心地にしてやるぜ」という気持ちになって、設定を俺様仕様にしたくなりますよね?

私もそういう気持ちに駆られたので、今回は表題の件について書きたいと思います。

【環境】
OS: Debian
ウィンドウマネージャー: StumpWM

【問題】
弊社ではステージング環境の構築にDockerを使っており、ブランチをpushすると次のようなURLでステージングが構築されます。
http://d12345.example.com
このd12345の部分がブランチ名を元に作られているため、サブドメインが都度変わります。
なので、ステージングにアクセスするたびにBasic認証を解除しないといけなくて、私の中で至極めんどくさい問題となっていました。

Chromeにはそれを解決するExtensionなどあるかもしれませんが、私はConkerorを使っているので、自力でやることにしました。

【解決】
まず、自動でキー入力をしてくれるxautomationをインストールします。

sudo apt-get install xautomation


それを使って、次のようなファイル(~/bin/pass.zsh)を作りました。

#! /usr/bin/zsh

sleep 1
xte 'key U'
xte 'key S'
xte 'key E'
xte 'key R'
xte 'keydown Tab'
xte 'keyup Tab'
xte 'key P'
xte 'key A'
xte 'key S'
xte 'key S'
xte 'key Return'



そして、~/.stumpwmrcに次のようなcommandを定義します。

(defcommand pass-basic-auth () ()
  (run-shell-command "zsh /home/hiragi/bin/pass.zsh"))

(defcommand d (num) ((:string "num: "))
  (run-shell-command (format nil "conkeror d~s.example.com" num))
  (pass-basic-auth))


これで、StumpWMのcolonに「:d 12345」と入力するだけで、
http://d12345.example.com
にアクセスしてパスワード解除を自動でやってくれるようになりました!

StumpWMさいこー

最後に、弊社ではエンジニアを募集しております。 弊社では開発環境に縛りがなく、開発できればOS等はなんでもOKです。まずはお話だけでも。よろしくお願いします!

RubyKaigi2014 3日目レポート

2014年09月29日
区分
イベントレポート
報告者:
oishi

こんにちは、oishiです。先日、今話題のバブルサッカーに参加したのですが、日ごろの運動不足でちょっと背中にダメージ負ってます。
20日のRubyKaigi最終日の報告をします。

スケジュールはこちらをご覧ください。
http://rubykaigi.org/2014/schedule

以下、私が参加したKaigiについての簡単なまとめです。

Ohayō Rails (おはよう Rails)
・「Railsいいよね」、「ActiveRecordの完成度高すぎ。ActiveRecord脳になっちゃうよね。」
・でも、「Railに乗っ取るだけで開発が少し退屈になっている・・・」との声も。
・「最近話題のSPAをやりたいなら、フロント専門の人が必要だ」→「じゃあ最初からNodeでいいんじゃね?」
・「いや、SPAの時代はきてないんだよ。そもそも来るかな?怪しいじゃん。」
・結論:Railsで決まりだね

Speeding up Rails 4.2
・Aaron氏の日本語能力試験会場となりました。感動するぐらい上手でした。
・「Rails4.2のAdequate RecordはARの速度を2倍にする。」とのこと。詳しくなかったので、以下を参考に学びました。
http://qiita.com/yuku_t/items/bc3728c694ea72bc5478
・Aaron氏が最適化する上で最も大事だと思っていることとは? → 「計測、計測、計測です」。想定ではなく、計測から始めなさい。

Practical meta-programming in Application
・「メタプロを使いすぎるとメタメタになる。でも、Rubyの魅力であるので使いたいという思いがある。」では、メタメタにならないにはどうすればよいか?
・Railsはメタプログラミングの宝庫で、読みづらいとは分かっていても一度読んでみると良い。多くのことが学べるでしょう。
・結論:メタメタになりたくなければ、基本はRubyのOOPで設計、抽象化をする。より柔軟さを求めたい場合にメタプログラミングを持ち込む。
・moro氏の失敗談:「ARっぽくカラムにアクセスする機能を独自で実装したら、ARとは挙動が合ってないと言われた」

Fluentd Hacking Guide (Fluentd ソースコード完全解説)
・Vimでコードをトップダウンで解説していく。
・淡々と読んでいき、「なるほどー」という感想でした・・・m(_ )m
・「新しいFluentdはマルチプロセス化されると聞いたが、どうなんでしょう?」→「今日お話したものがインスタンスとして立ち上がることになります。」

The role of ruby in the single page app.
・SPAの問題点として、例えばSPAのみで認証をやるとすると、jsonリクエストがサーバーに大量に送られることになり、とても遅くなる。
・だから、RailsとSPAをうまく融合させていかにUXを上げるかという視点が大事。
・SPAにおいては通信頻度をいかに少なくするかを考えることが大事だし、それが開発する上での魅力でもある。

tending the ruby ecosystem
・rubyがこの先生きのこるためのアイディアとは? → gemのメンテナンスをしなければならない。
・gemの数は急速に増えた。そのため、Railsで使われているコアなgemでさえ、サポートが追いついていないときがあったりする。バグがあったり、ドキュメントがなかったりする。
・サポートしたいgemを見つけて欲しい。
・サポートしたいgemを見つけたら、プロジェクトのオーナーにメールする。コツは、サポートする上での短期的な目標、長期的な目標を伝える。
・gemのメンテナーに、積極的になってほしい。

Three Ruby usages - High-level interface, Glue and Embedding - Inside Droonga
・全文検索エンジンDroongaのRubyライブラリのRroongaの話
・詳しくはこちら
・Groongaのmrubyについての話があったが、チケットのこちらのSutouさんたちのやりとりを見ていると、経緯が少しわかったりしてとてもおもしろい。

Ruby 2.1 in Production
・最後のキーノート。tmm1氏!英語を聞き取るのに精一杯でした。。。
・GitHubは巨大なRailsアプリで、150モデル、200コントローラからなり、パフォーマンスは3,000件のリクエスト/秒である。
・GitHubがここまで大きくなるまでには、いくつかの壁があった(tmm1氏がGitHubに加わったのは、rails 2.3, ruby 1.8.7のとき)。
・中でも、使われたstackprofの紹介をしたときには、会場からため息が。
・魔法使いが私の目の前にいました。

所感
このような大きな勉強会は参加したことがありませんでした。
初めて参加してみて、知的好奇心が刺激されることはもちろん、自分のエンジニアとしてのレベル、英語のレベル、知らない人とどうコミュニケーションするかなどを見直せる機会となりました。
平日にも関わらず、このような場への参加を認めていただいた弊社の皆様に感謝ですm(
_)m
なお、こんな素晴らしい弊社では、おでかけ先探しに悩むパパ・ママを助けてくれるエンジニアを募集しています。よろしくおねがいします!

EmacsからYammerに投稿する

2014年04月17日
区分
Emacs
報告者:
oishi

はじめまして、こんにちは。oishiです。

昨年11月に第二新卒として入社しましたが、入社1週間ほどで社内トップレベルにデスクが散らかってるエンジニアとなりました。ありがとうございます。

さて、このように少し横着者な私なので、毎日のTODOである「Yammerへ日報の投稿」を忘れてしまうことが多々ありました。
※弊社は社内SNSとしてYammerを使っており、私は日報をYammer上に投稿しています。

なぜ忘れてしまうのかを考えてみたところ、以下の手順が非常に億劫だからではないかと考えました。
1.Yammerを開く
2.昨日の日報を探し当てる
3.それをフォーマットとしてコピーする
4.入力フォームにフォーカスする
5.入力フォームに昨日の日報貼り付ける
6.昨日の内容を一部削除する
7.今日の内容に書きなおす
8.投稿

こんなにやることが多くては、面倒くさがり屋さんなら忘れてしまうのも頷けますね。

しかし、幸いなことにYammerにはAPIが公開されているので、それを使ってEmacsから日報を投稿することを思いつきました。

以下手順です。
ちなみに環境はEmacs + Common Lisp + SLIME + Quicklispを前提としています。

1.自社のYammerにYammer Appを登録
登録の仕方は公式を見てください。
https://developer.yammer.com/create-an-application/

2.以下のコードを、各Common Lisp処理系の起動時に読み込ませる

(ql:quickload :drakma)
(defvar *yammer-token* "my-yammer-token")

(defun send-nippo (body)
  (drakma:http-request "https://www.yammer.com/api/v1/messages.json"
                       :method :post
                       :additional-headers '(("Authorization" . "my-authorization"))
                       :external-format-in :utf-8
                       :external-format-out :utf-8
                       :parameters `(("body" . ,body)
                                     ("group_id" . "000000"))))


3.Emacsのyasnippetで以下のテンプレを作る

# -*- mode: snippet -*-                                                                                                                                                                        
# name: nippo
# key: nippo
# binding: direct-keybinding
# --

(send-nippo
"
おつかれさまです。oishiです。
本日の日報を提出します。

【やったこと】
$1

【次回の予定】
$2

【所感】
$3
")$4


Common LispじゃなくてEmacs Lispで書いてもいいのですが、私のEmacsのscratchバッファがデフォルトでLisp modeなので、切り替えるのが面倒なのと、SLIMEが常時立ち上がってるのでCommon Lispで書いてます。

以上が手順です。

これで冒頭の長い手順が以下のように短縮されました。
1.EmacsのLisp-modeのバッファ上で”nippo”と打つ
2.TABを押す
3.日報を書く
4.評価

私はこれで日報を書く時間が3分→1分未満に短縮されましたし、面倒くささも感じないせいか日報を忘れることもなくなりました。

これでさらに面倒くさがり屋さんに磨きがかかった気がします。


ちなみにこのブログもEmacsから投稿したいです。

技師部隊からの
お知らせ

【求人】エンジニア募集しています。

本頁の来客数
八十七万千百七十六名以上(計測停止中)

メンバー一覧

アクトインディ技師部隊員名簿

アクトインディ技師部元隊員

アクトインディへ

カテゴリー

アクトインディ

aaaa