ここ一年間くらい勉強会で発表する機会を意識的に作っていた. 最近ちょくちょく「プレゼン慣れしてる」という反応を得ることが増えてきたので,「こうすればいい感じのプレゼンができる」という知見を共有させていただく. どれも簡単だし,たぶん次から試してもらえると思う. 1. タイトルをゆっくり言う いきなり小学生でもできる簡単なテクニック紹介してしまった. プレゼンするとき,意識していても大体早口になってしまう. 早口だといくらいい事言っても伝わらないし,絶対にゆっくり話すべき. 話していてハイになってくると,ペースダウンするのはまず不可能になるので,まだ意識の残っている最初にゆっくりすぎるくらいのペースを作っておくのがよい. ついでに,ゆっくり話すと聴衆のリアクションを確認しやすいので,ウケたときに更にウケを狙うこともできる. 2. 最初におもしろいことを言う プレゼンの最初は大体自己紹介するか
photo by MDGovpics 技術面接を担当する機会があった. 今まで,面接されることはあってもする側になるのは初めて. 短い時間でよい成果を得るため,事前に色々と準備をしてから望むことにした. 最初に 面接といえば質問だ. 逆に言うと質問の集合が面接と言っても差し支えない. そこでなにを質問すべきか考えた. 採用面接の目的は一緒に働く仲間(を増やす|になる)ということだ. つまり,お互いに一緒に働きたいと感じるエンジニアなのかを判断できればパーフェクトコミュニケーションと言えるだろう. 事前準備 会話は3往復くらいさせると深く人となりがわかるらしい. なにも用意しないとそんなのは絶対無理なので,事前に質問を用意しておく. エンジニアの場合,応募資料はだいたい以下の2つがある. ブログやGitHubなどインターネットでの活動 職務経歴書 この2つからエンジニア像を作りつつ,質問した
sudo -u hogeなどで実行すると、sudoを実行したユーザの環境変数が引き継がれない。 昔は、こんなこと考えずに引き継がれてた気がするが、どうやらsudoのバージョンが上がって 仕様変更されたらしい。 http://arika.org/2009/04/24/sudo-and-env 環境変数を引き継ぐためにはvisudoを使ってsudoersファイルに環境変数を記述するのが 定石のようだが、/etc配下はできるだけ触りたくない。 そこで下記の方法を見つけた。-Eをつけるだけで良いらしい。 http://d.hatena.ne.jp/Yudoufu/20110326/1301129885 ただし、man sudo しても-Eオプションは何故か載っていなかった。 (manにないだけで実際には使用できる。) manの最後にver1.6.6とあるのでマニュアルが古いと思われる。 sudo[
最近、開発環境のテンプレート構築をしているのですが、「git commit するまえに考えるべき10のこと | Act as Professional – hiroki.jp by HIROCASTER」みたいに、ソースコードのバージョン管理を実際に始めるときに理解しておかないといけないことは、結構あるはずです。 それで、ソースコードのバージョン管理については、git commitするときに記録するコメントについて、いろいろと考えることもあります。Git Styleは「git/Documentation/SubmittingPatches at master · gitster/git · GitHub」にありますから、こういうのも参考になります。 英語で記述 一文の場合、文末にピリオドを付けない 主語は省く 時制は現在形 文頭の英単語は大文字 他にもないかなぁ、と探してみたら「Chang
実際のサービス運用時はないと思いますが、debugしているときやトラブルの調査をしているときにmemcachedのキー一覧を閲覧したいときはありますよね。 そんな時は、telnetを使って下記のコマンドを打つことでKey一覧を取得することができます。 $ telnet localhost 11211 stats items STAT items:1:number 6 STAT items:1:age 20505 STAT items:1:evicted 0 STAT items:1:evicted_time 0 STAT items:1:outofmemory 0 STAT items:1:tailrepairs 0 stats cachedump 1 100 ITEM foo [9 b; 1264464651 s] ITEM bar [9 b; 1264464649 s]ざっとこんな感じ
みなさん、Git使ってますか?僕はまだメインのVCSがSubversionなのもあって、なかなか慣れません。せっかくGitを使っているのに、ちょっと不便なSubversionくらいの位置づけです。でも、同じような理解度の人って多いんじゃないでしょうか。 一方で、最近はGitHub管理のオープンソースプロジェクトが増えてきました。バグレポートを送るにしてもpull request*1が前提のような空気があり、Git初心者には少し敷居が高い印象があります。 そんな僕も先日初pull requestをしてみたんですが、色々な失敗の積み重ねで残念なpull requestになってしまいました。その反省を元に、本稿ではpull requestする際のベストプラクティスを紹介します。これは「Git Workflow」をベースにコマンド例などを加筆したものです。 概要 pull requestする際は、
「偏差値30からの中学受験シリーズ」「ノープロブレム 答えのない子育て」などの著書があり、ブログで受験生の親からの相談を多数受けている、教育・子育てアドバイザーの鳥居りんこ氏。これまでの子育て法が通用しなくなりつつあるなかで、「いい親悪い親」を分けるポイントは何なのかを挙げてもらった。 食べていける子どもに育てるには? ご存知のとおり、昨秋にオックスフォード大学のオズボーン准教授らが発表した「雇用の未来 コンピューター化によって仕事は失われるのか」という論文は世界に衝撃を与えるものだった。 なぜなら、現在人間がやっている仕事の約半数が近い将来、機械によって奪われるというものだったからだ。 権威ある大学の先生が「あと10年で消滅する仕事」を一覧表にして「認定」してくださったものだから、驚きを隠せなかったお父さんたちも多かったろう。 折しも我が国では教育は黒船時代に突入。明治以来の大転換という
この記事は Shell Script Advent Calendar 2015 10日目の記事です。 9日目の記事はryoana14さんの麗しきawkの世界でした。 Shellスクリプトがいつまで経ってもまともに書けないMasWagです。書けないなりにも人の書いた(昔の自分が書いたものも多く含む)スクリプトを見てこれは遅いなと思うことはたまにあります。書き方のコツというか考え方が幾つかあると思うのでまとめてみようと思います。基本的な話なので多分Shellスクリプトをあんまり普段書かない人向けだと思います。ShellはBashを前提として書きます。zshだともっと色々できるのかもしれないです。細かい説明は(そんなに細かくなくても?)省いているので適宜manやinfoを参照すると良いでしょう。 forkを減らす Shellでコマンドを使うということは多くの場合プロセスをforkしていることにな
この記事はVim Advent Calendar 2015の5日目の記事です。 Vimで補完といえばShougoさんのプラグインneocompleteが有名ですが、プラグインを使わなくてもCTRL-X サブモードで補完を行うことが可能です。 この機能はブログや書籍などでたびたび紹介されてはいますが、文字だけではイメージがつきにくいところもあるのでGIFアニメで紹介してみたいと思います。 行(全体)補完: CTRL-X CTRL-L if から始まる行と l から始まる行を補完(go) 検索対象はcompleteオプションで設定可能 局所キーワード補完: CTRL-X CTRL-N / CTRL-X CTRL-P 現在のファイルから T で始まるキーワードを補完(perl) 辞書補完: CTRL-X CTRL-K dictionaryオプションで設定したファイルから twist で始まる単語
MacOS X で Raspberry Pi 用の起動イメージファイルをSDカードに書き込む際には、デバイスを umountdisk したり、dd したりするわけですが、この手の作業はデバイス名を間違えるといろんな意味でアウトですよね。 なので、この手の一連の作業を自動化するスクリプトを書いてみました。このスクリプトでは以下の流れを自動化しています。 作業開始前(SDカード装着前)のデバイス一覧を取得する SDカード装着後のデバイス一覧を取得して作業前の状態との差分を取り、対象のデバイス名を検出する。 diskutil umountdisk を実行して書き込み準備する。 デバイス名を rdisk に置換したデバイスに対して dd で書き込みする。pv がインストール済みの場合は進捗表示のために pv 経由で書き込む。 書き込み完了後に diskutil eject を行い、SD カードを抜
この記事はRust Advent Calendar 2015 3日目の記事です。 前 Rustで小さなツールを作ってみる(後編) 次 szkttyさん インデックス構文によるアクセスを実装する κeenです。Rustを使うにはCargoを使う必要がありますが、cargo helpを見てもあまり情報が載っていないので少しばかり書きましょう。 new Create a new cargo package at <path> Usage: cargo new [options] <path> cargo new -h | --help Options: -h, --help Print this message --vcs VCS Initialize a new repository for the given version control system (git or hg) or do
斎藤です。こんにちは。 今日は、デーモンの起動・終了に際してはserviceコマンドを使った方がいいよ、というお話です。 ※CentOS 6.4 (x86_64) でテストしています。尚、特記がある所を除きます。 デーモンの起動・終了には大きく2手 Linux、特にRedHat, CentOS, Fedora, Ubuntu[1]などでは、デーモンの起動・終了の制御の際に、大きく分けて次の2つの方法を用いる事ができます。 "/etc/init.d/"配下のスクリプト(以下、スクリプト)を直接実行する "service"コマンドを実行する 一見、同じ事をやっているように思えるのですが、実は違う部分があります。それは、起動スクリプトが扱う環境変数が違うのです。次の節で、検証してみます。 扱う環境変数が違う スクリプトを直接実行する場合は、実行時の際の環境変数をそのまま利用します。一方、serv
こんにちは。@kokukumaです。 これは、KLab Advent Calendar6日目の記事です。6番手も緊張しますね(棒読み)。 今日はLinuxでプログラムの挙動を追って行く時に、便利なコマンド達を紹介したいと思います。 コードを追っていく流れに合わせて、6つのパートに分けて紹介していきます。 ユーザ 計測する(ユーザ) コードを読む(ユーザ) 挙動を把握する(ユーザ) カーネル 計測する(カーネル) コードを読む(カーネル) 挙動を把握する(カーネル) 環境はdebian前提で話しています、あしからず。 ユーザ空間で計測する コードを追おうと思う人の目的は、「そのコードを速くしたい」がほとんどでしょう。 そんなとき、いきなりコード読んでも心が折れるだけなので、この辺のツールを使ってどこが遅いのか調べます。 time 誰でも知ってるtimeコマンド。とりあえず時間測って比較すると
当日の写真 当日の様子はこちらから。お餅さん、西山さん、ハガさんから共有していただきました。 進捗画像 こちらから 概要 レイトレ合宿3!!!は、オフラインレンダリングのオフライン集会です。 内容: 完全自作のレイトレーサーを走らせて画像の美しさを競います。 日時: 2015年 8月29日(土)~8月30日(日) (例年通りCEDECのある週の週末になります) 参加費: 現地参加の方は12,000円を参加費として頂きます。 場所: 河口湖カントリーコテージ(写真) これまでのレイトレ合宿については次のリンクを参照してください。 レイトレ合宿2!! レイトレ合宿! タイムテーブル 8/25(水) 00:00 提出開始 8/28(金) 20:59 提出期限 8/29(土) 09:20: (電車組) 京王線新宿駅 京王西口集合(画像) 新宿(09:31) ⇒ (京王線) ⇒ 北野 ⇒ (京王線)
CDNベンダーは導入簡単!とマーケティングし営業さんも同じように手軽ですよ!と案内していることが多いです。これは間違いではありません。なぜなら導入自体はDNSレコードをかえるだけで完了するからです。しか ... 続きを読む
(注記:6/9、いただいた翻訳フィードバックを元に記事を修正いたしました。) 今回の記事は毎秒300万ものリクエストを処理できるほど強力で高性能なWebクラスタの構築についてのパート1になります。まず初めに、あまり多くはありませんが、私がこれまで使用したことのあるロードジェネレータツールをいくつか紹介します。私のようにてこずって時間をかけてしまわないよう、今回の記事が理解の手助けになれば幸いです。 ロードジェネレータはテストを目的とした数種類のトラフィックを発生させるプログラムです。それによって高負荷においてサーバがどのように動いているか、そのサーバの弱点はどこなのか、などが見えてきます。負荷テストを通じてサーバの限界を知ることは、サーバのレジリエンシーを測定する最適な方法であり、あらゆる問題に対する準備の手助けにもなります。 ロードジェネレータツール 負荷テストをする際に頭に入れておくべ
Site Reliability Engineering(SRE) Teamの@cubicdaiyaです。 今回は数あるnginxのサードパーティモジュールの中でも一際強力で、メルカリでも活用しているngx_luaの便利な活用方法や最適化集について紹介します。 ngx_luaは軽量スクリプト言語のLuaでnginxを拡張できるモジュールです。 nginxの設定ファイル内にLuaのコードを埋め込んだり、nginxの拡張モジュールをCではなくLuaで開発することができます。以下はngx_luaにおける「Hello, World!」です。 location / { content_by_lua 'ngx.say("Hello, World!")'; } 上記のロケーションにHTTPでアクセスするとnginxはボディが「Hello, World!」のレスポンスを返します。 なお、先月末にリリースさ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く