今年、クックパッドでは夏のインターンと題して20名弱のインターンを受け入れました。 このインターンは前半と後半に大きく分かれており、 後半が社員に混じって業務をするいわゆる普通のインターンで、 前半は7日間にわたってプログラミング関連の講義を受けるという仕組みです。 わたし(青木)はその前半の過程において、「プログラミングパラダイム」という 1 日の講義を担当し、 JavaScriptの処理系を書くという、ツッコミどころの多い課題を実施しました。 本稿では、その講義を開発する際に考慮したこと、特に難易度調整についてお話しします。 また講義のために開発したJavaScript処理系「JetSpider」についても軽くふれます。 ▼講義資料 Cookpad Summer Intern 2015 - Programming Paradigm from Minero Aoki JetSpiderコ
aqua .bg-aqua-gradient { background: rgba(127,219,255,1); background: -webkit-linear-gradient(top, rgba(127,219,255,1) 0%, rgba(82,140,163,1) 100%); background: linear-gradient(to bottom, rgba(127,219,255,1) 0%, rgba(82,140,163,1) 100%); } blue .bg-blue-gradient { background: rgba(0,116,217,1); background: -webkit-linear-gradient(top, rgba(0,116,217,1) 0%, rgba(0,65,122,1) 100%); background: linea
ファイルの変更を検知する時に一般的に行われるのが ハッシュ値の比較です。ファイルの変更検知はすなわち改ざんがないか、ファイルが更新されてないかなど、あいまいではない変化の検知を意味するのでこういうのって大事です。*1 日付やファイル名での判断ダメ、絶対。 例えば、MySQL などをダウンロードしようとすると、ダウンロードリンクそばに ハッシュ値がありますよね?ダウンロードされたものがこの値と一致していない場合は改ざんがあったことを気づけるわけです。 MySQL :: Download MySQL Community Server 今回は、PowerShell v3 *2、あるいは v4 で標準のCmdletより便利にファイルハッシュを取得するための関数の紹介です。 目次 目次 Linux でのハッシュ値確認 Windows でのハッシュ値確認 cmd での確認 PowerShell v4
yasnippet 8.0の導入からスニペットの書き方、anything/helm/auto-completeとの連携 2012年 9月 13日 yasnippet 7.0を使っていましたが、8.0が出たということで変えてみました。 ほとんど変わっている様子はなさそうなので、古いドキュメントから要約してまとめています。 次の環境で進めましたが、EmacsならWindowsでもLinux,Macでもほとんど同じだと思います。 Mac OSX Lion 10.7.4 Cocoa Emacs 24.1 github capitaomorte/yasnippet 8.0 yasnippet導入 capitaomorte / yasnippet githubにおいてあるものが最新版です。現時点での最終更新日は2012年8月22日です。 まずはelispを置くディレクトリ(私の場合はホームの.emac
Dave Yarwoodさんという方がテキストエディタで音楽を記述するための「Alda」という言語を提案しています。 readmeを見ると「PPMCK」、「LilyPond」、「ChucK」あたりにインスパイアされたという事ですが、ざっと見た感じ、いわゆるMML (Music Macro language)を拡張したような雰囲気になっています。ちなみにPPMCKはNES(ファミコン)用のMML拡張、LillyPondはノーテーション(記譜)用のフォーマット、ChucKはCSoundみたいな音響記述言語ですね。 こういうテキストエディタで簡単にメロディが書ける言語はちょこっとした音楽系アプリなんかで良く欲しくなったりするのですが、なんとなくMMLというジャンルの緩いデファクトスタンダードみたいなものしかなくて、実装毎にみんなちょっとずつ解釈が違うという困った状態になっています。みんな毎回独自
最近、TerraformやCloudFormationみたいに、JSONや独自DSLなどでかっこよくAWSを管理するツールがいろいろ出てきてます。 こういうツールは便利そうだなとは思うんですが、なんかふと、ユーザがホントに求めているものはコレなんだろうか?と思いました。 なんだかんだ言って、一番多く使われているサーバ管理ツールは『Excelサーバ一覧』なのではw? じゃあExcelで同じようなことが出来ればそれが一番いいのでは?と。 というわけで、Excelは手元になくてキツイので、今回はGoogleスプレッドシートでAWSのサーバ構成管理をやってみました。 使い方 事前準備 サンプルのスプレッドシートをコピーする 『ツール』 -> 『スクリプトエディタ』 -> config.gsを編集 AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEYにAWSのアクセスキーを
syobochimメディアでBackChannelingを紹介していただきました。 http://syobochim.hatenablog.com/entry/2015/09/03/214050 BackChannelingは、HipChatやSlackで感じてた不満を解消するために作りはじめたチャットです。HipChatやSlackはどうしても話題が流れていってしまうので、仕事では使いにくい面があります。そこでBackChannelingは話題ごとにスレッドを立てれるようにしました。なので実はチャットというよりはリアルタイムBBSという位置づけのつもりです。 特長として、 スレッドフローティング型 マルチタブ Markdownでコメントが書ける 音声コメント コメントのキュレーションができる ボットアカウントを作れる などがあります。音声はストリーミングでなく、クライアントサイドでogg
機械学習 - 雑にニューラルネットを実装して二値分類してみた - Qiita 続き。 ソース:deltam/neuro バイアス項、重要 タイトルと関係ないけど、この資料が超わかりやすくて感動した!! バイアス項ってなんで必要なのか分かってなかったけど、スッキリ理解できた! バイアス項、重要。 CHAPTER 4 ニューラルネットワークが任意の関数を表現できることの視覚的証明 前記事だとバイアス項の実装が雑すぎて3層以上のNNだと計算がうまくいってませんでした。 そこで重み行列にくっつけるカタチでバイアス項の実装を更新しました。 lein-gorilla、便利 前記事ではグラフにプロットするのに、CSV出力して表計算ソフトでグラフ化、という周りくどいことをしていました。 lein-gorillaというleiningenプラグインを使うと、ブラウザ上でグラフを描けます。 Incanterとい
広告事業部の鈴木達矢です。コーディングをしてると変数やメソッド名の付け方に悩むことって多々ありますよね。逆にコードを読んでいると単語の選択がこれでいいのかなという時や、動詞の活用形が間違っていてよく意味がわからない、時に潔く日本語の変数名になっていることも見かけます。でもプログラミング言語の単語が英語をベースにしていますし、Railsを使っている場合は日本語が規約(Convention)に合わなかったりします(複数形が無いなど)。それから動詞の活用形が違っていると主語(動作の主体)が変わってしまい、意味が変わってしまいます。その結果コードの可読性が落ち混乱を招きやすくなります。 いくつかの基本的な法則だけおさえておけばコーディング中に可読性の高い単語の選択ができるようになります。今回はそれを目的に、英語の扱いに都度時間を費やしてしまうような方に向けていくつかの法則をご紹介します。*1 変数
プログラミング言語 Haskell用のIDE「Haskell for Mac」が8月25日にリリース予定だそうです。詳細は以下から。 関数型プログラミング言語として有名なHaskellの統合開発環境”Haskell for Mac”は今年5月からベータユーザーを募って開発を続けてきたMac用アプリですが、そのHaskell for MacがAppleのレビューを通過し明日リリースされるそうです。 Haskell for MacはAppleのSpriteKitフレームワークを使用し計算結果を画像やアニメーションなどにして表示してくれる機能がありベータテスターのレビュー[1, 2, 3]は好評のようなので、興味がある方はHaskell for MacのTwitterやGoogle+アカウントをフォローしておくことをお勧めします。 Playgrounds are ideal to explore
堀北真希さんファンクラブ会員番号11番を持ってるキクタローです。 堀北さん結婚おめでとうございます!堀北さんがご自身が幸せであれば、ファンとしても何よりです(>_<; このブログは仕事で使ってるJavaを中心に書いてるブログなのですが…今までも技術に絡めて「堀北真希さん」が多々登場していました。 多分一番多いのはサンプルコードですが、JavaFXやTwitter4Jなどと絡めて色々遊んでもきました。 せっかくなので、思い出がてら掘り起こして、タグに「堀北真希」さんを作成しました。 kikutaro777.hatenablog.com kikutaro777.hatenablog.com kikutaro777.hatenablog.com kikutaro777.hatenablog.com kikutaro777.hatenablog.com kikutaro777.hatenablog
コンテンツメディア事業本部の新卒エンジニア坂本がお送りいたします。 突然ですが、皆さんの好きなソートアルゴリズムはなんですか? 私は基数ソートのスマートでストイックな雰囲気に惹かれます。 とはいえ、普段の開発では「どのソートアルゴリズムを使うか」を意識することは少ないのではないでしょうか。 むしろ現実世界で「トランプが全部揃ってるか」を手作業で確認するときとかのほうが、実はソートアルゴリズムが必要なのかもしれません。 ということで(?)、そのような現実的な場面で、本当に実用的なソートアルゴリズムを決める戦いが始まりました。 選手紹介 今回試したソートアルゴリズムは、独断と偏見で選んだ以下の5種類。 1 挿入ソート シンプル・イズ・ベスト!正直言ってベンチマークの噛ませ犬! 2 クイックソート 「クイック」の名前はダテじゃない!王者の貫禄を見せてやれ! 3 マージソート 安定感のある隠れた実
Scala関西 Summit 2015での発表で触れていたN+1クエリ問題をなんとかするためのライブラリを公開した. 発表は以下のもので, ここでは「関係モナド」という名前で紹介していたけれど, これは口頭でも説明したように便宜上てきとーにつけた名前であって, とくにそういう名前のよく知られたモナドがあるというわけでもなければ, そもそもモナドであるかどうかはあまり本質的ではない. この発表のあとに, Rails (Active Record)でのbulletのようにN+1問題の検出をScalaでやる方法はないだろうか, と言っている人がいたので, そういうものを探していて辿りつけるとよかろうということで, bullet-scalaという名前にした. もちろんN+1問題の検出のためのライブラリというわけではないし, 動的に検出するのではなく原理的に問題が発生しないようにするものなので, 思
徳島の山奥でフロントエンドJSのための動的開発環境を作っている。関連して、会社の技術ブログでチラッと動的開発について触れた。こっちではもう少し突っ込んで書いてみる。 この記事の後半ではBirdについて触れるけれど、この記事の目的はBirdの宣伝ではなく問題提起と解決策の示唆です。一緒に開発環境について真剣に考えてみたい。 mechanic.pilotz.jp 高等言語の発明から60余年、数え切れないほどのプログラミング言語があって、みんなそれぞれ気に入った言語を使ってソフトウェアを記述しているけれど、一部の例外*1を除くと、どの言語を使っても本質的な開発スタイルは一緒なのが現状だろう。ドキュメントを参照しながらエディタないしIDEでソースコードを記述し、実行して動作確認をする(テスト含む)。静的言語と動的言語の違いはソースコードの記述と実行の間にコンパイルが挟まるか否かだけだ。 これが悪い
おはようございます!PILOT神山ラボの山下です。今回は久々にラボらしい投稿です。 コンピューターサイエンス的に面白い開発環境を作っています。今回は、開発に至った背景を中心にお届けします。 動機 − JSは動的言語じゃないか 2015年、Webは衰えを知らず、JavaScriptは隆盛を誇り、FLUXアーキテクチャが浸透し、なのに僕らは未だエディタとブラウザを行ったり来たりしています。 のみくま2 by PILOT みなさん忘れてるかも知れないけど、JavaScriptは動的言語なんですよ!エディタでシコシコ文字並べて⌘-SなりC-x C-sなり:wなりして、ブラウザ開いて確認なんてしてたら静的言語と一緒じゃないですか。ランタイムで開発して、動的言語のポテンシャルを引き出さなきゃもったいないですよ。 ランタイムで開発するってどういうこと 要するに、生きたインタプリタにエディタが繋がっていれ
29 July 2015 </link> </link> I’ve been enamoured with languages in the Lisp family ever since I first encountered The Structure and Interpretation of Computer Programs now more than a decade ago. At the time I was disappointed that such beautiful systems found so little use in day to day programming. Lisp seemed both deeply pragmatic (Objects!) and deeply sophisticated (Meta-circular Interpreters!
7/27に開かれたLisp Meetup #30で「Clojureシンタックスハイライター開発から考えるこれからのLispに必要なもの」というタイトルで話してきました。 Clojureシンタックスハイライター開発から考えるこれからのLispに必要なもの from sohta 内容としては、去年のShibuya.lispのテクニカルトークで話した内容を重点をズラして焼き直したものです。終わった後にいくつか意見をいただきましたが、絶対数は多くないのでどう受け止められているのかはちょっと気になるところです。 「これからのLispに必要なもの」とタイトルにはあるものの、具体的に「これが必要だ」と言えてないのが残念な感じですが。。。この発表でいいたかったのは、「LispコードをCASEツールで解析できる対象にしていきませんか」という提案です。 ICSE勉強会なんかの話を聞いていると、他の言語(特にJ
アノ時計っぽいものを作ってみました。 example 解説 基本的には下記事のコードをちょこちょこっと改良しただけです。 【D3.js】 SVGで地球儀を描く 地軸を傾けながらSVGで地球儀を表示する ポイントとしては地形を裏用(グレー)と表用(ピンク)に2重に描画しているところでしょうか。 clipAngleメソッドを使って描画される範囲を変えています。 ・裏用地形描画 var projection180 = d3.geo.orthographic() .scale(windowWidht/4) .rotate([0,0,0]) .translate([windowWidht / 2, windowHeight / 2]) .clipAngle(180); var backPath = d3.geo.path().projection(projection180); //地形(裏) va
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く