1203本 思想を持ったお店をつくったり、運営、デザインをしているひとやその感想などの記事をまとめるマガジンです。
1203本 思想を持ったお店をつくったり、運営、デザインをしているひとやその感想などの記事をまとめるマガジンです。
この記事は一休.comアドベントカレンダー2017の 8 日目です。 一休.com の宿泊開発基盤のお手伝いをしている id:shiba-yanです。 はてなインターン時代の縁で naoya さんから声をかけていただき、基本フリーランスですが一休で週に 3 日ほどの作業を 2016 年 4 月から行っています。 最近は shibayan とも一緒に改善を進めている 4ヶ月の間に一休.comで起きた変化 - zimathon blog 2016 年 4 月末から現在までに、一休社内でどのようなことに取り組んできたか、公開できる範囲で思うままに書いていきます。長いです。 ユニットテスト基盤 新しいメールテンプレート メール配信基盤 宿泊クラウド移行 移行方法の調査・検証 実行環境の調査・検証 アプリケーションの分離と整理 AppVeyor での CI / CD 本番環境の移行 その後の運用 宿
It makes me smile when someone raves about how fast this website loads, because that's no accident. We put a lot of effort into making it so. It is the sort of thing that usually goes unnoticed, but when your readers are developers, there's a better chance they notice and appreciate it. I have written about this in the past, but it's worth re-examining because these ideas are always evolving. From
「爆速すぎて笑う」「速すぎて逆に不安になるレベル」――「dev.to」という米国のWebサイトの表示速度が異常に速いと、ネット上で話題だ。なぜ速いのか、サイト創設者のベン・ハルパーンさんがサイト内の記事で説明している。 2016年にオープンしたdev.toは、プログラマーが情報を交換したり、議論したりできるコミュニティーサイト。トップページにはユーザーが投稿したブログ記事のタイトルやコメントが、SNSのタイムラインのように並んでいる。このトップページの表示にかかる時間、各記事をクリックしたときのページ遷移が“一瞬”なのだ。 なぜ速いのか。ハルパーンさんが17年2月に投稿したブログ記事によれば、米Fastlyが提供するCDN(Content Delivery Network)を活用している。CDNは世界中にキャッシュサーバを分散配置し、ユーザーごとに最も(ネットワーク的に)近いサーバにキャッ
The Next DEV Challenge is Here 🚀 Join us for the Wix Studio Challenge with Special Guest Judge Ania Kubów: $3,000 in Prizes!Running through July 07, the Wix Studio Challenge provides an opportunity to develop with one of the most popular and in-demand website building solutions the internet has to offer. There is one prompt for this challenge, and one way to win the entire $3,000 prize pool. 🙀 C
日本経済新聞は国内を代表する経済誌だ。その電子版はwebでの継続課金を大成功させ、いまや50万以上の有料会員を擁するモンスターサイトだ。 その日経電子版が11月6日に全面リニューアルしたのだが、公開後、web業界がにわかにざわついた。表示速度が爆速だったのだ。日経公式もモバイルで2倍の表示速度を達成したと堂々と宣言していた。 webサービスは継続率こそ神KPIで、その継続率には速度が大きく影響する。 これはチェキらないとヤバイと感じ、友人のkitakさんとスピードの秘密を調査してみた。 Fastlyをコンテンツキャッシュに使う殆どのデータはFastlyを経由して取得されていた。Fastlyは最近注目を集めているCDN(世界中にエッジサーバーを配置し、高速にコンテンツを配信するサービス)で、非常に高機能でユニークなサービスだ。 一般に、CDNはいったん世界中にコンテンツをばらまくと、それを無
最近気づいたことがある。それは、僕はみんなみたいに複雑なことが理解できない、ってこと。 話をしてても「ごめんなさい。いまのわかんなかった。もう一回教えて欲しい。」とかよくあるし。ドキュメントも、ちょっと複雑なことが書いてあると、全然頭に入ってこない。 色んなルールがドキュメントに書いてあって、それをちゃんと守りながら開発してる人たちとか見てると、みんなすごいなぁって思うのであった。 なんだろうなぁ。こう・・・色んな想像が始まってしまって、考えが落ち着かないんよね。 そんな僕なのだけど、ここ数年はありがたいことに色んなコードを読む機会がある。読みやすいコードもあれば、パズルみたいに複雑なものもあって。そんな中で、たぶん、僕にとって読みやすいコード、というのは普通の人にとってはとても読みやすいコードなのかなぁって思って。書いてみる。 JavaでWebのアプリを開発してる。基盤とかフレームワーク
2つの開発現場を見てみましょう。 ※この物語はフィクションです 開発現場A ビジネスチームが一生懸命アイデアを出して、それを開発チームに依頼する。依頼を受けた開発チームは、要件を確認しながら開発計画を立て、数ヶ月にリリースをするスケジュールを組んで、開発を開始した。 ビジネスチームは、開発期間の間にいろんなことを想像し始める。 競合サービスを研究していると不安になり、「あれがないとダメ!」「これもないとダメ!」という気になって、最初の想定よりもプロダクトはどんどん太っていく。 こういう状況で追加されていく要望は当然ながら検証されていない想像=妄想なので、実際にリリースしててもユーザーに使われるかどうかはわからない。 * なぜあなたのチームの プロダクトは太ってしまうのか #postudy // Speaker Deckより 当然ながら開発チームは当初想定していたよりもやることがどんどん増え
今まで数々のプロジェクトマネージャーとそのプロジェクトマネージメント手法に翻弄されてきたが、現在の勤め先であるベルリンのITスタートアップで取り入れている手法が歴代の中でも一番マシ。まず工数見積がとても洗練されている。エンジニアが無理やりに「今週中に完成させます!」と言わされて、結局はその約束が守りきれずに翻弄される、というような弊害が最小化できているな、という話。 プロジェクトマネージメントチームのメンバー達はその見積方法を「フィボナッチ」と表現している。 だいたい工数見積なんてものが正確にできる人に出会ったことが無い。複雑なITプロジェクトの全体像を把握して「これをうちのチームで完了するためには**日を要する」なんてピタッと当てたためしがない。絶対にズレる。 エンジニアに向かって「お前さー『今週中に完成させます』って言ったよな?誰だっけ、それ言ったの?オレじゃねーよ。お前だよ。おめーの
前回までのサンプルアプリを実機にインストールして色々なところを移動してみると高いビルに囲まれた路地裏や、木が茂っている公園の中、または厚い雲に覆われた天気で自分の位置とずれたところにパスが描かれることがあるのがわかります。 実はこのように普通にLocationManagerを使っただけでは綺麗な位置情報の軌跡をとることはできないことがあります。 Uberのように一時的に車が少し道路よりずれた場所に表示されてもいいアプリのケースもありますがもしNike+のようにユーザーの行動の軌跡を美しくマップ上に描画し、なおかつ走った距離も正確でなければいけないアプリは高い精度の位置情報だけを取り続ける必要があります。 この回では高い精度の位置情報だけを取り続けるためのフィルターの作り方について説明します。
趣味でアルゴリズム取引のシステムを開発・運用してみたことで得られた知見について、社内のテーマ自由な勉強会で発表しました。Read less
iOSとの比較つき!Androidでこんなアプリ,こんな機能を作りたかったらこれを見ろ!作りたいアプリに対応するクラス、ライブラリのまとめ!iPhoneAndroidiOS by @mixiappwchr 最近Androidのほうも久しぶりがっつりやっているため、簡単ですがまとめてみました。 環境編 IDEは何を使えばいいの? 今から始めるにはnatvieのコードとかを書かない限りAndroid Studioを使いましょう 最近ようやく1.0が出ました。 Android Studio http://developer.android.com/sdk/index.html 検証用のエミュレータが遅いよ! iOSと違う点ですが、Androidはエミュレータの遅さに定評があります。Intel HAXMでの高速なエミュレータか、Androidの仮想環境を提供してくれるGenymotionを使いまし
pythonの環境構築について "python 環境構築"でググると20万件くらいヒットしますが、割と内容が古いです。 タイトルにはデータサイエンティストと書いてありますが、データサイエンティスト以外にもanacondaはおすすめです。 2.x or 3.x? 3.xは動かないライブラリが多いので2.x推奨 > 3.xで動かないライブラリがある、くらいまで来ました。 easy_installでpipを入れて、setuptoolsも入れて、でもwheelというのもあって... > 古いです。 virtualenv 必須 > そんなこともないです。 winでは64bitは不具合が多いので32bit推奨 > 古いです。 winでは非公式バイナリからダウンロードしてインストール > お世話になりましたが、最近は使っていません。 2016版 OS毎python環境構築法決定版 Windows: an
iPhoneアプリを個人で作り始めてから5年ほどになるけど、アプリ開発や運用でかかせないサービスをまとめてみた。 それぞれに競合サービスがあったりするけど、いくつか使ってみて、最終的に本当に使うようになったものだけ書いてみる。プログラミングする時に使うツールというより、アプリを作った後の運用とか、分析とか、そっち系のサービスがメインのランキング。 iOSアプリにしか使ってないけど、Androidで使えるものも多い。 10位 Iconfinder(無料+有料) https://www.iconfinder.com/ アプリはWebサービスに比べて画面が小さいのでビジュアルデザインが楽。実質、フリーのアイコンとか有料のアイコンを利用するだけで事足りることが多い。僕はまず有料のアイコン集を買って、それでカバーできない時はこのサイトから検索してます。 例えば、フラットデザインのリロードアイコンを検
概要 先日こちらの記事でgraphvizを使って状態遷移図を作成する方法をご紹介したのですが、これでもまだ複雑で記述量も多いのでとっつきづらいと思い、このgraphvizのソースコードを自動生成して画像を出力するコマンドラインアプリケーションを作成しました。 このアプリケーションはPyagram(ぱいあぐらむ)といい、その名前から察しがつくかと思いますがPythonを使用して開発されました。開発期間は1日でした。 このPyagramを使うことで複雑な状態遷移図を比較的簡単に作成することができるようになりますので、以下でご紹介したいと思います。 状態遷移図の描き方についてはこちらの記事を参考にしています。 出来上がりの図は以下のような感じになります。 図には幾つかのオブジェクトがあります。 図のタイトル(最上段) ビュー(二重丸) サーバサイドの処理(灰色の背景の一重丸) 画面遷移(破線の矢
2016 - 07 - 22 ペロリ流 開発要件のまとめ方 開発プロセス list Tweet こんにちは。開発部のマネージャーをやっている mizushimac です。 今回は開発するモノの要件のまとめ方についてペロリ開発部が実践している内容を少しご紹介したいと思います。みなさんの会社やプロジェクトではどうやって開発するモノの要件をまとめていますか? パワポ ですか? spreadsheet ですか? 流れ行く slack や github issue で議論しながらコメントに埋もれていき誰かが箇条書きでまとめますか? きっとカオスなことが多いかなと思いますのでこのエントリーが少しでもご参考になればと思います。 ちなみに、ペロリはカオスを楽しめる人を求めていますw 開発要件のまとめ方って色々あって難しい 私が学生の時に所属していた ベンチャー企業 では、数十MBもある パワポ に画面イメ
アプリ自体のコーディング見積もりのみに注力してしまうと忘れがちで、たまにつらい目に遭うので、必要に応じて追加していく予定。 アプリ仕様 仕様はそもそも決まっているか 「仕様は決まっている。動かない」「移植なのでこれ以上はありません」と言ったな。 それは嘘だ。 既に仕様がガッチリ確定していることはありえない。要求仕様(必要機能リスト)がある程度固まっているならばまだ良い方で、「今から仕様を一緒に考えていきましょう」「アイディアレベルです」まで様々。 その他にも、GCM/FCM等のアプリ外サービスと連携する場合、遅延コスト等どの程度許容できるかも事前に確定させる。特にプッシュ系サービスでは、ありえないレベル(全端末遅延1秒以内必須、とか)を既定路線に含めないように留意する。 改修か、新規開発か これは見積もりの前提として大きな影響力をもつ。 テクノロジーや設計の自由度・柔軟性をある程度コントロ
この記事では、Webアプリケーション(特にバックエンド部分)を構築するときにハイレベルなパフォーマンスを達成しようとするなら考慮するべき、最も一般的な原則のいくつかを取り上げたいと思います。私は、自分自身の経験から、主にPHPの世界で使われるいくつかの例、設計パターン、慣例やツールについて書きますが、ここで説明する概念は、どんな言語やフレームワークにも必ず当てはまると思います。 手短に言うと、基本ルールは次の6つです。 ルール1 . 時期尚早な最適化を回避する ルール2 . 最小限の作業で問題を解決する ルール3 . 今すぐやらなくてもいい作業は延期する ルール4 . 使えるときはキャッシュを使う ルール5 . リレーショナルデータベースのN+1問題を理解し、回避する ルール6 . 可能ならアプリケーションに水平スケーラビリティをもたせる ルール1: 時期尚早な最適化を回避する Donal
今回の記事ではエンジニアやIT業界ではすでに定着した感のあるポッドキャスト『rebuild.fm』の#123について触れてみたいと思う。 rebuild.fm いきなり横道にそれるが、podcastはランニング中や移動中に1.5倍速で流して聞けるのが便利。一方でメモがとれず終わった後にきちんと整理する時間を取らないと「要旨はなんだったのか」が曖昧になり自分に残らない感があるのが悩ましいですね。 今回のゲストである @naoya_itoさんが『エンジニアチームのリーダーシップ』というテーマについて『Fate/Zero』というアニメの11話「聖杯問答」になぞらえてうまく例えていた。 「聖杯問答」の内容について、超端的に言うと、世代を超えた3人の王が統治の仕方を論じ、民や臣に厚いタイプの王が大いなる野望を追いかけるタイプの王に負ける、という話。 趣旨:サーバントリーダーシップの是非 放送を通じた
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く