タグ

monochromeganeのブックマーク (1,516)

  • MQTTでオフィスハック with RasPi

    http://iotlt.connpass.com/event/11373/ IoTLT vol.1にて発表。 MQTTを使った電子工作の入門編的なスライドです。 JavaScriptだけで電子工作を完結します。Read less

    MQTTでオフィスハック with RasPi
  • Slackのチャンネル移動をキーボードで簡単に出来るようKarabinerのprivate.xmlを書いた - Glide Note

    仕事Slackを使っているんですが、 キーボードショートカットがあんまり使いやすくなくて、 特にチャンネル移動が致命的に使いにくくてストレスフルなので、、Karabiner(旧keyremap2makbook)のprivate.xmlを書いた。 (Slackのメニューにチャンネル移動の項目がないので、Macの環境設定からキーバインドの設定が出来ないのでKarabinerで実現してます) 今までWeechatというIRCクライアントを使っていたので、そのキーバインドに合わせた。 具体的には Ctrl + Nで次のチャンネル or DMに移動 Ctrl + Pで前のチャンネル or DMに移動 Alt + Aで未読チャンネル or DMに移動 導入方法 ~/Library/Application\ Support/Karabiner/private.xml に下記のように設定を追加 <?xm

  • コード補完もできる Go の REPL「gore」を作った - 詩と創作・思索のひろば

    タイトルの通りです。Go は LL 的に使える、とはよく申しますが、そういう意識で使っていると REPL 的なことをしたいときに困りがちですよね。そこで作りました。gore。いい名前ですね。 motemen/gore · GitHub 以下のスクリーンキャストでだいたいの雰囲気をお察し下さい。 (スクリーンキャストは cho45/KeyCast を使って撮影しました) 特徴 gore の特徴は以下の通りです。 ラインエディタと履歴 複数行入力 パッケージのインポート、補完つき 式および文を実行可能 コード補完(nsf/gocode を利用) プリティプリント(k0kubun/pp か davecgh/go-spew がおすすめ) ドキュメントも引ける(godoc が必要) 以上のように、非常に便利なものになっております。むしろこの程度 REPL には当然あってほしい機能だとも言える。 イン

    コード補完もできる Go の REPL「gore」を作った - 詩と創作・思索のひろば
    monochromegane
    monochromegane 2015/02/19
    最高です
  • 100倍で考える - Preferred Networks Research & Development

    私が最近強く印象に残った言葉が10倍で物事を考えるです[wired]。 これが私の記憶の中で拡大解釈され、今は100倍で物事を考えるようになっています。 「100倍」というのは一見すると不可能なことの例えのように思えますが、決してそんなことはありません。 どの程度現実的か例をあげて考えてみましょう。 DWH(DBと考えても良いです)という分野を考えてみます*1。 *1 この分野は専門家ではないのであくまで外から見ている素人の意見です。 2014年10月現在 Google BigQueryは1GBの保存に月あたり 約3円、クエリ時1TBスキャンあたり500円という価格設定です。基的なDBの操作は全部できて、その上でユーザーが自由に関数を定義できて、画面とつながって結果が数十秒で返ってきてです。これはこの分野を知る人にとっては衝撃的な価格です。 1昔前、DWHの世界では製品が数千万から数億円

    100倍で考える - Preferred Networks Research & Development
  • リソースの一部更新におけるURL設計 - Qiita

    概要 Webアプリケーションにて、リソースの一部更新を行う際、どのようにURL設計を行うとシンプルで美しいか(当はそこまで考えていなかったけど)悩んでいたところ、 @t_wada さんから素敵な設計指針をご教示いただきました。 記事はその内容に加えて、実際に自分で行ったこと、調べたこと、思った事など、まとめております。 あらすじ 数週間前にSIピラミッドからヒモなしバンジーを決めてWebの世界に飛び込んだ私は、小さな小さなWebアプリケーションをrails newから手探りで作っていました。 そんなとき、簡単なリソースの一部更新機能をどう実装したもんかなーと悩んでました。以下、当時(といっても先週)の超雑なぼやき。 リンクをクリックしてモデルの一部を変更するのはどうしたらいいんだろう。 例)不参加をクリック -> 某カラムをtrueからfalseへ リクエストオブジェクトに対象カラムの

    リソースの一部更新におけるURL設計 - Qiita
  • 相手の GitHub の ID さえ知っていれば暗号化したメッセージを送れる naisho というのを作った - その手の平は尻もつかめるさ

    色々な事情があり,秘密のメッセージを送り合う必要性が今年に入ってから多数発生していて, そのたびに毎度毎度手で暗号化して〜みたいな風にやるのめんどいですね,そうですね, ということでこの度 naisho というものをこさえました.みんなには内緒ですよ. これは何かと言うと,やりとりしたい相手の GitHub の ID を指定するだけで その ID のユーザの ssh-rsa の公開鍵を引っ張ってきて その ID のユーザのメールアドレスを引っ張ってきて そのメールアドレスに対して公開鍵で暗号化したメッセージを添付ファイルにしてメールで送りつける という動きをするコマンドです. golang で書きたかったというのと golang で書くと便利なのではと思ったので golang で書いてあります. Wercker で Goプロジェクトをクロスコンパイルし、GitHub にリリースする -

    相手の GitHub の ID さえ知っていれば暗号化したメッセージを送れる naisho というのを作った - その手の平は尻もつかめるさ
  • SSSSLIDE

    SSSSLIDE
  • JavaScriptのデバッグ方法 – JSを嫌いにならないためのTips | POSTD

    この記事のオリジナルは voxxed に投稿されたものです。 JavaScript関連の問題を抱えるチームをサポートする仕事を通じて、いくつか共通の問題点があることに気づきました。もしあなたもJavaScriptに対するイライラを感じているのであれば、この記事は何らかの助けになるかもしれません。おことわり:私がお教えするヒントはすでにご存知のものもあるとは思いますが、うまくいけば、多少なりとも有用な情報があるかもしれません。特にエンタープライズアプリケーションやCMSソリューションを構築する際に有効なヒントです。チームの誰もが話したがらないCMSのコードについてお話しします。いずれも必要に応じて採用できるものです。 debuggerステートメント 大半のブラウザでサポートされているにもかかわらず、JavaScriptを書く際に最も活用しきれていない機能の1つです。debuggerステートメ

    JavaScriptのデバッグ方法 – JSを嫌いにならないためのTips | POSTD
  • Using filesort

    去年ソートに関する記事を書いたが、今日はその続きである。 MySQLでEXPLAIN SELECT...を実行するとExtraフィールドでよく見かける「Using filesort」という文字列。Filesortって一体なんだろう?と思ったことはないだろうか。単刀直入に言ってFilesortの正体はクイックソートである。 クエリにORDER BYが含まれる場合、MySQLはある程度の大きさまでは全てメモリ内でクイックソートを処理する。ある程度の大きさとはsort_buffer_sizeであり、これはセッションごとに変更可能である。ソートに必要なメモリがsort_buffer_sizeより大きくなると、テンポラリファイル(テンポラリテーブルではない)が作成され、メモリとファイルを併用してクイックソートが実行される。 Filesortは全てのソート処理において実行されるわけではない。前回の記事

    Using filesort
  • 『MySQL初心者に贈るインデックスチューニングのポイントまとめ2014』

    サイバーエージェント公式ブログをご覧の皆さんこんばんは、インフラ&コアテク部の須藤(@strsk)です。普段はAmebaのソーシャルゲーム全般のインフラを見つつ、日語ラップの啓蒙をしながら弊社社員を素材にコラ画像をつくったりしています。好きなAAは麻呂です。 はい、というわけで今回はMySQLインデックスチューニングの基的な流れについてまとめてみました。 ソーシャルゲームは更新も参照もめちゃくちゃ多いです。数秒のレプリケーション遅延も致命的なので適切なテーブル、クエリとインデックス設計が重要です。(何でもそうですけど)インデックスが多くなると更新コストなどが懸念されますが、インデックスが正しく使われていないクエリを放置している方が悪です。そんなこんなで、割と例も偏ったりしてるかもしれませんがあしからず。 前提としてはInnoDBを想定しています。MyISAMはほとんど使っていません。

    『MySQL初心者に贈るインデックスチューニングのポイントまとめ2014』
  • Goのdatabase/sql.Stmtのスケーラビリティを改善しました : DSAS開発者の部屋

    先日、 Goに初めて私のパッチが取り込まれ 、コントリビュータに仲間入りしました。 このパッチは、 database/sql.Stmt をヘビーに使った時に性能がだいたい16コア以上のコア数にスケールしないという問題を解決するものです。 こういった問題をどうやって調査するのかと、Goにパッチが取り込まれるまでの手順を紹介します。 背景 私は TechEmpower の FrameworkBenchmarks という、いろんな言語/フレームワークで同一のアプリを作ってベンチマークするというプロジェクトで、主にPython関連のメンテナをしています。 Goにも興味があるので、Ginというフレームワークを追加したりコードレビューに参加したりしています。 2014-05-01 に行われた前回のベンチマーク Round 9 では、 PEAK Hosting が実行環境に加わりました。この環境は、デュ

    Goのdatabase/sql.Stmtのスケーラビリティを改善しました : DSAS開発者の部屋
  • Ruby開発者・まつもとゆきひろ氏の新言語「Streem」のソースコードを読んでみよう! ~ 文法と構造を規定する「lex.l」と「parse.y」

    まつもとさん自身によるStreemについての解説は、今後日経Linuxで順次掲載されるようです。まつもとさんがStreemについて解説する内容は、おそらく、プログラミング言語設計に関する高レベルなものとなるのではないでしょうか。 記事はそれとは無関係に、2015年1月に公開されているStreemについての低レベルな解説、つまり現時点のStreemのソースファイル(の一部)の読み解き方を示します。具体的には、GitHubのStreemリポジトリにある「lex.l」と「parse.y」という2つのソースファイルについて解説します。 Streemのソースファイルは、https://github.com/matz/streemからダウンロードできます。画面右下にある[Download ZIP]ボタンをクリックしてください。 lex.lとparse.y ダウンロードしたStreemソースファイルの

    Ruby開発者・まつもとゆきひろ氏の新言語「Streem」のソースコードを読んでみよう! ~ 文法と構造を規定する「lex.l」と「parse.y」
  • 誰も教えてくれなかったMySQLの障害解析方法 - Qiita

    それほどDBに詳しくないアプリエンジニアが何かトラブった時にすぐさま行動して問題把握できるようになる情報を列挙しておきます。 開発時、障害時の対処療法やちょっとした定期監視方法などを対象にしています。 抜的な対策などはインフラエンジニアさんにお任せしたほうがいいと思います。 DBはいろんな意味でこわいんでできれば触りたくないです>< 事前確認 MySQLサーバーのシステム設定値を確認しておく 以下のようにサーバーのシステム設定値を確認できます。 mysql> SHOW GLOBAL VARIABLES; # ワイルドカード(%)を用いた絞り込み mysql> SHOW GLOBAL VARIABLES LIKE 'performance_schema%'

    誰も教えてくれなかったMySQLの障害解析方法 - Qiita
  • 「Sony DSC-RX100だけで撮るブログ 」はコンパクトデジタルカメラを楽しむテクニックが満載のブログだ

    「Sony DSC-RX100だけで撮るブログ 」という素敵なブログを紹介します。 このブログは写真家・伴貞良さんによるもの。普段のお仕事では一眼レフをお使いですが、初代DSC-RX100を購入してからというもの、その画質と可搬性に魅了されているそうです。 伴さんが初代DSC-RX100を徹底的に使いこなして撮影した写真がこのブログに多数アップロードされています。 ブログ「Sony DSC-RX100だけで撮るブログ」は初代DSC-RX100やDSC-RX100 II、DSC-RX100 IIIのユーザだけではなく、それ以外に写真に関心のある人全般に有益なサイトだと私は感じました。以下、説明します。 初代DSC-RX100の卓越した性能 「Sony DSC-RX100だけで撮るブログ」の伴貞良さんは、初代DSC-RX100を使っています。このカメラは2012年6月に発売されました。ざっと2

    「Sony DSC-RX100だけで撮るブログ 」はコンパクトデジタルカメラを楽しむテクニックが満載のブログだ
  • ネイティブと働いて分かった英語コミットメッセージの頻出動詞10つ

    ウッ ここで詰まる事は往々にしてあります. 特に急いでる時の煩わしさは甚だしいです. どうせならそれっぽい英語を使いたいのでOSSや同僚のコミットメージの語彙の出現確率を調べてみましたら、 もちろんfeatureによってコミットメッセージの付け方など数多あるものの、一定の頻出パターンは見い出せたので筆を取りました. (英語勉強しないと..) 方法 github.com/rails/railsのコミットメッセージ内における各動詞の出現確率を求め、 またOSSと仕事でのコミットメッセージの趣向も変わってくる事も勘案するため、 (仕事でDeprecateとか滅多に使わんし) 同僚に聞きつつ10つあげてみた. 以下列挙 (例は実際の同僚やOSS上でのコミットメッセージです.) Add *A to *B AをBに加える

    ネイティブと働いて分かった英語コミットメッセージの頻出動詞10つ
  • Go言語で書いたソースコードを解析する。 - taknb2nchのブログ

    Go言語ではgo/ast、go/parser、go/tokenパッケージを使用することで、Go言語で書かれたソースコードを解析することができます。 解析したソースコードを表現する抽象構文木(AST:abstract syntax tree)の形で出力されます。 文章では難しいので実際のサンプルで試してみたいと思います。 以下の様な解析対象のソースコードを用意します。 package main import ( "fmt" "time" ) type MyInterface interface { Greeting() } type MyStruct struct { Name string } func (m *MyStruct) Greeting() { fmt.Printf("%v, %sさん、こんにちは!\n", time.Now(), m.Name) } func (m *MySt

    Go言語で書いたソースコードを解析する。 - taknb2nchのブログ
  • 【速報】Kindleストア、7,000冊以上が最大30%オフになる「KADOKAWA 年末年始フェア」をスタート!

    日からKindleストアにて合計7,183冊が最大30%オフになる「KADOKAWA 年末年始フェア」が開催されている!セール期間は2015年1月15日まで! セール対象となっている7,000冊以上の作品は実用書やビジネス書、専門書などからみんな大好きコミックまで含まれている。 未だに「Kindle 年末年始の大セール」は開催されているようだが、そろそろ新しいもゲットしておきましょう!期間限定のセールとなっているので、欲しい作品がある場合はお早めに!

    【速報】Kindleストア、7,000冊以上が最大30%オフになる「KADOKAWA 年末年始フェア」をスタート!
  • OctopressからHugoへ移行した

    このブログは2年ほどOctopressを使って生成してきたが,不満が限界に達したので,Go言語で作られたHugoに移行した. Octopressへの不満は,とにかく生成が遅いこと.100記事を超えた辺から耐えられない遅さになり,最終的には約150記事の生成に40秒もかかっていた.ブログは頻繁に書くのでかなりストレスになっていた. Hugoのうりは生成速度.試しに使ったところ,明らかに速く,すぐに移行を決めた.最終的な生成時間は以下.爆速. 他に良いところを挙げると,まずとてもシンプル.Octopressと比べても圧倒的に必要なファイルは少ない.また,後発だけあって嬉しい機能もいくつかある.例えば,draftタグを記事のヘッダに書いておけば,ローカルでは生成されても,番用の生成からは外されるなどなど. インストール Go言語で書かれているのでgo getして,デザインテーマをCloneする

  • IE10 以下を切る場合の JavaScript チェックリスト - Qiita

    この投稿は、 JavaScript Advent Calendar 18日目の記事です。 更新履歴 こちら をご覧下さい JavaScript の書き方をアップデートする JavaScript Good Parts で書かれているような JS の書き方は、古くなりつつある部分も多いです。 正直なところ、自分はあのが「今でも」良書だとは思っていません。 初学者に勧めることもしません。まんべんなさと普遍性と客観性から「パーフェクト JavaScript」 を勧めています。 その頃と比べると、 JavaScript をとりまく環境は変わりました JavaScript の進化に合わせて書き方もアップデートしていくべきなので、今回は分かりやすいしきい値として 「IE10 以下を切れるとしたら」 という前提で、列挙してみます。 たとえば XHR2 や File API に依存したサービスをやる場合な

    IE10 以下を切る場合の JavaScript チェックリスト - Qiita
  • 『JavaScriptテンプレートエンジン「JsRender」のすすめ』

    1 pixel|サイバーエージェント公式クリエイターズブログ サイバーエージェントのクリエイターの取り組みを紹介するオフィシャルブログです。最新技術への挑戦やサービス誕生の裏話、勉強会やイベントのレポートなどCAクリエイターの情報が満載です。 こんにちは。フロントエンドエンジニアをしている清水です。 私は今、スマートフォン向けブラウザゲーム「天下統一クロニクル」を開発・運用しています。 記事では、天下統一クロニクルで利用しているJsRenderというJavaScriptテンプレートエンジンの基的な使い方とちょっとしたTIPSを紹介しようと思います。 JsRenderとは?JsRenderとは、テンプレートエンジンの一種です。 jQuery Templatesの作者でもあるBorisMoore氏が、同ライブラリの後継として作成しているライブラリです。 jQuery Templatesの後

    『JavaScriptテンプレートエンジン「JsRender」のすすめ』