さて先日の13日、Google for Mobile 2016が横浜で開催されましたね。 びっくりしたのは、15時まで毎時間Firebaseの話が入っていて、GoogleさんのFireabaseへの力の入れようがハンパない感じです! 基調講演 時間 内容 登壇者
19 Apr 2008 I want to take a moment to elaborate on what makes a well formed commit message. I think the best practices for commit message formatting is one of the little details that makes Git great. Understandably, some of the first commits to rails.git have messages of the really-long-line variety, and I want to expand on why this is a poor practice. Here’s a model Git commit message: Capitaliz
Wantedlyでは、React + Reduxを中心としたWebフロントエンドの技術スタックを導入しました。モバイル版の会社フィードや、このブログを書いているエディタ、企業が使う候補者管理の画面などがこのスタックで実装されています。 導入したスタックの詳細や導入の理由、既存のRails環境への導入方法は以前発表した以下のスライドを参照ください。 また、先日Wantedlyに導入した技術スタックを使った勉強会を開催しました。React + Reduxを使って実際にアプリケーションを構築していく演習になっていますので、ぜひ手元で動かしてみてください。 React + Reduxを使ったWebアプリケーション開発速習会@Wantedly 今回はこれらの背景にある"なぜReactか?"という判断の背景と"どう技術選択するか?"という話を書きたいと思います。 JavaScript界隈の流れの早さフ
はじめに こんにちは!おおはしりきたけです。今回は、突撃!隣の開発環境ではなく、突撃!隣のDevOpsというタイトルで、イケてる開発会社さんのDevOpsについてインタビューさせてもらいました。パート1として突撃!隣の開発環境のパート1でも紹介させて頂いた、WantedlyさんにDevOpsをどのようにやっているのかを伺ってきました! 突撃!隣のDevOpsとは 突撃!隣の開発環境では各会社さんの開発の方法や、どのような体制で開発をしているのかという形で、「開発」に焦点を当てたインタビューをさせていただいていました。実際、ソフトウェアサービスと言うのはリリースしてからがスタートであり、日々の改善活動や安定運用を行うため、開発(Development)と運用(Operations)が協力し合いながらビジネス要求に対し、早くかつ柔軟に対応していくかが求められます。そこで、突撃!隣のDevOps
一年半SEとして働いてきた中で、私自身が苦手だと思っており、他人からもそのように評価されていたのが「質問の仕方」でした。 それが先日、他人から「質問の仕方がうまいね」と褒められることがあり、ようやく一人前の質問の仕方ができるようになってきたので、どのようにして克服できたのか紹介したいと思います。 質問の基本形 私が入社したばかりの頃は、わからないことがあればすぐに先輩に質問していました。 そのときにしていた質問の内容はだいたいこんな感じです。 「環境構築を手順書通りにやったんですけど、○○のコマンドでエラーがでてしまいます!なんとかなりませんか?」 このような質問を受け取ったら、先輩は暇ならばエラーメッセージを見てくれ、エラーメッセージに書かれていることに対して調査してくれるかもしれませんが、忙しいときにはそんなことはしてもらえません。 こんな質問を繰り返しているうちに先輩からは「技術系メ
この記事は freee Engineers Advent Calendar 2016 の 2 日目です。 こんにちは、freee 株式会社でインフラエンジニアをしている @manabusakai です。 今年の 5 月から freee で働いています(参考: freee 株式会社に転職しました)。 freee が提供する「会計 freee」は、おかげさまで 60 万以上の事業所で使われています。 会計ソフトのイメージが強い freee ですが、ほかにも「給与計算 freee」や「会社設立 freee」など全部で 5 つのサービスを提供しています。 これだけ多くの方にご利用いただいているサービスですが、実はインフラエンジニアは 3 人しかいません(チームは 5 人ですが、1 人はデータ分析、もう 1 人は情シスが専門です)。 今回は、少人数でこの規模のインフラを支えるために心がけていることを
この記事はCrowdWorks Advent Calendar 2016の14日目の記事です。 クラウドワークスにはWeb制作会社出身のエンジニアが二人(私と@takeru0757さん)います。@takeru0757さんは6日目の記事で デザイナーと一緒に仕事をする上で気をつけていること というタイトルでデザイン観点で素晴らしい経験談を書いていましたが、今日はマネジメント観点でWeb制作会社出身のエンジニアがどういうチャレンジをしてきたかをポエムでお送りいたします。 バックグラウンド 私がクラウドワークスに参画したのは2015年5月で、以前はGitHubをメインで使った開発もしたことなければテストなんて書いたこともない、自動テスト?自動デプロイ?何それおいしいの?なんならRuby自体ほぼやったことないよ、みたいな残念なステータスでした。 でもエンジニアとして通用するスキルを身につけたいとい
こんにちは!12月に子供が生まれたばかりの鈴木( @suzan2go ) です。現在は週2~3日リモートで子供の成長を片目にみつつコードを書いています。うちの子はガラピコぷ〜がお気に入りです。 さて今回はRailsでのフロントエンド開発についてです。 昨今のフロントエンドの進化はめまぐるしく、Rails標準のSprocketsというgemでJavaScriptやCSSをコンパイルする仕組みでは以下のような要望に答えられなくなってきています。*1 ECMAScript6で書きたい! フロントエンドのライブラリ管理にnpmを使いたい! で、上記に対応するにはおおまかに分類すると以下のような方法があります。 browserify-rails を使う github.com これが一番導入が簡単ですし、既存のRailsアプリに突っ込むならこれが選択肢としては手堅いと思います。 ただ開発中のビルドがめ
dotsで開催されたReactの導入を検討されてる方向けの勉強会でお話しました https://eventdots.jp/event/597088
autoscale: true theme: Plain Jane,5 複雑なJavaScriptアプリケーションを考えながら作る話 自己紹介 Name : azu Twitter : @azu_re Website: Web scratch, JSer.info #jsprimerを書いています JavaScript入門書に興味ある人はウォッチ :star: :warning: 注意 :warning: 作成するアプリケーションによって必要な構造は異なります 今回の話はある程度の規模で複雑性を持つクライアントサイド ライブラリ抜きで数万LOC >= 長期的にメンテンナンスや変更が発生するアプリケーション サーバサイドレンダリングはしないクライアントアプリケーション 3行でOK 複雑なJavaScriptアプリケーションを作るにあたりドメインモデルをどう実装するか悩んだ 色々と試行錯誤した
The DRY PrincipleDon't Repeat Yourself. どういうこと?重複したコードを書かないこと。その考えに基づいて設計すること。 適用範囲はコードだけではない。変化に強く柔軟なシステムを構築するために重要な考え方である。たとえば?「達人プログラマー」では二重化の発生する 4 つのパターンを解説している。やむをえない二重化 開発者に選択の余地が与えられない、環境が二重化を要求するような場合を指す。言語や環境などの二重化がある。不慮の二重化 設計の誤りによる二重化。手抜きによる二重化 二重化されることをわかっていながら、納期が直前だったりという事情でついやってしまう二重化。定数を直接コードに埋め込んでしまう 繰り返し使われるコードをインラインで書いてしまう 開発者間の二重化 プロジェクトの開発チーム同士で発生している二重化。あちらでもこちらでも同じ処理をしているのに
git commit --fixup というオプションの存在を最近知って調べた。 ヘルプとリリースノートより "git commit" learned the --fixup and --squash options to help later invocation of interactive rebase. Git v1.7.4 Release Notes --fixup=<commit> Construct a commit message for use with rebase --autosquash. The commit message will be the subject line from the specified commit with a prefix of "fixup! ". See git-rebase(1) for details. 1.7.4 から入って
All slide content and descriptions are owned by their creators.
package main import "fmt" func Reverse(s string) string { runes := []rune(s) //rune配列に変換 for i, j := 0, len(runes)-1; i<j; i, j = i+1, j-1 { runes[i], runes[j] = runes[j], runes[i] } return string(runes) } func main() { s := "stressed" fmt.Printf("%v\n",s) fmt.Println(Reverse(s)) } Recverse(s):文字列を引数としてrune配列として、順番を逆順として文字列を出力する。 自分の調べた限りだとGoで文字列をインデックス操作しようとするにはrune配列にするのが一般的?ぽいです。 pythonなら s[::-
Go言語とは、Googleが開発した新しいプログラミング言語です。 当サイトではこの新しい言語についての情報を集約していきます。 このサイトの更新が滞っており、情報が古くなっておりますのでご注意ください。 チュートリアルの翻訳、11回目(最終回)です。 前回までの訳を含めてチュートリアル[日本語訳]にまとめてありますのでごらんください。 多重化 チャネルを使うことで多重化処理のコードをほとんど書くことなく、複数の独立しているゴルーチンに対してデータ配信することができます。 今回のポイントとしては、サーバーへ送信するメッセージ内にあらかじめ返信用チャネルを含めておき、それを使ってクライアントに返信を行います。 実際のクライアント/サーバプログラムは多くのコードからできていますが、ここでは分かりやすいように単純化した例で説明します。 まずはじめにrequest型を定義し、そこに返信に使用するチ
Malwarebytes は、驚くべき成長を見せています。1年以上前にこのシリコンバレーの会社に入社して以来、私の主な仕事は急成長するセキュリティ企業の力となるシステムの設計と開発です。日々数百万人が利用する製品をサポートするために必要な、全ての基盤をつくります。私は12年以上、アンチウイルスとアンチマルウェアに関わるいくつかの会社で働いてきました。毎日処理する膨大なデータのせいで、これらのシステムがどれだけ複雑なものになるかを理解しています。 面白いことに、ここ9年ほどで私が携わったWebのバックエンド開発のほとんどは、Ruby on Railsが使われていました。誤解されないように言っておきますが、私はRuby on Railsが大好きですし、すばらしい環境だと思っています。しかし、Rubyでシステムを設計し始めると忘れてしまうのは、マルチスレッド化や並列化、高速化、メモリオーバーヘッ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く