[MongoDB] データベースファイルが保存されるパス dbpath を確認する
- 2015 8/31
「YAPC::Asia Tokyo 2015」の最終日を振り返ります。
チューニングの進め方
課題の理解
プロファイリング
Web アプリケーションで起きていることを知る
プロファイリング結果を読み解く慣れも必要
matsuu/kataribe
Nginx/Apache Log Profiler
MySQL SlowLog解析
クエリ実行回数と頻度
アプリケーションのプロファイリング
各プログラミング言語のツールを使う
strace
tcpdump
サーバの負荷をみる
top
iftop
サーバ構成の把握
Nginx vs. h2o
参考資料
MySQL の offset はレコード数が多くなると遅くなる
参考資料
Covering Index を使おう。
参考資料
Q) LVS 使えばいいんじゃないの?
A) そうですね。
参考資料
TL;DR
サーバリソースが乏しい中で大量データを扱うのは大変
TL;DR
「Hadoop を自社で持ちたい?やめろ!」
CONBU
”大規模なカンファレンスや勉強会が行われる会場において、会場ネットワークを構築し、インターネット接続を提供するネットワークエンジニアの集団”
所感
CONBU の存在を初めて知りました。YAPC の会場内のネットワーク構築ありがとうございました。
そして、YAPC の運営に関わってきたみなさま、ありがとうございました。
個人的なメモ
MySQL 5.7 は罠が多いので、秘伝のタレな設定ファイルが切望される。
エンジニアが2000人以上も集まるイベントに参加できて、良い刺激を得れました。運営メンバーのみなさま、ありがとうございました!
追えてない、理解できてない技術トピックのキーワードを拾うことができただけでも収穫でした。全部、追うのは無理なので、ここから必要なものに絞ってキャッチアップしていきたいです。
10周年、そして、今年で終わってしまうということで最初で最後の「YAPC::Asia Tokyo」に参加してきました。
各トークセッションの流れは Togetter にまとめられているので、こちらから探すとよさそうです。
以下、視聴したトークと個人的なメモ&所感です。
AWS US/JP/EU の 3 リージョンでサーバ台数が多いと git pull が重い。
Mackerel(マカレル): 新世代のサーバ管理・監視ツールを使ってるらしい。
GHE と Git Slave repository の同期が大変なので、新しくリポジトリ同期システムを作った。
所感
Consul + stretcher での deploy は規模大きくなったときに考えたい。しばらくその心配はなさそうだけど。
あと、最近だと AWS CodeDeploy (Amazon EC2 インスタンスへのコードデプロイを自動化) もあるけど、どうなんだろ?
所感
最近のfrontendをちゃんと把握できてなかったので、なんとなく流れを理解できてよかったです。
分散したチームで効果的に仕事をするために使うべきツールや心構えなどが発表されていた。
Distributed Work では、効果的なコミュニケーションで時間短縮できる。
リモートワークをしている場合、その場にいるかのようにコミュニケーションに入れてあげることが重要である。
Commit Messages
コミットメッセージで会話をする。
考古学者として、あとでコードを掘り起こしたときに何か手掛かりがほしいだろう?
「何を考えていて、どうしてこうなったか?」という情報がときどき失われる。
これを残さないといけない。
CODE REVIEW
コードレビューはバグを 60% 減らせるという分析がある(らしい)。
非同期コミュニケーションには適している。
すぐに返事がくることを期待しない。
Everyone should experience remote work.
まず、課題を実感して、共感して、改善するということが大切。
Have on-site meetups
一堂に会する機会を定期的につくる。
Over communicate.
「常に話す」というわけではない。
「常に書く」ということを意識する。
Share your personality
自分の個性や人格を共有するようにしましょう。
日頃のテキストチャットで共有しよう。
Off Topic の Slack channel を用意する。
Exhibit a “visible pulse.”
リモートで仕事をする場合には、自分が何をしているかアピールしなければならない。
Pick a timezone.
Standard Operating Time (SOT)
CAP THEOREM (SOME LIMITATIONS)
リモートワークでも CAP 定理が当てはまる。
Q&A
Q) リモートワークだと働きすぎる場合がありますが、どうしてますか?
A) なりますね。でも、そうすると家族が寂しくなる。
自分を律する。自分のスケジュール管理をする。
オフィスを離れるタイミング、疲れたら休む。
チームで「あなた仕事しすぎだから帰ったほうがいいよ」と声を掛ける習慣をつける。
自分の仕事に余裕を持って取り組む。
Q) Timezone が異なるとリモートワークが難しくないか?
例えば、日本とアメリカなど。
A) 日本やアメリカ毎に数人のチームを置くべきだね。
自分の意見) 実践したことがあるが On time が重なる時間帯があったので、特に問題にはならなかった。
Q) Face to face の頻度は?
A) 四半期に1回がミニマム
そのときはコードに埋没するべきではない。
中長期的な話をする場にしよう。
Q) リモートワークではモバイルは重要なツールだけど、使っているか?
A) 便利ですね。
友達や家族にとってフラストレーションになる。
時にはスマートフォンを横に置くべき。
所感
リモートワークの経験はあったので、自分のケースと照らしあわせて良い振り返りができました。
「Commit Messages がいかに大切か?」という話をするときの例えとして、「考古学者が発掘するときにヒントが欲しいでしょう?」ってのはわかりやすかった。今度、コミットメッセージの大切さを説明するときにこの例を使わせてもらおう。
※ 考古学者の仕事は、「遺跡や遺構など人類が残した痕跡を探し、発掘し、過去の人類の活動と変化を研究すること」
所感
Demo 中心なセッションでした。
直近で、デスクトップアプリを開発する予定がないのですが、作ることがあればまず Electron を使うことになるでしょう。
「楽しく開発したい!」
自分が最近あまりできてないので見習いたい。
開発スケジュールを決めない
理想的っすねー。
開発自体にモチベーションが上がらなくなったときにどうしてるか?ってのが気になる。
LT もぜんぶ聴きました。
懇親会の申し込みを忘れてたのだけど、チケット譲ってもらえて入場できました。
ありがとうございました!
以上、YAPC::Asia Tokyo に参加した、現場からお送りしました。
ドットインストールの「UNIXコマンド入門 (一般ユーザー編)」を Mac で学習するための覚え書きです。
会社でエンジニア新人研修を担当しているので、研修資料をまとめるついでに、初学者が Mac で学ぶときに受講しなくてもいいレッスンについてまとめました。
#01 – #03 は VirtualBox などでサーバを起動させるなどの事前準備が必要なのでスキップしましょう。
残りの #04 から最後の #16 まで取り組んでもらって大丈夫です。
JavaScript の Date.now と new Date().getTime() と +new Date の実行時間を jsPerf で確認してみました。