Upgrade to Pro — share decks privately, control downloads, hide ads and more …

サンタクロースを支えるIT技術 @M_Ishikawa #yapcasia

M_Ishikawa
August 22, 2015

サンタクロースを支えるIT技術 @M_Ishikawa #yapcasia

YAPC::Asia 2015 トークセッション

石川将行
https://about.me/M_Ishikawa

チャリティーサンタ
http://www.charity-santa.com/

M_Ishikawa

August 22, 2015
Tweet

More Decks by M_Ishikawa

Other Decks in Technology

Transcript

  1. ⾃自⼰己紹介 • ⽯石川将⾏行行(@M_̲Ishikawa  id:ishikawam)   • グリーでエンジニアやってます   • YAPCでのトークは2年年ぶり

      • これまでやってきたボランティア活動   • 地球温暖化防⽌止の啓発、障がい者福祉、等のボランティア   • YAPCのボラスタッフも3回⽬目  (phpcon,  html5j等も)   •     チャリティーサンタでITボランティア  
  2. Ԭࢁ ळా ઋ୆ ଟຎ ๺౦ژ ೆ౦ژ ઍ༿ ԣ඿ ভೆ ܈അ

    ߳઒ Ѫඤ ্ӽ ໊ݹ԰ ௡ࢁ ๺۝भ ෱Ԭ େࡕ ޿ౡ ౎ཹ ߕ෎ ࡾॏ اۀ αϙʔλʔ ࢧԉઌ ࢠͲ΋ อޢऀ ϓϨθϯτΛ͓༬͔Γ͠ɺ νϟϦςΟʔۚΛ௖͖·͢ɻ ΫϦεϚε౰೔ɺ ͓༬͔Γ ͨ͠ϓϨθϯτΛαϯλ ͞Μ ʢϘϥϯςΟΞʣ ͕͓ ಧ͚ʹ࢕͍·͢ʂ ௖͍ͨνϟϦςΟʔۚͰ ੈքͷࢠͲ΋ͨͪʹࢧԉ Λߦ͍·͢ɻ νϟϦςΟʔαϯλͷ ׆ಈʹࢍಉɺ ͝ࢧԉ͍ ͍ͨͩͨݸਓɺ ๏ਓͷ Έͳ͞·ʹ͸ɺ ఆظత ʹใࠂॻɺ ϝϧϚΨͳ ͲͰ׆ಈใࠂΛ͍ͨ ͠·͢ɻ
  3.   ITチームのいろんな⼈人たち • 渋⾕谷のベンチャー企業のWebエンジニア   • 中国で暮らしているWebデザイナー   • 岡⼭山にいるSIerエンジニア  

    • ベトナム出張のオフショアマネージャー   • ソーシャルゲームのプログラマ   • グッドデザイン受賞経験あるディレクター   • 事務機器メーカーのエンジニア   • 企業研修向けのIT講師 Webベンチャー企業や⼤大⼿手メーカーなど職種も様々
  4. • 代表ががんばってホームページ作る   • Webデザイナーがメンバーに現れ始める   • エンジニアがメンバーに現れ始める   •

    任意団体からNPO法⼈人へ   • 複数名で作業できるようになる     チャリティーサンタのITの歴史 • 代表ががんばってホームページ作る   • Webデザイナーがメンバーに現れ始める   • エンジニアがメンバーに現れ始める   • 任意団体からNPO法⼈人へ   • 複数名で作業できるようになる   「どうやってだよ!」   をこれから説明します。
  5.   レンタルサーバと仲良良くなる • 共⽤用レンタルサーバは基本的に   • SSHが使えずFTPでファイル転送   • DocumentRootが固定  

    • rootにもなれず⾃自由に設定ファイルをいじれない   sudo権限がないどころではない
 厳しい制約
  6. レンタルサーバに   git導⼊入で全部解決! • これから:Git&FTP   • 本番に  .git  置いて、git

     pull   • FTPで転送されても  git  diff  で変更更内容確認でき て、add&commitできる   • 事故があっても戻したり、すぐ復復旧ができる   • (あたりまえだけど)バージョン管理理!   すごくいい感じになりそう♪
 だけど...
  7.   Git  &  Github導⼊入の壁 • Git&Githubを使ったことないメンバーもいる   • terminal(=Linuxコマンド)を使わないメン バーもいる  

    • sshできずftpでのみアクセスするメンバーも いる   Git  &  Github、SSHを使わなくても⼤大丈夫な状態にする
  8. レンタルサーバに   git導⼊入でやっぱり解決! • non-‐‑‒SSHerに対する配慮   • 「いままでどおりFTP使ってもいいんだよ」   •

    「でもできたらgit、Github使うと便便利利だし楽しいよ」   • デプロイを本番での  git  pull  とすることで、担当者がFTPとかCMSによ る変更更に気づくことができる。   • FTPで転送されても  git  diff  で変更更内容確認できて、add&commitできる   • ⼊入れているWordpressとかフレームワークで構築されたものとか も  .gitignore  しないで更更新されたらaddすることでバックアップになる。   • コミット汚れが気になるならそこを  git  submodule  で管理理すればOK   すごくいい感じに♪
  9. Gitリポジトリ運⽤用 • ブランチ   • 本番サーバがmaster,  ステージングがdevelop,  に固定しておく   •

    Pull  Requestベースだが、⾯面倒なら直commit  OKの運⽤用   • リリース⼿手順   • この運⽤用ではmasterもdevelopもcommitが進む可能性があるので   • master-‐‑‒>developマージしてステージングでdevelopをpull、確認。   • Githubでdevelop-‐‑‒>masterの差分確認。ここでもPRする。浮いてる commitは担当者にSlackで聞いて確認。   • OKならdevelop-‐‑‒>masterマージして本番でmasterをpull。
  10. レンタルサーバに   git導⼊入でまるっと解決! # ·ͣgettext cd ~/tmp wget http://ftp.gnu.org/pub/gnu/gettext/gettext-0.19.1.tar.gz tar

    gettext-0.19.1.tar.gz cd gettext-0.19.1 ./configure —prefix=$HOME/opt make make install export PATH=~/opt/bin:$PATH # .bashrcʹ΋ೖΕΔ # ͦͯ͠git cd ~/tmp wget https://github.com/git/git/archive/master.zip unzip master cd git-master make configure ./configure --prefix=$HOME/opt make all make install
  11. レンタルサーバに   emacs導⼊入で気分も爽快! # ncurses͕ඞཁ cd ~/tmp wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-6.0.tar.gz tar

    zxvf ncurses-6.0.tar.gz cd ncurses-6.0 ./configure --prefix=$HOME/opt make make install # ͦͯ͠emacs cd ~/tmp wget http://ftp.gnu.org/pub/gnu/emacs/emacs-24.5.tar.gz tar zxvf emacs-24.5.tar.gz cd emacs-24.5 LDFLAGS="-L$HOME/opt/lib" ./configure --prefix=$HOME/opt --without-x make make install
  12.   レンタルサーバのちょっと変わった仕様も   エンジニアリングでカバーする • DocumentRootの階層問題   • hoge.com,  www.hoge.com  

    • ~∼/hoge.com/public_̲html/   • test.hoge.com   • ~∼/test.hoge.com/public_̲html/  ではなく   • ~∼/hoge.com/public_̲html/test/  !!   • これだと   • hoge.com/test/  で  test.hoge.com  にアクセスされてしまう   • サイトルート相対パスだと崩れる   ln  -‐‑‒s  ~∼/hoge.com/public_̲html/test  ~∼/test.hoge.com  で解決。
 .gitignore  に/test/を。/test/に  .git  を設置。
 あとは.htaccess  でなんとかする
  13.   レンタルサーバで諦めたこと • zsh   • まあいらないか   • redis,  memcached

      • ポート使えそうだったけど、マナーとしてやめておい た。ファイルキャッシュで。   • ユーザーアカウントは1つのみ   • これも本番サーバと思えば諦められる
  14.   担当別なので結構好き勝⼿手(許容) $ ls public_html ... Supporter_Claus callback cbbs index.html letter

    m sandbox secure staff test WPにCompass/Sass使うね 開発⽤用 BootswatchとVanilla  PHPで 決済のcallback⽤用 KENTの墓場... レンサバのSSLディレクトリ リニューアルサイト!
 Laravel5,  Gulp WP使うー ステージング。サブドメ。 申し込みフォームは   herokuで動かすね ⻑⾧長く運⽤用してるDWサイト
  15. 使っているツール • Github   • Private  Repositoryは個⼈人が1つ提供   • Facebook

      • Slack   • Trello   • Prott   • Vagrant   • Heroku   • ツールじゃないけど   • Confluence   • 有料料だけどどうしても使いたくて⽯石川が提供 基本的にコスト0
  16.   ⽇日本の主なプロボノ仲介サービス • サービスグラント   • プロボネット   • ⼆二枚⽬目の名刺刺  

    • a-‐‑‒con   • Social  Marketing  Japan   • ⽇日本でも少しずつ増えてきています
  17.   関わり⽅方   (例例:チャリティーサンタ) • 作業は普段は週に2時間くらい   • ⽉月に2回のもくもく会   •

    忙しい時期になるともっと。   • でも、だれがどれくらい関わるかは任せら れる   • まるでOSSコミュニティ!
  18.   ITチームが今年年やること • スタッフ⽤用サイトのリリース   • サイトリニューアル   • レスポンシブとかコーポレートサイトとか  

    • サンタ申し込みフォームの強化   • 当⽇日の訪問先地図のシステムリリース   • 個⼈人情報の取り扱い強化
  19.   ※⽀支部の活動とは • サンタ集め   • 訪問先の家庭集め   • 交流流イベント  

    • ボランティア管理理   • 訪問先管理理   • 講習会実施   • 活動報告会   • ⾐衣装、プレゼント制作
  20.   地図(GoogleMaps)の活⽤用 • いままで   • 申し込みフォームから届いた メールに書いてある個⼈人情報 をエクセルにコピペしていた   •

    これから   • GoogleMaps  APIを利利⽤用しマ クロ等アプリケーション開発し て業務を楽に&安全に ITチーム ⽀支部 地図を担当   現場で開発
  21. 現状の課題   リテラシーやセキュリティ • いろんな⼈人が活動に参加している   • ITを使った途端なかなか⾔言葉葉が通じない⼈人も   •

    ⼦子どもの個⼈人情報の取り扱い⽅方   • SNSの危険性、ITリテラシー   • 急に⾳音信不不通   • クラウド上の共有データの紛失、破損
  22. ⽀支援例例 • Microsoftのクラウドサービス 「Office365」を無償提供   • Google  AppsやAdを無償提供   •

    SmartNewsは10のNPO団体に半年年間 100万円分の広告枠を提供   • Salesforce 年年々⽀支援内容は   変化したりする
  23. IP  talk • パソコン要約筆記⽤用のソフト   • 投影⽤用、筆記者⽤用全てに⼊入れておく   • 無料料で配布されています。

      • 複数⼈人(最⼤大8⼈人)で筆記が可能   • Windows専⽤用   • だれでも無料料でダウンロードでき、即利利⽤用可能   • 同じネットワーク(LAN)でつながっている必要があります   • 筆記者⽤用、投影⽤用ともに同じソフトで設定を変えます
  24. IP  talkの課題 • 筆記ボランティアの⼈人材不不⾜足   • 要約筆記サークルは限られた地域にしかない   • 簡単なのでできれば知り合いでやりたい

      • システムの⽼老老朽化   • Macでできない   • 進化していない   • アイフォン、スマートフォンに投影したい
  25.   ご清聴ありがとうございました • ぜひ繋がって下さい!   • @M_̲Ishikawa     • id:ishikawam

      • 資料料公開してます   • みなさまの貴重なお時間頂き
   ありがとうございましたm(_̲  _̲)m