API Meetup Tokyo #2での、NHK放送技術研究所中川俊夫さんの講演資料です。ご本人から許可をいただいて掲載しています。Read less
![NHK番組表API ‐ 放送通信連携とAPIのこれから](https://cdn-ak-scissors.b.st-hatena.com/image/square/592059c0187e0e21def466372c7a52aec54b0265/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2F20140829-apimeetuptokyo-140901004635-phpapp02-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
Goは言語機能として並列実行をサポートしているけど、Goで書いたからといって自動的にデータ構造がスレッドセーフになるわけではないので、スレッド安全性を気にしなければならないはこれまでの言語と変わらない。どういうケースが良くてどういうケースがダメなのかを理解していないと安全なプログラムは書けない。それについて説明をしよう。 まず第一にEffective Goのこの一文は覚えておこう。 Do not communicate by sharing memory; instead, share memory by communicating. メモリを共有することで通信しようとしないこと。代わりに通信することでメモリを共有すること。 変数の値を変更したあとにチャネルなどを使わずに、おもむろに別のgoroutineからその変数の値を読み書きしてはいけない。そういうやり方だと読み書き操作の前後関係がき
速さは正義! やはり「最速」という言葉は胸を熱くするものがあります。 使うWebフレームワークのレスポンスが速ければ速いほど、ユーザービリティはよくなる上に、必要なサーバー台数も減らせるなど、いいことづくめです。 ただ、レスポンスの速さだけを追い求めて機能を削ったものは、開発の速度を遅くします。 Web開発に通常必要な機能は全て用意した上で、なお速い、そんな都合のいいフレームワークが求められます。 そこで、最近知った「revel」という「最速」にして「フルスタック」のWebフレームワークについて、調べたことを記載していきます。 今回は、 速さの計測方法解説 revelの概要 Go言語の概要 revelのインストール・実行までの手順 などについて記載します。 ※ ここで言っている「最速」とは、一秒間に何レスポンス返せるか、というような、ベンチマーク的な意味です。 ※ ここで言っている「フルス
Goで、文字列、インターフェイス、チャネル、マップ、スライスのポインタを取っているプログラムは、書いた本人がきちんと自分がなにをしているのか理解しているのでなければ、ほぼ確実に間違っているといっていい。 Goではある種の型の値はそもそもポインタのようなものである。上記の型はどれも任意の大きさになり得るが、大きくなりうる実体のデータはヒープに確保されていて、値そのものが持っているのはそのヒープ上への値へのただのポインタ+多少の付随的なデータにすぎない。こういった値を値渡しではなくポインタ渡しする必要はない。ポインタのデリファレンスのほうがポインタのコピーより高くつくし、余計な混乱を引き起こすだけだからだ。もしこういう値をポインタ渡ししているとしたら、そのコードはなにか深い意味があるのではなく、それを書いた人が大きな値がコピーされると勘違いしていて書いた可能性のほうがずっと高い。 文字列は2ワ
shell - 立つハッカー、シェルを濁さず - Qiita おことわり このTipsは不作法だとして異論が出るかもしれないが、私自身がよくやるのでここで公開してみる。それは一体何かというと…… コマンドヒストリーが残るのイヤだ! と思うことってよくないだろうか... http://qiita.com/richmikan@github/items/2c90ddb778a7d4948324 man bash によると HISTFILE The name of the file in which command history is saved (see HIS‐ TORY below). The default value is ~/.bash_history. If unset, the command history is not saved when an inte
著者紹介:宮田健(みやた・たけし) 元@ITの編集者としてセキュリティ分野を担当。現在はフリーライターとして、ITやエンターテインメント情報を追いかけている。自分の生活を変える新しいデジタルガジェットを求め、趣味と仕事を公私混同しつつ日々試行錯誤中。 先日、神戸大学大学院の森井昌克教授が「空港で提供されている無線LANは暗号化されておらず、まる見えで危険だ」ということを実地調査した記事が話題になりました。森井教授も自身のブログで「調査とその後の反応」をまとめています。 反応はまちまちでしたが、セキュリティに詳しい人からは「何をいまさら」といったものが多く寄せられました。そこそこ詳しい人からは「暗号化されていなければ確かに危ない」「WPAで暗号化されていれば安全」という意見もありました。実はこの中に誤った認識があります。 無線LANのセキュリティ、もう一回おさらい まず、無線LANを使うとき
CやC++ではatexit関数で関数を登録しておくと、プログラムの終了時にその関数を自動的に走らせることができる。そういう機能はRubyやPythonにもある。 Goにはそういう機能はない。実装を忘れているのではなくて、意図的にそういう機能を持たせていないのだ。これについてIan Lance Taylorさんが大変説得力のある説明をしていた。 まず第一に、どんなプログラムでも任意の箇所でクラッシュしうるし、まったくバグのないプログラムでもいきなりkillで殺されたりマシンが電源断で落ちるということがある。従ってどんなプログラムも、突然終了させられたあとに、もう一度きちんと動くことができなければならない。つまりatexitはきれいに終了するための機能ということで、atexitが呼び出されないとうまく動かないプログラムというのはそもそも間違っているということになる。 大きなC++プログラムでは
作成:2014/09/1 更新:2014/11/01 Web制作 > 報告が遅れましたが、5月に退社し6月に起業(株式会社コムテ)しました。今までブログにメモしておいたことが、起業や納品に役立った部分もあり、ブログを継続してよかったと思います。ブログを見てくださっている皆様、ご紹介させていただいたサイト運営者様、応援して下さっている皆様には心よりお礼申し上げます。経営や制作の部分ではまだまだ未熟ですが、今後ともご指導ご鞭撻のほど、よろしくお願いします。 今回は「Web制作で使いたい」jQueryプラグインやスクリプトなどをまとめました。WordPressテーマを作るときに使うもの、検索でヒットしにくいプラグインも多数ご紹介。 エンジニア速報は Twitter の@commteで配信しています。 もくじ 動画 1.動画をブラウザの背景全体に再生させる 2.動画を綺麗に表示させる WP管理画面
By studio tdes ビジネスの大事なミーティングや他業種との交流会をランチの時間に行う「パワーランチ」が話題になったことがありましたが、さらに朝の早い時間帯にシフトして活動を開始する「朝活」にも注目が集まりつつあることからも感じられるように、実は朝の過ごし方は1日の行動に大きな影響を与え、ひいてはビジネスや人生にもよい影響を与えるといわれています。そんな朝の時間帯を歴史上の偉人はどのように過ごしてきたのかについて、時間指定して各種SNSへの投稿を可能にしたり、アクセス分析ツールなどのツールを提供するサイトBufferのブログでまとめられています。 Morning Routines: How Successful People Start Their Day http://open.bufferapp.com/morning-routines-of-successful-peopl
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く