愛媛のIT系の人が集まるSlackグループ作りました

https://ehime-it-slack.herokuapp.com/

愛媛県のIT系の人が集まるSlackグループです。


以下のような方の参加を想定してます。


参加もチャンネル作成も自由です。
あまりこういうやり取りできる場が無いな〜と思い、作成しました。
(現状だと、コミュニティ単位であったり、FBやtwitterで繋がってる同士だけでやり取りする程度?)


(n'∀')η 参加お待ちしております!


▼影響元
VS Resistance – Fukuoka IT Slack Group

株式会社ハートレイルズに入社し(て)ました

既に一ヶ月経ってるのですが、落ち着いてきたのでご報告を。
2015年7月1日より株式会社ハートレイルズで働いています。


・今後も愛媛県松山市から離れるつもりが無い(家庭の事情あり)
・今後もプログラマとして働きたい。サービス作りたい
・誰と組むか?は重要(こちらは当然だが、受入側のリモートワークの理解や姿勢も重要)
この辺りから5月頃にリモートで働ける転職先を探しはじめ、
6月にHangout面談を通して採用して頂けました。


7月は自社サービスの保守/新規開発を行っていましたが、
普段のチャットでも興味ある話(技術話、リモートワーク話とか)があって
とても良い感じですね。


以下、雑文。


・良い所/悪い所は ogin_s57さんに聞いていたので大体想像通り
リモートワークのような働き方はフリーランスの頃からしていて
複数企業とやってみて良いところ/悪いところは色々経験していますが、
それらと比べても大分働きやすいかなと思います。
やはり”全体がリモートワーク前提で動いている”とか
”お互いに理解がある同士で仕事する”と良い感じですね。
#過去に「個人(私)vsチーム」みたいな働き方をしていた頃、色々やり辛いコトがあった


・別にフリーランスが嫌になったわけじゃないです
ありがたいことに地方在住(愛媛県松山市)でも案件に特に困ることもなく、
このままフリーランスでも生きていけるかなとは思いつつ、
当初フリーランスで得たいと思ってたものが大体学べた感じあるのでもう良いかなと。
あとリモートワークするにしても誰と組むか?が重要な件とか。


・アウトプット少ないのはやっぱりネック
入社できたの紹介補正がかなり効いてる感じ。
いつまでも「身近な人のフォローできるくらいで良いや」とか言ってられないので
今後ぽちぽち何か書いていこうかなとは思います


・今後も大体今までどおり
自宅で仕事、定時後に勉強してる感じになるかと思います。
勉強会とかでお会いしたら遊んで下さい_(:3 」∠)_
今は弊社最弱だと思ってるので早く皆さんのレベルに追いつけるよう頑張りたいですね。

(四国民向け)登録フォーム作ってもらった

自分が「欲しいな〜」ってお願いしたので、情報展開しとこうかなと。
# 目の前でチャチャッとフォーム作ってくれた。仕事が早くて助かります


