エンジニア的なネタを毎週書くブログ

東京でWebサービスの開発をしています 【英語版やってみました】http://taichiw-e.hatenablog.com/

ブラウザがCSSキャッシュしてしまうのを止める方法

CSSに限らないのですが、こんな感じでブラウザはダウンロードしたコンテンツをキャッシュする機能を持っています。 200 OK とか言ってますが、サーバに何らかのリクエストを投げることすらしていないわけですね。これが過剰に効いてしまうと、HTML/CSSを修正…

Windowsでsshしてターミナル作業してるときに「テロン」「テロン」ってうるさい音を消す

基本的にオフィスではPCの音は全消ししてたので、いままでは気にしてなかったのですが、 世の中はすっかり在宅勤務時代。同僚の方とZoomなどでつないで、時にはサーバに入って作業している状況をシェアすることも増えました。 そのときに… tabキーで補完をす…

SRE Lounge #12 に参加しました!

やったこと こちらに参加しました! sre-lounge.connpass.com今回は、オンライン参加でハードルが低かったこともあり、運用に近いところをやってくれている、これからやろうとしてくれているメンバー2人を誘って一緒に参加しました。 セッション中は、Twitte…

守備には3種類あると思った

今、自分の中では世紀の発見をしたくらいのキモチになってまして、忘れないように書きとめておこうと思います。 多分後で読み返したら「なにを当たり前のことを言ってるんだ」って感じだと思うんですけど。その昔書いたこの記事のように、サッカーだったり剣…

awkで特定の列を除外して出力する

備忘録一番左の列を除外したかったら awk '{$1="";print}'こちらからいただきました! orebibou.com

Windows10にOracleをインストールしようとしたらありがちな罠にハマった

Oracle18cのWindows用のZipを落としてきて、解答して、 setup.exe を管理者権限で実行するんだけど、一瞬だけウインドウが表示されたあと、すぐに消えてしまう現象が発生。ググると同じお悩みの人は多い。 質問サイトを読んでいると…"Remove all the spaces …

古いプログラムからも学ぶことがある…と思う。

機会がありまして、宮大工・西岡常一さんの聞き書き、「木のいのち木のこころ」を読んでいます。木のいのち木のこころ 天・地・人 (新潮文庫) [ 西岡常一 ]ジャンル: 本・雑誌・コミック > 文庫・新書 > 文庫 > その他ショップ: 楽天ブックス価格: 979円宮…

自組織内でアドベントカレンダーやってみました

今の自部署が7月にできて半年弱。 当時、新しいプロダクトに不慣れだった各メンバーも、随分と慣れてきました。…ということで、ちょうど12月だし、お互いここ半年で学んだことを共有しあってみようぜ! ということでアドベントカレンダーを部署内でやってみ…

Rakuten Technology Conference 2019 に行ってきました RTC2019 #rtechconf

tech.rakuten.co.jp「明日すぐに仕事では役に立たないけど、いつか一個くらい役に立つかも」的な単語を覚えてこれたので、満足でした。行ってよかったです。 GitOps, Jenkins X & the Future of CI/CD Jenkins X 今日、会場に付く前に唯一予習していった単語…

【昔話】無力さを感じた九州旅行

今の会社に新卒で入社したのが2008年。 その後、新人研修などを終えて、縁あって、オンライン旅行サービスの開発をする部署に配属されたのが、今日からちょうど11年前の2008年8月1日でした。当時の自分の感覚では、 ・インターネットで、宿や交通手段の予約…

36歳時点で「マネージャー」というものに対して思うこと

今日の記事は日記というか後で自分が読み返すための、雑記要素強めです。チラシの裏。 はじめに、背景 今年の6月で36歳になりました。歳男です。 今年の4月に、弊社内で「マネージャー」と呼ばれている役職になりました。それ以前は「リーダー」または「アシ…

増田亨さん ドメイン駆動設計の正しい歩き方 を聞いてきました #bpstudy

BPStudy#141〜DDD(Domain Driven Design)実践の現場 - connpass に行ってきました! ドメイン駆動設計の正しい歩き方 from 増田 亨 特に心に残ったことまとめ DDDは、「ソフトウェアの変更を楽で安全にする」ことに振り切っている。 逆に言えば、変化がない…

VOYAGEさんの「技術力評価会」がすぐにでも取り入れたいくらい面白かった! #EM集会

今日はこちらに参加しました! エンジニアのマネージメントで悩んでいる人が集まる会 #3 - connpass 今までそれなりにいろんな勉強会/ミートアップに参加してきたのですが、 「マネジメント」「マネージャー」を冠した会は初めてでした。 主催者の方や、一…

増田亨さん「マイクロサービス 4つの分割アプローチ」を聞きに行けなかったんだけど教えてもらったのでまとめてみる #jjug_ccc

背景 私の増田さん追っかけは2017年11月に遡るのですが、 https://taichiw.hatenablog.com/entry/2017/11/05/175105 当時、APIの設計や、そこからつながるマイクロサービスの設計については、まだ試行錯誤されている段階… というお話を聞いていました。あり…

ISO25000を読んでみる - ISO25010 The quality model 前半

「『品質がいい』ってなんだよ!?」を定義したISO25000 の中に含まれる、ISO25010を読んでいます。 こちらのポータルサイトを中心に読み進めているのですが、 iso25000.com 抽象的な説明が中心(&英語)で理解しづらいところがあるため、「こういう意味か…

