タグ

2016年12月17日のブックマーク (42件)

  • Linuxプロセスとカーネル読解のとっかかり - Qiita

    概要 Linux Kernelを読み解くためのとっかかりとしてLinuxのプロセスの理解(SoftwareDesign2014年8月号の特集参照)に焦点をあててみたいと思います。プロセス、スレッド、CPUについての話の後、最新カーネルのダウンロードからちょっとした中身の確認までやります。サンプルコードもありますが、サービス影響のあるサーバでは実行しないでください。 プロセスとスレッド プロセスとは Linux上で動いているプログラム スレッドが無い時はプロセスが実行単位 スレッドとは Linuxプロセスにおけるスレッド 「1つのプロセスの中で複数の実行単位を持てるように機能拡張したもの」(SoftwareDesign2014年8月号) CPUにおけるスレッド 「最小の処理単位」 プロセス2が終わった後に処理できるプロセス3がある例 スレッドを利用しない場合(左図) プロセス2の処理が終わる

    Linuxプロセスとカーネル読解のとっかかり - Qiita
  • A-5 HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージ : 雨ブロ 【雨川悠のblog】

    5月6 A-5 HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージ カテゴリ:イベント参加報告 セッション名:A-5 HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージA-5 LINE Global Culture 登壇者:Shunsuke.N氏 以下、メモと所感。 【メモ】 ■LINE Storage ユーザー同士の非同期なメッセージをやりとりするため、サーバーにメッセージを保存している マルチデバイスを対象としているため、それに耐えられるストレージが必要 ストレージに求められるもの ・Low latency ・0-downtime フェールオーバーとフォールトトレランス RedisとHBaseを適材適所で利用している Redisの利用開始当初、クラスタリング機能がなかったのでシャーディングして使っていた HBaseは書

    A-5 HBaseとRedisを使った100億超/日メッセージを処理するLINEのストレージ : 雨ブロ 【雨川悠のblog】
  • Redshiftに対してCopyコマンドを発行してみた | Luigi Advent Calendar 2016 #17 | DevelopersIO

    はじめに 好物はインフラとフロントエンドのかじわらゆたかです。 このエントリは『Luigi Advent Calendar 2016』17日目の内容となります。 今回はRedshiftに対してCopyコマンドを発行してみたいと思います。 先日16日目はRedshiftに対してのUPDATEとDELETEを実施してみたでした。 前回まででRedshiftに対する基的なアクセス方法について確認しました。 今回はCopyコマンドを用いたデータ取り込みについて実装してみます。 下準備 前回使ったTSVファイルとテーブルに対して、今回はジョブからデータ投入をしていきます。 1 Customer#000000001 IVhzIApeRb MOROCCO 0 MOROCCO AFRICA 25-989-741-2988 BUILDING 2 Customer#000000002 XSTf4,NCwDV

    Redshiftに対してCopyコマンドを発行してみた | Luigi Advent Calendar 2016 #17 | DevelopersIO
  • Docker の containerd 寄贈に関する発表(参考訳) ‣ Pocketstudio.Net

    概要 Docker が containerd を独立したファウンデーションに寄贈するという発表を 2016年12月14日に行いました。例によって、自分の整理用の翻訳ですが、公開します。 各発表に対する日語訳は正式なものではありません。私が趣味で翻訳しているものです。訳注、様々な意図を持つ言葉に対しては、( )内で原文と訳注を補足しています。ただし、翻訳の専門家ではないため、表現に拙い箇所があるかもしれません。その場合は遠慮なくご指摘いただければと思います。 原文は https://www.docker.com/docker-news-and-press/docker-extracts-and-donates-containerd-its-core-container-runtime-accelerate です。 以下翻訳。 Docker Extracts and Donate conta

    Docker の containerd 寄贈に関する発表(参考訳) ‣ Pocketstudio.Net
  • Angular 2アンチパターン集 - Qiita

    @armorik83です。Angularアドベントカレンダーの4日目となる日は、かつて好評だった拙記事"AngularJSアンチパターン集"にあやかって、Angular 2(以下、単にAngularと表記したときは2.0以上4未満を指す)について気をつけた方がよい点――アンチパターンをまとめたいと思います。 Angular 2.xでアンチパターンは起こりうるか Angular 1系とは大きくAPIが変わったAngular 2系。APIが大きく変わった理由として、Web標準により近い構成を取れるようにする目的がありました。例えば、angular.module()ではなくTypeScriptのimport fromをベースとするソース分割の仕組みであったり、ES2015 classを標準としたComponentやServiceの定義であったり、$qではなく標準のPromiseを使ったりなどで

    Angular 2アンチパターン集 - Qiita
  • GoReplayを導入して、Production環境へのリクエストを複製し、Staging環境に転送する仕組みを作った - Glide Note

    結構前に作っていたんですが、いろいろと忙しくてブログに書くタイミングを失していたので年末のタイミングで紹介。 TL;DR GoReplayを利用して、Production環境のリクエストを複製し、Stagins環境、開発環境に投げる仕組みを作った インフラ構成の大きな変更無しで、手軽にProduction環境の実リクエストを複製し、開発、動作検証ができるようになった 2016年の弊社サービスのDocker化や、インフラ構成の大幅な変更、ミドルウェアのアップデート、アプリの改修時のバグ事前検知と事故防止に大いに役に立った GoReplayの説明 GoReplay Goで書かれており、バイナリを設置し、オプションを指定し実行するだけで動作する アプリが稼働しているサーバで動く。(例えばNginx+Railsが稼働しているサーバで一緒にGoReplayを動かす感じ。) libpcap を利用して

  • ldflagsを使おうとしてハマったこと - Carpe Diem

    概要 golangではbuild時にldflagsというオプションをつけると、変数に値を埋め込んだ状態でバイナリを生成することができます。 よく使われるのはビルド時のgitのcommitのハッシュを埋め込んで、そのバイナリがどのcommitで作成されたのかを明らかにして「想定したバージョンでビルドができているか」や「複数のサーバ間で同じバージョンを使用できているか」などをチェックしたりします。 今回はそのldflagsを使う上でハマったことを書きます。 環境 go 1.7.4 ハマったこと go 1.5から書き方が変わった 以前はスペースで区切って go build -ldflags "-X パッケージ名.変数 値" でしたが、今は=を使って go build -ldflags "-X パッケージ名.変数=値" となります。 複数埋め込みたい場合は go build -ldflags "-

    ldflagsを使おうとしてハマったこと - Carpe Diem
  • Terraform+GPG で IAM User にログインパスワードを設定 | 外道父の匠

    AWSTerraform の記事を書くのってあまり好きじゃないんですけど、年末くらい1つ書いておこかなという義務感的なアレです、ハイ。 Terraform v0.7.8 から aws_iam_user_login_profile が追加され(CHANGELOG)、IAM User にログインパスワードを設定して、暗号化して state ファイルに保存できるようになったのでやってみましたという、たわい無い内容でございます。 概要 TerraformでIAM Userを作成します。管理画面ログイン用のパスワード設定も行い、パスワードは暗号化された状態で terraform.state に保存されます。 aws_iam_user_login_profile に書いてありますが、使用する公開鍵は base64 でエンコードしたものを直書きするか、keybase のユーザー名を入力することになって

    Terraform+GPG で IAM User にログインパスワードを設定 | 外道父の匠
  • AWSコマンドラインインターフェース(AWS CLI)でS3を構築してみる - ぺーぺーSEのブログ

    S3に関するAWS CLIには、高レベルコマンド(aws s3)と低レベルコマンド(aws s3api)がある。 低レベルコマンドがより細やかな処理が可能。 高レベルコマンド aws s3 $ aws s3 <Command> [<Arg> ...] Command 意味 cp オブジェクトのコピー ls オブジェクトの一覧 mb S3バケットの作成 mv オブジェクトの移動 rb S3バケットの削除 rm オブジェクトの削除 sync ディレクトリの同期 website Webサイトとして公開 バケットの操作 ■ aws s3 mb <S3Uri>:バケットの作成 $ aws s3 mb s3://test-trial-20160215 make_bucket: s3://test-trial-20160215/ バケット名はリージョンでユニークである必要がある 「s3://」スキームを

    AWSコマンドラインインターフェース(AWS CLI)でS3を構築してみる - ぺーぺーSEのブログ
  • CloudWatchEvents + Lambdaを使ったfluentdインスタンスのローリングアップデート - Qiita

    はじめに リクルートライフスタイル Advent Calendar 2016の2日目の記事ではELB経由のfluentd Aggregatorを安定化するためにやった3つの対策について書きました。 前記事で書いたようにAggregatorクラスタの数が増えて手動で行っていたデプロイが大変になってきました。また開発メンバーが増えたときに、デプロイ方法を共有してミスなく行えるようにするのも大変です。 そこでfluentd Aggregatorのローリングアップデートを自動化したくなり、CloudWatchEvents + Lambda + SQSで仕組みを作りました。 fluentdのデプロイ時に気をつけること fluentdはローカル上にバッファを持っているため、それを出力し終える前にインスタンスを落としてしまうと、ログのロストが発生します。 それを防ぐためにはバッファがなくなるまで待って、

    CloudWatchEvents + Lambdaを使ったfluentdインスタンスのローリングアップデート - Qiita
  • AWSハイブリッド構成のDNS設計レシピ

    ども、大瀧です。 AWSとオンプレミスのハイブリッド構成は、エンタープライズのAWS活用では定番となりつつあります。そんなAWSハイブリッド構成の設計でよく課題に挙がるのが、DNSです。このブログエントリーでは、使えるDNSサービスの種類とその特性をまとめ、いくつかの構成パターンを解説、比較してみます。 AWSハイブリッド構成とは AWSハイブリッド構成は、AWSでプライベートネットワークを構成するAmazon VPCとオンプレミスのネットワークを相互接続し、両方のサーバーリソースを組み合わせて利用するものです。VPCとオンプレミスとの接続は、プライベート接続として専用線 *1かインターネットVPN *2を利用します。 AWSハイブリッド構成で利用するDNSサービス DNSサーバーには権威サーバーとキャッシュサーバーの2種類がありますので、それぞれで利用できるサービス毎に並べてみました。[

    AWSハイブリッド構成のDNS設計レシピ
  • Elastic{ON} Tour 2016 東京 参加レポート - Qiita

    追記事項メモ 2016/12/19 : Shrink Index APIの使いみちに関して追記 はじめに 12/15に開催されたElastic {ON} Tour 2016 東京に参加しました。サンフランシスコで開催されているカンファレンスのサテライトのようなイベントで、世界中の各都市を回って開催されています。日での開催は去年に続いて2回目となります。 去年も参加しましたのでどんな感じに変わったのかも絡めつつ、アジェンダに沿ってレポートしてみようと思います。 なお、ユーザ事例については省略します。思ったより分量が多くなったのと、写真撮影、録音、録画がNGというユースケースもあったためです。 1. 早朝トレーニング 参加登録時点で既に満席だったためこれは参加できませんでした。後から動画が公開されるとのことです。 2. 受付、ネットワーキング、AMA (Ask Me Anything) 会場

    Elastic{ON} Tour 2016 東京 参加レポート - Qiita
  • https://qiita.com/chuck0523/items/43e65cd801e8c8489235

  • npm-scripts で作るフロントエンド環境の構築 | mediba Creator × Engineer Blog

    制作部の金森です。 フロントエンドエンジニアとして働き初めて丸7ヶ月が経過しました。 この記事は mediba Advent Calendar 2016 の 16日目です。 フロントエンド開発の現場においてタスクランナーを使わない日はないほど重要なツールになっています。 みなさんはタスクランナーに何を使っていますか? 最新のフロントエンドツール使用調査結果からThe State of Front-End Tooling 2016 - Results に拠ると、 タスクランナーを使用しない人は 19.5% から 10.97% に減っているGrunt を好む人は 27.5% から 11.75% に減っているgulp を好む人が 43.69% と一番多いnpm-scripts を好む人は 22.8% 増え 25.95% にという結果が出ており、gulp が一番支持されているものの npm-scr

    npm-scripts で作るフロントエンド環境の構築 | mediba Creator × Engineer Blog
  • Javaslang を試してみた - 覚えたら書く

    Java Advent Calendar 2016の16日目の記事です。 ※追記: Javaslangは、名称がVavrに変更になりました Javaで関数型プログラミングを行うためのライブラリとしてJavaslangが存在しています。 Javaslangは、Scalaの長所をJava言語にできる限り導入することを目的としています。 関数型プログラミング用のデータ構造や制御構造を提供してくれているようです。 関数型言語もモナドも詳しく理解していない私がとりあえず触ってみました。 利用準備 pom.xmlに以下を追加します。(今回のエントリを書くにあたってはバージョン2.1.0-alphaを使用しました) <dependency> <groupId>io.javaslang</groupId> <artifactId>javaslang</artifactId> <version>{javas

    Javaslang を試してみた - 覚えたら書く
  • ansible.cfgの項目をリスト化してみた - Qiita

    ansible.cfgのパラメータについて気になることがあって調べていたのですが、日語の情報が少ないと感じたのでまとめてみようと思いました。 下記に示したのは、stable-2.2にサンプルとして入っているansible.cfgから値を抜き出しています。(実際にはここに書いてないパラメータなどもいろいろあります) バージョンによっては使えないものがあったり、デフォルトの値が違う場合もあるので注意してください。 defaultsセクション パラメータ 項目 デフォルト値 備考

    ansible.cfgの項目をリスト化してみた - Qiita
  • ランサーズ流 React.js/redux アプリ開発入門 | ランサーズ(Lancers)エンジニアブログ

    はじめまして、森(@mori-dev) と申します。React.js/redux, Rails, Node を使ったアプリの開発を行っています。 このエントリーでは、ランサーズでの React.js/redux プロジェクトの設計/実装などの雰囲気がわかるような概要を書きます。 じっさいのプロジェクトのコードはそれなりのサイズですので、lancers-redux-sample-app という形で基的な部分を取り出しました。GitHub で公開しています。 https://github.com/LancersDevTeam/lancers-redux-sample-app コミットはすべて私になっていますが、チームの成果からの抽出です。フロント側の開発メンバーは私の他に @numanomanu さんと @takepo さんです。 ではコミットを追ってゆきます。パッケージ管理では yarn

    ランサーズ流 React.js/redux アプリ開発入門 | ランサーズ(Lancers)エンジニアブログ
  • Docker Composeで開発環境を作る - KAYAC engineers' blog

    Docker Composeはいいぞ! この記事はTech KAYAC Advent Calendar 2016の15日目の記事です。 こんにちは この6月にKAYACに中途入社し技術部でゲームのサーバーサイドを担当しているひだかです。 新卒でも中途入社でも研修などを終え実務に入った時に一番最初に悲しい思いをするのは開発環境構築の作業ではないでしょうか? 実際に私もあまり整備されていないドキュメントを何度も見て、長い時間をかけやっと構築完了したと思ったらミドルウェアのバージョンが違うとかで序盤からやり直しということがありました。 知らない言語やOSやミドルウェアやフレームワークやモジュール群を前に新人はあまりにも無力です。 そんな時はInfrastructure as Codeです。Dockerを使うのです。 誰でもボタンポチーで開発環境を立てられるDockerを使うのです。 幸いなことに

    Docker Composeで開発環境を作る - KAYAC engineers' blog
  • Dockerデーモンをチューニングする - Qiita

    この記事はDocker Advent Calendar 2016 の14日目です。 Dockerは最近インストールできなかったりして試せなかったのですが、一昨日にようやく復活させられました。 注意: 以下は個人で検証した内容です。あんまり正しいという保証はできません。 検証はUbuntu 16.0.4.1 LTSで行いました。そのためCentOSやUpstartを使う14.04などは違うコマンド・ファイルの参照が必要かもしれません。 Dockerのバージョンは1.12.3です。 dockerdをいじるために一旦止める dockerのサービスを止めます。 sudo service docker stop 1. Dockerをtcpで動かし、インターネット上からアクセスする -H オプション : 接続するソケットを指定する -Hオプションはunixドメインソケット、systemdソケット及びt

    Dockerデーモンをチューニングする - Qiita
  • https://qiita.com/Dr_ASA/items/cbdd0b74f93b80e775f3

  • 手書き文字認識エンジン「Zinnia」をDockerコンテナ上で動かす - Qiita

    手書き文字認識エンジン「Zinnia」とは? ZinniaはTaku Kudoさんが作成された手書き文字認識エンジンです。 説明には"機械学習アルゴリズム SVM を用いたポータブルで汎用的な オンライン手書き文字認識エンジン"と書かれています。 オンライン認識とオフライン認識の違いについてはこちらをご覧ください。 Zinniaを動かしたい理由 最近スマホ・タブレットでよく使われている手書き文字認識を使って遊びたい けどAPIは有料ばっかりで使いたくない... あ、Zinniaはタダで使える、これにしょう!!! Zinniaについて参考にしたサイトなど kaz_29@はてなさんのページで色々紹介されています。 shinichi-takahashiさんがQiitaで紹介されています。 Docker上で動かす理由 よくわからないエラーが起きたらいやだなぁ Dockerのイメージを作る 今回はu

    手書き文字認識エンジン「Zinnia」をDockerコンテナ上で動かす - Qiita
  • SaaSなしでもインフラCIを!GitLab CI + Docker + Ansible + serverspecでインフラCIを試す - Qiita

    SaaSなしでもインフラCIを!GitLab CI + Docker + Ansible + serverspecでインフラCIを試すGitLabDockerserverspecAnsibleGitLab-CI インフラ技術週間も最終日となりました。今週の1週間の記事を振り返ると実はすべてがDocker絡み。 何をやるにしてもDockerを中心としたコンテナベースで考えることが当たり前になってきている感じですね。 ということで最終日もDockerを絡めてGitLabを使ったインフラCIについて紹介します。 この記事を読むと何ができるようになる? 記事全文は長くなるので要点だけ書くと。 この記事ではGitLab(GitHubのようなGitを管理するOSS)を使ってAnsible(構成管理ツール)やserverspec(インフラテストツール)のコードをGit管理。Docker上のコンテナを使っ

    SaaSなしでもインフラCIを!GitLab CI + Docker + Ansible + serverspecでインフラCIを試す - Qiita
  • (レポート) MongoDB勉強会:MongoDB v3.4新機能と遅いときの切り分け方法 | DevelopersIO

    こんにちは、菊池です。 12/14(水)に開催された、MongoDB勉強会に参加してきましたのでレポートします。 告知ページ | MongoDB中級編:MongoDBが遅い時の切り分け方 主催はクリエーションライン株式会社様で、以下の2テーマで行われました。 MongoDB v3.4 の新機能について:クリエーションライン株式会社 CSO 鈴木 逸平 様 MongoDBが遅いときの切り分け方法:渡部 徹太郎 様 レポート 開催にあたって、勉強会の位置付け/主旨の説明がありました。 MongoDBが普及してきた。 すでにMongoDBを知っている人向けにトリッキーな所に着目してイベントを開催したい。 入門レベル/概要的な内容は、MongoDBだけではなく他のNOSQLを含めて比較する内容でやるべき。 MongoDB v3.4 の新機能について 2016/6にMongoDB World開催

    (レポート) MongoDB勉強会:MongoDB v3.4新機能と遅いときの切り分け方法 | DevelopersIO
  • DeepLearning研究 2016年のまとめ - Qiita

    DeepLearning Advent Calendar 2016の17日目の記事です。 はじめに はじめまして。 Liaroという会社でエンジニアをしている@eve_ykと申します。 今年もあと僅かとなりました。 ここらで、今年のDeepLearningの主要な成果を振り返ってみましょう。 この記事は、2016年に発表されたDeepLearning関係の研究を広く浅くまとめたものです。今年のDeepLearningの研究の進歩を俯瞰するのに役立てば幸いです。 それぞれの内容について、その要点や感想なんかを簡単にまとめられたらと思います。 特に重要だと思った研究には★マークをつけておきます。 非常に長くなってしまったため、興味のある分野だけ読んでいただければと思います。 言い訳とお願い 見つけたものはコードへのリンクも示すので、プログラミングに関係ある記事ということで… 分野的にかなり偏っ

    DeepLearning研究 2016年のまとめ - Qiita
  • EFK(Elasticsearch,Fluentd,Kibana)で簡単ログ基盤をdocker-compose使って立ち上げる - Qiita

    EFK(Elasticsearch,Fluentd,Kibana)で簡単ログ基盤をdocker-compose使って立ち上げるFluentdElasticsearchDockerKibanaEFK GoogleAnalytics一辺倒のWeb運用から自前のDWHなんかを立てる運用にWeb運用の主戦場が移り変わってきてると感じる今日このごろ。 Web界隈に生きるエンジニアとしてはログ基盤くらいちょろっと調達できなければいけません。 とはいえ何を使っていいのやらと悩むことも多いことでしょう。 勝手に鉄板構成 いろんな選択肢がある中から、下記の選定をしてしまうと楽な気がします。 ログ集める:Fluentd ログためとく:Elasticsearch ログ見る:Kibana Elasticsearchはけしてためとくのが得意じゃないので、ちゃんとためておきたい場合はS3とかファイルとかに出しておきま

    EFK(Elasticsearch,Fluentd,Kibana)で簡単ログ基盤をdocker-compose使って立ち上げる - Qiita
  • ScalikeJDBCをAkka StreamsのSourceにする (ScalikeJDBC + Reactive Streams) - yoskhdia’s diary

    Scala Advent Calendar 2016の15日目です。 バッチアプリケーションを作ることになったので、Akka Streamsを使おうかと考えました。 Slickだと標準でstreamメソッドが用意されているため、Akka Streamsとも連携させやすいですが、ScalikeJDBCが学習コストが低くて素敵だったので、コレをAkka Streamsに組み込めないか試したエントリです。 DBMySQLを使う前提ですので、ご注意ください。 (一部Postgresも引き合いにしてますが、OracleSQL Server等は調べてません。) TL;DR github.com 2017/05/20 追記 ScalikeJDBC 3.0に公式に取り込まれました。 github.com JDBCブロッキング問題 現在、JDBCは同期インタフェースしか提供されていません。 asyncな

    ScalikeJDBCをAkka StreamsのSourceにする (ScalikeJDBC + Reactive Streams) - yoskhdia’s diary
  • 続・MySQL データベースからテーブル定義書を生成する - わたねこコーリング

    以前書いた「MySQL データベースからテーブル定義書を生成する」が、地味にアクセスがあるようです(当社比)。ナウでヤングで意識高いギークさんには見向きもされないような類の古臭いイシューだと思ってましたが、平成27年のニッポンでは現在進行形の悩ましい問題だったりする訳ですかね? とまぁそんな訳で続編というか改訂版というか。前回記事では、ダンプした DDL を SQL::Translator という CPAN モジュールを使った perl スクリプトで XML 化した上で、それを XSLT で HTML 変換するという、ちょっとややこしい手順でした。その後、MySQL のダンプコマンド mysqldump には --xml というオプションがあって、こいつを使えば XML 形式の DDL がカンタンに入手できることが判明!(って今頃ヲイw つまり、 mysqldump --no-data -

    続・MySQL データベースからテーブル定義書を生成する - わたねこコーリング
  • phpMyAdmin on docker が便利すぎる - Qiita

    Docker使ってWEBシステムを開発している場合、コンテナでMySQLサーバーを起動することが定石だと思います。 で、このDBの中身をGUI的に操作したい場合、3306ポートをEXPOSEしちゃう? ....そんな必要はありません! DBGUI的に操作するコンテナ、つまりphpMyAdminコンテナがあればいいんです! phpMyAdminの公式Docker imageのページはこちら https://hub.docker.com/r/phpmyadmin/phpmyadmin/ 公式ならほぼ安心ですが、Docker imageには危険なexploitが埋め込まれていたりすることもあるので、Dockerfileも念のため確認しておきます。 やっぱalpineベースなんですね〜。万全を期すならばこのDockerfileを自前でビルドでしょう。 Dockerfileをダウンロードしてしかる

    phpMyAdmin on docker が便利すぎる - Qiita
  • MySQLのMyRocksストレージエンジンの話を中の人から聞いた - Qiita

    この記事はfreee Engineers Advent Calendar 2016の...っと、もう空きがないじゃないか! というわけで、急遽MySQL Casual Advent Calendar 2016の16日目としてお送りします。 MySQLエキスパートであるところのFacebook 松信嘉範さんによるMyRocks紹介プレゼンを聞く機会に恵まれたので、人の許可を得てその内容を公開します。 経緯 松信さんと自分は以前に同じ会社で働いていた元同僚で、彼のデビュー作「現場で使える MySQL」の元となったDBマガジンの連載時にちょっとお手伝いした縁もあり、その後も交流が続いております。 今回は松信さんがちょいと日に寄るというので事に誘ったのですが、ついでなので私の現職 freee株式会社のオフィス見学に来てもらい、「せっかくだから何かしゃべって」という図々しいお願いをしたところ、

    MySQLのMyRocksストレージエンジンの話を中の人から聞いた - Qiita
  • Redis 4.0 RC1 出たし、Redis モジュールを紹介してみる - Qiita

    TL; DR (予想外に長くなってしまったので) Redis 4.0 がもう来年には来そうです!モジュール機能が使えるようになりますよ! というわけで、現状作られているモジュールを紹介してみます 個人的に特に面白いな/便利そうだなと思ったのは以下です Redis graph: グラフデータベース redablooms: ブルームフィルタ redis-cell: レートリミット (Rust で書かれてる!) RedisEx: Redis 便利コマンド詰め合わせ redis-module-shm: 変態モジュール 年末年始は Redis モジュール作ろう! 編 Redis 4.0 RC1 is out! My blog post about it is here: https://t.co/sv37Um6Pgb — Salvatore Sanfilippo (@antirez) 2016年1

    Redis 4.0 RC1 出たし、Redis モジュールを紹介してみる - Qiita
  • [Python] 時系列CSVの読み込みを爆速化する - Qiita

    時系列データを分析する時、csv/tsvファイルからデータを読み込む処理をすることがよくありますよね。 数十MBに収まる容量のファイルならそこまで気にならないかもしれませんが、数百MB程度のファイルになると読み込むだけで数秒〜数十秒かかったりして、コードを実行する度に発生する待ち時間がストレスになってしまいます。 ここでは少しの工夫で読み込みの処理を爆速化出来る方法を紹介します。 実行環境 手元のMBPで実行時間の計測を行います。

    [Python] 時系列CSVの読み込みを爆速化する - Qiita
  • Apache Mesos だよ〜 - kuenishi's blog

    これは、 Distributed computing (Apache Hadoop, Spark, ...) Advent Calendar 2016 - Qiita の13日目の記事である。 AMPLab発のなかでも屈指の地味さを誇る、データセンタースケジューラとかデータセンターOSと言われるソフトウェア、 Apache Mesos を紹介しよう。この記事も5分ほどで読めるはずだが、その5分が惜しい人は 忙しい人の5分で分かるMesos入門 - Mesos って何だ? をご覧いただきたい。はい、なんというか、非常にわかりやすい。要するに、Mesosを利用するプログラムはMesos APIを叩いていろんなタスクを分散環境で起動、管理できるようになっているわけだ。これ以上のMesosそのものの紹介はもうあちこちでされているので、ここでは違った角度から紹介したい。 他製品との比較 個人の感想

    Apache Mesos だよ〜 - kuenishi's blog
  • Sparkの構成 | Hadoop Advent Calendar 2016 #14 | DevelopersIO

    こんにちは、小澤です。 この記事はHadoop Advent Calendar 14日目のものとなります。 1人でHadoopの話をする Advent Calendar 2016 - Qiita Hadoop Advent Calendar 2016 | シリーズ | Developers.IO 前回はHadoop上で利用かのなカラムナストレージの紹介をさせていただきました 今回はApache Sparkとはどういったものなのかについて解説したいと思います。 Sparkとは よく「Hadoop/Spark」などのようにHadoopと同じ並びで名前が上がることが多いSparkですが、果たしてSparkとは何者なのでしょうか?Hadoopとどのように違うのでしょうか? ということを今回は解説していければと思います。 Hadoopの技術スタックについてのおさらい まずはHadoopの技術スタック

    Sparkの構成 | Hadoop Advent Calendar 2016 #14 | DevelopersIO
  • Apache Sentryで始めるアクセス制御 (Hive編)

    Disclaimer: The opinions expressed here are my own and do not necessarily represent those of current or past employers.Twitter / Photos Disclaimer: The opinions expressed here are my own and do not necessarily represent those of current or past employers. Twitter / Photos この投稿はSpark, SQL on Hadoop etc. Advent Calendar 2014の5日目の記事です。 Apache Sentry(以下Sentry)を使えば、HiveやImpala、Cloudera Search(SolrCloud

    Apache Sentryで始めるアクセス制御 (Hive編)
  • Node.jsでLambdaを開発するならClaudia.jsがオススメ - Qiita

    この記事はServerless(2) Advent Calendar 2016 の16日目の記事です。 自身のプロダクトをClaudia.jsを使って開発しているのですが、今回はその紹介を書きたいと思います。 Claudia.jsとは Claudia.jsはオープンソースのLambdaデプロイメントツールです。Node.jsで作成したLambdaアプリケーションを簡易にデプロイすることが出来ます。API Gatewayと組み合わせることも可能です。 Lambdaのデプロイツール(フレームワーク)といえばServerless FrameworkやApexなど多数存在しますが、他のツールとくらべてClaudia.jsは何が違うのでしょうか? 最も大きな特徴は、Node.jsに特化しているという点です。ServerlessやApexのように複数のプログラミング言語に対応しているツールと異なり、C

    Node.jsでLambdaを開発するならClaudia.jsがオススメ - Qiita
  • Go でロックする - Qiita

    はじめに この記事はGo Advent Calendar 2016 の17日目の記事です。 並行処理をする時にはロックが重要になります。 GoではchannelとMutexという仕組みを提供しています。 この記事では色々なロックを作りたいと思います。 tl;dr channelでロックを作ることは有意義です。 ただ、Mutexのほうが良いこともあります。 良い方法を選びましょう ロック無し ロックの意味を確かめるためにも、まずはロック無しのコードから始めます。 func main() { counter := 0 for i := 0; i < 1000; i++ { go func() { counter++ fmt.Print("*") }() } time.Sleep(3 * time.Second) fmt.Printf("\n%d\n", counter) } この関数を実行する

    Go でロックする - Qiita
  • GitLabの運用方法をドーンと公開!! - pixiv inside [archive]

    ピクシブ株式会社 Advent Calendar 2016の時間です。今回はピクシブ株式会社でエンジニアをしている @catatsuy が担当します。今回は意外と書いてなかったのでGitLabを社内でどう運用しているかの話を書こうと思います。 GitLabGitHub ピクシブ社内では以下の2つの方法でソースコードを管理しています。 自社でホストしているGitLab GitHub Organization それぞれ以下の特徴があります。 GitLabのメリット 自社でホストしているため、アメリカにサーバーがあるGitHubよりもgit cloneでリポジトリをダウンロードする場合などは速い オープンソースのプロジェクトのため、社内のサーバーにインストールするだけで使える ソースコードを読めば内部でやっていることが分かる ユーザー数やリポジトリ数などで料金がかからないため、気軽に使える G

    GitLabの運用方法をドーンと公開!! - pixiv inside [archive]
  • プログラミング勉強を加速させる7つの習慣 - Qiita

    記事は自分が運営するブログに転載しています 株式会社LITALICOでWebエンジニアRails)を担当しています、@YudaiTsukamotoです。 この記事は『LITALICO Advent Calendar 2016』16日目の記事です。 はじめに 私は学生時代は情報工学の専攻でもなければ、趣味でプログラミングをやっていたわけでもなく、 社会人になってWebエンジニアとして初めてまともにプログラミングを勉強し始めました。 入社するまでに独学で勉強の真似事をしてはいましたが、そもそもどうやって勉強していいのか全然わからず、 を読んで写経をして何故だか理由はよくわからないが動作してしまうミニブログを眺めては、ため息を付いて挫折を繰り返しておりました。 そんな初心者だった自分が、Webエンジニアとしてべていくために気で努力して身につけたノウハウを、 「プログラミング勉強を加

    プログラミング勉強を加速させる7つの習慣 - Qiita
  • AWS Batchのプレビュー版を触ってみる #reinvent | Developers.IO

    こんにちは、虎塚です。 re:Invent 2016で登場したAWS Batchを少し触ってみました。 AWS Batchを動かす前のセットアップ方法と、Getting Startedの操作手順をご紹介します。なお、ウィザードにしたがって実行するとハマる部分があったので、記事ではAWS CLIを使った手順に書き換えました。 AWS Batchは、2016年12月16日現在プレビュー版です。正式リリースまでに、サービスや機能が変更される可能性があります。 セットアップ準備 Getting Startedに入る前に、次の準備をおこないます。 IAMロールの作成 Batchロールの作成 ECSインスタンスロールの作成 key-pairの作成 VPCの作成 セキュリティグループの作成 最新版のAWS CLIのインストール 1. IAMロールの作成 ステップで作成する2個のIAMロールは、AWS

    AWS Batchのプレビュー版を触ってみる #reinvent | Developers.IO
  • AWS Direct Connectでまさかのあそこと繋がった | TOKYO NEXT CLOUD

    この記事は Amazon Web Services Advent Calendar 2016 16日目のエントリです。 それにしても、なんでこのアドベントカレンダー、 こんなにも盛り上がってないんでしょうか 。AWSですよ?ネタいっぱいあるでそ?なんでこんなにスカスカなの?AWS勢は ブログ書かないの? えー、閑話休題閑話休題。 今回はDirect Connectの話です。実はこの話、まだ公にはなってないんですが という先輩からの指示のもとブログ書いていますw つまりどういうことなんだってばよ? これを こうして こうじゃ! Direct ConnectによってAWSとさくらインターネットが閉域網接続されましたwww ※ちなみに詳細は全然決まってません。。正式発表をお待ちください。。 で、ユーザーから見えるイメージはこんな感じです。(実際には接続部は複数経路があったりルーティング

    AWS Direct Connectでまさかのあそこと繋がった | TOKYO NEXT CLOUD
  • Pythonで作るサーバーレスな顔認識API - Qiita

    この記事はPython-AdventCalandar-2016の16日目の記事です。 こんにちは。Pythonしてますか?顔認識してますか?サーバーレスしてますか? この記事はPythonで手軽に顔認識APIサーバーを立てたいという方に向けた記事になります。アドベントカレンダーでは学術的な話を書こうと思っていたのですが、色々とタイミングが良かったのでこの題目にしました。 最初に宣言しておきますが、今回はAWSをフルに使っていきます。 顔認識について OpenCVで行うことも非常に容易ですが、今回はAWSをフルに使っていく!ということで、今年のre:inventで発表されたサービス「Amazon Rekognition」を使っていきます。 一言で言えば、物体や顔を高精度に認識したり、検索したりできる凄いサービスです(雑 詳細は https://aws.amazon.com/jp/rekogn

    Pythonで作るサーバーレスな顔認識API - Qiita
  • Dockerで開発運用するためのTips - Qiita

    WHY Docker縛りなので合わせました。 現職でインフラもやっているのでインフラを書くことにしました。インフラはTech-Circleで学びました。AnsibleとTerraformDockerじゃないけど役に立ってます。感謝!! インフラ、クロラー、検索機能、軽いフロント、開発環境改善、データ分析と幅広くやっているのでインフラ専任の人には劣るかもしれませんが頑張ります。 Dockerで開発、運用していると非効率な面や通常ではハマらない面でハマったりします。どのような場面で遭遇するか記述し、そのために行った解決策も追記します。 もっと良い方法が知ってるよって方がいればコメントしていただけると私だけでなくこの記事を読んで頂いた方のためにもなると思うので なお公式にはもっと詳しく記述されていると思うので詳しく知りたい方は下記をご参照ください。 この記事では開発のシーンにおいてどのような困

    Dockerで開発運用するためのTips - Qiita