You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
(2016/7/7、いただいたフィードバックを元に記事を修正いたしました。) JavaScript、特にNode.jsといえば、 コールバック地獄 がよく連想されます ^(1) 。たくさんの非同期I/Oを扱うコードを書いたことがある方には、おそらく以下のようなパターンはおなじみでしょう。 export default function getLikes () { getUsers((err, users) => { if (err) return fn(err); filterUsersWithFriends((err, usersWithFriends) => { if (err) return fn(err); getUsersLikes(usersWithFriends, (err, likes) => { if (err) return fn (err); fn(null, lik
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
Linuxサーバの「OSリソースのパフォーマンス分析方法」の3回目です。性能問題が発生して処理遅延やスループット低下が見られた場合や、将来的な処理量増加に備えて設備増強を検討する場合には、OSリソースの使用状況の分析が重要です。今回は、ストレージとネットワークの使用状況について、どのような観点から分析を行っていくかを解説したいと思います。 前回説明したこと OSリソースを大まかに分けると、CPU、メモリ、ストレージ、ネットワークの4つ CPUとメモリの使用状況について、どのような観点から分析を行っていくか 前回のページへ 注意 本稿の動作確認環境は、Red Hat Enterprise Linux 6.4(以下、RHEL6.4)+sysstat9.0.4です。 sysstatパッケージがインストール済みであることが前提です。 本稿に基づく運用については、お客様自身の責任と判断によって行って
FROM ubuntu:14.04 ENV HTTP_PROXY http://proxy.example.com:8080 RUN apt-get -y update && apt-get -y install nginx しかし当然ながら、このDockerfileから構築したイメージには プロキシ設定が埋め込まれる。 プロキシ環境下でしか使わないのであれば問題無いが、 それ以外の環境に持ち出す可能性がある場合は トラブルの元なので、できれば避けたい。 build-time argumentsの利用 build-time argumentsはdocker engine 1.9から実装された機能で Dockerfileのビルド時にパラメータを設定することができる。 Announcing Docker 1.9 build-time argumentsを利用することで、 docker run時
Erlangではプロセス間通信はメッセージパッシングを通して行うのが基本だが、それだとやりとりをするプロセス同士が一対多の関係(便宜上、前者をサーバプロセス、後者をクライアントプロセス(群)と呼ぶことにする)にある場合に、サーバプロセスのメッセージキューが詰まってしまい、スケーラビリティの阻害要因となることがある。 そういった時には以前の記事で書いたように、protectedないしpublicなアクセス権限のETSを使って、クライアントのリクエスト時にサーバプロセスとの間でメッセージパッシングが行われないようにする、のが定番の対策だと思っている。 そして自分のこれまでの用途では、ETSを使う場合、読み込み操作が(書き込み操作に対して)圧倒的に多いことがほとんどだったので、特に深く考えずにets:new(Id, [protected, {read_concurrency, true}])とい
Digdagのembulkオペレータは、Digdagで定義した参照をEmbulkの設定ファイルないで利用することができます。 下記の例は、my_pathという変数をDigdagで定義して、Embulkの設定で参照する例です。 この方法を利用することで、RubyやPythonで定義した変数をEmbulk内で利用することができるようになります。 Embulkオペレータとshオペレータそれぞれを利用することができます。 Embulkオペレータの場合 注意: Digdagのembulkオペレータは現状Liquidの機能は使えません。 ディレクトリ構成 /tmp/hoge | |-- config.yml # <-- Embulk設定ファイル |-- csv | `-- sample_01.csv.gz |-- hoge.dig # <-- Digdagファイル
はじめに ARP、Address Resolution Protocol、あーぷ 世界で少なくとも10億人は何らかの形で使ったことがあるはずのもの、ARP もう30年以上使われているプロトコルなのにいまだに人類はこのARP周りのトラブルに頭を悩まされている 今回はそんなARPについて以外と知られていないであろうマニアックなことを書きたいと思います 他にもこんなあるあるあるよ!という方は是非コメント下さい ARPは一往復で両機器のARP tableが更新される 例えばマシンA、マシンBがあったとして、マシンAがARP requestを投げ、マシンBがARP replyを返したとする。 この段階でマシンAがマシンBのARP tableを学習をするだけでなく、マシンBもマシンAのARP tableを学習する。 もっと言うと、同じセグメントにいるマシンCもマシンAのARP tableを学習する。
2014/9/3に行われた YAPC::Asia Tokyo 2014 Reject con で発表したトークのスライドです。Read less
Slack(スラック)便利ですよね。コミュニケーションツールとしてユーザーも増えていると思いますが、本日はGoogle(グーグル)カレンダーと連携してスケジュールを通知する方法を紹介します。 僕自身そうですが、スケジュール管理にGoogleカレンダーを使用している人は多いと思います。自分自信のスケジュールはもちろん、ビジネスシーンや家族等と特定のカレンダーを共有して使用するケースもあるでしょう。 そんなGoogleカレンダーをSlackと連携させると、さらに便利になるんです。 SlackとGoogleカレンダーを連携してできること SlackとGoogleカレンダーを連携すると、例えば以下のようなことが可能になります。 毎朝、その日の自分が予定しているスケジュールを通知 各予定の開始1時間前に通知 共有しているカレンダーに新しい予定が作成されたら通知 共有しているカレンダーの予定が変更や削
ぬいぐるみが好きな方のDBAです。 このエントリーは Tableau Serverで簡単にMySQLテーブルの容量(概算値)を時系列でモニタリング に対する8か月ぶりの当てつけエントリーです。はふん。 前提として、上記のTableau Serverでテーブル容量をモニターしているやつは、RDSのようですが、DBチームが戦うMySQLサーバーはデータセンターに設置されています。物理だったり仮想だったり、バージョンも上は5.7から下は4.0(そう、かつて 三日間戦争 を繰り広げたあのサーバーです、はふん)まで、information_schemaなんて存在しないMySQLもいっぱいあります。あと、くだんの環境はAWSで動いているようでナウいTableau Serverとかあるようですが、データセンター側にはそんなものはありませんので、自分たちで何とかしないといけません。 というわけで、データセ
@joker1007 メインのバッチ集計処理基盤として bigqueryを利用するために今取り組んでいること、 そしてそれを支えるfluentdとembulkの bigqueryプラグインの現状を解説します。 self.inspect @joker1007 Freelance (Ruby/Rails/JS/Redshift/Bigquery) パーフェクトRubyとかパーフェクトRailsとか 最近はアプリより基盤寄りの仕事が多い (株)Reproで仕事中 Repro Inc.の最新情報 - Wantedly Hireling Now 資料作成サボってて時間がやばくなってしまい、 業務時間使って資料作ってたので、 宣伝を入れるからってことで許してもらいました BQの利用背景 MySQLの限界 将来的にもデータ量は増え続ける 割とヘビーな集計処理がある できるだけ同時に算出したい 構成イメー
インターネットで資料探しをしていると、出版されている書籍と同じ内容のPDFがゴロンと置いてあってビックリすることがあります。以下に挙げるのは、そのような、“出版物と同等な内容”が無料公開されている理数系専門書のリストです。 紙の本とまったく同じものもありますし、ドラフト原稿が公開されているものもあります。紙の本の出版後もメンテナンスされていて、インターネット版のほうがより新しくより充実していることもあります。 例えば"Monoidal Functors, Species and Hopf Algebras"は、ハードカバー本は735ページで、現時点で24,650円もする大部な書籍です。公開されているPDFは書籍より増量して836ページあり、誰でも無料ダウンロード可能です。 著作権があやしいものは除外し、著者本人または著者の所属組織のWebサイト、あるいはarXiv.orgで公開されているも
これも、昔の先輩に教えてもらった話。よく憶えている。 その日は、ある大手企業のコンサルティングに行った後、近くの喫茶店で振り返りのミーティングをしていた。 先輩は、私に問いかけた。 「今日のメンバーの中で、一番優秀だと思ったのは誰だ?」 「リーダーのYさん…ですかね。彼の意見は非常に的確で、他の方と視点が違っていると感じます。」 「当たり。」 「ありがとうございます。」 だが、先輩の次の質問は、想定していなかった。 「じゃ、もう一つ聞くけど、一番給料が高いのは誰だと思う?」 「給料……?」 「そう、給料。」 「……一番優秀な人だと思いますから、リーダーのYさんですか?」 「本当にそう思う?」 私はあの部屋にいた人物を思い浮かべた。 リーダーのYさん、その脇に「メンバー」として年配の方が一人、Yさんと同年代の方が3名、若手が2名いた。彼らの発言を思いだす。 若手の一人はなかなか良い議論をして
ここがすごい、DCGAN 概要 写真と見間違えるこの画像、 引用元:dcgan_code 実は機械学習により生成したものらしいです。 DCGAN(Deep Convolutional Generative Adversarial Network)というプロジェクトにて公開されている技術です。 概念の「演算」もできる どういうことかと言うと・・・ 引用元:dcgan_code このように概念を組み合わせて新たな画像を生成することもできるらしいです。 この記事では、なぜこのようなことが実現できるのか理解するために、TensorFlowでDCGANに使われている基礎的な技術を実装してみました。 DCGANの技術を分解 DCGANの頭文字を分解すると・・・ Deep : 今流行りのDeep Learning Convolutional : 画像認識の分野で大きな成果を上げている畳み込みネットワーク
僕はiPhoneアプリの開発してるんだけど、Taxnoteという、確定申告の帳簿入力アプリに自動同期機能を付けて欲しいという要望が前から多かったんです。 なので、去年の9月ぐらいにParseという、自分みたいなサーバサイドできない人のためのサービスを作ってペチペチ3ヶ月ぐらい作っていたのだが、残念ながら、ザッカーバーグが育休から戻って来たと同時にサービス停止を決めてしまった。 ザッカーバーグは育児にちょっと疲れて、その勢いで僕の三ヶ月の努力を潰そうと決断したに違いない。 とまあ、そういうわけで、今年に入ってからRuby on Railsでバックエンドを作ろうと、久々に新しい言語というか、フレームワークを勉強してました。僕はあんまり勉強とかするのが好きではないので、どうやったら少ない時間で目的が達成できるか考えて、試したところ、すごく自分には効果があった方法が見つかったので、それについて書き
柴田: 今回の「しば談」は、株式会社プロコミット・代表取締役社長のの清水隆史さんにお越しいただきました。まずは最初に自己紹介をお願いします。 清水隆史さん(以下、敬称略): プロコミットはベンチャー、成長企業の採用支援を一貫してやっている人材紹介会社です。成長企業の定義は、いわゆるスタートアップ、シリーズAぐらいから、大きい所でいきますと、例えばDeNAやJINS、ユニクロといったメガベンチャーまで、IPO後の会社も含めてやっています。一貫して成長を続けている会社をターゲットにして、採用支援をやっています。業界のフォーカスは特にありませんが、結果的にやはりインターネットを中心としたIT系が顧客リストに多くいる会社です。 ベンチャーの生態系で最も大きな「人材」という課題を解決すべく起業柴田: もともとはどういうキャリアでいらっしゃったのですか? 清水: 私はもともと大学を出てすぐに非ネット系
すべてのAWSのサービスを 3行以下でまとめました。 AWSが色々ありすぎてわからん! 3行以下で誰かまとめて!!という思いで、AWSを3行で書いてるところがなかったので自分で作りました。 掲載した金額は最小使用時のもの。無料枠や大量購入割引(Volume discount)、あと転送量でかなり変わるので、参考程度に。 以下からのカッコよすぎな見出しは AWSクラウド製品のページ からのそのままの引用です。「 広範かつ奥深いコアクラウドインフラストラクチャサービス」って僕が言ってるわけじゃない! 広範かつ奥深いコアクラウドインフラストラクチャサービス なんのこっちゃ。 よーするに「基本サービスですよ」ってことらしい。基本サービス多すぎだろ・・・。 い。 コンピューティング AWS is 何 いくら?
DBから直接golangのモデルを生成するxoのご紹介¶ Webアプリを開発している時に、DBのモデル定義の方法にはいろいろなやり方があると思います。 xo は、 DBから直接 golangのモデル定義を自動生成するツールです。 PostgreSQL MySQL Oracle Microsoft SQL Server SQLite に対応しており、良く使われるRDBをほぼカバーしていると思います。 インストール¶ goのツールですので、 go get でインストールできます。 $ go get -u golang.org/x/tools/cmd/goimports (依存性のため) $ go get -u github.com/knq/xo
こんにちは。 @sumyapp です。 6月29日にSideCIチーム主催でテックイベント(勉強会)を開催しました!その様子をご紹介します:) 株式会社はてなさんのMackerelチームと共同で開催させて頂きました。 テーマは「エンジニア向けサービスを支える技術」です。 エンジニア向けサービスを提供している会社様3社に登壇して頂きました。(+弊社) sideci.connpass.com ダイジェスト 19:30~19:40 イベント内容や登壇者様、会場のご紹介 19:40~20:50 発表 + QA SideCIのインフラ構築を自動化した話 エンジニア向けSaaSを開発・運用するということ ~ Mackerelの場合 Mobingi: Have FUN! with Spot Instance DeployGateの作り方 20:50~21:00 懇親会の準備 & 宣伝タイム & 事後アン
Dockerで試行錯誤しているとき、コンテナを作ったり潰したりします。 コンテナを潰すにはdocker killコマンドにコンテナIDかコンテナ名を渡すわけですが、ここの補完が効いてくれたらいいのにと思って探してみました。 Docker公式リポジトリから頂いてくる docker/contrib/completion/ GitHubのDocker公式リポジトリの上記パスに、各種シェル用の補完設定ファイルが入っています。 私の環境(zsh+Prezto)の場合は、zsh用の_dockerファイルを~/.zprezto/modules/completion/external/srcに置きました。 補完が効いている状態でdocker killを叩いてTABを押すと こんな感じに補完候補が出てきます。 便利。
主にPostgreSQLで、アプリケーションがスケールしていくことを考慮に入れずに後で困ることになりがちな設計のポイント。今後巨大にスケールする必要が分かりきっている際には特に注意すべき点。 開発者として仕事を始める時には、参ってしまうほど覚えなくてはいけないことがあります。まず最初に言語自体、それから使っているフレームワーク特有のクセ、さらにその後(あるいはその前)にフロントエンド開発を織り交ぜ、そしてその先でデータをどこに保存するかを決めなくてはなりません。 最初の頃は、素早く身につけるべきことが多すぎて、アプリケーションのデザインにおいてデータベースは後から付け足すものになりがちです(おそらくこれはエンドユーザーエクスペリエンスに影響がないからでしょう)。その結果、データベースが動き始めてから直さなくてはならない数々の悪い習慣が存在しています。ここでは、そのうちのいくつかについて概要
mattnさんのエントリに触発されて、某所で使用したちょっと変わったgolangのチャンネルの使い方をご紹介します。 mattn.kaoriya.net 特定の処理の並列度をある程度までに抑えたい、みたいなコトありますよね? 例えばCPUヘビーな処理の並列数をたかだかコア数くらいまでに抑えたい、とか。 そんなときはバッファ付きチャンネルを用意しておいて、当該処理の前後でそのチャンネルにwrite/readをすることで、セマフォ的な制御ができます。 以下のようなカンジです。 package main import ( "fmt" "sync" "time" ) var ch chan int = make(chan int, 4) // 並列度を4に制限 func heavyFunc(i int) { ch <- 1 // チャンネルのバッファがイッパイになっていたら、ブロックする defe
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く