キャリア、転職、人材育成のヒントを提供してきた「リスキリング」チャンネルは新生「NIKKEIリスキリング」としてスタート。 ビジネスパーソンのためのファッション情報を集めた「Men’s Fashion」チャンネルは「THE NIKKEI MAGAZINE」デジタル版に進化しました。 その他のチャンネルはお休みし、公開コンテンツのほとんどは「日経電子版」ならびに課題解決型サイト「日経BizGate」で引き続きご覧いただけます。
[2014-01-09-1] からmasutaka.netのCIを開始したが、残念ながら masutaka.netに直接serverspecする、なんちゃってCIだった。 masutaka.netにcookしてからPRを出して、WerckerにCIさせていた。 WerckerとAWSを連携させて、テストのたびにサーバをまっさらな状態から 作り、終わったら破棄することが可能になったので、ここに記録しておく。 去年くらいに話題になったこの辺の話。 Vagrant + Chef Solo + serverspec + Jenkins でサーバー構築を CI - naoyaのはてなダイアリー naoya/circleci-serverspec なんで今までやらなかったかというと、cookが一発で通らないレシピになっ ていたから。。気づいてはいたんだけど、本番サーバのテストが通りさえ すればよかった
タイトル JavaScriptで学ぶ関数型プログラミング 著者 Michael Fogus (著), 和田 祐一郎 (翻訳) 出版社 オライリージャパン Amazonで購入する 本書はJavaScriptを使って関数型プログラミングを学ぶ書籍です。関数型言語としてJavaScriptを理解し、使用することにより、コードがより洗練され、美しく、そして読みやすいものになることを目的としています。JavaScriptビルトインのデータ型を上手に利用するための基本知識やJavaScriptにおける関数の持つ特性など、関数型プログラミングの技術とその考え方について解説します。また実際のJavaScriptコーディングに関数型プログラミングのエッセンスを加えるポイントをサンプルを使って丁寧に説明します。関数型プログラミングに精通した著者が書き下ろした本書は、テクニックを増やし、コーディングのイマジネー
clipperhouse/gen インストール $ go get github.com/clipperhouse/gen コマンドラインツール「gen」 コマンドラインツール「gen」がインストールされる $ gen Usage: gen [[*]package.TypeName] [-[*]all] [-exported] *package.TypeName # generate funcs for specified struct type; use leading * to specify pointer type (recommended) -all # generate all structs in current directory; use leading * to specify pointer type (recommended); shortcut -a or -*a
2014年10月28日10:57 Ruby requireとrequire_relativeの違いとは? 先日、require_relativeっていうのを見かけて、これなんだろうと思って調べました!どうもRuby1.9.2から導入されたモジュールみたいですね。 そもそも、Ruby1.9.2以降とそれより前のバージョンとでは、$LOAD_PATHの扱いに違いがあります。例えば、Ruby1.8.7では$LOAD_PATHにはカレントディレクトリも含まれます。 $ rbenv shell 1.8.7-p375 $ ruby -e 'puts $LOAD_PATH' /Users/sasata299/.rbenv/versions/1.8.7-p375/lib/ruby/site_ruby/1.8 /Users/sasata299/.rbenv/versions/1.8.7-p375/lib/r
モバイルファースト室の山下(@tomorrowkey)です。 先日撮るレシピというAndroidアプリをリリースしました。 みなさんの自宅には開かずにずっとおいてあるレシピ雑誌はないでしょうか。その中でも作ってみたいと思うレシピは何品あるでしょうか。 また母親や友達から教えてもらったレシピを付箋に書いて冷蔵庫に貼っていたりしませんか。冷蔵庫が付箋だらけになっていませんか。 このアプリはそんなレシピたちを写真に撮って残せるアプリです。雑誌や冷蔵庫のドアなどちらばったレシピを1つにまとめることができます! そんなとっても便利なアプリなのですが、今回このアプリをリリースするときにGoogle Playからインストールできなくなるという現象に遭遇しました。 同じ轍を踏む人がでてこないように、その原因と対策を紹介します。 ビルド環境 この問題が発生したのは以下の環境です。 例えばantなどの他のビル
前置き:このエントリはJavaおよびJava周辺の*1開発環境に全く縁の無い人間が、可能な限り依存ソフトウェアを少なく手順をシンプルに保ったままやろうとしたものであり、知識・経験のある人にとっては全く最適な手段でなかろうことをお断りします。 先日のエントリ で書いたとおり woothee 1.0.0 をリリースした。Perl, Ruby, Node.js および PHP などはそれぞれの言語毎のモジュールリポジトリに登録されている。 が、Javaについては自分が Maven Central の勝手がわからず、されてると便利だよなーとは思いつつ放置していた。 が、なんと @making さんからMaven Central登録用の pull requestがきた 。きてしまった。これで最大の問題(xmlを書く)はおおむね解決されてしまったので、覚悟を決めて登録作業をすることにした。 せっかくや
Marionette.jsまとめ その1 Application, Controller, AppRouterJavaScriptBackbone.jsMarionette.js Marionette.jsまとめ その1 Application, Controller, AppRouter Marionette.jsまとめ その2 View, ItemView, CollectionView Marionette.jsまとめ その3 CompositeView, Layout, Region Marionette.jsとは Marionette.jsはBackbone.jsに下記等の機能を追加するライブラリです。 CollectionView, ItemViewなどViewタイプの追加 RegionとLayoutによるDOMの制御 モジュール機構 デストラクタ(elの削除、インスタンスの除
毎日他の人のコミットをながめる文化で生活していると、理由は浮かばないけど「ん?このコミットはなんか気になる」と感じるようになります。それは、新しいことを知ることができたコミットだったり、真似したくなるようなコードが入っているコミットだったり、なんかまずそうな気がするコミットだったり、様々です。 「ん?」と感じてコミットを見直してみても、何が気になったか自分でもすぐにわからない場合があります。そんなとき、気になったことをコミットした人に伝えるために、コミットへのコメントをまとめ始めます。「コミットした人に伝えるため」というように、他の人に伝えようとすることがポイントです。他の人に伝えるためにまとめようとすると、思いの外なにが気になったかまとまるものです。 今回は、メタプログラミングを使ってコードを整理したコミットで「ん?」と感じたときのことについて紹介します。このおかげで「メタプログラミング
2.6 interface interface Goではとても繊細なinterfaceと呼ぶべき設計があります。これはオブジェクト指向と内容構成にとって非常に便利です。この章を終わった時にはあなたはinterfaceの巧妙な設計に感服することでしょう。 interfaceとは何か 簡単にいえば、interfaceはmethodの組み合わせです。interfaceを通してオブジェクトの振る舞いを定義することができます。 前の章の最後の例でStudentとEmployeeはどちらもSayHiを持っていました。彼らの内部処理は異なりますが、それは重要ではありません。重要なのは彼らがどちらもsay hiと言えることです。 続けてさらに拡張していきましょう。StudentとEmployeeで他のメソッドSingを実現します。その後StudentはBorrowMoneyメソッドを追加してEmploye
この記事の目的は、Applicative 信者による Applicative スタイルの布教です。 簡潔に結論を述べると、 foo = do a <- m1 b <- m2 return (f a b) のようなコードを書きたくなったら foo = f <$> m1 <*> m2 と書きましょうということ。 合い言葉は、「do と return をなくせ!」です。 FunctorとMonadの間 Functor を特殊化した型クラスがMonadで、Monadの方が強力です。なぜなら、メソッドが増えるからです。 Functorのメソッドはfmapです。fmapの別名を (<$>) といいます。(この記事では、(<$>) と liftM を同一視します。) そして、Monadのメソッドは、ご存知の通り (>>=) と return です。 FunctorとMonadの間にApplicative
「チーム開発に役立つstubcell」ってタイトルでCodeGrid 2周年パーティでLTしてきた。 - from scratch 今までAPIのモック作るのにCyberAgent/node-easymock · GitHubを使っていたんだけど、最近メンテされていないっぽいし、 easymock is so simple, but it depends on sqlite3, and could not write comment in JSON file and could not validate json. ってやつに感動してstubcellに移行した。 移行手順 installしてentry.yaml書いて終わり。簡単! $ npm install --save-dev grunt-stubcell $ vi Gruntfile.coffee # edit gruntfile $
追記: 2016/04/28 1.xのVueでは、Reactのようにpropsを利用することでコンポーネント間で値の受け渡しを行うことができます。 また2.0では、$dispatch, $broadcastは非推奨になるので、注意してください。 refs: 2.0 features · vuejs/vue Wiki · GitHub こんにちは。りんご と にんじん と 生姜の入ったジュースを飲んでいます、きたけーです。 今日はVue.js で 複数のViewModelの連携について考えてみます。 VueはViewModel間の親子関係を定義することができますが、今回考えるのは(DOMで)親子関係がなく「リストからひとつの項目を選択したときに、その項目の詳細を別の要素で表示する」ようなケースです。 べたに書くと、こんなかんじになります(Coffeeです)。 listVM = new Vue
TL;DR: グローバルな gitignore に ,/ を追加して、作業用スクリプトを , ディレクトリに入れると便利。 ,/tmp_script.sh で実行できる。 Git リポジトリの中に一時的に使う作業用スクリプトを置いておきたいことがある。自分だけが使うものなのでコミットはしたくないが、いちいち .git/info/exclude に追加して無視させるのも面倒臭い。 今まで自分は、 tmp_script.sh~ や tmp_script.sh.bak など、グローバルな gitignore で無視されるファイル名にしていたが、これは不要なファイルと間違えて消してしまう危険がある。 ignored.tmp_script.sh は分かりやすいぶん長い。 _tmp_script.sh は悪くないが、コミットすべきファイルにもアンダースコアで始まるものがあって紛らわしい。 そこで、作業
録画サーバ立て直し中なのでメモ代わりに書いておきます。 まず最初に どういう保存方針で行くのか考えておきましょう。主にハードウェア構成に影響してきます。 録画して見たらすぐ消す (TSそのままの状態で)保存する mp4などにエンコードして保存する ハードウェア まずはパココンがないと何も出来ないですねということで。 CPU エンコードをしない(TSそのままで保存・視聴する)のであれば、割と何でもよさそうです。とはいえ、録画中は延々とTSのストリームをHDDに保存し続けるわけで、全くCPUを食わないわけではありません。あまりに太古のCPUだとかATOMだとかは、避けた方が無難かと思います。ATOMで頑張ってる人もいないわけではないので、その辺はググりましょう。 エンコードをしようと思ってるなら当然ながらなるべく強力なCPUを……と思うのですが、Intelの最近のCPUにはQSV(Quick
わかりやすい高校物理の問題集 わかりやすい高校物理の部屋問題編 300問以上の演習問題がいまなら無料! 定期テスト対策 共通テスト対策 入会金0円!月額0円!
2013年に「リーン・スタートアップ」という書籍が出版されて、それからリーン (LEAN) という考え方に注目が集まるようになった。LEAN とは「無駄のない」とか「ぜいにくのない」とかそういう単語らしい。 書籍リーン・スタートアップには「スタートアップやその類が新しい事業を始めるときに普通にやってるとだいたい失敗するから、潜在顧客や顧客からのフィードバックをこまめに集めて軌道修正しながらゴールを見極めるやり方が良い」とか、雑にまとめるとそういうことが書いてる。 仮説を立ててフィードバックをもらって検証するということを短いイテレーションで繰り返す・・・というのを "フィードバックループ" と呼んでいて、それを細かくやる場合、製品を作り込んでからフィードバックをもらうのでは遅いし、例えばペーパープロトタイプをするとかそういう実験的なことで欲しいフィードバックが得られるならそれが一番いい ─
清水さんの「これがプログラミングの神髄だ! ファイナルファンタジーのプログラマーが明かす秘密とLispトークバトル!」( http://d.hatena.ne.jp/shi3z/20140123/1390429115 )にある、 もともとJavaScriptはLispの方言であるschemeをベースとして開発されたわけだからね。 という記述に関して関連資料のメモ。 (ブレンダン・アイクさんのブログも参照のこと https://brendaneich.com/2008/04/popularity/ ) 『Coders at Work』(邦訳版) Coders at Work プログラミングの技をめぐる探求 作者: Peter Seibel,青木靖出版社/メーカー: オーム社発売日: 2011/05/25メディア: 単行本(ソフトカバー)購入: 11人 クリック: 360回この商品を含むブログ
や、MyNA会でデモした時にむしろこれをやれよって話なんですが。 InnoDB Plugin以降で加わったInnoDBのfast index creationと、それまでのインデックス作成について、innodb_rubyを使って比べてみました。 まずは最初にロードを済ませてから、後からfast index creationでインデックスを作るパターン。 master [localhost] {msandbox} (d1) > CREATE TABLE t1 (num int unsigned primary key, val varchar(32) not null); Query OK, 0 rows affected (0.02 sec) master [localhost] {msandbox} (d1) > LOAD DATA INFILE '/tmp/md5_10000' INT
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く