- 2024/07/11 ぐるぐる戦法 ラウンドロビン設計とレビュー手法を活用し、効率的なチーム開発と新人教育を目指す「ぐるぐる戦法」を思いつきました。
- 2024/06/26 アジャイル開発(アジャイル風も含む)での生産性の計測 非スクラムのアジャイル開発でのベロシティの計測方法と、その相対評価の有効性について、ご紹介します。
- 2024/03/13 朝の3時間は脳のゴールデンタイム 朝起きてからの3時間は脳のゴールデンタイム。効率的な仕事をするための時間管理術や、脳の回復法を紹介します。
- 2024/01/26 アーキテクチャー設計の意思決定を効率的に記録する「ADR」の導入 「ADR(アーキテクチャ・デシジョン・レコード)」とは、アーキテクチャ設計の決定を軽量ドキュメントで記録する方法です。導入メリットとアジャイル開発におけるドキュメンテーションの問題解決策のお話です。
- 2024/01/25 TypeScriptで名前付き引数っぽい実装をする TypeScriptでPythonのように関数呼び出し時に引数名を使って「名前=値」の形式で引数を指定するOptions Objectパターンという技を紹介します。
- 2024/01/19 js 版の LangChain で LCEL を試す LangChain と言えば Python だと思ってたら、js 版も同じくらいの機能で開発されていた
- 2023/12/22 ローカル LLM を動かす Google ColabでローカルLLMを運用するか、社内にLLMサーバーを作るか思案中・・・
- 2023/10/17 コードの品質を測定する方法 コードの品質を測定する方法が紹介されていました。計測の自動化に向けて、少しまとめてみました。
- 2023/09/25 開発会社が Docker のライセンスに準じて正しく使うために いまさらだけど、開発会社が Docker のライセンスに準拠した、安全な使い方について調べました
- 2023/09/14 リーン思考で仕事しよう 「WBS引いて、非アジャイルに開発してたら、とっくに終わってたな・・・」リーン思考に欠けたアジャイル開発の顛末
- 2023/09/11 ChatGPT を活用して書いたコードは他人が書いたコードと同じ ChatGPT にコードを生成してもらうと生産性があがるけどメンテ効率が下がることもある。
- 2023/09/04 やらない選択の代償 NewsPicksのインタビュー動画を見たときに、思わずメモしてたことなのだけど、みなさんにも紹介します。
- 2023/08/20 1日1コミットのススメ Gitのstash機能を活用して特定の作業毎に小さなコミットを作るようにして最低1日1回のコミットを刻もう!
- 2023/02/10 CDK (Cloud Development Kit) できるだけ早くに Infrastructure as a Code を取り入れた方がいい
- 2023/01/26 デメテルの法則 「直接の友達とだけ話すこと」というプログラミングのお約束です
- 2023/01/18 ChatGPT 凄すぎる まだ試してない人は、サインアップして、一回使ってみた方がいい。ChatGPT にはビックリした!
- 2023/01/16 mermaid.js でマインドマップが書けるようになってる 実験的な機能だと書かれているが、マインドマップもサポートされるようだ。
- 2022/12/21 WBS と GitHub (GitLab) の Issue の併用方法 WBS と Issue を併用していると、いつの間にか Issue が放置されていることってありませんか?
- 2022/12/14 ロサダラインと呼ばれる比率 ポジティブな感情が仕事の効率を高めるという話
- 2022/12/08 SQLのテストカバレッジのツールがほしい Spark SQL でデータフレームを作っているけどテストカバレッジを計測できない
- 2022/12/06 社内研修で DDD を学ぶ DDD を学ぶとセンスが磨かれるので社内研修にピッタリ
- 2022/11/21 Python の linter python 用のプロジェクトで使っている linter など
- 2022/04/22 テスト仕様書をハックする テスト仕様書をもっと使いやすくて、メンテしやすいものにできないか?妄想してます。
- 2021/03/30 Docker Desktop WSL 2 バックエンドの使い始め WSL2とDockerを使って、もう1歩 DevOps を推し進めたいと思ってるんだけど、いろいろあるねぇ・・・ということを、ご紹介します。
- 2020/11/02 ChatOpsのススメ SlackのChatbotをMS製のBot Frameworkで作成してみました。簡単に作り方を説明します。
- 2020/09/07 AWSのエラーログ監視の設定 AWSにサーバーレスなシステムを構築したときのログ監視のやり方を説明します。簡単に再利用できるようにできるだけCLIで設定します。
- 2020/06/15 PySparkの分散される処理単位であるクロージャと共有変数の仕組み Spark では、処理が分散されて、複数のノードやスレッドで実行されますが、分散される処理の塊を、どう配信しているのか?加えて、複数のタスク間でのデータの共有とか、集約するための仕組みがどうなっているのか?少しだけ説明します。
- 2020/05/17 私たちの AWS Glue を使った開発のやり方 弊社での AWS Glue (Spark) を使ったシステムの開発のやり方についてご紹介します。ポイントはできるだけローカルの環境を使うことです。
- 2020/05/07 AWS Glueのローカル環境を作成する Sparkが使えるAWSのサービス(AWS Glue)を使うことになったとき、開発時にかかるGlueの利用料を抑えるために、ローカルに開発環境を作ります。
- 2020/02/17 新型コロナウィルスの感染拡大に伴う対応について 新型コロナウィルスの感染拡大を受け、当社社員、お客様、パートナー様の安全確保、並びにお客様に安定したサービスを継続的に提供するため、本日2月18日(火)から2月28日(金)までの期間、以下の対応を実施いたします。
- 2019/11/21 1コマ漫画 1コマ漫画で会社の特徴を表現してみました。このマンガで採用活動もしています。なかなかの香ばしい仕上がりになっているので、ぜひ、見てください。
- 2019/10/15 IntelliJ系IDEのインスペクションをCLIで実行する コーディングスタイルのチェックを linter とかじゃなくて、 IntelliJ の インスペクションに委ねている開発チーム向けに、IDEを起動することなく、コマンドラインから、IntelliJ の インスペクションを実行する方法をご紹介します。CI環境でのインスペクションにも使えるんじゃないでしょうか?
- 2019/09/24 「オブジェクト指向エクササイズ」でクセの強いコードを矯正しよう よくできたコードは、パッと見で、”なんか違う”と感じさせるところがあり、あぁ、このコードを書いた人はデキるって思わせるものですが、そんなコードを書くためには、どうしたらよいんでしょうか?そのヒントが「オブジェクト指向エクササイズ」にあります。
- 2019/07/24 月一のおやつ お客様への感謝を日頃の遊び心とともにお贈りしている「おやつグランプリ」のご紹介と、2019年上半期のランキング発表。
- 2019/04/29 Confluenceのドキュメントをマークダウンで書きたい マークダウンで記述したドキュメントを Confluence の wiki マークアップに変換して、且つ、 Confluence API で、ページを post します。
- 2019/04/10 Angularのエラー処理について考える(実装編) Angularのエラー処理に関する実装編です
- 2019/03/30 Angularのエラー処理について考える(設計編) Angularを例にしてSPAでシステムを構築するときに考慮すべきエラー処理について整理してみました
- 2018/10/13 仕様書をマークダウンで書きたい プログラミングを開発の中心に据えるなら、仕様書もテキストファイルで書いた方が良い
- 2018/07/18 全文検索を自社サイト・社内サーバーに構築したいクライアントのための留意点 システム開発における「全文検索」の実装方式・コスト・性能に関して、クライアント企業の方にも腹落ち頂けるようまとめました。grep型と索引型の違いに関する平易な解説を記載しているので、これらをクライアントに解説されたい開発者にもオススメです。
- 2018/06/14 zip, compress, gzip, bzip2 - ファイル圧縮の形式に関する覚書 ファイルサイズや検索性に大きく影響する「圧縮形式」。本記事ではメジャーな圧縮形式について紹介していくと共に、『高速文字列解析の世界』(岡野原、2012)の内容と連動。エンジニアが処理内容を学習しやすいようまとめています。
- 2018/05/07 「ハッシュ」完全理解のための覚書 ハッシュテーブルをRubyで実装してみる 「ハッシュ関数」「ハッシュ値」「ハッシュテーブル」についてごまかしなく理解することを目的に、Rubyでハッシュテーブルクラスを自作してみました。ソースコードは100行に満たないので、コードリーディングを通じたデータ構造の理解にお役立てください。
- 2018/05/07 Rubyの配列(Array)を魔改造して、連想配列として使ってみた 連想配列をRubyで実装することを通じ、普段我々が使っている連想配列の性能について理解することを目指した記事です。Rubyの配列(Array)を連想配列に魔改造するための、30行ほどの短いコードをGitHubで公開しています。
- 2018/03/05 開発効率化をもたらす、プロジェクトマネジメントのためのツールとTIPS 「開発フローにおけるボトルネック」の解消をテーマに、プロジェクトマネジメントのためのツールの役割を整理してみました。チケット管理ツール・ガントチャート・チャットツールをそれぞれ位置付けたのち、最後に「技術力による解決」に触れます。
- 2018/03/04 Jupyter Notebookを普段使いして仕事効率化する 機械学習の試行過程で使われているJupyter Notebookを普段の仕事の中でに使ってみたら、すごく効率的なことがわかりました。ご紹介します。
- 2018/03/02 「ボトルネック」の辞典作ってみた。システム効率化のための諸概念を整理する システム開発におけるボトルネックは「システム全体の処理においてもっとも負荷がかかり、全体の処理速度を決めてしまう要素」を指します。エンジニアがボトルネックを見つけるためのヒントとして、諸概念に関するボトルネックをまとめてみました。
- 2018/02/01 利益管理のためのデータ可視化 技術者にできる事は何か? データ可視化は科学技術分野において発祥した技術であり、与えられたデータから自動的に「見やすい図示」を出力するアルゴリズムを指します。データを見やすくし、ビジネスの意思決定に活用するという観点から手法を紹介し、R言語によるデモを行います。
- 2017/12/28 機械学習・統計学・最適化の違いについてまとめてみた 「機械学習」という手法は、システム開発の現場で用いられる事例が急増しています。一方、「統計学」という分野も機械学習と同様にデータを扱い、やはり多数の事例があります。本記事は「機械学習と統計学の違い」について整理することを試みます。
- 2017/12/07 TERASOLUNAの開発環境を30分で整備するスターターキット Spring Frameworkを中心としたOSSの組み合わせからなる「TERASOLUNA」を採用した開発プロジェクトを、短時間で立ち上げるスターターキットを作成しました。開発チームのメンバーに配布する開発キットから、CI環境の構築までを、わずか、2つのコマンドで一気に構築します。
- 2017/12/04 システムによる最適化を通じて、開発者がめざすもの 〜エレベーターの制御システムを例に〜 システム開発においてお客様の要望に応えようとするとき、いろいろなところで「システムによる最適化」を含む開発アイデアを発想します。この記事では、最適化を成り立たせる「目的関数」と「制約式」という思考法を紹介します。
- 2017/11/13 【Pythonでテキスト処理】Double arrayでTrieを実装してみた 今回はDouble Array(ダブル配列)というデータ構造で実際にTrieをPythonで構築し、共通接頭辞検索を行えるようにします。実装方法については[『日本語入力を支える技術』(徳永, 2012)に準拠。書籍をお持ちでない方にも理解できることを目指しています。
- 2017/10/27 書評『GIVE & TAKE 「与える人」こそ成功する時代 』 組織心理学教授として著名なアダム・グランドさんによる成功する人についての研究本である。ギバー、テイカー、マッチャーのうち誰が最も成功し、成功しないか。科学的な検証に基づきなら書かれた本書は、現実世界での応用が即座に可能。仕事や生き方について考えさせられる名著である。
- 2017/10/19 Web Performerが出力したコードをSpring Boot化してみた Web Performerで出力されたコードは、Spring 4 に対応していますが、Spring Bootではありません。Spring Boot化する方法をご紹介します。
- 2017/09/06 テキスト処理に使われるTrie(トライ木)とLOUDSに関する概略 Trieはテキスト処理において必需品と言えるデータ構造です。辞書検索、日本語入力、サジェストの実装や、形態素辞書が主な用途と言えるでしょうか。Pythonの自然言語処理パッケージNLTKでも、形態素解析にトライ木を用いています。
- 2017/06/30 Chainerを使ってMarkov chain(マルコフ連鎖)を書いてみる 本記事は、Python上で動作するニューラルネットワークのライブラリ「Chainer」を使ってマルコフ連鎖を実装、様々な実験を行うものです。本来関係のない両者を結びつけることでどんなメリットが得られるのでしょうか?
- 2017/05/30 2NF・3NF・BCNFは自動生成できる データベース正規化アルゴリズムとその実装 今回は、第二正規形(2NF)までの正規化を行うアルゴリズムを提案・実装しています。2NF、3NF、BCNFはいずれも、関数従属性を取り扱うという点で共通しています。なので、2NFの自動化ができれば、3NFやBCNFへのステップアップにはさほどの困難はなさそうです。
- 2017/05/29 非公開サイトをLet's EncryptなDockerコンテナでお手軽にSSL化する方法 | 開発環境のスピード構築のために アクセスを限定した非公開サイトを運用していて、それをLet's EncryptでSSL化したいけど、コマゴマ面倒くさいという方に、お手軽にできるレシピをご紹介します。
- 2017/04/28 超高速開発とAIに関する一考察 DBにおける候補キーの自動検出アルゴリズムを書いてみた 正規化という概念を知らないようなユーザーでも、サンプルとなるテーブルを与えれば、正規化されたテーブルが出力されるようなアルゴリズムを考えてみました。
- 2017/03/30 オンライン機械学習時代の到来が技術者にもたらすもの 「オンライン学習」とは、「データの到着が逐次的(sequential)であること」が解析に含まれているような機械学習手法を言います。いくつか、主要な概念やアルゴリズムについてまとめました。
- 2017/03/18 社内の開発環境でDockerイメージをミラーリングする方法 | 開発環境のスピード構築 社内LANの中に、Docker用のプロキシーを配置して、docker pull の実行時間を、最適化する方法をご紹介します。
- 2017/03/03 WEBサイト間のシステム連携をOAuth認証で保護する | LaravelアプリでのOAuthサーバの組み込み方法 WEBサイト間でのシステム連携をOAuth認証によって第三者の不正利用から防御する方法について、Laravel5.2以前で実装された既存システムへの適用方法で説明します。
- 2017/02/28 ミッションアワード - 社内表彰制度 アルタスファイブでは、月に1回、「社内定例」と称した、全社会議を催しています。この会議の中で、ミッションに基づいた評価観点で、自己申告制で、ポイントを蓄積して、年次で、ミッションアワードとして表彰します。ポイントを獲得した全員が、表彰対象で、ポイントを報酬金として支給しています。
- 2017/02/25 if else nested hell を回避する3つの方法 callback hell とか、最近では、Promise hell なんてのも、よく見聞きします。もっと、古いところでは、 if else の中に if-else が入れ子で入ってしまう、地獄がありました。この問題の回避方法をご紹介します。
- 2017/02/24 AngularJS vs React それぞれの利点と特徴(React編) 「Angular 2」「React」両フレームワークでToDoツールを作成する記事です。実装過程と成果物を比較して、両者のフレームワークの良いところ・悪いところを検証したいと思います。(React編)
- 2017/02/21 開発環境を素早く構築する - 自社内での開発に欠かせないスキル プロジェクトの立ち上がりをスムーズにキメるためには、開発環境の整備が、欠かせません。
- 2017/02/20 「早く、楽しく、深く」をコンセプトに - アルタスファイブという会社 言われてないことも、アレコレ工夫を凝らすことで、ひとつ先の成果を出して、顧客を唸らせたいものです。アルタスファイブとは、そんな体質を持った会社です。
- 2017/01/30 AngularJS vs React それぞれの利点と特徴(Angular編) 「Angular 2」「React」両フレームワークでToDoツールを作成する記事です。実装過程と成果物を比較して、両者のフレームワークの良いところ・悪いところを検証したいと思います。(Angular編)
- 2017/01/07 Docker コンテナ内から他の Docker コンテナに docker exec する Dockerコンテナの中で、Docker Clientは、動くらしくて、ホストOSにある /var/run/docker.sock を共有することで、コンテナ内で、ホストOS側の Docker Client と同じ実行結果になることがわかった。
- 2017/01/06 オンライン広告をどのようにプロモーションする? - 劣モジュラ性と局所探索で解決 前回の記事でソーシャルマーケティングの例であるオンライン広告問題の定義と劣モジュラ性の関連について説明しました。今回はオンライン広告問題において、どのようにインフルエンサーを見つけ、プロモーションを行っていくのかを紹介したいと思います。
- 2016/12/28 ソーシャルマーケティングシステムを単純なアルゴリズムで実装する - 劣モジュラ最適化と貪欲法 ソーシャルメディアを用いたバイラルマーケティングの例は多数あります。実は、このバイラルマーケティングの裏には、劣モジュラ性という数学的性質に基づいて設計されたシステムが使われています。
- 2016/12/18 静的サイトを動的ページ化する - 無料サービスでどこまでできる? 無料枠が用意されたサービスを、うまく組み合わせると、無料でサイトの運営ができます。コーポレートサイトによくある「お問い合わせフォーム」を、静的サイトに搭載してみたので、ご紹介します。
- 2016/11/28 機械学習モデルの汎化を妨げる過学習とは? - 旗揚げ画像の二値分類を例に この記事では機械学習に関連する以下のトピックについて解説し、機械学習を学んだことのない方が、汎化と過学習に関する観念的な理解を深めることを目指します。
- 2016/11/19 ニューラルネットワークの考え方とライブラリ ニューラルネットワークという数学モデルの働きについての解説と、プログラムに使えるライブラリを紹介します。
- 2016/11/18 リアクティブプログラミングの概観と、各言語での実装について リアクティブプログラミングは、CPUのマルチコア化やクラウドの活用が進む中で、非同期通信に基づいたアプリケーションの設計に適しているため、これからのソフトウェア開発における重要な技術として注目されています。
- 2016/11/09 並行処理時代を切り拓くActorモデル Akka 並行処理が持つ「デッドロックが発生しうる」「スレッド管理が大変」といった弱点からエンジニアを解放すると言われているのがActorモデルです。