リアルタイムにそこそこ重い処理を実行するためには、前処理が重要… なのかな? #jsug

JSUG勉強会 2019その3 LINEにおけるSpringの活用 に参加してきました。 ここがとっても気になったのです。 Personalized content recommender systemであるSmart Channelは、ユーザーの属性や趣味趣向を推定し、各個人に最適なコンテンツを推薦するServiceで…

IntelliJ IDEAのSequenceDiagramプラグインが便利

この、SequenceDiagramプラグインで、 vanco.github.ioこんな感じのシーケンス図が描けます。 素敵なのが、 好きなメソッドから始められる 深さが選べる 点です。コードレビュー時などに、深さ2でServiceクラスから始めると、私の好きな感じのコードになって…

【極論ですけど】JavaでforEachを使ったら負けだと思う

正直使い所がわからないんですよね、forEach. ログとかprintfとかする以外は… コレクションを更新するな 未だに時々見るのがこういうコード。 List<X> list = new ArrayList<>(); 適当なコレクション.forEach() .map(t -> list.add(t.getXXXX())); これとっても</x>…

"Rename Hackathon"をしてみました

チーム内で、お祭り的なイベントとして、"Rename Hackathon"というイベントをチーム内でしてみました。 ルール 参加者は30分間ひたすらプルリクエストを送り続ける 「リネーム」のみ許可。名前を変更する対象は、クラス、メソッド、変数名、パッケージ名 な…

「解決策から考える病」に名前をつけたい

…って、タイトルで名前つけちゃってますが。どうしても人間、「なんとなく思いついたソリューション」に飛びついちゃうんですよね。寝坊しまくってるから目覚まし時計を買わなきゃ…! ってなりがち。 その前に、そもそもなぜ寝坊しているか? について考えな…

JavaのHashMapは無限ループを引き起こす

知らんかった。理由がぼんやりはイメージ湧くけどしっくり来てないので後でちゃんと調べ…たい。(だいたいやらないパターン…)d.hatena.ne.jp www.atmarkit.co.jp wadahiro.hatenablog.com 回避方法はいろいろあるみたいだけど、ConcurrentHashMapをつかって…

価値観ババ抜き大体験会!に参加してきました #devlove

悩めるオジサンの私が、自分を見つけるためにぴったりそうな価値観ババ抜き体験会に参加してきました。 https://devlove.doorkeeper.jp/events/85438価値観ババ抜きって何?? というのを書こうと思ったのですが 冗長になる&講師じゃない自分が変に説明して…

あらゆる「システム」の挙動は入力と出力だけで説明できる

どんな粒度、どんな用途の「システム」も、挙動は入力と出力だけで説明できます。 プログラムのサブルーチン(function, method, ...) 「引数」と「返り値」で挙動が説明できます。 public String greet (String name){ return "Hello " + name + "!"; } Mic…

バグチケットに各APIのリクエストとレスポンスが貼ってあったらバグの調査は早く終わるのか?

モヤモヤと考えたことを書き出しています。結論ありません。実践もまだしてません。 背景 私は今、こんな感じでInternalなWeb APIが相互作用するサービス*1に関わっています。 また、こんな感じで組織が別れています*2。 さて、このサービスについて不具合が…

『複雑なドメインに泥臭く立ち向かう』JJUG CCC 2018 Fall #jjug_ccc

JJUG CCC 2018 Fallに参加し、@su_kun_1899 さんの 『複雑なドメインに泥臭く立ち向かう』というセッションに参加してまいりました。speakerdeck.comtwitter.com 法律という完全に外部要因で決まって変えることもできないものが要件に深く絡む世界で、 どの…

3歳の息子が私のサービスを使った日

このエントリは、子育てエンジニア Advent Calendar 2018の14日目のエントリです。 このブログではプライベートなことをあまり書いたことがないのですが、乗っからせていただきます。 About 私 & 息子 (と奥さん) 私には、現在3歳半の息子がおります。一日…

ParallelStreamで外部接続しちゃいかんの? → 独自スレッドプールでParallelStreamを使ってみた

ParallelStreamでI/O待ち状態を作るとプール内のスレッドを食いつぶす? ParallelStreamはアプリ全体で共通で持っているスレッドプールを使う上、CPUのコア数分しかスレッドが無いのでI/O待ちが発生するようなものには使ってはいけない、という話を聞きまし…

SpringBootのアプリで、JMHを使ってみた

メソッドのちょっとした書き方の違いによる速度の計測をしたくて(Micro Benchmarkというらしい。対義語はMacro Benchmark)、JMHで計測をしてみました。JMHのオフィシャルページを見ると、mvn archetype:generate なるものが出てきて「なんじゃこりゃ?」だ…

Mavenで実行しているTestに割り当てるヒープを増やす方法

Maven Surefire Pluginを使う。 https://maven.apache.org/surefire/maven-surefire-plugin/ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine> </configuration> </plugin>ぐぐると、MAVEN_OPTSに書けばいい とか、…

Chrome Tech Talk Night

events.withgoogle.com Google さんで行われた、Chrome Tech Talk Night に参加してきました。弊社の新人研修依頼、10年以上ぶりに森タワーのオフィスに入ったなぁ とか しょうもないことを思いながら。 そもそも私、フロントエンジニアではないので、正直細…