タグ

ブックマーク / qiita.com (198)

  • Linuxのmmap()を通して、アドレス空間の扱いを垣間見る - Qiita

    近況 飲んで帰ってきて、気づいたらこんなの書いていました。 ちょっと具体性に乏しいので、もう少し後でパッチを書きます。 (でも、明日は会社の歓迎会で飲んでくるのだ) 前回のあらましと今回見るところ 前回、仮想アドレスと物理アドレスの紐付けをする処理とそのデータ構造のページテーブルを見ました。 そして、今回はユーザ空間へのアドレス空間マップを行うmmap()を見ることで、仮想アドレス空間の扱いの一端をかいま見てみましょう。 mmapの実装 mmapは以下の実装である。 (厳密に言うと、システムコールのベクタではないので「システムコールの開始地点」ではない) asmlinkage long sys32_mmap(struct mmap_arg_struct32 __user *arg) { struct mmap_arg_struct32 a; if (copy_from_user(&a, a

    Linuxのmmap()を通して、アドレス空間の扱いを垣間見る - Qiita
    Xray
    Xray 2014/08/29
  • Terraform簡易チュートリアル on AWS - Qiita

    概要 TerraformAWSを使って、CLIを通してインスタンスの起動→変更→停止を行うためのチュートリアル。Terraform の基概念である plan apply show のサイクルを理解するためのもの。 追記 Terraformblog投稿、参考訳 - Qiita http://qiita.com/zembutsu/items/402e02950ce9d59fa0e6 Terraform入門 日語訳 - Qiita http://qiita.com/zembutsu/items/84f5478701c5391df537 Terraform とは Hashicorp (Vagrant, Packer, Serf, Consul を作っている会社) によって 7/28 に公開された新しいオープンソースのプロダクト。 Terraform http://www.terraform

    Terraform簡易チュートリアル on AWS - Qiita
    Xray
    Xray 2014/07/29
    じょうじ
  • iTerm2 2.0の新機能: tmuxの統合 - Qiita

    今週、iTerm2のメジャーアップデートがあった。ちょっとややこしいのだが、これまでは"iTerm2"のv1.0.xだったのがv2.0になった。 http://www.iterm2.com/news.html に変更点が書かれているが、一つ目の Deep tmux integration. iTerm2 can speak directly to tmux and display its virtual windows as native windows or tabs, making tmux much easier to navigate. が気になる。これまでも当然iTerm2の上でtmuxは使えたはずだが何が違うのか。 ここに書いてあることをちょっと試してみた。 https://code.google.com/p/iterm2/wiki/TmuxIntegration まずはいつも

    iTerm2 2.0の新機能: tmuxの統合 - Qiita
    Xray
    Xray 2014/07/25
  • あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ - Qiita

    エンジニア組織を強くするためのを出版しました Qiitaでエンジニアリングをめぐる様々なコミュニケーションの問題とその解決策や考え方を書いてきた。それらの背後にあるエッセンスをこの度書籍として出版するに至りました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング この書籍は、エンジニアリングを「不確実性を削減する」という第一原理で捉え直し、様々なエンジニアリングとその間のコミュニケーションをめぐる現象を説明していくものです。 はじめに この記事は数百万行の動的型付き言語のWebアプリケーションのリファクタリング、アプリケーションアーキテクチャの再設計の経験を基に、有効だと思われる考え方やアプローチを抜粋して紹介するものです。言うまでもなくあらゆるコードベース、アーキテクチャにおいて有効なものとは限りませんので、各々の環境や状況から適切に判断してください。

    あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ - Qiita
    Xray
    Xray 2014/07/19
  • 本当は怖いMemcached - Qiita

    はじめに データアクセスの高速化、セッションの保持などに非常に重要なポジションを占めているMemcached 特徴をあげると、速い安い美味いで、AWS上のサービス化などされており、非常に扱いやすいプロダクトなのですが、Memcachedそのものが単一障害点とならないように冗長化を測った時に深刻な問題が発生する可能性があることをご存知でしょうか。 システムに心あたりがある方は今すぐ代替手段を検討しなければなりません。 どうしてもMemcachedを使いたいという方はこちらへ それでもMemcachedを使いたいあなたへ 前提条件 そもそも冗長化をしなければ問題ないという運用はその時点で怖いのでNG cache機構という性質上、データが飛ぶのは問題ない(”正”となるデータを他から読み出すだけ)が、誤ったデータが読み出されるのをNGとする Memcachedを利用した時に利用ノードを決定するのは

    本当は怖いMemcached - Qiita
    Xray
    Xray 2014/07/03
  • 第1回Webスクレイピング勉強会@東京 (全3回) - Qiita

    official connpass 「Webスクレイピングの基礎知識」(@nezuq) SlideShare 3つの壁を突破する 倫理 情報解析目的なら合法と解析と解釈(文化庁のQAに肯定的記述) 常識的な範囲でのアクセス障害なら過失と言える。(国立国会図書館の場合、1秒以上あけてスクレイピングなら可能) 技術 最低限でもHTMLの知識 事例(どう使うか) データジャーナリズム(データからストーリーを見つけ提供する。NHKでやってる) Data Journalism Handbook(大義がある) 「オープンデータのためのスクレイピング 〜抽出・共有・分析まで〜」(@ito_nao) SlideShare プログラミング不要でスクレイピング出来るwebサービスのご紹介 Tabula PDFからデータを抽出するツール kimono paginationが得意。 構造化されたクローリングは苦手

    第1回Webスクレイピング勉強会@東京 (全3回) - Qiita
    Xray
    Xray 2014/06/23
  • AWSのインスタンス高過ぎワロタ。探せば安くて美味いところはあります。 - Qiita

    Micro ($14.40/mo) Name / UNIX Bench / I/O / Bandwidth Small ($46.80/mo) Name / UNIX Bench / I/O / Bandwidth DigitalOcean 512MB ($5.00/mo) Name / UNIX Bench / I/O / Bandwidth VULTR 768MB ($5.00/mo) Name / UNIX Bench / I/O / Bandwidth 結論 micro, smallが現役ではないとはいえ(一年以上前のbenchだし)、x10のオーダで値段が違いますね。 microはユーザを馬鹿にしているかのような性能ですね。 しかも、AWSはアホみたいに転送料が高いですが、DigitalOcean、VULTRともに1TB以上の転送料が無料で付属しています。(AWSでは$100-2

    AWSのインスタンス高過ぎワロタ。探せば安くて美味いところはあります。 - Qiita
    Xray
    Xray 2014/06/16
  • さくらのVPSにCoreOSをインストールしてDocker専用機にする - Qiita

    最近 Google Compute Engine でも CoreOS が選択できるようになりましたし、国産VPSでも導入できないかなと思いさくらのVPSに入れてみることにしました。 CoreOS is Linux for Massive Server Deployments https://coreos.com/ 事前準備 ISOイメージのダウンロード さくらのVPSでは「ISOイメージインストール」でISOイメージをSFTP経由でアップロードし、任意のOSをインストールすることが可能です。 CoreOSのサイトからISOイメージをダウンロードします。 Dockerのバージョンを0.11系を利用したいので、「Alpha Channel」を選択し、「Download Alpha ISO」をクリックしダウンロードします。 ISO - CoreOS https://coreos.com/docs

    さくらのVPSにCoreOSをインストールしてDocker専用機にする - Qiita
    Xray
    Xray 2014/05/29
  • AngularJS使い方メモ - Qiita

    AngularJSアプリケーション開発ガイド を読みながら勉強したときのメモ。 HelloWorld AngularJS を入手する 公式サイトから angular.min.js をダウンロードする。 HTML を書く <html ng-app> <head> <script src="angular.min.js"></script> <script src="helloWorld.js"></script> </head> <body> <h1 ng-controller="HelloWorldController">{{message}}</h1> </body> </html> angular.min.js を読み込む。 ng-app ディレクティブを付けたタグの中が、 AngularJS のテンプレートとして処理される。 ng-controller ディレクティブを付けたタグの中

    AngularJS使い方メモ - Qiita
    Xray
    Xray 2014/05/07
  • Nginx導入時、サクッと対応しておくと良いかもしれない - Qiita

    HTTPレスポンスヘッダにサーバのバージョンの表示を消す なぜ必要? 潜在攻撃者への情報提供になることも。 もし使用中バージョンの脆弱性が明らかになった時、恰好の標的になるとか。 対応 nginx.confのhttpディレクティブに server_tokens off; を追加。

    Nginx導入時、サクッと対応しておくと良いかもしれない - Qiita
    Xray
    Xray 2014/04/24
  • WebのUIテスト自動化 - Seleniumを使ってみる - Qiita

    Appiumを色々触っているんですが、仕組みが同じSeleniumもちょっと触ってみました。 だいぶ色々なことができそうなのでこちらも触りつつメモを取っていこうと思います。 実際の動画デモ 実際にどんなことができるのか、参考動画を撮ってみました。 内容的にはネタな感じにしていますが、どんなことができるか分かってもらえるかと思いますw Seleniumとは Seleniumはクロスブラウザ、クロスプラットフォームのUIテストツールです。 ブラウザに表示される要素を操作し、取得して想定されうる状態になっているかをテストできます。 また、画面のキャプチャを撮ることもできます。 検索してみると有用な記事がいくつかあるので、詳細はそちらを見てください。 ここでは簡単に触ったメモや所感を書いていきます。 JavaScriptテスト自動化ツールSeleniumのこれまでとこれから(前編)。第1回 日S

    WebのUIテスト自動化 - Seleniumを使ってみる - Qiita
    Xray
    Xray 2014/04/21
    つかう。
  • https://qiita.com/fl04t/items/57ebb0fe8009d00c8499

    Xray
    Xray 2014/04/18
  • そろそろ理解しておきたいのでDockerのソースコードをビジュアルに読む! - Qiita

    まずはツールの紹介 昨今、注目を浴びているアプリケーションコンテナを作ったり管理したりできるDocker。 そろそろ中身も理解しておきたいところ。特に最近はlibcontainerというのができて、lxc依存すら切り離されているとの噂。 ただ、結構ソースコードの量も大きくなっているので(2014/4月現在 テストコード除いて70000行弱)、 さっと大まかに理解するためのツールを書いてみました。 このツールはgoのastからパッケージの間の依存関係を読んで、graphvizの解釈するdot言語に吐き出すツールです。 たとえば、最近話題のgo-xslateの全体像をつかもうと思ったら、 のようにすることで、 拡大 こんな感じにパッケージ間の依存関係を図示することができます。 これだけでも何となくどんな構造になってるかわかってきそうですね。 不安定性の表示 govizにはdot言語の出力の他に

    そろそろ理解しておきたいのでDockerのソースコードをビジュアルに読む! - Qiita
    Xray
    Xray 2014/04/14
  • 【個人メモ】CentOS環境に登録するyumリポジトリ - Qiita

    yumパッケージ 身の回りの環境がCentOSばっかりだ。 が、CentOSをインストールしただけの環境では インストールできるパッケージは古い物ばかりだ。 できれば新しいものを使いたい。 少しだが、登録しとくと良さそうなリポジトリをまとめておく。 対象のCentOSのバージョンは6.5。 epel fedoraプロダクトが提供しているRHEL向けの ディストリビューションに適用できるパッケージ。 ansibleやdockerを入れたい場合には必須 リポジトリ登録方法 > yum localinstall http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

    【個人メモ】CentOS環境に登録するyumリポジトリ - Qiita
    Xray
    Xray 2014/04/14
  • コメントによるコードの切り替え - Qiita

    2種類のコードを書いて、切り替えながらコーディングしたい場合がある。 ブロックコメントとラインコメントを利用して、1文字入れたり消したりするだけで簡単にコードを切り替える方法 自分用にソース書きながら比較する程度なら良いですが、これコミットしたりすると迷惑なのでやめましょう。 例えば、こんな感じで書くと、コード1が有効になる。 /**/ System.out.println("コード1"); /*/ System.out.println("コード2"); //*/

    コメントによるコードの切り替え - Qiita
    Xray
    Xray 2014/04/06
  • Snapchatを支える技術:768台のRedisをGoogleクラウドで構築 #gcpja - Qiita

    GoogleのSVP、Urs Hoelzleが「いま世界でもっとも人気のあるスマートフォンアプリ」と評し、Facebookによる3000億円の買収提案をスルーしたとされるSnapchat。その共同設立者でCTOのBobby Murphyが、3/25に開催されたGoogle Cloud Platform Liveに登場し、“Snapchatを支える技術”としてのGoogle Cloud Platform (GCP)の使い所や開発体制をかなり具体的に説明していたので、補足と解説を交えながらざっと意訳してみた。 SnapchatのCTO, Bobby Murphyと、GoogleのSVP, Urs Hoelzle From Google Cloud Platform Live SnapchatがGoogle App Engineを選んだ理由 "それまでいくつかの小さなプロジェクトGoogle

    Snapchatを支える技術:768台のRedisをGoogleクラウドで構築 #gcpja - Qiita
    Xray
    Xray 2014/04/03
  • JavaScriptで関数型プログラミングの入門 - Qiita

    【他キーワード】 第一級関数(高階関数が扱える) カリー化(部分適用) 型推論 気をつけるべきは三点 JavaScriptで関数型を考えるにあたっては、 抑えるべきポイントは下記三点となります。 すべての関数が値を返す 関数に副作用がない(参照透過) 関数を値として扱える 関数型として気をつけることはほかにもあるのですが、 入門として今回は扱いません。 すべての関数が値を返す 関数がすべての値を返すようにします。 // Good function hello() { return 'Hello' } console.log(hello()); // Hello // Bad function hello() { console.log('Hello'); } hello();// Hello これによりその返り値を利用し、さらに関数を組み立てていきます。 関数に副作用がない(参照透過) 簡

    JavaScriptで関数型プログラミングの入門 - Qiita
    Xray
    Xray 2014/03/31
  • 【個人メモ】bespoke.jsを使ってプレゼン資料を作成する - Qiita

    なんだこのプレゼンは? と思ったプレゼンをネット上で見かけた。 Build Warsへのリンク JavaScriptのプロダクトをうまい具合にビルドするためのツール、 Gruntとglupを比較したプレゼンだ。 gifアニメが多用されてるし、オサレでカッコイイ。 何使ってこのプレゼン作ってるんだ!?と思って調べてみたら、 このプレゼンの作者が自分で作っていた。 bespoke.jsというアプリだった。 bespoke.jsというプレゼンアプリを早速使ってみたい。 セットアップや、プレゼンのスケルトン作成って めんどくさいのかなと思ったんだけど、yeomanを利用して テンプレを作成する形になってて、 プレゼン作成準備に必要な手間は少ししかなかった。 bespoke.jsを使うまで bespoke.jsをセットアップするのに必要なツールは以下の通り。 node.js yeoman Mac O

    【個人メモ】bespoke.jsを使ってプレゼン資料を作成する - Qiita
    Xray
    Xray 2014/03/28