四国のIT勉強会関連を登録している「四国方面 IT勉強会と非 IT系の合わせ技カレンダー(仮称」について
掲載依頼出せるようになりました。左下のリンクですね。


「ゆるふわ.rb」とか抜けてたようなので、今後気付いたら登録したいなと思います。
# 個人的には非IT系に興味無いので、鎌玉大さんのブログに定期的にUpされる勉強会情報がオススメ

分散型バージョン管理システム勉強会@京都に参加しました

http://atnd.org/events/17060


上記URLの勉強会に参加してきました。
主催者の@naoinaさん宅に泊まる予定で愛媛→京都に行ったので、
「LTするよな!」と言われたら「はい…」としか言いようが無い感じで、
悶々と眠れn…(´ω`)良い経験でした


内容については参加者の方が色々書いてるので特別書くこと無いかな、という感じです。
どちらか(git / mercurial)知ってる方は「まぁ付いていけたのかな」と。
svnだけ知ってるという人は「どうだったのかな」と。
きっかけになれば良いと思いますが。



以下、emacsで書いた資料をうまくpdf化できない
PCスキルの低いramusaraさんがLTした内容まとめ
# 土日に余裕があったら何とかします…

【タイトル】
hook scriptの紹介


【内容】
■About me(省略)


■Hook?
Hookとはなんぞや、ということについてつらつらと。
クライアントサイド(コミットメッセージ入力前、コミットプロセス完了後など)、
サーバサイド(push)について


■Gitについて / Mercurialについて
2つの分散型バージョン管理システムのHookの仕組みについて。
前者が「決められたファイル名でファイル配置」
後者が「設定ファイル内で指定」の話とか。


■フックスクリプトのネタ
1.コミットさせない
 - シンタックスチェック
 - 末尾スペース(ゴミ)のチェック
 - コミットメッセージが適切かどうか。
  キーワード(名前、メールアドレス、チケット番号など)を含むか
 - masterブランチへのコミット拒否
2.コミット前にテスト
 - (テスト通らないような)異常コードのコミットを防ぐ
3.コミット後に自動ビルド/ファイル生成
 - バイナリ作成して実行可能な状態にしておく
 - コミットされたファイルから生成されるモノ(ドキュメント等)を自動生成
4.メール通知
 - pushされたら開発者に通知とか
5.自動デプロイ
 - htmlファイル更新後、公開用ディレクトリに展開


■上記以外にネタあったら教えてね(*'ω' *)というお話


■デモ
フック使えばこういうことできますよっていう説明がしたかったので
jenkins + gitのhookを利用して
「コミット→自動テスト→結果表示」の説明をしました。
 1.add/sub/mul/div 4関数のみ定義したファイル(python)があり
 2.上記をテストするコード(nosetests利用)があり
 3.jenkinsというものがあり
 4. .git/hooks/post-commitにwget http://localhost:8080....
   jenkinsにアクセスするようhook設定してあり
 5. 2のテストコードを異常なものに変更してコミットすると
 6. jenkins側でテストがNG(赤)に自動でなることを確認

こんな感じ。5.の時点でアホなことをしてて
「あれ?うまくいかない?」とかトラブルありましたが…w



勉強会中にいくつか細かい所で学んだり、
twitterの方で良い情報貰ったり(*'ω' *)楽しい休日でした

githubにdotfilesあげた

https://github.com/ramu/dotfiles


とりあえず「zsh」と「emacs」の設定をいくつか…
ファイル分割厨なんですが、見る側の立場からすると
こう分けられると「ファイル開くのが面倒」っていう感じですね。


ちなみに今気になってるのは以下
・screenの起動設定は何処に書く?zshenvは間違ってる気がします
・init-loaderで読み込む対象ファイルの分け方。
 anythingとかauto-completeとかどうするか悩ましい。
 特に言語別にファイル分けてる辺り。


# 前記事は☆がスゴイことになってるので、今回は落ち着くと嬉しいなって

Google Chromeで閲覧中のページをEmacsからスクロールする ※Mac限定

サイト見ながらコーディング(Emacsで透過利用)してる時に
・文字が被っていて見えない
ソースコードが長くて途中までしか見えていない
上記のような状況で、一々"command+tab"で切り替えてChrome操作するのが面倒でした。


「一々Google ChromeEmacs切り替えてスクロールするの面倒だよね…
 Emacs側から制御できないかな」といつも思っていたのですが、
http://d.hatena.ne.jp/LaclefYoshi/20101024/1287887644を見て、思いつきました。


■方法
AppleScriptを経由して、javascriptを実行させることでスクロール制御可能になります。
(つまり、AppleScriptが実行できなければならない…Mac限定)

1.下記AppleScriptソースコードを保存
2.AppleScriptemacsから呼び出す


AppleScriptソースコード
下記ソースコードを適当な場所に保存してください。
やってることは、Google Chromeのアクティブタブ(現在表示してるページ)に対して
javascriptを実行する命令を送っているだけです。
「スクロール量が足りねーよ!><」という方は、変数yに加算してる値(100)を変更すれば良いかと。


-- chrome.scpt: control Google Chrome
-- Author : ramusara<ramusara@gmail.com>
on run argv
tell application "Google Chrome"
tell active tab of window 1
if ("next" = item 1 of argv) then
execute javascript "var x = document.documentElement.scrollLeft || document.body.scrollLeft; var y = document.documentElement.scrollTop || document.body.scrollTop; y += 100; window.scroll(x, y);"
else if ("previous" = item 1 of argv) then
execute javascript "var x = document.documentElement.scrollLeft || document.body.scrollLeft; var y = document.documentElement.scrollTop || document.body.scrollTop; y -= 100; window.scroll(x, y);"
end if
end tell
end tell
end run

elispソースコード
emacs起動時に読み込まれる.elispにぺたっと。
編集箇所は2カ所「AppleScriptのパス」と書かれた場所について、保存したAppleScriptのパスを指定して下さい。
下記コードでは、"C-z C-v"で下方向にスクロール、"C-z M-v"で上方向にスクロールになってます。


(defun chrome-scroll-next ()
(interactive)
(shell-command "osascript AppleScriptのパス next"))

(defun chrome-scroll-previous ()
(interactive)
(shell-command "osascript AppleScriptのパス previous"))

(global-set-key (kbd "C-z C-v") 'chrome-scroll-next)
(global-set-key (kbd "C-z M-v") 'chrome-scroll-previous)


■なんというか
これ作ってて思ったのですが、
・別にAppleScriptじゃなくてもプログラムから制御できたりするんじゃ?
・大体AppleScript限定にしちゃうとMacユーザ以外どうすんの?
・駄目じゃん(´・ω・`)ショボーン
そんな感じ。情報が見つからなかったので記事書きましたが、
きっと、もっとcoolな方法があるはず…教えて頂きたいです!


emacsキーバインド"で"chromeを操作したいんじゃない、emacs"から"chromeを操作したいんだ!
と思っても、前者ばっかりHITして見つからんのです(´・ω・`)