2015年6月17日のブックマーク (20件)

  • バッチ処理、ジョブ管理について書いてみる - wyukawa's diary

    僕はHive, Pythonでバッチ処理を書いてAzkabanでジョブ管理するシステムを構築、運用した経験が2年ほどあるので今日はバッチ処理、ジョブ管理について書いてみようと思います。 僕の経験上Hadoop特有の部分、例えばテスト環境が作りづらいとかバッチサーバーはジョブをsubmitするだけなので負荷はそんなにかからないとか、はあるけれど割と汎用的なのではないかと思います。そもそもバッチ処理、ジョブ管理について書かれたものはほとんど見た事がないので参考になれば嬉しいし、こういう良い方法もあるよ!とかあれば是非ブログ等に書いてほしいと思っております。 最初に言っておくとバッチ処理、ジョブ管理において重要なのは障害時のリカバリのしやすさです。正常時はまあいいでしょ。 なので例えば引数に日付を持てないようなバッチ書いたら辛いですし、LL言語で書く方がコンパイル、パッケージングとか楽です。CP

    バッチ処理、ジョブ管理について書いてみる - wyukawa's diary
    iekusup
    iekusup 2015/06/17
    ほー。
  • レガシーな開発体制・開発環境改善のために取り組んできたこと - YAPC::Asia Tokyo 2014

    創業100年以上となる大手経済新聞の電子版サービスの開発体制・開発環境の改善の取り組みについて ウェブサービスを提供するベンチャー企業の多くは開発体制を内製化しています。 ユーザーに対してよりよい体験を提供するためには、内製化によってサービスの改善プロセスを高速に回す必要があるためでしょう。 こうしたウェブサービスの開発トレンドを採用し、ウォーターフォール・外部委託がメインであった「レガシー」な体制を改善している活動とそれにあたって苦労した(している)点について、お話させていただきます。 開発チーム体制の変更 情報共有ツール(Slack/Qiita:Team)の導入 github上でのpull-request型開発プロセス スマホアプリ・API開発内製化 ユニット・E2Eテストの導入 インフラ構成の自動化

    レガシーな開発体制・開発環境改善のために取り組んできたこと - YAPC::Asia Tokyo 2014
    iekusup
    iekusup 2015/06/17
    聞きたい。
  • 技術ブログを書くことについて語るときに僕の語ること - YAPC::Asia Tokyo 2015

    エンジニアには、なぜか「技術」についてブログに書き残すという文化があるということはここでは言うまでもないと思います。 新たに投稿されるエントリを見かけない日はなく、なんらかの技術について書かれたエントリが毎日のようにエンジニア界隈を賑わせています。 技術ブログの内容は人それぞれです。 自分が注目している流行りの技術の紹介であったり、自分が作ったソフトウェアの紹介であったりします。 ときには「ポエム」と呼ばれるような、技術を通して自分の考え方や生き方を表現したものもあります。 その技術ブログの評価システムの代表的なもののうちの1つとして、はてなブックマークがあります。 テクノロジーカテゴリのホットエントリを日常的に眺めて、技術そのものもしくはエンジニア界隈の情報を仕入れたり、エントリにつけられるブックマーク数をブログを書くモチベーションにされている方も多いのではないでしょうか。 発表者もその

    iekusup
    iekusup 2015/06/17
    ほー。
  • バッチジョブを手軽に冗長化するツール "Koyomi" のご紹介 - YAPC::Asia Tokyo 2014

    「そのバッチジョブ、冗長化してますか?」 ジョブスケジューラとして cron や Jenkins を使うことはポピュラーだと思いますが、それらのジョブ実行サーバを冗長化しようとすると、意外と面倒ではないかと思います。 とりあえずジョブの中身(cron であれば crontab の内容)をバックアップしておき、サーバ障害時に速やかに代替機で実行可能にするという、"コールドスタンバイ"の構成を取るケースも多いのではないでしょうか。 この場合、サーバ障害の度にマニュアルオペレーションが発生し得ます。 例えば Apache Mesos のクラスタ上で動作する Chronos を用いれば、高可用性のあるジョブスケジューラ・システムを構築することは可能です。 しかし、そこまで大掛かりなシステムを構築したくない、というケースもあるでしょう。 トークで紹介する Koyomi を使うことで、 Mesos

    バッチジョブを手軽に冗長化するツール "Koyomi" のご紹介 - YAPC::Asia Tokyo 2014
    iekusup
    iekusup 2015/06/17
    ほー。
  • 言語開発の現場 - YAPC::Asia Tokyo 2015

    インターネットの普及とともに、インターネットを支える主要技術の多くを構築する OSS はより一般的なものとなりました。特に Web サービスやモバイルアプリケーションを開発する会社にとっては、コードを書く上で避けては通れないものとなりました。 OSS は小さいライブラリから、プロダクションで使用するようなフレームワーク、大規模なサービスを支えるミドルウェア、OS や言語のようなプログラミングの根幹とも言えるような要素など、ソフトウェアのコードベースの大小こそあるものの、それらは全て OSD に準拠しているものであり、誰でもコードを読むことができ、ソフトウェアによってはコントリビュートすることも可能です。 近年では GitHub の普及により、ライブラリやフレームワークについては身近なものとなりましたが、ミドルウェア、言語、OSについては GitHub を用いない開発スタイルも多く存在し、雲

    iekusup
    iekusup 2015/06/17
    雲の上です。
  • 僕がwebアプリケーションのコードを書く時に考えていること 〜完全版〜 - YAPC::Asia Tokyo 2014

    webアプリケーションの開発・運用にはトラブルがつきものです。 どうしても回避できないトラブルもありますが、事前にしっかりと考えておくことによって未然に防ぐことができるものも多いでしょう。 しかしながら実際に何に気をつけないといけないか、何を考えておかないといけないかはその時々によって大きく変わってきます。また置かれている環境によっても異なってくるでしょう。 トークでは一例として私が今までwebアプリケーションのコードを書いて経験してきたことを基に、特定状況下でどういうことを考えどういうところに気を配りながらwebアプリケーションのコードを書いているかについてお話します。 大きく分けて3つのトピックを予定しています。 仕事のコードを書く時に考えていること 趣味のコードを書く時に考えていること 仕事趣味のコードどちらでも共通して考えてること 各トピックでは下記キーワードに関連した話をしま

    僕がwebアプリケーションのコードを書く時に考えていること 〜完全版〜 - YAPC::Asia Tokyo 2014
    iekusup
    iekusup 2015/06/17
    プロセス大事。
  • perl/go での開発の比較 - YAPC::Asia Tokyo 2014

    概要 最近はあの企業が go を採用した、この OSS も go 使っているのかのような話を頻繁に聞くようになりました。 go は(個人的には)取っ付き易い言語だと思いますが、いざアプリケーションやライブラリを今までのように書いてみようと思うと、 perl のあれがない オブジェクトじゃない テストが独特 channel, goroutine など特有の機能の登場 そんな自由じゃない なんか色々手間でめんどくさい ... とか のような事に直面することがあるかと思います。(良い点でもあるんですが) このトークでは、perl/go でのアプリケーションやライブラリの開発を比較しつつ、こういう点で嵌った、こうしたほうが良いかなということを広く浅く共有出来ればと思います。 トピック go, perl editor testing waf cli とか

    perl/go での開発の比較 - YAPC::Asia Tokyo 2014
    iekusup
    iekusup 2015/06/17
    比較聞いてみたい。
  • サービスの成長にあわせて Web Application のテストやリファクタリングを試行錯誤した話 - YAPC::Asia Tokyo 2014

    一般的にウェブサービスはその事業フェーズによってチームの規模も変わり、優先すべきことや開発の効率的な進め方が変わっていきます。 トークでは、私がサービスの成長に伴って感じるようになった課題と、その改善を目指してテストやコードのリファクタリングで試行錯誤した事について話します。 実際に業務で使っている Perl + JavaScript での話にはなりますが、できるだけ言語特有の話ではなく一般的なウェブサービス共通の話として話すことができればと思っています。 Topics(予定): テスト テストを書きやすい環境を作り、テストを書くことへのハードルを下げる テストの自動化と CI Docker を利用したテスト実行環境の分離 テスト実行時間の短縮のための工夫 API ドキュメントとテストのいい関係 etc. リファクタリング 静的改正による不要なファイルの検出 片手間から脱出するためのフロ

    サービスの成長にあわせて Web Application のテストやリファクタリングを試行錯誤した話 - YAPC::Asia Tokyo 2014
    iekusup
    iekusup 2015/06/17
    ハードル下がるとありがたい。
  • 今から備えるMySQL最新バージョン5.7 - YAPC::Asia Tokyo 2014

    TL;DR 現在開発版の MySQL 5.7 には、MySQL 5.5, 5.6時代にはなかった罠がたくさんあります。 日語情報、現段階では少ないです。5.5時代の情報を当たって悲しい思いをする人が一人でも減ってくれるように、動作が大幅に変わるところをメインに紹介します。 4.1以前の16桁ハッシュパスワードは完全に廃止されました。 4.0なんて何年前だよって? 残念、5.6の時にもちらほら出てきました。 どうしてそうした、default_password_lifetimeの暗黙のデフォルト360。 何も知らずにこのままいくと、移行から(あるいは、新規投入から) 360日でアプリケーションが止まる罠。 厳密なsql_modeがデフォルトに。 カジュアルにワーニングを握りつぶしてdisられていたMySQLが厳密にエラーを運用しだしてまたdisられるのもまた一興。 あふれると取り返しがつかな

    今から備えるMySQL最新バージョン5.7 - YAPC::Asia Tokyo 2014
    iekusup
    iekusup 2015/06/17
    備えよう。
  • From Perl to Haskell - YAPC::Asia Tokyo 2014

    POE、AnyEventと経て開発してきた個人サービスのPerlスクリプトをHaskellで書き換えた経験をもとに、Haskellを使ったアプリケーション開発の基礎的な内容を解説します。主に以下のトピックを含みます。 WEBサーバ JSON, XML 非同期処理 書き直す際の障壁 (IO、ループ、正規表現、グローバル変数、etc) (I rewrote my Perl and AnyEvent script in Haskell. Based on this experience, I talk about the application development in Haskell.)

    From Perl to Haskell - YAPC::Asia Tokyo 2014
    iekusup
    iekusup 2015/06/17
    ほー。
  • 普通のことを普通にやれば、いいプログラムになる - YAPC::Asia Tokyo 2014

    私は Yahoo JAPAN に所属し YDN (Yahoo!ディスプレイアドネットワーク) を担当しています。 先日、この YDN の crawler を perl で一から書き直しました。 これまでの crawler のコードといえば、いわゆるレガシーコードと化していて、開発者の多くがそのコードに触るのに二の足を踏んでいる状況でした。 一方、レガシーコードとは言っても、それは要求されている仕事をなんとかこなしており、だからこそ長らく放置されてきました。 おそらくみなさんの会社にもこういったコード、システムは少なからずあるのではないでしょうか。 私は、このレガシーコードを一から書き直しました。これにどれほどの意味があるのか、という疑問も当然わきます。実際、書き直しているとき何度も自問自答しました。また一方で、以前のプログラムよりいいプログラムが当に自分に書けるのかという不安もありました

    普通のことを普通にやれば、いいプログラムになる - YAPC::Asia Tokyo 2014
    iekusup
    iekusup 2015/06/17
    なるほど。
  • Sharding a database - YAPC::Asia Tokyo 2014

    When an organization grows, the database(s) it may reach a point where it will be reaching one or more of its resource limits. Action will be needed, and one of the solutions is to use a sharded setup; that is, having several databases with identical structure, and data residing in one (or subset) of the databases. At Booking.com, we have several sharded databases. In this talk, we will look how w

    Sharding a database - YAPC::Asia Tokyo 2014
    iekusup
    iekusup 2015/06/17
    ほー。
  • 運用を楽にするためのアプリケーションコードを書く技術 - YAPC::Asia Tokyo 2014

    運用に載せるためのアプリケーションコードは、機能要件とは別の所にある非機能要件であって*運用の肌感*がわかっていないと要件を出すのは難しい。 トークでは、その肌感を掴むために、ウェブアプリエンジニアからインフラエンジニアに転籍し経験を積んだ私が、その集大成としてアプリケーションを書く場合、またレビューをする場合に気を付けているポイントについて知見を共有します。 パフォーマンスチューニングはもちろん、自動再起動など様々なポイントについて、その理由も含めリストにして提供します。 アジェンダ なぜ運用を楽にする必要があるのか 運用を楽にするためのコード Graceful Restart 都度接続 or 再接続 自動メモリ解放 ログローテーション ログ 自動 fail over パフォーマンス改善 パフォーマンス解析 運用を楽にするためにかけるコストは*割に*あうのか 自己紹介 DeNA, Co

    運用を楽にするためのアプリケーションコードを書く技術 - YAPC::Asia Tokyo 2014
    iekusup
    iekusup 2015/06/17
    是非聞きたい。
  • Conway's Law of Distributed Work - YAPC::Asia Tokyo 2015

    Conway's Law of Distributed Work Accepted Interpretation (En→Ja) #yapcasiaA Vote! Tweet I have been working remotely for more than a decade. Half of that time has been in a technical leadership capacity. I often hear people say it's obviously harder to work remotely, and very hard to be in a leadership position remotely. My experience says otherwise, and I would like to share what I have learned t

    iekusup
    iekusup 2015/06/17
    ほー。
  • うっかりをなくす技術 - YAPC::Asia Tokyo 2015

    人間は間違える生き物である 以下の問題を解決するヒントになる話をします: 既存のコードを誤って壊してしまうことがよくある 作業手順が多くよくミスをしてしまう 設定が正しいのかどうかよくわからないので祈りながらdeployをしている このような問題はなにを引き起こすでしょうか? たとえば、Webアプリケーションの開発においては、誤ったデータベースの変更や決済処理を正しい状態に戻すことは難しいでしょう。 また、iOSやAndroid向けのアプリケーションの開発においては、リリースしてしまったコードを消すことはできません。 ソフトウェアにはこのようなリスクに対する安全性が求められます。 そういった意味での、安全なアプリケーションとはなんでしょうか? 一般的には、安全なアプリケーションであるために、以下のような要素が必要とされると思います。 クラッシュしにくい オペレーションを間違えにくい データ

    iekusup
    iekusup 2015/06/17
    聞きたい。
  • いけてない開発環境をDockerでいい感じにした話 - YAPC::Asia Tokyo 2014

    概要 2015年初頭、AWS上で運用しているとあるゲームのチームにアサイン。 「今の業務を何とか改善して人の手をあけてくれ」という指令の元行動を開始 EC2のインスタンス一覧を見ると何につかっているかよくわからないサーバ達がいっぱい。 色々聞いたり見ていくとデータ調整や新規開発に利用しているようだ。 日々チャット上で「この環境今◯◯のために使ってます」「ここは今空いてるんだっけ?」という会話が繰り広げられる。 さらに中身を覗いてみると、入ってるM/Wが違ったりApacheの設定が違ったり。 そんなカオスな状態を解決させるべくDockerを使った新環境を構築。その内容と良い所と悪い所をお話します。 トーク内容の予定 Docker? 新環境導入前のカオスな環境について なぜカオスになっていったか 運用面の問題点 解決させるために必要なこと 新環境について Dockerを利用する理由 バージョン

    いけてない開発環境をDockerでいい感じにした話 - YAPC::Asia Tokyo 2014
    iekusup
    iekusup 2015/06/17
    聞きたい。
  • 大規模でも小中規模サービスでも捗る microservices な Web サービスのつくりかた - YAPC::Asia Tokyo 2015

    最近は microservices という言葉がバズっていますが、これから Web サービスの開発を始める人にとってみたら「 microservices ってなに?おいしいの?それって僕らの作りたい物にも役に立つの?」と思っている人が多いとおもいます。 実は、私は昔からこのアーキテクチャに基づいた考え方で数多くのサービスを作り運用してきました。それらの知見を多くの方々の知識とノウハウにになる形に落とし込んで今回は発表しようと思います。 トークでは、そのような Web サービス開発現場の newbie から中級層の方向けに「 microservices 的なサービス設計方法」「スタートアップサービスでの現実的な microservices の取り入れ方」「それらのメリットデメリットを」「ある程度トラフィックが有るサービスでのキーポイント」などを中心として、「多人数チームでの開発方法」「サー

    iekusup
    iekusup 2015/06/17
    勘所を是非聞きたい。
  • ふつうのWebアプリケーションエンジニアがitamae道をServerspecとともに歩んだ話 - YAPC::Asia Tokyo 2014

    トーク概要 様々なプロビジョニングツールが台頭する昨今ですが、その中で自分達の状況にフィットしたツールを選択することは重要です。 トークでは、Webアプリケーションエンジニア兼オペレーションエンジニアの私がどのような理由でitamaeというツールを選択したか、バックグラウンドと共に紹介します。 そして、プロビジョニングツールitamaeの紹介とともに、Serverspecによるテストについても簡単に説明します。 なお、トークを聞く際にitamaeやServerspecについての前提知識は必要ありません。 トピックリスト(予定) 前半 管理台数などバックグラウンドの紹介 どの程度の規模で実行しているか Chef Soloからitamaeへどのようなタイミングで切り替えを行ったか 切り替えたことによって変わった点 後半 itamaeの使い方 簡単なitamaeの使い方 ロールによって実行す

    ふつうのWebアプリケーションエンジニアがitamae道をServerspecとともに歩んだ話 - YAPC::Asia Tokyo 2014
    iekusup
    iekusup 2015/06/17
    おすすめな規模を知りたい。
  • 世界展開する大規模ウェブサービスのデプロイを支える技術 - YAPC::Asia Tokyo 2015

    Miiverse とは任天堂株式会社が運営しているウェブサービスであり、世界中の Wii U やニンテンドー3DS、そして PC やスマートデバイスから利用することができます。 AWS 上でマルチリージョン構成をとり大量のサーバを抱える Miiverse のデプロイを支える技術と運用上の工夫、そして株式会社はてなと任天堂株式会社が共同で開発する Git リポジトリの同期システムの構築を通して得られた経験をもとに、大規模なウェブサービスを素早くかつ安全に改善する方法を紹介します。 概要 これまでの Miiverse のデプロイ 採用している技術の紹介 運用の概観 運用上の tips Git リポジトリ同期システム 背景 はてなにおける先行事例 アーキテクチャ紹介 新しいアーキテクチャのデプロイ 現状のアーキテクチャの課題とその解決 取り上げる予定のキーワード マルチリージョン Git Git

    iekusup
    iekusup 2015/06/17
    “現状のアーキテクチャの課題とその解決”を聞きたい。
  • TechCrunch | Startup and Technology News

    The tech layoff wave is still going strong in 2024. Following significant workforce reductions in 2022 and 2023, this year has already seen 60,000 job cuts across 254 companies, according to independent layoffs tracker Layoffs.fyi. Companies like Tesla, Amazon, Google, TikTok, Snap and Microsoft have conducted sizable layoffs in the…

    TechCrunch | Startup and Technology News
    iekusup
    iekusup 2015/06/17
    孔明希望。