既に2か月ほど経ってますが、X(Twitter)始めました!このブログとは異なり、こちらは雑談メインです。 よろしければこちらもよろしくお願いします🙇 https://x.com/red_slime_cyz
SQLでのクエリの性能改善というと、「インデックスを設定する」「本当にインデックスが使われているか実行計画を見て確認する」といった、RDBMSの物理的な機能の活用に注目しがち。 しかし、それ以前の問題として、「クエリの最中に件数が増加しないようにSQ…
表題の通り、Javaプログラミング入門書「絶対にJavaプログラマーになりたい人へ」が発行されました!Amazon kindleで読むことができます。 私も執筆の多くの部分に関わっています。 ご興味がある方は是非とも手に取ってみてください! 同時に、プログラミン…
GWということで、ITシステムのリリースを控えている会社は少なくないと思います。リリースするシステムは是が非でも安定稼働させたいものです。 そこで、神様の力を借りて、システムの安定稼働を祈願するのはいかがでしょうか?嘘のような話かもしれませんが…
Spring Framework + JPAでのDelete実装方法について、調べるのに少し苦労しましたので、実装方法をまとめます。 ---- 1.CrudRepositoryインターフェースのメソッドを利用する全件削除、1つ~複数のエンティティクラスのインスタンスを指定して削除、1つ…
Javaの変数の型は、プリミティブ型と参照型に大別されます。そして、変数の値が同じであるかどうかを確認する場合、プリミティブ型は == で同じ値であることを確認できる(同じ値の場合はTrueになる)のに対し、参照型の場合は原則として == では確認できず…
仕事をしていると、大小様々なタスクが発生します。特に、管理職やリーダーのような、上のポジションに就くと、その傾向が強くなります。 この記事ではタスクの処理方法を紹介します。以下の処理方法を適切に使い分けることで、効率良く仕事ができるようにな…
実務でBIツール「Amazon QuickSight」の導入を支援する機会がありましたので、ツールの紹介をします。 【BIツールとは】BIとは「ビジネスインテリジェンス」の略であり、事業上の意思決定のために、情報を収集・加工し、分析し、知見を得ることを指します。 …
現在の開発現場・運用現場では、CD(Continuous Delivery)ツールを使用したデプロイ(サーバーへの資材配置)が一般的になっています。CDツールの設定を行うのは一部の技術者のみであることもあり、CDツールを使用しない場合の原始的な手順でのデプロイ手順…
以前に、以下の記事にて、マッチング処理のロジックについて書かせていただきました。 マッチング処理のロジック – サイゼントの技術ブログ 以前の記事では1対1マッチングと1対nマッチングについて説明しました。今回の記事では、より複雑なn対nマッチングに…
新しい仕事を進める中で、ソフトスキル(コミュニケーションスキル)を体系化して伝えることの難しさを実感しました。既存の文書では伝えることが難しいとも感じましたので、私の方でNote(ブログ)を新たに作成し、そこにまとめました。 こちらも参考になる…
表題の通りです。ググっても出てこなかったので備忘として残します。 ビルドを通すだけであれば"org.aspectj"のみ取り込めば良いのですが、実際にAOPを動かす(JoinPoint・PointCutの条件を満たした時にAspectクラスのメソッドを実行させる)ためには、"spri…
TypeScriptは、JavaScriptを拡張して作られた言語です。 JavaScriptを大規模開発で採用する場合、実行時のエラーが頻発することで生産性や品質が悪化する恐れがあります。JavaScriptのこの問題を、ビルド時のエラー判定を強化することで解決した言語が、Type…
フロントエンドのSPA(シングルページアプリケーション)向けのJavaScriptのライブラリであるReactを使用して、HelloWorldを書いてみました。Reactで何かしらの記述の挙動を確認したい時のベースとして使いやすいようにしています。 今回は、下準備無しで動…
来年からこのブログのあり方が変わるため、事前に連絡です。 私情なのですが、来年から私の働き方が変わります。これまでは、自社の若手を率いて客先に常駐したり仕事を請け負ったりする働き方でした。その中で、若手に教育を行う機会があったため、教育の一…
仕事を進める中で、誰かを説得しないといけない場面があります。ここで、社内や社外の事情を話したり、論理立てて説明したりすることで納得してくれれば良いのですが、それだけでは納得されにくいこともあります。 このような場面で有効な手段の一つが、比喩…
コンティンジェンシープランとは、想定外の事態が起きた時に備えて事前に定めておく対応策のことです。この記事では、プログラムのリリース時に定めておくべきコンティンジェンシープランについて、具体的に述べていきます。 ---- プログラムのリリース作業…
物事を定量的に語る上で、統計データは大きな武器になります。しかし、この統計データが正確に計測されたもの、かつ作為的に計測されていないものであるとしても、解釈次第で誤った結論に至ってしまうことがあります。 この記事では、誤った結論に至ってしま…
採用や販売などの事業活動を行う場合、特定の属性や価値観を持った人が自然に集まるようにした方が効率が良くなります。そのためには、そのような人が自然と集まるように情報を発信することが有効です。このような情報発信を「シグナリング」と呼びます。ま…
システムの運用においてトラブルの対策を考える際、インパクトが大きいトラブルに対しては大きな労力を、そうではないトラブルに対しては小さな労力をかけるのが効率的です。 ここで、ホビーの売買サイトの運用を例に挙げて説明します。 例えば、エンドユー…
ラポール形成とは、相手との信頼関係を築くことで、コミュニケーションを円滑に進められるようにするためのテクニックです。元々カウンセリングのテクニックですが、ビジネスにも応用可能です。 ---- 自分の立場からの意見を通したり、アドバイスにより相手…
表題の通り、人間には、学び始めの時に自信過剰に陥りやすい、という特徴があります。一般的に、ある分野について学び始めた時は自信過剰になり、更に学ぶとその分野の知見の深遠さに気付き自信がなくなる、そしてそれ以降は徐々に自信がついていく、という…
ITの開発現場で活用できる心理学の知見の紹介です。今回紹介するのは「社会的手抜き」と、社会的手抜きの一つの具体例である「傍観者効果」です。 ---- 社会的手抜きとは、集団で一つの作業を行う時に、各々の個人のパフォーマンスが一人で作業する時のパフ…
経営や営業の都合では、開発者が直感に基づいて迅速に案件の見積をしてくれると助かります。見積が早く出てくれば、案件の優先順位付けや案件の受注もスムーズに進むようになり、利益も出しやすくなります。 要件が明確で見積時点で具体的な実装がイメージで…
既存のシステムの機能拡張の見積もりを行う際、その機能強化による影響の大きさを正しく把握する必要が肝要です。影響の大きさを把握する上で、もし新たなデータの状態が発生するような修正をするのであれば、その修正の影響が思いの他大きくなることを警戒…
何かしらの作業を行う際、自分一人で作業するとなると、どうしても時間的・能力的に限界がありますし、得意不得意もあります。一方、手が空いている人や、比較的重要ではない作業をしている人が周囲にいることも少なくありません。このような場合、自分が持…
一般的に、何かの問題を解決したい場合は、解決する道筋を考えて、問題を分割しようとするべきです。そうすることで、・やるべきことが明確になる・わからない所が出てきた時に調べやすくなる・作業分担ができるようになるといったメリットがあります。 これ…
ファイルで文字列置換を行う際、特定の条件を満たす文字を置換したくない場合があります。例えば、CSVファイルの区切り文字であるカンマをタブ文字に置換したい場合、文字列項目中に出現する区切り文字ではないカンマ、具体的に言うと""で囲まれた箇所のカン…
Javaの参照型変数の中身は、何年かJavaの実装経験を積んだ人でもイメージすることが難しいです。しかし、ここがイメージできていないと、思わぬ落とし穴にはまることもあります。 C言語を経験していればイメージしやすくなりますが、そのためだけにC言語を学…
仕事を進める上で会議は欠かせません。 例えば、以下の目的で会議を行います。・管理表やチケットで管理されたタスクの棚卸・要件や作業状況等のヒアリング・問題に対する対応案の検討・成果物に対するレビュー 会議を上手く運営すると仕事はスムーズに進み…