サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
中東情勢
yujiorama.hatenablog.com
背景 新機能の追加が継続している 既存機能の改修、改善が継続している 時とともにCIの実行時間が増加し続けている 自動テストはときどき失敗する(flaky) CIの成功が、コードレビューを始めるきっかけになっている(CIが成功するまでコードレビューが始まらない) 問題と原因 問題 CIの待ち時間が長く感じる 変更セットと無関係な自動テストがときどき失敗する(再試行すると成功する) 原因 CIはすべての自動テストを実行している 解決方法 1. テストの実行を並列化する すべての自動テストを実行すること にこだわりがあるときの戦略 プロジェクトによっては、変更セットの正しさを保証する最低限の線引きかもしれない CIやテストフレームワークの仕組みに応じていろいろなやり方がある マシンの並列化 プロセスの並列化 スレッドの並列化 2. 変更セットに含まれるプログラム部品に依存する自動テストだけを抽
これは Perl Advent Calendar 2022 16日目の記事です。 昨日の記事は@hkunoさんのぜんぜんわからない。俺達は雰囲気で perl -p -i.bak をやっている でした。 Test2::Suiteの is 関数とTest2::Tools::Compareに登場する比較関数を組み合わせると、ネストしたデータ構造のチェックを(伝統的なスクリプト言語にしては比較的)分かりやすく記述できます。 cpm install Test2::Suite サンプルコードです。 ステートレスな関数を中心に設計しているなら、道具立てとしては十分でしょう。 ▶クリックで展開 #example.pl package main; use strict; use warnings; use utf8; use Test2::V0; package Foo; sub new { my ($cl
whichを使わない一番の理由はcoreutilsに入ってないから(commandはたいていのshellでbuiltin functionになっている)。 ash(1): command interpreter - Linux man page dash(1) - Linux manual page Bash Builtins (Bash Reference Manual) たぶんDockerfileでいろいろやっているときに身についた振る舞いだと思う。 ポータビリティを高めるとかの高い意識ではなく、何度もcommand not foundに遭遇して面倒になったことが主な動機で、そこから派生してwhichコマンドの存在を無視する(頼らない)ようになった感じ。 あと、軽量なDockerイメージを作るのがかっこいいと見做された時期があって(時期というより原則だけど)、インストールするパッケージ
追記(2022/03/20) Linux限定だし概要レベルだけど包括的なドキュメントがあった。 2. Keyboard generalities キー入力したときに起きていることを説明している。 キーボードコントローラはキーボードドライバにスキャンコードを送信する (スキャンコードモードの)キーボードドライバはアプリケーションプログラムにスキャンコードを送信する (キーコードモードの)キーボードドライバはキー押下、キー離上それぞれのスキャンコードをキーコードに変換し、アプリケーションプログラムに送信する (それ以外の)キーボードドライバはキーコードでキーマップを辞書引きして、発見した文字列(エスケープシーケンスの場合もある)をアプリケーションプログラムに送信する 「アプリケーションプログラムに送信する」は、実際には「端末ドライバに送信する」に相当する。 (端末ドライバ=sttyなのかな)
最近になって突然理解した。 選択するときは、柔軟性とAPIの安定性のトレードオフを考えないといけない。 総合評価 「成果物のビルド」を改善する意思と時間の有無に応じて選択するとよさそう。 消極的な姿勢なら Maven を、前向きな姿勢なら Gradle を採用すればいいだろう。 ビルドスクリプトに高度な柔軟性が求められるなら、まずは構成を工夫して簡素化できないか試みた方がよい どうしても簡素化できないなら柔軟性に優れた Gradle を採用するしかない プロジェクトの積極的な開発は1年未満で終了する(消極的な維持、保守は継続する場合) APIの安定性を重視して、Maven を採用する(維持や保守のためにビルドツールをメンテナンスするのはムダである) プロジェクトの積極的な開発は1年以上継続する 「成果物のビルド」を開発プロセスの一部として重視しており、改善し続ける意思があるなら Gradl
Java の導入方法や配置されるファイルを説明しているページがなかったので作った。 TL;DR Oracle Java SE とそれ以外の各種 OpenJDK 配布物についていろいろと確認 (Amazon Corretto / OpenJDK(Redhat) 以外では) cacerts の更新を別の運用として考えておくほうがよさそう 利用する Web サービスの情報に合わせるか、とりあえず最新情報を反映するか 手放しだとどこかで刺さりそう 証明書の検証が失敗する問題に出くわす可能性 利用している配布物の違いにより片方では証明書の検証に成功し、もう一方では失敗するなどの問題に出くわす可能性 (OpenJDK(Redhat) 以外では) tzdb.dat の更新を別の運用として考えておくほうがよさそう Oracle の提供する tzupdater を利用する (提供ライセンスは BCL) Az
他意は無い。無いったら無いんですが、日頃の感謝を込めて。 from SI 昨年の4月末日、6年ほど在籍していた会社を退職しました。 良かったこと、良くなかったこと、色んなことがありました。 {ここにいろいろな出来事を書く} 今の私を形成している要素の半分くらいはそこで得られたものです。 いや言い過ぎか、でもいいや、それくらいはもらってるんじゃないかと思っています。 人間的に危機的な場面もありましたが見守ってもらいましたし。おかげで今は元気です。 本当にありがとうございました。 to SI とある会社GxPと呼ばれるグロースエクスパートナーズ株式会社に応募(apply っていうとなんかかっこいいですね)して採用されました。現職です。 日々驚きの連続(もう10ヶ月も経つのに)ですが、楽しく仕事をしております。 具体的には、門番を自称する id:digitalsoul と共にアーキテクトチームの
SQLアンチパターン 作者: Bill Karwin,和田卓人,和田省二,児島修出版社/メーカー: オライリージャパン発売日: 2013/01/26メディア: 大型本購入: 9人 クリック: 698回この商品を含むブログ (46件) を見る impression 攻撃力高いですね。 普段の仕事ではそんなに複雑な SQL を書くことはほとんど無くなってしまっているのです。 ですが、過去にやってきたことを振り返ると胃が痛くなるような、そんな内容が節々に転がっており、読んでて楽しいです。 「インデックスショットガン」とか「リーダブルパスワード」とか、そんなの自分の目の届く範囲では絶対ないわ―という内容も あったりするんですが、きっと自分は恵まれている。 テクニカルな内容が多いのですけど、これは逆にシステムのほうで都合を悪くしてしまっている例なんだとも思えます。 業務のドメインを正しく表現するのが
2月22日 第30回すくすくスクラム ~Head First インセプションデッキ~(東京都) kazeeechiさんによるまとめ shinyaa31さんによるまとめ インセプションデッキ。 それは、アジャイルサムライによって広く知られることになった、アジャイル開発プロジェクトを成功に導くための銀の弾丸。 ではありません。 ということを改めて確認させてもらったことが、今回参加してみての印象深いことでした。 これとか大事なことですね。 #suc3rum 「アジャイルとか関係ない(一言も言ってないよね)ので、どんな現場でもできるはず。やってみてください」 2012-02-22 21:13:20 via twicca これも忘れずに。 インセプションデッキはスライドを作ること自体を目的にしてはダメ #suc3rum 2012-02-22 21:32:55 via Crowy ある程度意思の疎通が
文才があるわけじゃないけれど、 企画は通らなかったけれど、 「いい文章だった」とフォローしてくれた人がいた。 ということで、きっとどこかよい点はあったと思うので、 どこかの誰かが使えるように公開しておきます。 開発ワークショップの開催について そのまま使うと、同じ人を講師として招いてしまうことになるのでちゃんと直してくださいね。
id:goyoki さんの次になるTDD Advent Calendar jp: 2011の9日目です。 まったく自重しない素敵エントリが続いているので、ここらで息抜きをしましょう。 TDD についての理論、情緒、実践についてはすでに語られてしまったので、現場で使われた話を書きたいと思います。 前提 このお話は フィクション です。 現実によく似た光景を見たり聞いたりしたとしても、それは幻想です。幻想のはずです。幻想ということにしてくださいお願いします。 はじめに そこには C 言語のシステムがありました。 規模にして数万行の中規模なシステム。 24時間365日動き続けることが要求されるもので、僕の仕事は、このシステムの中枢部をうまいこと改修することでした。 テストコードはあるものの、設計に大きな変更が入る前のプロダクトコードが対象となっていて、ユーティリティ関数以外のテストは全滅という、
YAPC::Asia Tokyo 2011 前夜祭(未参加、ログ無し) YAPC::Asia 2011 Tokyo 1日目まとめ - Togetter YAPC::Asia 2011 Tokyo 2日目まとめ #yapcasia - Togetter 去年の体験に味をしめて、普段の Perl の使い方があんまり進歩していないのですが、 今年も YAPC::ASIA に参加してきました。 昨年は知り合いもおらずほとんど一人で過ごしていました。 今年も基本的に一人でふらふらしていましたが、少し変化がありました。 縁あって @PerlCafe さんのゆる Perl な芝生ランチに参加させていただいた! 最初に一般枠のチケット買って、それから個人スポンサーのやつも買ってしまい、チケット余らしてたところで「チケット無い」というつぶやきを見かけたのでお譲りすることにしたのでした TDDBC の参加者の
TDD Boot Camp(TDDBC) - TDD Boot Camp 東京 for C++ なんとなく、時系列で参加に至るまでをだらだらと書きつづり、最後にふりかえることにします。 えっと、TDDBC Tokyo for C++ あんまり関係無い。 はじまり TDDBC for Tokyo 1.5では一スタッフとして参加。 結局参加者含めて助け合いの精神がすばらしく、スタッフらしいことはほとんどできていませんでした… Symfony 軍団の結束力に支えられた、と言っても過言では無いでしょう。 炎上するプロジェクト 私はすでに5月頃に精神のメンテナンスが必要な状態となっていたのですが、プロジェクトは続いていた。 そんなプロジェクトの後方支援を続けるものの、これがまたわりと過酷な感じで、連日終電を逃すこともなかば 当たり前になってたりしてた。 チームメンバーのモチベーションも最悪で、週末に
まとめリンクなど TDD Boot Camp in Tokyo #tddbc : ATND TDD Boot Camp in Tokyo #tddbc - Togetter TDDBCのまとめWiki 今回のワークショップで作成したコード 感想まとめ すべての参加者の方が楽しめているようでした コードレビューという枠で他の人の設計を知ることができるのはよいものでした 個人的な想いなので運営、開催をされてる方々を非難するものではありませんが次の点は必要だったと思いました 課題とは別に、TDD という型を最初に示すべき TDD によって設計をどう進めたか、また、どう変わっていったのか振り返る時間は必要 各ワークショップごとの代表的な例でもいいのでコードを集積、その設計に至った知識の共有をする時間を持つ ログ 20011/07/09 に開催された TDD Boot Camp in Tokyo 1
Redmineによるタスクマネジメント実践技法 作者: 小川明彦,阪井誠出版社/メーカー: 翔泳社発売日: 2010/10/13メディア: 大型本購入: 16人 クリック: 337回この商品を含むブログ (52件) を見る devsumi2011 のセッションには参加できなかったけど、TiDD (Ticket Driven Development) は面白いと思います。 まちゅさんの記事の公開も結構昔なので、 「もうやってる」という現場も多いんじゃないでしょうか。 この本はそういった知識の集大成+実例になっててなんかすごいですね。 まえがき プロジェクト管理の問題点 これまでのプロジェクト管理の問題点として次の3点が挙げられていました。 進捗管理 (Excelガントチャートだとタスク管理が大変) 情報連携 (構成管理ツール不在による必要資料の偏在、指示内容の不整合) イテレーション管理 (
4月9日 Beautiful Development ソフトウェアの核心にある複雑さに立ち向かう(東京都) とても楽しい、ためになるイベントでした。 場を作ってくれた参加した全ての方に感謝します。 どんなイベント? DDD (Domain Driven Design) という設計手法をテーマにしたいろんな記念イベント 2003年に出版されていた書籍の邦訳が2011/4/9に出版された記念 2011/4/12に開催されるQConに原著者のEric Evanceが来日する記念の前夜祭 2011/3/11の東北関東大震災後に開催を自粛していたDevloveの再起動の記念 検索キーワードは "devlove0409" なんで参加したの? 主に興味本位です。 どうしても必要な知識なのに参加できなかった方は残念でした。 DDDについての話が聞いてみたかった 技術的に卓越してる知人の方が参加するようなの
プログラマが知るべき97のこと 作者: 和田卓人,Kevlin Henney,夏目大出版社/メーカー: オライリージャパン発売日: 2010/12/18メディア: 単行本(ソフトカバー)購入: 58人 クリック: 2,107回この商品を含むブログ (350件) を見る 知人経由で書籍をいただいたのが初めてなのでメモ。 世の中何が起こるか分からないものです。 寄稿者 この本は 81 人ものトッププログラマによる 107 のエッセイ集なんですが、 寄稿者紹介をちゃんと読むと意外なことが分かります。 トッププログラマというと有名な OSS 開発者とかそういった人々をイメージしがちですが、 いわゆる企業プログラマと思われる方も何人か含まれています。 そういった方のエッセイ読んでると、普段話をしない自社の人の中にも 面白いアイデアや、ためになる考え方を持ってるんではないかなーと希望が持ててよいですね
はてダも markdown 対応してほしいなぁ。
YAPC::Asia Tokyo 2010 いくつかのセッションを拝聴して、途中で疲れてしまったので早退。 YAPC への参加は初めてだったけど、他のイベントとはちょっと違った雰囲気を感じました。 以下、参加したセッションのメモ。 How Xslate Works 最速のテンプレートエンジンの紹介。 TT や HTML Template などとの記法に対応しつつ、高速に動く。 テンプレート記述を解析した結果はバイトコード出力して、専用 VM によって解釈実行するとかかっこいい。 専用にしたのは出力に特化するためだとか。 文法とか拡張がしやすくなってたりテンプレートの継承ができたり。 テンプレート言語は、出力を目的としたプレゼンテーション層を実装するための、 出力に特化したプログラミング言語であることを認識できた気がします。 匙加減重要。 Ajax Application Testing J
あちこち man を見てたらできたのでメモ。 状態 リポジトリは 2 つあり、どちらもそれなりに成長してる。 でも中身は同じコードベースから派生したもの。 A B やりたいこと B を A に統合したい。 やること A のリポジトリのブランチとして B を取り込んでマージするだけ。 すばらしく簡単でした。 $ ls A B $ cd A $ git fetch ../B master:B $ git merge B
同じようにはまっている人発見。 XML::Liberalのtestがこける - Lazy Programmer :-p 追記2 XML-LibXML-1.65 まで下げると、ほとんどパスするようになった。 XML-LibXML-1.64 までさげると、XML-LibXMLのtestでこけるようになった。がーん。 追記3 XML-LibXML-1.65 + XML-Liberal-0.19 testパス! これでいいのかわからんけどとりあえずこれで! 上記を参考に、XML::Liberal はそのままで、XML::LibXML のバージョンを落としてみることにする。 (cpanp に変えたのは気分の問題) モジュールのディレクトリ構成は、cpan/build 配下に展開されたときの名前を覚えておけばいいと思う。 CPAN_Terminal> f XML::LibXML 1 XML-LibXM
このページを最初にブックマークしてみませんか?
『yujioramaの日記』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く