タグ

2016年7月6日のブックマーク (17件)

  • Scala Text

    i はじめに 資料は、ドワンゴオリジナルの、新卒エンジニア向けの研修資料です。 資料を用いた講義を受講することで • プログラミング言語 Scala を用いたアプリケーションを開発できるようになること •『Scala スケーラブルプログラミング』(第二版)(通称コップ)を通読して理解できるように なること •『Scala 関数型デザイン&プログラミング―Scalaz コントリビューターによる関数型徹底ガイ ド』(通称 FP in Scala)を通読して理解できるようになること が主な目的です。 『Scala スケーラブルプログラミング』は、Scala の言語設計者である Odersky さんらにより書かれた 解説書で、Scala の言語機能について詳細に書かれており、Scala プログラマにとってはバイブルと言 えるです。内容は Scala 2.8 が対象になっているものの、ほと

  • Python nose でユニットテストを書いてみた / 桃缶食べたい。

    Python nose でユニットテストを書いてみた chocolablog は Python で書かれていますが、これまであまりユニットテストの整備に時間を割いてこれませんでした。しかし初期バージョンの開発から 2 年以上が経ち、その間に何度か sqlite3 をとりまく DB アクセス部分を中心に、処理を書き換えています。他のロジックはともかく、コアとなるコードはしっかり動作を担保しておくべきだなと感じ、ユニットテストの整備に着手することにしました。 Python では 2.1 移行、ユニットテストフレームワークとして unittest が組み込まれています。これは個人的に大好きな JUnit をベースに作られているそうです。ただネット上で目にした Python 系のオープンソースプロジェクトでは、この uniittest モジュールではなく nose というモジュールを使ってテストコ

    Python nose でユニットテストを書いてみた / 桃缶食べたい。
  • IPython Notebookで梅田のラーメン屋さんの統計情報を抽出するというハンズオンに行ってきました - ヤマムギ

    IPython Notebookで梅田のラーメン屋さんの情報をWebスクレイピングして抽出して統計情報にするというハンズオンに行ってきました。 環境構築はLinux Mint 17 MATE 64bit にIPython Notebookをインストールするをご参照ください。 ※MacWindowsでの環境はWeb検索でお願いいたします。。。。。 ハンズオン編 Webスクレイピングに必要なライブラリをインポートします

    IPython Notebookで梅田のラーメン屋さんの統計情報を抽出するというハンズオンに行ってきました - ヤマムギ
  • 初心者がデータベースを扱うときにやってしまいがちな5つのミス | Yakst

    主にPostgreSQLで、アプリケーションがスケールしていくことを考慮に入れずに後で困ることになりがちな設計のポイント。今後巨大にスケールする必要が分かりきっている際には特に注意すべき点。 開発者として仕事を始める時には、参ってしまうほど覚えなくてはいけないことがあります。まず最初に言語自体、それから使っているフレームワーク特有のクセ、さらにその後(あるいはその前)にフロントエンド開発を織り交ぜ、そしてその先でデータをどこに保存するかを決めなくてはなりません。 最初の頃は、素早く身につけるべきことが多すぎて、アプリケーションのデザインにおいてデータベースは後から付け足すものになりがちです(おそらくこれはエンドユーザーエクスペリエンスに影響がないからでしょう)。その結果、データベースが動き始めてから直さなくてはならない数々の悪い習慣が存在しています。ここでは、そのうちのいくつかについて概要

    初心者がデータベースを扱うときにやってしまいがちな5つのミス | Yakst
  • Big Sky :: golang の channel を使ったテクニックあれこれ

    golang の channel は他の言語に見ない独特のパラダイムを開発者に提供します。 単純にスレッド間でメッセージングをするだけでもC言語で書けばそこそこの量になったり、慣れていない人であればどう実装すればいいか分からないなんて事もあったと思います。しかし golanggoroutine/channel は、やっている内容の割にとても容易にスレッド間通信やキューイング、処理の受け待ち等を実装できる様になっています。尚、channel をどの様に適用したら良いかについては以下を参照下さい。 Big Sky :: Golang の channel の使い所 golang の特徴と言えば goroutine と channel ですが、その使いどころに悩む人もおられる様です。 goroutine は非同期に実行される処理、channel はその grout... http://mat

    Big Sky :: golang の channel を使ったテクニックあれこれ
  • プログラマが知っておくべき、メモリ/ディスク/ネットワークの速度まとめ - Qiita

    注: 無線ネットワークは干渉などによりこの数値より遅くなる状況も十分ありえます。 ポイント メモリからの読み込みとディスクからの読み込みはランダムアクセスで1000倍程度違う とは言え、最近はディスクも結構速い きちんと繋がれた有線ネットワークからの読み込みは、ディスクより速い つまり、ディスクから読むより、同じデータセンターのマシンのメモリから読んだほうが速い モバイルネットワークだと100キロバイトのデータでも1秒以上かかることがある メモリからの読込速度の遅さは、CPUのクロック数も10G/s程度なのと、来はL1/L2キャッシュなどがあることを考えると通常意識しなくて良い 何故この参考値をまとめたか プログラミングをする際、どのくらいの時間でどのくらいのサイズ感の処理が出来るのかを考えられることが、ある一定規模以上のサービスを開発するときは必須条件になってくると思います。 なにより

    プログラマが知っておくべき、メモリ/ディスク/ネットワークの速度まとめ - Qiita
  • Not found the migration guide

    TUBAMEコミュニティでのマイグレーションガイド(HTML)の公開は2016年7月13日をもって終了しました。 最新のマイグレーションガイドを取得したい場合は、masterブランチのマイグレーションナレッジをダウンロードし、ナレッジ管理ツールを使用してHTMLファイルを生成してください。 ナレッジ管理ツールの使用方法はこちらの「・ HTML 保存」を参考ください。 ※masterブランチのマイグレーションナレッジに含まれているHTMLファイル(index.html)も参照いただけますが、最新の状態である保証が無いため、ナレッジ管理ツールにより各自で生成いただくこととを推奨します。

  • MongoDBのクエリは必ずしもマッチするすべてのドキュメントを返すわけではない | POSTD

    データベースをクエリすると、一般的に、クエリにマッチするすべての結果を返すことが期待されます。最近、これがMongoDBには当てはまらないことを知り、驚きました。具体的には、クエリの実行中にドキュメントが更新された場合、更新前と更新後のドキュメントが共にクエリにマッチしたとしてもMongoDBのクエリが結果を返さないことがあるのです。MongoDBを使用する場合はこのようなことが起きることに注意し、クエリが犠牲にならないように気を付けましょう。 問題の発見 最近の私の主な仕事は、 Meteor Galaxyホストサービス のバックエンドの構築となっています。実行したすべてのコンテナの状態を含む多くのデータを MongoDB のデータベースで保存しています。コンテナは”起動中”、”正常”、”問題あり”、”停止”など、多くの状態を持っています。 我々のサービスのひとつが、データベースのポーリン

    MongoDBのクエリは必ずしもマッチするすべてのドキュメントを返すわけではない | POSTD
  • 【2016年夏】個人的に注目なフロントエンドで使えるJavaScriptフレームワークまとめ - Qiita

    はじめに Webサービスを開発するにあたり、JavaScriptのフレームワークは今や欠かせないものになりました。 多種多用なフレームワークがある中で、今回は主にwebサービスフロントエンドで用いられるJavaScriptフレームワークをまとめました。 それぞれのJavaScriptフレームワークの詳しい使い方については、詳細に説明されているサイトが沢山あるので記事では省略致します。 こんなフレームワークもあるんだなーと軽い感じで眺めていただけると幸いです! 特徴 Vue.jsは、インタラクティブなWebインターフェイスを構築するためのライブラリで、MVVMアーキテクチャを採用しています。 HTML/JavaScript間の双方向データバインディングに特化していて、極力シンプルに実装できるようになっています。 シンプルに実装できることから、学習コストも低く初心者でも導入しやすいフレーム

    【2016年夏】個人的に注目なフロントエンドで使えるJavaScriptフレームワークまとめ - Qiita
  • webpack最低限(JavaScript編) - Qiita

    webpackについて自分用のメモになります。 最低限という背景 普段はBtoB向けのコーポレートサイトの制作が多く、ビルドツールはGulpでもGruntでもなんでもよいのが現状であり、ビルドツールを使用しなくてもなんとかなる感じです。 ただ、流行や今後の動向は理解しておきたいということで、自分の中で最低限webpackでやりたいことを実装してみました。 最低限やりたいこと javascriptのモジュール管理、Minify、es6/2015のトランスパイル Sassのコンパイル、ベンダープレフィックスの付与 ブラウザのオートリロード 上記の内容を数回に分けてまとめたいと思います。記事では1のJS関連を扱います。 対象読者 流行はつかんでおきたいけどあまり難しいことはしたくない、とにかくwebpackを使ってみたいという方向けかと思います。 インストール まずはwebpackをインストー

    webpack最低限(JavaScript編) - Qiita
  • Babel + React + Webpack の最小構成ひな形作った - Qiita

    Help us understand the problem. What is going on with this article?

    Babel + React + Webpack の最小構成ひな形作った - Qiita
  • enzyme+mocha+power-assertでReactコンポーネントのフルレンダリングテスト - wadackel.me

    公開されている React コンポーネントのテストコードを見てみると、enzymeを使ってテストしているものを結構見かけます。enzyme はReact 公式でも押しているっぽいので、積極的に使っていきたいです。 Note: Airbnb has released a testing utility called Enzyme, which makes it easy to assert, manipulate, and traverse your React Components’ output. If you’re deciding on a unit testing library, it’s worth checking out: http://airbnb.io/enzyme/ 日語の紹介記事では@syossan27さんの記事が参考になりました。 React のテストを Enz

    enzyme+mocha+power-assertでReactコンポーネントのフルレンダリングテスト - wadackel.me
  • Linux kernel を読むための準備 | harasou.github.io

    仕事で kernel のソースが見る機会が度々ありそうなので、MAC上でソースをいつでも追えるように準備しておく。 準備といっても大したものではなく、 kernel ソースのダウンロード tag の作成 vim の設定 ぐらい。tag については、GNU GLOBAL などもあるが、とりあえず ctags で。 kernel source の取得 github ではなく tar ball からの取得。複数のリリースを取得するにはこちらの方が簡単そうだったので。 1 mkdir -p ~/src/kernel curl https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.2.4.tar.xz | tar zx -C ~/src/kernel/ tag の作成 linux kernel の Makefile には、tag を作成するターゲ

  • Sparse File (スパースファイル) の仕組み | harasou.github.io

    最近かなり流行っている「Linux プログラミングインタフェース」を読んでたら、lseek(2) の解説で Sparse File (スパースファイル) の話が出てきたので、実装が気になって調べてみた。 4 章 ファイル I/O:統一されたインタフェース 4.7 ファイルオフセットの変更: lseek() ファイル末尾を越えた位置へシークするとどうなるでしょうか? そしてその位置で I/O を実行すると? … (略) 意外 に思われるかもしれませんが、書き込みは可能なのです。 refs: https://www.oreilly.co.jp/books/9784873115856/ Sparse File とは 簡単に言うと、内部に NULL のかたまり(ファイルホール)を含むファイルのこと。こんなやつ。 1 2 # ls -shl sparse_file 4.0 K -rw-r-

    Sparse File (スパースファイル) の仕組み | harasou.github.io
  • Linux ACL の基礎 | harasou.github.io

    Linux プログラミングインタフェース」再び。 輪読やりながら「こんな機能使うのか?」って、みんな文句言いながら読んでいた章。ここで触っとかないと、今後「ACL とか知らねぇ。」ってなりそうなので、まとめておく。 17章 ACL ACL はユーザもしくはグループ単位でのパーミションを設定可能にするもので、ユーザ、グループ数を制限しません。Linux ではバージョン 2.6 で ACL を導入しました。 refs: https://www.oreilly.co.jp/books/9784873115856/ ACL(access control list) とは 簡単に言うとファイルやディレクトリのパーミッションに +αのアクセス権 を設定できる機能。 ACL を設定すると下記例のように、通常のパーミッション的には root しか読めないファイルに、vagran

    Linux ACL の基礎 | harasou.github.io
  • 読みやすいREADMEを書く | Yakst

    いくつかのオープンソースプロジェクトを公開している筆者からの、読みやすくユーザーにやさしいREADMEを書くためのアドバイス。 この記事は、Rowan Manning氏による「Writing a Friendly README」(2016/3/14)を翻訳したものです。 あなたのプロジェクトのREADMEは、かなり重要です。そこはプロジェクトに初めて来た人が大抵最初に見るであろう場所であり、唯一のドキュメントであることもよくあります。あなたのオープンソースプロジェクトにとってのREADMEは、企業にとってのウェブサイトのようなものです。ウェブサイトはユーザーエクスペリエンスの注目を集めるところですが、READMEがユーザー観点で考えられることはほとんどありません。 この記事では、分かりやすいREADMEを書くために役立ち、開発者(ユーザー)の要求に見合い、開発者がプロジェクトを初めて見たの

    読みやすいREADMEを書く | Yakst
  • 意訳: InfrastructureAsCode - Qiita

    ブログからの引用です。ブログはこちら 今回はアーキテクチャパターンとかリファクタリングで有名なMartin Fowler氏のブログであげられていた "InfrastructureAsCode"(原文はこちらを勝手に解釈して意訳してみましたという内容です。 意訳 感想 さっそくいきましょう。 インフラストラクチャーアズコードというのはコンピューティングやネットワークをソフトウェアシステム同じように扱えるようにソースコードを通じて定義するアプローチである。こうしたコードは可監査性やビルドの再現可能性を実現するために管理され、テストの方法や、継続的デリバリーの実現のやり方に依存する。これはクラウドコンピューティングプラットフォームを扱う方法としてここ数十年行われてきた方法だし、これからのコンピューティングインフラストラクチャーを扱う主要な方法である。 私(Fowler氏)は、鉄器時代に育って、当

    意訳: InfrastructureAsCode - Qiita