サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
teppei.hateblo.jp
こんにちは、freee 株式会社で CISO 兼 CIO をやっております。土佐です。 この記事は、裏freee developers Advent Calendar 2018 の 11日目の記事です。 当社は、クラウド会計freeeや人事労務freeeといったクラウドサービスをスモールビジネスのお客様向けに提供する会社です。クラウドサービスを提供する以上、我々自身もクラウドワークスタイルを体現しなければならないという、暗黙の認識が当社には存在していて、社内ITツールとして利用するもののほとんど全てが クラウドツール(SaaS)です。 クラウドツールを前提にした、IT投資の判断はそれまでのものとは異なるところがいくつもあります。それを踏まえて、クラウドツールの投資判断はどのようにすべきか、当社の経験から導き出された考えをご紹介したいと思います。 クラウドツールになってIT投資は何が変わった
GraphX Advent Calendar 2014 - Adventar 12日目です。ページランクアルゴリズムに予想以上に苦戦しているので、できるところから見ていきます ^^; 今日は Pregel です。 Pregel とは Pregel は Google が開発したグラフアルゴリズムを実装する ためのスケーラブルなプラットフォーム実装です。 Google のページランクアルゴリズムはこの Pregel というソフトウェアで稼働しているそうです。しかし、 Pregel のソースコード⾃自体は公開されておらず、論文が発表 されているのみです。GraphX は、この論文の内容を実装した関数を用意していて、利用可能な状態になっています。 GraphX で用意されている、ページランクアルゴリズムや、連結グラフ分類( Connected Components ) 等
Spark では、Spark UIというWEB画面が用意されており、実行中のSparkアプリケーションの稼働状況を確認することができます。 このSpark UIを見ると、どのJOB、Stageがどの程度時間かかっていて、あとどれくらい残っているかとか、どれだけRDDがメモリを消費しているかなどが分かります。 ところが、自分が実装した処理のどれが、どのJOBなのか、どのStageなのか、あるいは自分が作成したRDDオブジェクトがどれなのか、Spark UIを見てもよく分かりません。 RDDの区別は、setName を使えば、RDDに対して明示的に名前を設定できます。ただ、プログラム上でsetNameできるRDD以外にも内部的には色々RDDオブジェクトが生成されて、それがSpark UI上に表示されるのでよく分かりません。 もっとわからないのは、自分が実装したどの処理が、どのJOBか、どのSt
この記事は、インテルの SSG STOビッグデータテクノロジーグループのメンバーからDataBricksに寄稿されたブログを翻訳したものです。誤訳がありましたら、@teppei_tosaに御連絡ください。 Sparkは、その優れた性能、シンプルなインターフェイス、および分析や計算のための豊富なライブラリによって、幅広い業界で採用されてきています。ビッグデータエコシステムにおける多くのプロジェクトと同様に、Sparkは、Java仮想マシン(JVM)上で実行されます。Sparkはメモリに大量のデータを格納することにおいて、Javaのメモリ管理とガベージコレクション(GC)に大きく頼っています。また、プロジェクトTungstenなどの新たな取り組みは、将来のバージョンで、メモリ管理のさらなる簡素化と最適化を目指しています。しかし、今日時点でも、JavaのGCオプションとパラメータを理解しているユ
この記事は、Spark, SQL on Hadoop etc. Advent Calendar 2014 - Qiitaの21日目の記事です。 なぜ GraphX を推すのか 私は、GraphX Advent Calendar 2014 - Adventarを立ち上げて「全部俺」状態で頑張っています(だいぶ遅延を見せていますが…)。もしやと思っていましたが、誰も参加してきてくれる人がおらず、ブログのアクセスも全く伸びません(笑)ブログに限らず、GraphXの情報自体、非常に少ないです。そのため、ブログを書いて、情報量自体を増やしていこうとしているわけですが、なぜ誰もろくに見向きもしない GraphX という技術に、私はここまで熱くなっているのでしょうか。この記事は GraphX のアドベントカレンダーではないので、一度、改めて、私が GraphX に感じる魅力、それをどうしてみんなに知って
Apache Giraphは、グラフ構造データをHadoop上のMapReduceで分析するためのフレームワークです。 Hadoop2.2.0のGA版がリリースされて、俄に注目が集まっているのではないかと思います。 日本語の解説記事はこのあたりをご覧ください。 次世代Hadoopの特徴は、MapReduce 2とGiraph - @IT ビッグデータ処理の常識をJavaで身につける(5):グラフ問題とバルク同期並列の常識をGiraphで体得 (1/3) - @IT 大規模なグラフ・データの処理: 最新テクノロジーへのガイド Giraph - Quick Startを一通りやってみたのですが、書いてあるままやってもうまくいかないところがあったので、備忘も兼ねて、手順を残しておきたいと思います。 事前準備 私は、VirtualBox上にUbuntuを立ち上げて、そこで試しました。Ubuntsu
@kara_dさんに著書を献本いただきました。ありがとうございます!せっかくいただいたので、しっかり読み込んで、書評を書こうと思っていました。しかし、いざ読み進めてみると、思ってた以上に実践的な内容になっており、「これは書評はそこそこに、とっとと現場に持って帰って、チームのメンバーが読める状態にしよう!」と思いました。 もともとPlay Frameworkは、本家のドキュメントサイトも充実しているし、その日本語訳サイトもきちんとキャッチアップしているので、「入門」としての情報はそこそこネット上に揃っている状態です。書籍として入門書を書いたと聞いて、どの程度プラスアルファの情報を載せたのかと思っていたのですが、実に実践的な内容も含まれていて驚きました。 この記事では、個人的に「こんなところまで書いているのか!」と驚かされた内容について、軽く御紹介したいと思います。 Play Framewor
前回の記事でAsakusaがおススメだということを書きましたが、今回はではどうAsakusa Frameworkを始めるのかというところごご紹介したいと思います。 環境構築から、簡単なバッチアプリケーションを作るところまで通してやってみたいと思います。 尚、この記事でお見せするソースは、GitHubに上げているので、適宜ご参照ください。 環境構築 まずは環境構築です。 ちなみに、Mac OSX 10.7.5 上でやっています。(※別環境で、Mac OSX 10.6.8でテスト中にJobFlowのJarが見つからないという事象が発生しました。) Windowsで環境構築する方法はNode0(有償)を使う他にはありません。 Jinrikishaのインストール さて、これからHadoop環境を構築し、Asakusaの開発環境を構築していくわけですが、素でやるとなかなか大変です。しかし、Asaku
先週のCloudera World Tokyo 2013 で 講演させていただいた際に、Asakusa Frameworkの紹介をさせていただきましたが、マネージャー視点によっていたところがあるので、開発者視点の紹介を改めてしたいと思います。 尚、このブログでの記載は私が所属する会社とは何も関係なく、あくまでも個人の立場で書いているブログであり、会社を代表する発言ではありません。 Asakusa Framework とは Hadoop上でバッチアプリケーションを開発するためのフレームワークです。一定規模のバッチアプリケーションをHadoop上で開発するのであれば、現時点では他に選択肢は無いと言えると思います。 業務基幹バッチの置き換えに!みたいな文脈で語られることが多いですが、分析のための前処理といったロジックの更新頻度がある程度低くて、一定程度に大規模なバッチアプリケーションであれば広く
怖くないScala勉強会で「Scala稟議の通し方」を話してきました。 スライドはこちら。 Scala稟議の通し方(公開版) from teppei tosa スライドに使っていた大和田常務等の人物画像は権利関係が怖いので、こちらでは削除してあります ^^; 発表中のツイートをこちらにまとめてあります。 「怖くないScala」勉強会での「Scala決裁の通し方」発表中Tweet - Togetter 思ったてた以上にウケたみたいで、とても良かったです。 日経コンピュータの「奇跡のJAVA」特集で取材されたメンバーを中心にというコンセプトだったので登壇しました。しかし、本来であれば怖くないようにScalaを是非教えてもらいたい立場なので、発表内容には悩みました。結局、私の立場的にScalaに貢献できることといえば、エンタープライズに絡めた話だろうということで、エンタープライズな大人の人達にど
身内では私の猫狂いはよく知られているところですが、とうとう我が家の愛猫達を定点監視するガジェットを作ってしまいました。その名も「トイレにゃう」です!この記事ではそのノウハウを少し紹介したいと思います。 何故作ったか 一昨年の震災では、TwitterなどのSNSが安否確認に有効だったという声が多く聞かれました。震災をきっかけにTwitterやFacebookを始めた方も多いと思います。当時、私も妻もTwitterをやっていたのですぐにお互いの安否確認がとることができ、ひとまず安心しました。しかし、二人とも出勤中であったため、家の様子が分からず、猫達の様子が心配で四苦八苦しながら家路を急ぎました。 幸いにも、家も猫達も何も問題は無かったのですが、今後のことを思うとなんとかしたいなと考えるようになりました。「猫達もTwitterしてくれればいいのに…」「..させちゃおう!」というのが発想の元です
仕事でシリコンバレーの出張があったので、フリーの時間に現地の勉強会に飛び込んでみよう!と思い立ち、参加してきました。 私は普段は特に英語を使う訳ではなく、年に1度の出張がある程度です。技術力も、そこまででもないと思います。そんな私でも、なんとかやってきました。俺もやってみようかなと思う人のために、今回やったことを残しておきたいと思います。 現地日本人エンジニアの協力 もちろん、私一人で何もかもやったわけではありません。今回、多大なご協力を @everpeace さんにいただきました。彼はシリンコバレーに駐在する日本人エンジニアで、プログラミングScalaの翻訳メンバーの一人でもあります。彼に、そもそもの今回の勉強会の参加の仕方や、当日の会場の行き帰り、プレゼン最中のスライド操作、Q&Aサポートなど、ものすごく助けてもらいました。本当にありがとうございます。持つべきものは友です。彼の協力が無
※ この記事は、Scaldingのgithub上の、branch/0.9.0のReadmeと、Getting Startedをまとめた超訳です。 Scalding とは Scaldingは、Hadoop上のMapReduce開発を簡単にするためのScalaライブラリです。MapとReduceの機能をベタに書くよりも、よりScalaっぽいコーディングを可能にしてくれます。Pig に似ていますが、ScalaとJVMに統合させるためのより高度な抽象化を提供してくれます。 ScaldingはCascadingをベースにしています。Cascadingについては、Hadoop Cascadingメモ(Hishidama's Hadoop Cascading Memo)にて分かりやすく解説されています。 また、Hadoop環境を構築しなくても、MapReduceプログラムを稼働させることが可能で、非常に
この記事は、Play or Scala Advent Calendar 2012の22日目の記事です。 ここではscala-activerecordのPlay2での利用について紹介したいと思います。 scala-activerecordは、ASE社のa_onoさんらが開発したScala用・国産ORMです。 scala-activerecordは以下の三つの大きな特徴を持っています。 Ruby on Rails の ActiveRecord のようなインターフェース XMLレスな O/R マッピング DB接続に関するコードがほぼ不要 私は、Anormとの比較しかできませんが、Anormと比べて(比べるな?)、涙が出るほど使いやすいです。実際に、今年のAward向けに開発した、はてブちうで使わせてもらいました。 Play用のサンプルもgithub上にありますが、解説はほとんどないので、Play
Play! framework Advent Calendar 2011 jp #play_ja : ATND の9日目です。 Play framework で、Pjaxを実現する方法について書きます。 Pjax については、pjax こそが pushState + Ajax の本命 - punitan (a.k.a. punytan) のメモが詳しいのでそちらを参照してください。簡単にいうと、Ajaxを使って画面の一部を動的に更新する仕掛けなんだけど、URLもページの中身に合わせてちゃんとしていますよ、というものですね。Pjax を使うととてもスマートな開発しているように感じられて、いい気持ちになれますよ。 サンプルソースは、ironpeace/PlayPJAX · GitHubにアップ済みです。このサンプルを元に説明していきます。 まずは画面実装 #{extends 'main.htm
Twitter Engineer Talks About the Company's Migration from Ruby to Scala and Javaを翻訳しました。 ※ Google翻訳ツールキットの試行も兼ねています。 TwitterはRuby on Rails を活用していることで有名ですが、サービスが拡大していくにつれて、コードの一部を他の技術に移行してきています。同社はバックエンドのメッセージキューの実装をScalaに移行 することから始め、バックエンドの検索をJavaで再構築することを継続し、最近では検索処理のフロントエンドを Java サーバに置き換えました 。 InfoQは、Twitterのエンジニア、エヴァン・ウィーバーにインタビューを行いました。彼は、この変革についてより詳しく説明いてくれています。 興味深いのは以下のポイントです。 Twitterでよく使われ
2011年6月12日現在の最新版Play Framework、Scala Moduleのyabe(Yet Another Blog Engine)作成チュートリアルを和訳しました。 バージョンは、以下の通りです。 java : 1.6.0_24 scala : 2.8.1.final play : 1.2.2RC1 scala-module : 0.9.1 yabeチュートリアル その1 プロジェクトを始める - teppei studio yabeチュートリアル その2 データモデル1巡目 - teppei studio yabeチュートリアル その3 最初の画面を作る - teppei studio yabeチュートリアル その4 コメントの投稿と表示 - teppei studio yabeチュートリアル その他メモ - teppei studio
どうも最新のVersionでliftの入門的な情報が、日本語ではなかなか無いので、本家Todo Sample Application | Lift Space | Assemblaを和訳してみることにする。一部、筆者注記を入れています。 尚、ここで扱うバージョンは以下の通り。 java : java version "1.6.0_22" scala : Scala code runner version 2.8.1.final lift : 2.2 final まずは、このサイトのチュートリアルを開始する前に、ブランクプロジェクトを作成する。 mvn archetype:generate \ -DarchetypeGroupId=net.liftweb \ -DarchetypeArtifactId=lift-archetype-basic_2.8.1 \ -DarchetypeVersi
scala on slim3 on GAE with twitter4j で OAuth認証してタイムラインがとれたので、ソースをメモっておく。 まずは、Twitterアプリケーション画面 で twitterにアプリケーション追加 注意すべきなのは、「アプリケーションの種類」の設定。一度、アプリケーション登録したあと、編集するとこれが選択できるようになっているので、「ブラウザアプリケーション 」を選択しておく。「コールバックURL」は適当でヨシ。 参考サイト:TwitterのOAuthでCallbackさせるときの注意点 - speg03の雑記帳 Scala on Slim3 プロジェクトの準備 Slim3をScalaで動かすためのいろいろ - ゆるよろ・オブ・ザ・( ;゚皿゚)ノシΣ フィンギィィーーッ!!! 日記 を参照。 IndexControllerを作成 ant gen-sca
ローカル環境でswfを再生した場合に、セキュリティサンドボックス侵害というエラーに 悩まされた事があるので、その対応方法について。 参考: Adobe ActionScript 3.0 * 管理ユーザのコントロール 別ドメインのswfに対してアクセスを行った場合に発生し、 ExternalInterfaceを使用しJavaScriptと連携するような場合は注意が必要となります。 SecurityError: Error #2070: セキュリティサンドボックス侵害 これはFlashPlayerが悪意のあるswfを再生しない為のもので 信頼できるswfでなければセキュリティサンドボックス侵害エラーを発生させ 実行環境を守る為のもの。 その為、信頼できるswfであることをFlashPlayerに教えてあげる必要がある。 <対応方法> ■ Macromedia/FlashPlayer/#Secu
こんにちは。freee の土佐です。 これは [GYOMUハック/業務ハック Advent Calendar 2019](https://adventar.org/calendars/4192) の 23日目の記事です。 この記事では、[GYOMU Hackers Night vol.15 業務改善の社内価値の計測方法](https://gyomu-hackers-guild.connpass.com/event/152757/) で LT した内容をそのまま紹介したいと思います。 GYOMUハックとは そもそも GYOMUハックとはどういう仕事なんでしょうか。 私はGYOMUハックは、要はフルクラウド時代の社内システム開発の仕事だと思っています。 下図の左半分のように、オンプレミス時代の社内システム開発は、その多くがオーダーメイドの開発が必要なものであり、業務要件に合わせてシステムを作り
このページを最初にブックマークしてみませんか?
『TEPPEI STUDIO』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く