タグ

ブックマーク / codezine.jp (14)

  • プロダクトを成功させるため、はてなのCREがやっていること~成功を導く3つのドッグフーディング

    はじめに 井上大輔(@a_know/GitHub: a-know)と申します。株式会社はてなCRE(Customer Reliability Engineerの略称、詳細は後述)という職種として業務に従事しています。担当プロダクトは、サーバー監視サービスのMackerelです。 現在の所属に至るまでの間、製造業のシステム子会社やいくつかのWeb系企業でのシステム開発・運用業務を経験してきました。いわゆる"Webサービス"が好きで、余暇の時間で趣味のサービスを作ったり、そのためのインプットをしたりしています。 また現在は、出身が岡山ということもあり、家族の事情などを考慮し、昨年7月から岡山県倉敷市に住まいを移し、フルリモートで仕事をしています。 "CRE"について みなさんは"CRE"(Customer Reliability Engineer)という職種をご存知でしょうか。かのGoogl

    プロダクトを成功させるため、はてなのCREがやっていること~成功を導く3つのドッグフーディング
  • クラウド・ネイティブのお作法(2)「リトライ」~効率的なリトライ手法「Exponential Backoff and jitter」とは何か

    こんにちは。アマゾンウェブサービス クラウドサポートエンジニアの小武です。Amazon EC2、Amazon RDS、Amazon Redshiftなどのサービスの他、AWSの内部を支える裏側の技術に日々Dive Deepしています。連載ではAWSサポートのエンジニアがそれぞれ「今一番AWSユーザーに伝えたいこと」を連載の形でお届けしています。 私の担当回では、AWSという巨大な分散システムを支える技術要素のうち、アーキテクチャ設計、プログラミング技術のいくつかについて見ていきたいと思います。これらは、AWSの内部を支える技術というだけでなく、皆さんのアプリケーションをダウンタイムゼロのシステムに近づけるための基礎技術、クラウド・ネイティヴなアプリケーションを構築する基礎的なテクニックとも言えると思います。 その基礎的なテクニックは大きく、下記の4つがあります。 非同期処理(Asynch

    クラウド・ネイティブのお作法(2)「リトライ」~効率的なリトライ手法「Exponential Backoff and jitter」とは何か
    syou6162
    syou6162 2018/05/24
  • 「Angular 2」のデータバインディングとディレクティブ記述法

    はじめに Angular 2はGoogleとオープンソースコミュニティで開発されているJavaScriptフレームワークで、現行AngularJS(AngularJS 1)の次期バージョンです。2016年8月時点のバージョンは2.0.0-rc.5で、まもなく正式リリースという状況になっています。Angular 2はAngularJS 1に対して多くの変更点があり、コードの記述法も基的に異なります。 AngularJS 1ではビューとデータモデルを関連付けるデータバインディングや、ディレクティブと呼ばれる独自のHTML記述が利用できました。これらはAngularJSの特徴として真っ先に言及される機能で、Angular 2でももちろん利用できます。しかし記述方法が微妙に異なっており、最初は違和感を感じるかもしれません。 そこで記事では、Angular 2でデータバインディングやディレクティ

    「Angular 2」のデータバインディングとディレクティブ記述法
  • Elasticsearchを用いた日本語検索システムの理論と設定

    連載は、対話インターフェースを利用して新しい形の検索システムを体験してもらうことを目的としています。今回は日語検索システムでよく用いられるElasticsearchを紹介します。Elasticsearchは大規模なデータに対しても適用可能な検索機能を提供している全文検索エンジンです。特徴としてスケーラブル、検索速度の速さ、検索結果の分析のしやすさ、開発者にとって使いやすいRESTfulなAPIが挙げられます。今回の記事はElasticsearchを用いた日語検索システムの仕組みから設定の部分までを記述し、次回の記事で実際に動作させてもらいます。 連載の内容 連載で紹介予定の内容は次のとおりです。 Step1:Elasticsearchを用いた日語検索システム 対話型の検索システムを作成するためのStep1として、Elasticsearchを用いた日語検索システムの構築方法を紹

    Elasticsearchを用いた日本語検索システムの理論と設定
  • BoostでC++0xのライブラリ「TR1」を先取りしよう (5)

    クラステンプレート: unordered_set TR1にはハッシュ表を使った4種のコンテナが定義されています。 unordered_set : 要素の重複を許さない集合 unordered_multiset : 要素の重複を許す集合 unordered_map : 要素の重複を許さない辞書 unordered_multimap : 要素の重複を許す辞書 これらを代表してunordered_setについて、その概要を説明します。 namespace std { namespace tr1 { // [6.3.4.3] Class template unordered_set template <class Value, class Hash = hash<Value>, class Pred = std::equal_to<Value>, class Alloc = std::alloca

    BoostでC++0xのライブラリ「TR1」を先取りしよう (5)
    syou6162
    syou6162 2011/11/01
    insertionはrehashしといたほうが早い
  • Hadoopのインストールとサンプルプログラムの実行

    前回はGoogleの基盤技術とそれに対応するオープンソースソフトウェアとして、Hadoop & hBaseを紹介しました(図1 参照)。今回はHadoopを1台にインストールし、サンプルプログラムを動かします。次にHDFSとMapReduceのアーキテクチャを解説します。最後にサンプルプログラムのソースコードを解説します。 2. Hadoopの概要 Hadoopは主にYahoo! Inc.のDoug Cutting氏によって開発が進められているオープンソースソフトウェアで、GoogleFileSystemMapReduceというGoogleの基盤技術のオープンソース実装です。Hadoopという名前は開発者の子供が持っている黄色い象のぬいぐるみの名前に由来しています。HadoopはHDFS(Hadoop Distributed File System)、Hadoop MapReduce F

    Hadoopのインストールとサンプルプログラムの実行
  • find/grep/xargsコマンドを使いこなす 業務で楽するためのUNIXテクニック集「検索」編

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    find/grep/xargsコマンドを使いこなす 業務で楽するためのUNIXテクニック集「検索」編
  • Google、さまざまなグラフ画像をURLだけで生成できる「Google Chart API」公開:CodeZine

    Googleは、折れ線グラフや円グラフといった画像をURLパラメータだけで生成できる「Google Chart API」を発表した。例えば以下ののようなURLで、次のようなグラフを作成できる。

  • 脱 超初心者 Javaアルゴリズム問題集 第1回:CodeZine

    「アルゴリズム(algorithm)」は、何らかの目的を果たすための手順や方法です。開発の世界では、数行のプログラムから大きなシステムに至るまで、大小さまざまなアルゴリズムが存在します。 現在では、便利なライブラリが各種提供されているため、自分で作成する必要もなくなってきましたが、アルゴリズム知ることでプログラミングの基礎力、応用力を養うことができます。連載では、基礎から応用まで全10回に渡ってJavaによるアルゴリズムの例題を紹介します。プログラム経験が3ヶ月もあれば十分解くことができるでしょう。最初は腕慣らしから始まります。 問題にはポイントやヒント、さらにランク分けをした作成目安時間を書いていますので、解答例を見ずに「Aランク」を目指して挑戦してみてください。再挑戦をする場合の時間は、元の時間から-30%くらいを目安にしてください(例えば1回目が60分の場合、2回目は48分)。第1

  • CodeZine:OpenIDを使ってみよう(openid, 認証方法, Perl)

    はじめに OpenIDは最近非常に注目が高まっている認証技術の一つです。ここでは、OpenIDを利用したPerlのサンプルを通じてOpenIDのメカニズムに触れていきたいと思います。必要な環境 Perl 5.8以上が動作する環境が良いと思います。基動作の確認はMac OS Xを利用しましたサンプルの紹介 早速サンプルコードの「openid-test.cgi」を見ることにしましょう。このサンプルはOpenIDを利用した簡易ログインページです。 #!/usr/bin/perl use strict; use warnings; use CGI; use Net::OpenID::Consumer; #use LWPx::ParanoidAgent; use LWP::UserAgent; my $query = CGI->new; $query->charset('utf-8

  • Javaにおけるイメージのフィルタ処理:CodeZine

    はじめに イメージの加工については、単純に描画を組み合わせる方法の他に、イメージ全体の色値を特定の方法に従って変換する、いわゆるフィルタ処理があります。フィルタ処理は、そのための機能を提供するクラスがいくつか用意されています。それらの使い方を理解することで、ごく基的なフィルタ処理を実装できます。今回は、フィルタ処理全般について説明を行うことにします。過去の記事第1回 JSP/サーブレットでイメージを生成する第2回 Graphics2Dによる描画第3回 サーバサイドJavaにおける画像ファイルの読み書き 対象読者Javaの基およびJavaによるWeb開発の基礎(JSP/サーブレット程度)をマスターしている人。グラフィック関連のプログラミング経験があまりない人。Javaのグラフィック処理を学び直したい人。 イメージをセピア色にする イメージの加工と言うと、形状の加工の他に、イメージの状態に

  • Adobe製、フリーのJavaScriptエディタプラグイン「JSEclipse」:CodeZine

    Adobeは2日、Adobe Labsを通じてフリーのEclipse用JavaScriptエディタプラグイン「JSEclipse」をリリースした。今回のバージョンは「prerelease 2」となっている。 JSEclipseはAdobe Labsのサイトから無償でダウンロードすることができる。なお、ダウンロードするためにはAdobe IDの登録が必要。また、Eclipseプラグインであるため、Eclipseを使用できるようにしておくことが必要となる。 ダウンロードしたzip形式のファイルを解答し、pluginsフォルダ内の「com.interaktonline.jseclipse_1.5.5.jar」とfeaturesフォルダ内の「com.interaktonline.jseclipse_1.5.5.jar」ファイルを、それぞれEclipse体のpluginsフォルダとfeatur

  • CodeZine:Eclipseでマウスを使わずに効率よくプログラムを作成する(Eclipse, ショートカット, プラグイン)

    はじめに 春になり、新しく入学/入社する新入生や、新社会人が増えてきたことと思います。稿では主にフレッシュマンを対象にJavaの統合開発環境であるEclipseの使い方を説明します。従来のEclipse紹介記事などではEclipseのプラグインに関して注視しがちですが、稿ではEclipse体に注力し、あまり有効活用されていない機能について説明します。対象読者 今回の記事は当に簡単なことについて書いてあります。よって、事前知識は不要で、対象とする読者はJavaプログラムを始めたばかりの人を想定しています。また、実際に現場で日々プログラムを書いている方も、「こんな方法があったのか」と新しい発見があるかもしれません。 状況が想定できませんが、事情により開発でマウスが使えない方にも有益な情報になると思います。必要な環境Eclipse SDK 3.1.2 作成するサンプルプログラム 作成する

  • Web 1.5的マッシュアップ:CodeZine

    はじめに 「Web 2.0」という言葉にソワソワしているアナタ。そう、そこのアナタです。どうっすか? coolなcode書いてますか? 短めの茶髪をツンツン立ててますか? 流行のメガネ男子をやってますか? あ、さっそく脱線してますね。すいません。 「Web 2.0」という言葉には、明確な定義がないため、非常にあいまいな使われ方をしています。なんとなく「Web 2.0」っぽいとか言われても、人によって基準が違うので、概念を共有できる保障がありません。言葉だけが一人歩きしてしまったために、バズワードだという識者もいます。 「Web 2.0」的と言われているサービスでは、新しい技術によって何かを成しているというよりも、既存の技術の捉え方を変えたり、組み合わせたりして、新しいサービスを実現していることがほとんどです。「Web 2.0」を新しい技術だと捉えると、質を見失ってしまう危険性があります。

  • 1