Lau Taarnskovさんの2015年4月19日付のブログ記事、Elixir - The next big language for the webの翻訳です。 ElixirはErlangのVM上で走る、Rubyにちょっと似た(というのも作者(José Valim)がRuby on Railsのcoreチームメンバーなので)関数型言語です。 2012年に登場していてQiitaでもAdvent Calendarなどが既にあるようですがまだあまり知られていないですね。ElixirとPhoenix Frameworkを組み合わせたものがマイクロ秒のオーダーで反応が帰る爆速だそう(ホントかな~)で興味を持ちました。 しかしほんの10年前ぐらいの話がもう遥かな昔話に聞こえますね…。 (追記:実際にプログラムを書いてみました → Elixirで試しに何か書いてみる(その1) Elixirで試しに何
はじめてAPIサーバーの負荷試験を行ったので、その時に学んだ負荷試験の目的、準備やチューニング方法の例や難しいと感じた所などを簡単に紹介したいと思います。 負荷試験の目的 サーバー1台につき、「○○以上の性能は出ません。」という上限の数字を出す。 これがわかっていれば、アクセス数に対して、どれくらいのサーバー台数で耐えれるのかがわかります。 チューニングを行い、パフォーマンスを上げる。 サーバー1台の上限値を出す際に、1台のスループットが良ければそれにこした事はありません。その為、負荷試験時にチューニングを行い性能向上をはかります。 システムのスケールが可能な構成であることを担保。 サーバー台数を増やしても、負荷が分散しなくては意味がありません、ちゃんと負荷が分散する事を事前に確認します。 使ったもの ・Djangoで作成したAPIサーバー ・locust (pythonで書ける負荷試験ツ
class HelloWorldSpec extends Specification: def is = s2""" This is a specification for the 'Hello world' string The 'Hello world' string should contain 11 characters $e1 start with 'Hello' $e2 end with 'world' $e3 """ def e1 = "Hello world" must haveSize(11) def e2 = "Hello world" must startWith("Hello") def e3 = "Hello world" must endWith("world") /** This is the "Unit" style for specifications *
Ruby on Railsの登場以後、さまざまな言語でRailsタイプのフレームワークが普及する中、Javaは一人取り残されていました。そこでJavaプログラマ向けに登場したのが、GroovyによるRailsライクなフレームワーク「Grails」です。Groovyは、Javaではありませんが、Javaプログラマなら、ほとんどJavaと同じ感覚でスクリプトを書くことができます。第1回目はまず、Javaプログラマのために「Groovyとはどんなものか」について、ごくかいつまんで説明します。 はじめに Ruby on Rails(Rails)が登場して以後、さまざまな言語でRailsタイプのフレームワークが登場し使われるようになりました。そんな中、一人ぽつねんと置き去りになっていたのが「Java」でした。Javaの世界では、既にStrutsというデファクトスタンダードとなるフレームワークがありま
MacへのElixirインストール方法とEmacsのElixir設定手順をまとめてみようと思います。 EmacsにはAlchemistという強力なElixir開発サポートツールがあるので、設定と簡単な使用方法を書きます。 (私は普段Emacsを使っているため、エディタの設定はEmacsについてのみ書きます。ご了承ください。) Elixirのインストール homebrewでインストールします。 $ brew install erlang $ brew install elixir 特に複数バージョンのElixirを使う要件がなければこれだけで終わりです。homebrew便利ですね。 version毎のインストール rubyのrbenvみたいな複数バージョンのElixirを使いたい場合はexenvをinstallします。 $ brew install erlang $ brew install
「マイクロサービス(Microservices)」という用語が、Web企業を中心に注目を集めています。マイクロサービスという言葉には、「おや?」と思わせる吸引力があると思います。ここでは、このマイクロサービスとは何か、いままでの考え方とは何が違うのかを見ていくことにしましょう。 マイクロサービスについて簡単に説明すると、システムを複数のサービスの集合体として構成し、サービス相互をRESTful Web APIのようなシンプルで軽量な手段で連携する手法です。その最大のメリットは、小規模なサービス群を疎結合する作りにすることにより、「一枚岩」(モノリシック)のシステムの複雑さから自由になることです。つまり、マイクロサービスの考え方を導入することで、変化に強いシステムを作ることができるのです。 マイクロサービスを深く知りたい方は、まず James Lewis氏、Martin Fowler氏による
技術部の高井です。 最近、日本でもマイクロサービスという言葉が流行しつつあります。 今回は、なぜクックパッドがマイクロサービスを選択したのか、また実際にどのようなやり方をしているのかということを紹介します。 Conwayの法則 ここ数年の間、クックパッドはレシピの投稿・検索サービスから「食を中心とした生活のインフラ」として事業領域を拡大しつつあります。海外レシピサービスの買収による海外展開は、単なる金銭的な関係にとどまらず、人的・技術的な交流も含めて本格化しつつあります。また、「モバイルファースト」を標語とするモバイルアプリケーションへの取り組みも加速してきました。 事業領域の拡大やグローバル展開、モバイルファーストといったビジネス要求の変化に応じて、会社の組織構造も変化しています。そして、Conwayの法則 として知られているように、組織構造とソフトウェアアーキテクチャには密接な関係があ
許可の要らない著作物の利用方法・4 営利を目的としない上演等(著作権法38条) ライブやコンサートなどで音楽などを演奏する場合、著作者に著作権料の支払いが必要となります。 これは他人の著作物を使用してお金儲けをするわけですから、著作者にいくらかが還元されるべきであるからです。 営利を目的としない上演とは、営利行為でなく、かつ観客から料金を徴収せず、出演者にも出演料などで金銭等の支払いをしない場合を言います。 この場合は著作者に許可はいりませんし、著作権料の支払いも必要ありません。 ただしその著作物がすでに公表されている(不特定多数に公開されている)場合に限ります。 (営利を目的としない上演等) 著作権法 第38条第1項 公表された著作物は、営利を目的とせず、かつ、聴衆又は観衆から料金(いずれの名義をもつてするかを問わず、著作物の提供又は提示につき受ける対価をいう。以下この条において同じ。)
DynamoDBを大雑把にさくっと日本語で理解したい方向けの説明。 (まだ書き途中) API Version 2012-08-10 を元に書いています。 印象と感想 管理が楽! 容量の増加を気にしなくていい! スループットやパフォーマンスの監視、管理が楽! ソーシャルゲームでは、一部のデータではすごく良さそう 検索や集計は弱いから、MySQLと併用 レイテンシが低いと書いてあるが、memcache の方が当然早い テーブル設計の理解と指定方法がちょっと面倒 料金体系の理解がちょっと面倒 DynamoDBとは何か? 大雑把に NoSQL, スキーマレスなAWS上のデータベースサービス スケールに関して何も気にしなくていい まずは、公式サイトを読むと概要はわかります。 Amazon DynamoDB (フルマネージドNo SQLデータベースサービス) | アマゾン ウェブ サービス(AWS 日
12/09/05 監視対象のWebサービスのURLを間違えていたため修正しました RailsのAdvent Calendarを待ちわびていました. 今回は,WEB+DBの最新号のRails高速化記事で紹介されていたパフォーマンス監視サービスのNew Relicを使ってみた話です. New Relicは.newrelic_rpmというgemをインストールすることにより,レスポンスタイムやスロークエリなど,パフォーマンスに関するさまざまな統計情報をNew Relicのサイトでみることができます. Railsに限らずPythonやJavaなどいろいろな言語に対応しているようです. さらに,HerokuやDotCloudなどのPaaSにも対応していてやばい. HerokuのNew Relicプラグイン Herokuにホストしたアプリケーションを監視するためにはNew Relicプラグインを導入する
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
日越交流イベント「ベトナムフェスティバル2016 in 東北」が、10月1日(土)・2日(日)の両日、宮城県栗原市のイオンスーパーセンター栗原志波姫店特設会場(宮城県栗原市志波姫新熊谷11)で開催される。開催時間は1日が10時から18時まで、2日が10時から17時まで。入場無料、雨天決行。 同イベントは、2015年にベトナム建国70周年記念事業及び東日本大震災被災地復興支援の一環として初めて開催されたもので、今回が2回目。出店やステージを通じて、「食」「文化」「音楽」など様々なベトナムを紹介する。 ステージには、◇酒井法子、◇清貴、◇サンプラザ中野くん、◇時東ぁみ、◇ミン・トゥー(Minh Thu)、◇フオン・リー(Phuong Ly)、◇GYPSY QUEENなどが出演する。また、飲食店・物販店が多数出店する予定。来場者数は2日間で約1万人を想定している。 同イベントの開催に伴い、9月2
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
最初から再生 続きから再生 ↓以下はオプション。反映させるには「最初から再生」ボタンを押してください speed: 1 ×閉じる 短期でプログラミングを習得できる学習プログラム「TECH::CAMP(テックキャンプ)」を運営するdivの取締役に就任し、25歳の若きリーダーとなった中山紗彩さん。早稲田大学在学中には学生起業家として活躍し、新卒で入社した企業では新規事業の立ち上げを経験するなど、どんな環境にあっても常に高いビジネスマインドを持ち続けています。そんな中山さんの、周囲に流されない、わが道の切り拓き方に迫ります。 チームづくりは、納得いくまでとことん議論 私はリーダーとして、より良いチームを作ることや、ひとりひとりの可能性を引き出すことにフォーカスしていきたいと考えています。手前味噌ではありますが、弊社で働いているメンバーは本当に皆優秀で、初めてメンバーと接した際には、こうしたチーム
UnixやLinuxでコマンドを使っていると、標準出力とか、標準エラー出力などについての知識がなかったので、簡単にまとめてみます。 ついでに/dev/nullについても。 用語の説明 はじめにそれぞれの用語について、説明します。 項目 説明
カバレッジは、所定の網羅条件がテストによってどれだけ実行されたかを割合で表したものです。網羅条件が命令であれば、命令網羅と呼ばれ(またはステートメントカバレッジ、C0とも呼ばれます)、すべての実行可能な命令のうち、テストで実行された命令の割合を意味します。そのほかに、すべての判定条件(if文による分岐など)のうち、テストで実行された判定条件を意味する判定条件網羅(ブランチカバレッジ、C1とも呼ばれます)などがあります。 テストを実施するにあたって、カバレッジ (網羅率)を測定/分析することは、ソフトウェアの品質向上に非常に大きな意味を持ちます。なぜなら、カバレッジ情報からテストそのもの品質を定量的に測ることができるからです。テストのカバレッジを測定する方法は、コードや仕様、要件、設計など、さまざまな側面から計測する方法がありますが、単体テストの段階では、コードベースのカバレッジでテストの品
はじめに よく訓練されたアップル信者、都元です。当エントリはDevelopers.IOで弊社AWSチームによる2015年アドベントカレンダー 『AWS サービス別 再入門アドベントカレンダー 2015』の13日目のエントリです。昨日12日目のエントリは梶の『Amazon Inspector』でした。 このアドベントカレンダーの企画は、普段AWSサービスについて最新のネタ・深い/細かいテーマを主に書き連ねてきたメンバーの手によって、今一度初心に返って、基本的な部分を見つめ直してみよう、解説してみようというコンセプトが含まれています。 本日13日目のテーマは『AWS Elastic Beanstalk』です。 目次 サービスの基本的な説明 サンプルアプリを起動してみよう カスタムアプリをデプロイしてみよう サービス利用のユースケース あわせて読みたい 公式情報 Developers.IO関連エ
見て分かるとおり、プログラミング言語としてScalaやCeylon、Javaな人にはお馴染みのSpring BootやMavenなどもインストールできます。 これらをSDKMANでインストールすれば、バージョンも簡単に切り替えられますし、パスもわざわざ自分で通す必要がありません。 全てのファイルは$HOME/.sdkmanとうディレクトリに格納されるので、システム環境を汚すこともありません。 各プロダクトで新しいバージョンが出るとかなり早めにSDKMANから利用できるようになります。(というかだいたい即日) 先ほどのGithubのREADMEに有ります。 2015年12月22日現在ではcurl -s api.sdkman.io | bashというコマンドを実行すればOKです。 インストールが終わったら、ターミナルの再起動か、source .sdkman/bin/sdkman-init.sh
ファジングにおいてもっとも重要なのが、ファズをどのように作り出すかという点です。代表的な手法としては、次のようなものが挙げられます。 問題の生じる可能性が高いとされるデータ(制御コードを含む文字列や、境界値周辺の値など)をあらかじめ用意する 正常なデータを元に、一部を変化させて生成する 指定の範囲内で連続的に値を変化させて生成する ランダムに生成する 複数の手法によって生成されたファズを組み合わせて利用することもあります。多くのファジングツールでは半ば自動的にファズを生成する機能を持つため、それらのツールを利用することで専門的な知識がない状態でもファジングを始めることができます。 ファジングを巡る業界の動向 ファジングの根底にある"意図的に異常な入力を与えてソフトウェアをテストする"という考え方そのものは決して新しいものではなく、多くのプログラマが何らかの形で触れたことがあると思いますが、
Vincent Driessenさんの "A successful Git branching model" を翻訳しました。 元記事はこちら: http://nvie.com/posts/a-successful-git-branching-model/ (翻訳の公開と画像の利用は本人より許諾済みです) このブランチモデルの導入を補助してくれる、git-flowというGit用プラグインがあるそうです。 翻訳の間違い等があれば遠慮なくご指摘ください。 A successful Git branching model この記事では、私のいくつかのプロジェクト(仕事でもプライベートでも)で約一年ほど導入して、とてもうまくいくことがわかった開発モデルを紹介する。しばらく前からこれについて書くつもりだったんだが、今まですっかりその時間を見つけられずにいた。ここでは私のプロジェクトの詳細については書
NHKネットクラブは2019年11月30日(土)をもちましてすべてのサービスを終了いたしました。 これまでネットクラブをご愛顧いただき誠にありがとうございました。 【よくあるご質問】 ・「おかあさんといっしょ」「おとうさんといっしょ」の申し込みはどうなりますか? 「おかあさんといっしょ」「おとうさんといっしょ」は、9月募集分をもってプレミアム会員限定での募集を終了しました。番組参加へのお申し込みはイベント・インフォメーションをご覧ください。 ・イベント募集、番組観覧の申し込み方法は変わりますか? プレミアム会員限定の募集は9月末で終了いたしました。これまでプレミアム会員限定で募集していた各番組の観覧募集は、引き続きイベント・インフォメーションからお申し込みをお願います(それぞれの応募条件については、募集の際にお知らせいたします)。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く