最近はブログを始めマニュアルや仕様書など技術文書を書く機会が多くなってきました。 技術文書はわかりやすさが重要だと思うのですが実際は書けていません。 どうしたらわかりやすい文書が書けるのだろうか?と調べていたら RedPen というツールを見つけたので早速試してみました。 RedPen とは? RedPen とはプログラマや記者が規約に従って文書を記述するのをサポートしてくれるオープンソースのソフトウェアツールです。 プログラミングが規約に従ってコーディングされているかチェックするように、RedPen は自然言語で記述された入力文書の検査を自動化してくれます。 RedPen の特徴 設定が柔軟に行えます。(カスタマイズも柔軟) どのような言語で書かれた文書でも処理できます。(もちろん日本語も OK です) Markdown や Textile フォーマットで記述された文書をそのまま検査でき
3年ほどRailsを書いてきてある程度知見が溜まってきたので、忘れないためのメモとしてKPTと導入例を交えながらダラダラと書いています。 見出しの命名規則は クラス名/ディレクトリ名の単数形をupper camel caseにしたもの + KPT です。 Keepは今後も使うもの、Problemは開発規模によっては問題が発生する(した)もの、Tryは現在使用していないが使用したほうが良いと思っているものです。 これらすべてを導入すれば上手くいくというわけでもないので、開発規模に合わせて適切に採用していくと良いと思います。 DDDやデザインパターン等見聞きはしているものの詳しいわけではないので間違っている部分等あるとは思うのでその辺りはコメントでご指摘お願いします。 はてブコメント欄で頂いた指摘内容等についてはまとめの後でまとめて返答を記載しています。 Asset (Keep) app/as
こんにちは! ほそいあやです。 少しずつ春が近づいてきましたね。ジョッキでビールが恋しくなります。 今日は、ジョッキでぐびぐび飲めるクラフトビール屋さんの紹介です。 こんな店があったなんて知らなかったよ……。 登戸(川崎市多摩区)にある、醸造所兼ビアバー「ムーンライト」。 わたくし、登戸で降りたのははじめてです。 ちなみに、登戸を「のぶと」と読んだらその人は千葉県人です。うっかり千葉バレするので気をつけたいです。 そんな話はさておき、こちらムーンライトは小さいけど本格的な地ビールを毎日つくっていて、ビールを使った料理も出しているんですって。 毎日近隣の方々で賑わっているようです。 注文は、レジにいって注いでもらう、キャッシュオンデリバリースタイル。 飲み終わったグラスは、レジの横にある返却スペースに各自返すシステム。 こういうスタイルで価格をおさえているのかもしれませんね。良い! 左から、
前に社内チャットで流れてて初めて知った。 他人の変更を上書きするおそれのある git push --force でなく、最後に fetch したタイミング以降に他人が push していたら失敗する git push --force-with-lease を使う方が良い。 --force considered harmful; understanding git's --force-with-lease - Atlassian Developers Quipper では GitHub flow のような開発フローを採用している。 各開発者が feature branch を作成し、master / develop branch へ pull request を作る流れだ。 他人と修正箇所が重なってコンフリクトした際には rebase が必要で、 rebase 後の内容を push する際には
バッチを高速にした後はリアルタイムの世界へ! 現在、さまざまな業種の企業でビッグデータ分析の取り組みが行われている。ビッグデータへの最初の取っ掛かりは、既存のバッチ処理の高速化や、大量の業務データを用いた分析レポートの作成という企業が多いことだろう。そして、バッチ処理の高速化が一段落した次のステップとして、「リアルタイム処理」をテーマに掲げる企業も多いかと思われる。具体的には、 直近10秒間のトラフィックを集計したい。 直近10分間で自社商品がTwitterで話題になった回数を知りたい。 直近10時間での全店舗での来客数を集計したい。 といったリアルタイムなモニタリングを実現したくなるのではないだろうか?こういったモニタリング用の集計は、技術的には「ウインドウ集計(Time-Window Operation)」と呼ばれる。そこで本コラムでは、近頃、「ポストHadoop」として話題のApac
IoT(Internet of Things)が話題になっています。 IoTの最先端を担うセンサの小型化により、携帯電話やパソコン以外の端末にも取り付けることができるようになり、膨大なデータが集約される時代になりつつあります。 重要なのはデバイス側にデータを送るセンサです。センサは、人間が肉眼で可視化できないものを数値化します。これにより、データの採取を可能とし、IoTの進化を支えています。 センサが取り付けられることで、さまざまなものの動向をデバイスがデータとして受け取ることができます。 センサにはどんな種類があるのでしょうか。 光・電磁波センサ 光センサはすでに皆さんの手元に実装されています。スクリーンの明度を環境で変化させ、電池寿命を延ばすのに役立っています。 電磁波センサは、スマホで電波を受信する以外にも、気象観測に使用されていたり航空機に搭載されていたりするなど、さまざまなシーン
概要 プログラム開発当初から過度のパフォーマンス最適化を行うのは良くないと言われている。 プログラムソースの柔軟性が失われる可能性があるし、必要無いかもしれない最適化に時間を費やすのは開発工数管理的に好ましくないからだ。 プログラムがある程度動作するようになり、パフォーマンスが悪い(実行速度が遅すぎる)場合は、 処理時間計測を行い処理時間を要している箇所を探しだし、アルゴリズムやデータ構造の変更などのパフォーマンス・チューニングを行う必要がある。 予備調査として、色々なアルゴリズム・データ構造を採用した場合の処理時間計測を行い、 どれが最適か、どのような性質があるかを知ることも重要である。 本稿では、上記のような目的のためにプログラムの処理時間を計測する方法について説明する。 場合によっては、ストップウォッチを片手にプログラムを実行し、処理時間を計測することもあるかもしれないが、 精度が1
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く