2017/12/10 システムテスト自動化カンファレンス2017-2 「GebとSpockではじめるシステムテスト自動化」
![「TDDはじめて物語」 #tddbc](https://cdn-ak-scissors.b.st-hatena.com/image/square/dc585a6e18d9f84181ae6fbcc3c14add5a46c344/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Ftddbctokyo201602-160227023828-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
バッチ処理というのはそれ単体で勉強しようとするとなかなか何を勉強したらいいのかわからないことが多い。 特に経験がWeb系ばっかりだと、いざバッチ処理を実装しようとした時に基本的なノウハウを知らないままに書いてしまうことが多い。 バッチ処理というのは実態を整理すると「何らかのトリガーを期に起動し、データをロード・加工・変換・集計してから、出力する」という事になる。 まぁ、INがあって処理してOUTがあるという点では関数だと考えてもいいだろう。 システムの利用者(人に限らない)のアクションとは直接関係ない処理であったり、利用者のアクションをトリガーとしていても、即時にレスポンスがいらないor返せない場合に バッチ処理を選択する事が多い。 実現方式はシェルスクリプト、LL言語、実行可能バイナリだったりするし、デーモンとして立ち上げる場合もある。 利用者の操作に対して対話的・同期的な処理はオンライ
3. ThoughtWorksアンソロジー ThoughtWorks社コンサルタント ● の 骨太なエッセイ集 様々な ジャンルを収録 ● DSL、プログラミング、設計、 マネジメント、ビルド、デプロイ、テス ト... オライリーさんブースで ● 絶賛販売中! 3
ポリモーフィズム(サブクラスによる切り替え、抽象化) ここに分類されるのは、オブジェクト指向の第3原則、ポリモーフィズムを使用したパターンです。ポリモーフィズムを使用すると、動的に使用するクラスを切り替えることができます。<参照> 他に分類されているものでも、ポリモーフィズムが重要な位置を占めているものもありますが、ここではそれしか使われていないものを扱います。 ただデザインパターン全体を通して強調されているのは、インターフェースでプログラミングするということです。実装への依存をなくし、そうすることによって設計の骨組みを明らかにするのです。 Template 次のようなメソッドがあった場合に、処理Bのところを条件によって変えたい場合があるとします。 class Hogehoge { void doit() { ... 処理A ... ... 処理B ... ... 処理C ... } }
技術推進室の浅井です。 技術的負い目とは、世に言う技術的負債のことです。 社内で技術的負債の定義、ことばの表現を考える中で、「『負債』は優れた比喩表現であるものの、第三者への返済義務がない点で会計上の負債とは異なり、言葉としての問題も多く、不必要な議論を生み出しやすい」などの指摘があり、代わりの表現として社内の一部で使われている言い回しです。 最近社内のたいへん古いシステム(16年の歴史があります)の技術推進を行う機会があり、たくさんの技術的負い目と向き合いました。 そのような古いシステムの技術的負い目と向き合ったとき、エンジニアはストレスを感じ、ネガティブな感情を抱いてしまいがちです。負い目に苦しめられることで過去のコードや技術的判断に対して不満を言いたくなる気持ちはとてもよくわかりますし、実際に私もたくさん苦しんでたくさん不満を言いました。 ですが技術的負債の文脈でよく言われるとおり、
URLYou can post either your article on Qiita or your blog post. About reserved postingIf you register a secret article by the day before the same day, it will be automatically published around 7:00 on the same day. About posting periodOnly articles submitted after November 1 of the year can be registered. (Secret articles can be registered anytime articles are posted.)
去年Androidソースコードレビューで指摘する事が多い項目まとめという記事を書いた時はアプリ全体を一度に見るような機会が多かったため、内容も大きめのものばかり書いていましたが、最近はプルリクエスト単位でレビューする機会が増えたので細かい項目についてまとめてみようと思います。 ミリ秒で時間を指定する時に自前で計算している 1000L * 60L * 60L * 24Lのようなコード。 TimeUnitを使いましょう。 24時間の場合は以下のように書けます。 TimeUnit.DAYS.toMillis(1L) ある文字列がhttp/httpsで始まるかチェック URLUtil.isNetworkUrl()を使いましょう。 ただしequalsIgnoreCaseで判定してます。 ベースURLにパラメータを付与していってURLを生成したい StringBuilder#append("&key=
これは Java Advent Calendar 2015 の 15 日目の記事です。 昨日は @opengl_8080 さんの Byteman 使い方メモ+α でした。明日は @irof さんです。 前置き ついこないだチームでちょっとだけ話題に上って、みんなある程度指針は持っているものの、割と悩みつつ明確に答えを出せなかったので、もっと良い意見があればと思って晒してみます。まぁよくある話だし、Java 8 で Optional が使えるようになって null について語られるケースが増えたと思うので、再考するちょうどよい機会になればいいなーと思います。初心者向けです。 どう処す?処す? こんな状況の時にあなたならどうしますか? // Generics なのは例です。String でもなんでもいいです public T doSomething(T input) { // input が
ゲームプログラマーになる前はEclipseでAndroidアプリを作っていました。 コーディング速度をあげるための設定をイロイロとしてましたので、それについて書きたいと思います。 やり方を解説されているブログ記事の紹介だけですが、これをやっておくだけでコーディング速度がまったく違います。 むしろこの設定を行っていなかったら、以前の職場での業務量は行えなかったです。 「.」以外でもEclipseの補完機能を使えるようにする あらゆる文字から補完できるようになります。 自動有効化遅延(補完機能が有効になるまでの時間)は80に設定していました。 Eclipseの補完設定をカスタマイズして爆速コーディング - ser1zw's blog Eclipseで使用するメモリの上限をあげる メモリに余裕があれば、設定しておくことでEclipseがサクサク動くようになります。 eclipseで使用するメモリ
こんにちは。SNS mixi の JavaScripter、kuniwak です。 新しい仲間たちが入社する季節になりましたね。 さて、ミクシィを支えるエンジニアが作成した JavaScript 研修の資料を Github にて公開しました。 ミクシィは 2013年から研修資料を公開していましたが、今年は JavaScript の進化に合わせて内容を刷新しています! 2015年度の JavaScript 研修は、Web アプリケーションの部品(モジュール)をつくれるようにすることを目標とした、実践的な研修として計画されました。 JavaScript 研修のために与えられた期間は2日ということもあり、MVC や Flux といった設計方面の話題には踏み込めていませんが、Promise、Fetch API、Bower など、現在・未来のフロントエンド開発に必須の要素を盛り込んだ最新のJavaS
基本的なライフサイクルメソッドを補うかのように、さまざまなタイミングでハンドリングできるのが分かると思います。これらのメソッドをうまく使うと、いろいろと細かい制御ができるようになります。 画面遷移パターンで呼ばれるメソッドを確認する 上記すべてのメソッドが呼ばれたときのログをとり、いくつかの画面遷移のパターンを操作したときに呼ばれるメソッドとその順番を確認してみました。 Activity を起動する アプリ起動後、初めて表示されたときの場合です。 onApplyThemeResource() は onCreate() より前に呼ばれています。 Activity の表示中にバックキーを押す Activity の表示中にバックキーを押して Activity を閉じました。 Activity にはもう戻ってこないので、 onDestroy() まで呼ばれ完全に破棄されます。 Activity の
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
Androidの画面からアプリケーションが起動されると最初のアクティビティが開始し画面に表示されます。同じアプリの別のアクティビティ(画面)が表示されれば最初のアクティビティは隠れますし、別のアプリが起動して違う画面が表示されることもあります。このように1つ1つのアクティビティは表示されたり隠れたりといったことを繰り返します。このようなアクティビティが開始されて、そして破棄されるまでをアクティビティのライフサイクルと呼んでいます。 下記の図はアクティビティのライフサイクルと、状態が変わる時に呼び出されるメソッドの一覧です。 一見すると複雑な図ですが、実際はそれほど難しいものではありません。順に解説していきます。 アプリを起動しアクティビティが表示 Androidのホーム画面からアプリのアイコンをクリックするとアプリが起動し、最初のアクティビティが画面上に表示されます。 この時、このアクティ
こんにちは!クックパッド編集室メディア開発グループ長の @yoshiori です。 このまえ夏の技術職インターンシップの前半の開発講義・課題部分が終わったのでさっそく公開しちゃいます! ちなみにこのインターンの対象者はプログラミングはわかるし自分で(授業とかではなく)コード書いている人なので超初心者向けでは無く、少なくともひとつ以上の言語でプログラミングが出来る人向けです。 一日目 TDD + git 編(@yoshiori) 講義初日なのでまずは簡単に肩慣らし & 開発の基礎の部分として TDD と git で始めました。 git については軽く説明し TDD は基本のテストファーストで進めて行きました。 ちゃんと何かをするたびにテストを実行し、メッセージを見れば次にすることが分かるというのを体験してもらい、GREEN が良くて RED が悪いのではなく、GREEN を想定しているのに
最近、TerraformやCloudFormationみたいに、JSONや独自DSLなどでかっこよくAWSを管理するツールがいろいろ出てきてます。 こういうツールは便利そうだなとは思うんですが、なんかふと、ユーザがホントに求めているものはコレなんだろうか?と思いました。 なんだかんだ言って、一番多く使われているサーバ管理ツールは『Excelサーバ一覧』なのではw? じゃあExcelで同じようなことが出来ればそれが一番いいのでは?と。 というわけで、Excelは手元になくてキツイので、今回はGoogleスプレッドシートでAWSのサーバ構成管理をやってみました。 使い方 事前準備 サンプルのスプレッドシートをコピーする 『ツール』 -> 『スクリプトエディタ』 -> config.gsを編集 AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEYにAWSのアクセスキーを
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く