タグ

2015年12月8日のブックマーク (19件)

  • Linux Insides : カーネル起動プロセス part2 | POSTD

    カーネルセットアップの第一歩 前回の パート では、Linuxカーネルの内部について探り始め、カーネルをセットアップするコードの最初の部分を見ていきました。前回の投稿は arch/x86/boot/main.c 内の main 関数(C言語で書かれた最初の関数)を呼び出すところまで確認しました。 このパートでは、引き続きカーネルのセットアップコードについて調査し、併せて以下の内容も学びます。 protected mode (プロテクトモード)の概要 * プロテクトモードに移行するための準備 ヒープとコンソールの初期化 メモリの検出、CPUの検証、キーボードの初期化 その他もろもろ それでは始めていきましょう。 プロテクトモード ネイティブのIntel64の ロングモード に移行する前に、カーネルはCPUをプロテクトモードに切り替える必要があります。 では、この プロテクトモード とは何でし

    Linux Insides : カーネル起動プロセス part2 | POSTD
  • 組織における、エンジニアの情報共有について。あるいは、レビューや設計について。 - # TODO: タイトル決定

    これは、「ドリコム Advent Calendar 2015 その2」の、8日目の記事になる。 7日目は、middlemanとGitHub Pagesでブログを5分で開設!ほか盛りだくさん! | いくら寝ても眠たい だった。 私は、ドリコムでエンジニアをしている matsusaki (@misoobu) という者だ。 ここでは、最近考えることの多い、組織におけるエンジニアの情報共有と、そのあるべき姿について書く。 また、それに関連して、コードレビューや設計についても触れる。 内容は、エンジニア視点のものになる。 情報共有は、組織にとって極めて重要だが、簡単なことではない。 記事が、再考するきっかけとなれば、幸いである。 情報共有とは 情報共有を失敗するとどうなるのか 様々な情報共有 プロジェクトの状況や方針 作業内容とその状況 プログラムの設計やコード レビューの目的 レビューをするとき

    組織における、エンジニアの情報共有について。あるいは、レビューや設計について。 - # TODO: タイトル決定
  • 使える論理削除への道(1) それは論理削除の問題なのか - 極北データモデリング

    削除フラグ(というか「論理削除を削除フラグだけで実装すること」)批判は何度も見てきたが PostgreSQLアンチパターン これ見るともはや論理削除自体が闇扱いになってしまったようだ。 闇だろうと何だろうと論理削除(というドリルが提供する穴)は要件の実装に必要なので、このへんの議論はあまりまじめに追ってこなかった。 いつだったか「削除フラグはバグの温床だからやめろ」という主張を読んでおぉなるほどと思い、ではどうやって論理削除を実装するのかなと思って続きを読むと「『ほんとに削除したデータが必要ですか?』とユーザに確認して、物理削除に変えさせてもらう」と書いてあってズコーとなったことがあるが、要件削っていいなら実装上のどんな問題も消えるわけで、何かもう別世界の議論で自分の仕事には関係ないと思っていた。 が、これだけ繰り返し批判されているからには、論理削除を正しく使う方法なり条件なりを明らかに

    使える論理削除への道(1) それは論理削除の問題なのか - 極北データモデリング
  • Ruby のオススメの機能7選 - Qiita

    この記事は Ruby Advent Calendar 2015 の 8日目です。 比較的あまり知られていないと思うオススメの Ruby の機能を 7つ紹介します。 Enumerator.new Enumerator.new は知ってはいても、あまり使わない人が多いように思います。 私は非常によく使います。 理由は スコープを新たに導入したい Producer-Consumer パターン。値の生成と消費でフェーズの違いを明確化したい。 そのメソッド内で1度使いたいだけなのに yield するメソッドを別に作るのはちょっと気が引ける。名前空間を汚したくない。 全部、一度配列にしちゃうとメモリが気になる。メモリ消費を節約したい。 ネストを浅くしたい Enumerable モジュールの機能が欲しい といったところです。 たとえば下記のようなかんじで使います。 # Producer フェーズ use

    Ruby のオススメの機能7選 - Qiita
  • 機能追加を行う際に考慮したい3つのポイント

    12/2「Think User First - Cookpad × Fablic #2」でクックパッド須藤が公開した資料です Read less

    機能追加を行う際に考慮したい3つのポイント
  • Elixirでの継続渡しマクロと非決定性オペレータの実装 - Qiita

    はじめに この記事は on lisp を参考にelixir向けにカスタマイズしています。 まず、継続の説明を行った後、継続渡しマクロを実装し、その後、非決定性オペレータの実装を行っています。 継続(continuation) 継続 とは、ある時点での、計算の未来といえます。例えば、REPLから式a + double(b) を評価しているとすると、double(b)の評価を完了してその値がretだとして、その継続は a+(ret) となります。つまり、fn(x) -> a + x end が 式a + double(b) の double(b)の評価が完了した時点 での継続となります。 schemeでは、任意の時点で継続をとりだし、一変数の無名関数としてあつかうことができますが、Elixirでは残念ながら継続をサポートしていません。 ところで、クロージャはある時点での計算に必要な資源をまとめ

    Elixirでの継続渡しマクロと非決定性オペレータの実装 - Qiita
  • オープンソースとしてのElixirエコシステムの歩き方 - Qiita

    はじめに 記事は、Elixir Advent Calendar 2015 の記事です。Elixir のバージョンは v1.1.1 を前提としています。 オープンソースのここが面白い 改めて語るまでもないのですが、個人的に、オープンソース・ソフトウェアの面白みというのは、以下が挙げられるかと思います。 自分のコードを世界に向けて公開できる 他人のコードを改変できる 世界のエンジニアとの間でコミュニケーションが生まれる Elixirの面白さ Elixirはたくさんの面白さが詰まった言語ですが、とりわけオープンソースのプログラミング言語としてのElixir、そしてそのエコシステムの面白みというのは、個人的には以下が挙げられます。 Homoiconicである (ElixirはElixirで書かれている) 仕様が一通り落ち着いたのが最近である Homoiconicであるがゆえ、言語処理系のソースコ

    オープンソースとしてのElixirエコシステムの歩き方 - Qiita
  • Docker イメージを PC (Mac) から Azure に展開する – tsmatz

    こんにちは。 Azure 上の Docker Container (on Linux) を使って、PCMac から、クライアント側をほとんど汚すことなく (Git と軽量な Docker Client のみで) イメージ展開できます。(Azure 用のコマンド ユーティリティで同じように構成できますが、投稿では敢えてこれらは使わず、Docker 標準の Client のみを使います。) 今回は、Node.js アプリの展開を例に、この手順を紹介します。 補足 (2016/03 追記) :  後述する Docker Machine Azure Driver が、Azure Resource Manager に対応しました。 下記では、Azure Classic Portal を使った Azure Service Management ベースの内容ですが、最新の Driver では、A

    Docker イメージを PC (Mac) から Azure に展開する – tsmatz
  • 【エヴァンゲリオン】アスカっぽいセリフをDeepLearningで自動生成してみる - Qiita

    はじめに エヴァンゲリオン20周年おめでとうございます 加えて、アスカの誕生日もおめでとうございます。(4日遅れ) Twitter Bot等でも使われている、文章の自動生成を流行りのDeepLearningの1種であるリカレントニューラルネットワーク(以下:RNN)を使ってやってみました。 データ集め 何はなくともまずはデータが無いと始まりませんね。 書き起こしも覚悟してましたが、アニメ全セリフをまとめてあるありがたいサイトが有りました。感謝。 こちらから全セリフを抽出しました。 セリフのフォーマットはこんな感じで、キャラ名 「セリフ」になってます。 放送「日、12:30分、東海地方を中心とした関東中部全域に特別非常事態宣言が発令されました。住民の方々は速やかに指定のシェルターに避難してください」 放送「繰り返しお伝えいたします…」 ミサト「よりによってこんな時に見失うだなんて、まいった

    【エヴァンゲリオン】アスカっぽいセリフをDeepLearningで自動生成してみる - Qiita
  • WebからJavaScriptで利用する Amazon Mobile Analytics #アドカレ2015 | DevelopersIO

    Amazon Mobile Analyticsとは Amazon Mobile Analytics は、アプリケーションの使用状況データを大規模に収集して視覚化し、開発者が簡単に把握できるようにするサービスです。 例えばECサービスのスマートフォンアプリで購入ボタンをタップした時に、価格と品名と個数を送信するような使い方をします。このデータが数多く集まると雨の日は傘が売れること(これは当たり前ですが)などが分かり、梅雨の季節には傘の在庫を多く揃える、または過去に傘を定期的に買っている顧客に対してよく買っている柄物系のカテゴリの傘を通知するなどのアクションが取れます。 Amazon Mobile Analytics(以下MA)の一番のメリットは他のAWSのサービス、特にデータウェアハウスであるAmazon Redshiftとの親和性です。Auto Exportと呼ばれるRedshiftに取り

    WebからJavaScriptで利用する Amazon Mobile Analytics #アドカレ2015 | DevelopersIO
  • HTTP/2 のエラーハンドリングと Request Reliability Mechanism - Qiita

    この記事で伝えたいこと HTTP/2 では、「stream」と「frame」と呼ばれる構造を導入することで、複数のリクエストを 1 つの TCP セッションで送受信できるようになりました。この構造の変化に伴い、HTTP/1.1 以前には存在しなかったエラーがあります。 そこで、この記事では HTTP/2 で新たに考慮すべきエラーを洗い出し、どう対処すべきなのかを整理します。 付録として、HTTP/2 のエラーを活用することで実現した「Request Reliability Mechanism」を説明します。 1. 変わらない部分:ステータスコード HTTP/1.1 で利用していた「404 Not Found」や「500 Internal Server Error」などのステータスコードは、HTTP/2 にそのまま引き継がれます。したがって、HTTP アプリケーションで発生するエラーは、HT

    HTTP/2 のエラーハンドリングと Request Reliability Mechanism - Qiita
  • WEBアプリをNode.jsで書いてHeroku上にあげた話[ 1 ] - Qiita

    これが作ったWEBアプリ FireCommits https://fire-commits.herokuapp.com/ エンジニアによるエンジニアのための草刈機です。草刈機って感じのゲームじゃないですが。githubの草を楽しく撃って撃って撃ちまくるゲームです。コミット数が多ければ多いほど、草がどす黒いほど強くて点数も高いので、凄腕エンジニアさんの草を全破壊してみんなで呟きましょう サーバー側はNode.js, ゲーム実装はenchant.js, PaaSにheroku, DSにmilkcocoa, Frameworkにprimerを使った作品で、先日公開しました。ほとんど自分にとって公開するのが初めてだったので、公開して気づいた事やためになった事をここにまとめる。最初はほとんど自分の感想。 実装したアプリの挙動 作ったアプリ自体の挙動は簡単にこんな感じ 1. github垢を入力 2.

    WEBアプリをNode.jsで書いてHeroku上にあげた話[ 1 ] - Qiita
  • 低カロリー高たんぱくの最強食材!一人暮らし男性必見の極上ささみレシピ30選

    一人暮らしをされている男性のみなさん、料理はお得意ですか?一人だとなかなか自炊しないなんて方も、挑戦したいけど、料理は苦手という方も、今回は、低カロリー高たんぱく、そして何より経済的な鶏ささみのお手軽レシピをご紹介します。一人暮らしをされている男性のみなさん、料理はお得意ですか? 一人だとなかなか自炊しないなんて方も、挑戦したいけど、料理は苦手という方も、 今回は、低カロリー高たんぱく、そして何より経済的な鶏ささみのお手軽レシピをご紹介します。 作り置きができるものもあるので、万が一作り過ぎても大丈夫。 今回はなんと30選もご紹介いたします! これを機に、男の料理の腕を磨いちゃいましょう。 1.つるりん鶏ささみときゅうりの胡麻和え  片栗粉でゆがいた鶏ささみはつるんとした感。 きゅうりのポリポリと合わさって良いおつまみにもなります。 湯がいた汁は雑炊やカレーなどにも利用できて無駄もありま

    低カロリー高たんぱくの最強食材!一人暮らし男性必見の極上ささみレシピ30選
    atm_09_td
    atm_09_td 2015/12/08
    見るだけになりそうだが...。
  • 簡易リバースプロキシ「ichigo」でWebアプリ開発が捗る話 - Qiita

    概要 自社サービスの開発中、必要にかられてGOで簡単なリバースプロキシツールを作った話を書いてみます。 前提 自社サービスの開発を、次のような構成で進めています。 フロントエンドとバックエンド(APIなど)をパスで振り分け /の下はフロントエンド /api/の下はAPI その他にも色々・・・ フロントエンドとバックエンドは、担当者もリポジトリも、動いているサーバも別 それぞれサーバが開発環境、番環境とテスト環境、のように複数の環境をもっている やりたいこと 前提の環境をもって、いざ開発をしようとローカル環境を構築するとなれば、 ローカルにnginxでリバースプロキシを立てて管理するのは面倒くさい ちょっとした環境の変更があると共有がいちいち面倒くさい フロントエンド担当者がわざわざバックエンドをcloneだのpullだの面倒くさい 環境間でテストするためにわざわざnginxの設定書き換え

    簡易リバースプロキシ「ichigo」でWebアプリ開発が捗る話 - Qiita
  • 『ネットワーク初心者の新卒がDockerでネットワークの勉強をしてみた』

    こんにちは!サイバーエジェント アドテクスタジオ新卒の黒崎 (@kuro_m88) と申します。 Dynalystというチームに配属され、一人前のサーバサイドエンジニアになるべく修行をしています(`・ω・´)最近はScalaを書くことが多くて、Sparkで大量のログを集計するバッチの開発をしています。ほぼ100%AWSで構成されているプロダクトなので業務でネットワークの運用もしませんし、構成の事を意識する事はあまりありません。 そんな中でネットワークの事が知りたくなったのは、広告の配信に関わる開発をしてみて、広告の配信の仕組み自体も技術的にめちゃくちゃ面白いんですが、それと同時に自分たちのサーバから広告が表示される端末までの間がどうなってるのか気になってしまったのがきっかけです。学んでいくにはやはり手を動かすのが一番ですよねo(((^^)))o

    『ネットワーク初心者の新卒がDockerでネットワークの勉強をしてみた』
  • LinuxコマンドをPythonから上手に扱う方法 - Qiita

    # -*- coding: utf-8 -*- from __future__ import absolute_import, unicode_literals from subprocess import PIPE, Popen def cmdline(command): """ コマンドを実行する。shell=Trueの場合シェル経由で実行する。 :param command: str :return: Popen """ return Popen( args=command, stdout=PIPE, stderr=PIPE, shell=True ) # 標準出力 print '標準出力:' + cmdline('date').stdout.readline() # 標準エラー出力 print '標準エラー出力: ' + cmdline('echo 2015|xargs wc -l

    LinuxコマンドをPythonから上手に扱う方法 - Qiita
  • Blogger

    Google のウェブログ公開ツールを使って、テキスト、写真、動画を共有できます。

    Blogger
  • Spring oneを経験してよりよいwebサービスを作るために僕らが取り組むこと(document編)(SpringRESTDocs)

    Spring oneを経験してよりよいwebサービスを作るために僕らが取り組むこと(document編)(SpringRESTDocs) SpringOneの中からDocumentingのセッションをpickupし、Spring REST Docsの導入方法 Spring REST Docsを利用し、 どのように鮮度の高いドキュメントが作成できるか どのようなメリットがあるか について説明しています。 1.Title 2.Introduction 3.Agenda 4.Title 5.Title 6.良いドキュメンテーションの仕組みとは何か 7-9.Springを利用しているアプリではどのような仕組みがあるか(Swagger) 10.良いドキュメンテーションの仕組みとは何か(2) 11-15.Springに適したドキュメンテーションの仕組み 16-20.Spring REST Docs

    Spring oneを経験してよりよいwebサービスを作るために僕らが取り組むこと(document編)(SpringRESTDocs)
  • JCConf で JavaFX について発表してきた - JavaFX in the Box

    この記事は、JavaFX Advent Calendar 2015 の 8 日目の記事です。 昨日は id:aoe-tk さんの JavaFX9に追加される機能が増えるかもしれません でした。 台湾の JUG である TWJUG が主催している JCConf で CfP をしていたので、軽い気持ちで応募したら受かっちゃいました。JCConf は、JJUG でいうところの CCC のようなカンファレンスです。 日でも話したことがないことを話すつもりはないので、Swing から JavaFX のマイグレーションの話をすることにしました。 資料はもともと英語で作っているので、そのままでいいやと思っていたのですが... 見直してみたら、やっぱりここも直したい、あそこも直したいで半分ぐらい手を入れてしまいました。 そのせいで、喋りの準備が全然できなかったというのは、言い訳にしかすぎないんですけどね

    JCConf で JavaFX について発表してきた - JavaFX in the Box