constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
![クロージャデザインパターン](https://cdn-ak-scissors.b.st-hatena.com/image/square/eea6584dfea9356ea3381a4d045770cee8387b64/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fcedec2015closuredesignpatterns-150926055206-lva1-app6891-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
原文は2015年8月22日時点のものを利用しており、それ以降に追記、更新されている可能性があります。 本翻訳は原作者の許可を得て公開されています。 Thanks for GreyCat! このページはBashプログラマーが陥りがちなよくあるエラーについてまとめました。以下の例は全てなんらかの欠陥があります。 クオートをいつも使い、どんな理由があっても単語分割を使わなければ、多くの落とし穴からあなた自身を守ることができます!単語分割はクオート表現をしない場合にはデフォルトでオンになっている、Bourneシェルから継承された壊れたレガシーな設計ミスです。落とし穴の大半はクオートされていない展開になんらか関連し、単語分割しその結果をグロブします。 1. for i in $(ls *.mp3) BASHプログラマーたちがループを書く際にもっとも犯しがちなよくあるミスは以下のような感じです。: f
Intro Each good programming language has at least one good debugger. Being a systematic debugger is consider nowadays a fundamental quality of good programmers. Obviously debugging a program it doesn’t mean that you have to use the IDEs and a debugger tool.It’s about having the right mental approach and a good strategy to fetch the errors, instead of fishing and guessing each time by changing you
クラウドのリージョンを丸ごと落とす過酷な試験を実現する「Chaos Kong」、Netflixが発表。「カオスエンジニアリング」の指針も表明 動画配信サービスのNetflixが、Amazonクラウド上のサーバをランダムに落とすことでシステムの堅牢性をチェックするという画期的な考え方のツール「Chaos Monkey」を発表したのは2012年でした。 サービス障害を起こさないために、障害を起こし続ける。逆転の発想のツールChaos Monkeyを、Netflixがオープンソースで公開 Netflixは普段からChaos Monekeyでシステムをテストし続けていたおかげで、昨年10月にAmazon EC2の全インスタンスの約10%がリブートされるという大規模メンテナンスも難なく乗り切ることができたと報告しています。 そしてこのChaos Monkeyの成功に基づき、さらに過酷な状況をシミュレ
こんにちは広告事業部の芳賀(@func09)です。 iOS9からの新機能である Content Blocking Safari Extensions を利用して広告の表示をブロックするアプリがリリースされて、ネットでも結構話題になっていました。 広告コンテンツをブロックするツールということで、普及の仕方によってはメディアの収益に影響を与えうるものです。実際に広告ブロッカーアプリをインストールして、Safariを利用すると 一部の広告はブロックされるようになりました。現時点では英語圏のネットワーク広告などは消えるが、日本語圏の広告にはまだ対応されていないことが多いようです。 収益にどのくらい影響を与えるのか?ということを調査するにも、まずどのくらいの利用者が広告ブロッカーを使っていて、どのくらいのインプレッションに影響があるのかを、定量的に計測することが必要だと考え、その仕組みを導入していま
Go - ISUCON5予選でスコア34000を出す方法 - Qiita Goで下記のようなsliceの先頭にひたすらオブジェクトを追加する処理を書く際は、不必要に長いsliceにならないよう注意しましょう。負荷が非常に高い処理になります。 hoge := []int{} for _, comment := range comments { hoge = append([]int{comment.ID}, hoge...) } http://qiita.com/y_matsuwitter/items/771020ebb68c07053548 append は第一引数のスライスに第二引数以降の可変個アイテムを追加する関数です。なるべく呼ばれない実装が良いです。どうしても多いアイテムを扱う場合は出来れば以下の様に書くのが良いです。 参考: https://blog.golang.org/sli
米Dropboxは9月25日、グループチャットアプリケーション「Zulip」をオープンソースで公開した。Zulipは同社が2014年3月に買収したもので、ソフトウェア開発チーム向けに最適化されており、モバイルおよびデスクトップで利用できる。 Zulipはリアルタイムのグループチャットサービス。Pythonで実装されており、フレームワークにはDjangoを利用する。WindowsやMac OS X、iPhone、Androidなどに対応し、Webアプリとしても利用できる。 メッセージにトピックをつけ、グループでの会話をスレッド化することで、会話のフォローや参加が容易となるという。ストリームやトピックによるフィルタリングも可能で、検索機能も備える。キーボードショートカットやシンタックスハイライトといった機能もあり、1対1のプライベートメッセージ送信も可能。これを利用することで、総じてチームの連
人は、新たな環境で経験を積んでいくと、少しずついろんなことが出来るようになり、そのうち、その環境では、何でも自分の思った通りに出来るようになります。 「おら、強ぇ」状態。 これは、素晴らしいことなのですが、一つ問題があります。成長が止まってしまうことです。 人は、知らないことを経験したり、つまずきを乗り越えたときに、成長します。知らないことがほとんどなくなったり、つまずくことがなくなったりすると、成長が止まってしまうのです。 Seasar2.4、S2JDBC、SAStrutsと開発してきて、通常のサーバーサイドJavaは、十分にやりきった感がありました。このままこの場所にいるのは、心地いいんだけど、成長が止まってしまうのが不安でした。 人って不思議なもので、一定の能力でとどまるってことが出来ないんだよね。成長が止まると、能力は落ちていく。 自分はどこか、ドラゴンボールの悟空に似ているところ
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
2015-09-27 (Sun)#1 string literal をファイル単位で frozen にできるようになった[Feature #8976] [ruby-core:57574] file-scope freeze_string directive がついに実装された。 これは、文字列リテラルの解釈を変える機能を提供する。通常、以下のように、文字列リテラルが返す文字列オブジェクトは frozen ではない。 % ./ruby -e 'p "foo".frozen?' false しかし、これが frozen-string-literal: true という pragma によって、frozen となる。なお、false なら frozen とはならず、現状どおりとなる。(ここでは -e オプションの引数に書いてあるが、普通はファイルの先頭に書くことになる) % ./ruby -e
Seasar Conference 2015 Seasar Conference 2015 - connpass Seasar2との出会いは4年半くらい前だった気がする。既に枯れてはいたが、それまでCOBOLや自社フレームワークを利用してきた自分には驚きと新鮮な刺激の連続でのキャリアに大きな影響を与えた、とても思い入れのあるフレームワークだ。 とはいえ、もう3年くらい使ってはいないわけなんだけど。そんなSeasar2の作者やコミッタ、ヘビーユーザだったエンジニアの、過去や現在、未来の話しが聞けそうだぞ!ってことで参加した。 参加したセッションは以下。 基調講演 Seasar ユーザだったプログラマが目指す OSS の世界展開 – 瀬良和弘 俺は守りに入らない、これが今の俺だ – DJ Yasuo Seasarからクラウドへ、振り返って知る技術的に重要だった観点のある個人的観測について –
バグ予測の新たな指標として、Googleがちょっと前に発表していたアルゴリズムを使って見えるようにしてみた。 以下のサイトを参考にさせていただきました。 https://github.com/igrigorik/bugspots http://google-engtools.blogspot.jp/2011/12/bug-prediction-at-google.html http://qiita.com/okappy/items/e5fc62f9026e0d73c3e9 Pluginは、こちら。 https://github.com/yoshiyoshifujii/gitbucket-bugspots-plugin 使い方 Pluginを適用していただいたらすぐに使えます。 リポジトリの画面を開いていただくと、下図のサブメニュー位置にリンクが表示されます。 リンクを押下して飛んでいただき
Flat Color 使い方は、簡単です。 Step 1: 外部ファイル 外部ファイルにjquery.jsを使用している場合は、下記の外部スクリプトを加えます。 <script type="text/javascript" src="//cdn.rawgit.com/icons8/bower-webicon/v0.10.7/jquery-webicon.min.js"></script> AngularJSバージョンも用意されています。 <script type="text/javascript" src="//cdn.rawgit.com/icons8/bower-webicon/v0.10.7/angular-webicon.min.js"></script> Step 2: HTML あとは、使用するアイコンのコードを書くだけです。 アイコンをクリックするとコードが表示されるので、そ
ISUCON 5の予選で2日目3位、全体で5位のスコアで通過した。 メンバーは id:ntakanashi さん, id:astj さんと自分の3人で、「はむちゃん」というかわいいチーム名で参加した。 言語は当然Perl。 役割分担は id:astj さんの記事にも書いてあるけど、だいたい以下のようなものだった。 id:y_uuki : ミドルウェアより下をお任せ / ログ解析して改善ポイントの洗い出し id:ntakanashi : オンメモリにしたりモジュールを入れ替えたり諸々チューニング id:astj : クソクエリやN+1をちまちま潰していくISUCON 5の予選に参加して全体5位で通過しました - 平常運転 昨年のISUCON 4に参加したときに、少なくともISUCON予選においてはアプリケーションロジックの改善/改変がスコアに対して支配的だと感じていた。 そこで、インフラ担当
はじめに hubot-slack-rainfall-alert という名前でnpmに公開しました。コードはgithubに公開しています。 CoffeeScriptというかjsも殆ど書いたことがないままとりあえず作ったので手続き型っぽくて汚いです。細かいところでも pull request 大歓迎です。よろしくお願いします。→ https://github.com/takashyx/hubot-slack-rainfall-alert/ これは何? YahooのAPIを利用して、hubotに雨が降る前・止む前にSlackの指定したチャンネルに通知をしてくれる機能を追加します。 通知時には現在から60分後までの雨量のグラフ、30分後の雨雲の様子、より詳しい雨雲情報へのリンクを表示します。 cron形式でチェックするインターバルを指定できるので、夜中は動かさない、といった設定も可能です。 そのま
Rails アプリケーションの開発をするとき、頻繁にメソッドの定義内容や Gem のコードを参照することがあります。 そこで、ソースコードタグ付けツールの GNU GLOBAL (gtags) を使って少しでも楽に、快適にしたい、という話です。 タグ付けツールでは ctags が有名で、こっちは Ruby や Rails での利用例も結構見つかるのですが、GLOBAL は定義へのジャンプだけでなく、参照へのジャンプもできる点が優れています。ビルトインパーサーが対応している言語が少ないのが難点なのですが (Ruby も未対応)、プラグインパーサーとして先の ctags と Pygments を利用することで、多くの言語に対応させることが可能です。 やりたいこと 以下を実現するのが目的です。 アプリケーションコードで「定義」「参照」「シンボル」のタグジャンプを使えるようにする アプリケーション
9月20日に発生したAmazonクラウドのDynamoDB障害。原因はセカンダリインデックス増大によるメタデータ処理のパンク Amazonクラウドが提供しているDynamoDBは、キーバリュー型のNoSQLデータベースサービスです。運用管理はクラウドに任せられて簡単に利用でき、高速かつ非常に大規模なスケールで展開できることなどを特長とする、クラウドならではのサービスの1つです。 そのDynamoDBで、米東リージョンにおいて9月20日午前2時頃(太平洋夏時間)から午前7時頃まで障害が発生。DynamoDBを利用しているEC2 Auto Scaling、Simple Queue Service、CloudWatch、そしてコンソールなどにも一時的な障害が発生していました。 また、この障害はAmazonクラウドを利用している他社のさまざまなサービスにも影響を与えたと報じられています。 Amaz
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く