msawady’s engineering-note

なにも分からないエンジニアです。

スペシャリストを目指すためのダイナミックスキル理論

これはFOLIOアドベントカレンダー5日目の記事です。 はじめに マネージャーになる気はないし、スペシャリストとしてキャリアを進めていきたい とはいえ、最近は技術的に困ることが無くなったせいか、成長している感じがしない... そんな思いを持っているミド…

『エンジニアリングマネージャーのしごと』を読んで初心に帰った話

これはFOLIOアドベントカレンダー 12日目の記事です。昨日はきゅあれもねーどさんの記事でした。 営業日カレンダーモデルの実装 - きゅあれもねーど’s diary はじめに 今年の4月からリーダーとしての業務に取り組みはじめました。前職での経験もありそれなり…

【読書メモ】チーム・トポロジーの副読本として「独裁力~ビジネスパーソンのための権力学入門~」を読んだ

はじめに ご多分に漏れず?FOLIOでも「チーム・トポロジー」の読書会が開催されていたのですが、その中でこんな疑問が上がりました。 "アーキテクト"の実務上の課題は「理想のアーキテクチャおよびチーム・トポロジーが分からない」ではなく、「理想のチーム…

openapi-generator をカスタマイズして、OpenAPI から自由自在にコード生成する

これは FOLIO Advent Calendar 2021 の7日目の記事です。6日目は @nameless_gyoza さんでした。 zenn.dev OpenAPI からのコード生成を頑張る Web APIを開発する際に「OpenAPI Specificationをかいて、そこからopenapi-generatorを使ってControllerやDTOのコ…

エンジニア採用に関わっているエンジニアが意識していること

これは FOLIO Advent Calendar 2020の15日目の記事です。14日目は @shitara_sachio さんでした。 note.com はじめに エンジニア採用、進捗どうですか? 今年の夏頃からエンジニア採用に関わっているので、その中で意識していることについて書こうと思います…

【Scala】Scala 開発で twitter.Future を扱うときの頻出5パターン

はじめに 7月から転職をして Scala をメインに書いています。 2ヶ月ほど開発をしてFuture(twitter.Future) の扱いに慣れたので復習がてらブログにします。 基本的には以下の5パターンの組み合わせでなんとかなってます。 API コールの結果の返り値を使って別…

【MongoDB】ReplicaSet を利用して read アクセスを負荷分散する

MongoDB の負荷分散 分散計算で MongoDB からの読み取りが遅延していたので、ReplicaSet による負荷分散をしました その時の調査方法、具体的なやり方をまとめておきます 起こっていたこと 計算ノードは最大 60 台程度、1ノードあたり 18 計算プロセスが稼働…

4年ちょっと勤めた SIer を退職しました

いわゆる退職エントリです 新卒で入社した SIer を退職しました。おとといの金曜日が最終出社でした。 なにをしていたか 金融機関のセールスやディーラー向けのシステムを作っていました。 サーバーサイド(Java, Spring), フロントエンド(React), インフラ開…

【新人向け】エンジニアになったら、とりあえず読んで欲しい本5冊

これくらいの時期に毎年聞かれるので、まとめてみようと思います。 リーダブルコード リファクタリング チーム開発実践入門 ライト、ついてますか 考える技術・書く技術 リーダブルコード リーダブルコード ―より良いコードを書くためのシンプルで実践的なテ…

JJUG ccc 2019 spring 行ってきました

JJUG ccc 2019 spring の感想、まとめ 今回も行きました。 最近は仕事で Java を触る機会が増えていたことに加え、 Clean Architecture を読んだり、開発リーダーをやったりしたことで 「設計やQAも含めて、どう進めていくのが良いのか?」を考えることも増…

【Java】【Spring】interface を継承するクラスを @Autowired を利用して一括で DI する ~そして Strategy パターン へ~

Spring の Autowired の便利な使い方と Strategy パターンへの応用 最近、仕事で久しぶりに Java を使うようになりました リファクタリングタスクの中で Autowiredの便利な使い方を知りました Strategy パターンと組み合わせて綺麗にリファクタ出来たのでブ…

【読書メモ】Clean Architecture 達人に学ぶソフトウェアの構造と設計

システムアーキテクチャの設計と方針 GWにClean Architecture を読みました アーキテクチャや設計という抽象的なところをかなり良い感じに説明してくれてます 「コードは一通り書けるが、ゼロからシステムを設計する自信はイマイチ」という方にオススメ出来…

【Scala】Akka を利用して Alpaca API から米国株の日足データを取得する

Alpaca API から米国株の日足データを取得する Alpaca API というものを見つけました alpaca.markets 無料で米国株のシミュレーショントレードを行えるAPIです チャートデータなども取得出来ます Scala で触りながら遊んでみたいと思います Python の方が手…

【React】関数型プログラミングと React-Redux

React-Redux から振り返る関数型プログラミング React-Redux を3ヶ月ほど利用して関数型プログラミングのエッセンスをつかめてきました。 エッセンスとなるキーワードの解説を、「何が嬉しいのか」「React-Redux がどうしているか」と合わせて書いていきます…

考えるときに使うデータ構造の一覧

ここに書くのは何? 考えるとき、議論するとき、ドキュメンテーションする時、によく使うデータ構造をまとめます。 エンジニア視点でまとめましたが、大抵の人も同じように考えていると思います。 データ構造一覧 箇条書きする 順序つきリスト 同じ粒度のも…

【GitHub】【タスク管理】GitHub Project を使って開発リーダーをやってみた

はじめに 1月くらいから React-Redux を利用したフロントエンド開発のリーダーをやりました。 自社ではタスク管理にJIRA や Redmine を使うのが定番ですが、今回は実験的に GitHub Project を使ってみました。 一通り開発が終わったので感想などを書いていこ…

【React】【Redux】React-Redux キャッチアップのためのリンクまとめ

React-Redux 完全に理解した 昨年末から、React-Reduxを使ったフロントエンド開発に入りました (去年は AWS とかインフラ周りがメインだったのに...) 立ち上げフェーズで事実上の独学キャッチアップになりましたが、かなり分かってきました キャッチアップす…

JJUG ccc 2018 fall 行ってきました

JJUG ccc 2018 fall の感想、まとめ 今年は Python で自動化スクリプトを書いたり、インフラも含めたトラブルシューティングがメインで、 Java は 100行くらいしか書いていないのですが、JJUG ccc に行きました。結果としてはメチャメチャ勉強になりました。…

【ポエム】自動化でチームの学習を促進する

自動化について思っていることをつらつらと 自分のチームでは「自動化されていないものは(極力)本番に乗せない」というポリシーのもと、インフラの構築/エンハンス/運用 を行っています。 インフラチーム = 「手順書とパラメータシートによる辛いマニュアル…

【Python】運用スクリプトはshellじゃなくてPythonで書こうよ、という話

はじめに 自分のプロジェクトではベースとなるシステムがPythonで書かれていることもあり、インフラ/運用系スクリプトも基本的にPythonで書かれています。 一方で、社内の他のプロジェクトではやはりshellが主流です。。。先日もジュニアなエンジニアが先人…

【読書メモ】アナタはなぜチェックリストを使わないのか?

ミスを減らし、良い決断をするためのチェックリスト 上司からオススメされた「アナタはなぜチェックリストを使わないのか? 」という本が非常に面白かったので共有します。 チェックリスト作りのHow to が書かれているようなタイトルですが、中身としては「…

【AWS】【Python】EC2インスタンスをCPU使用率の高い順に表示するLambdaスクリプト

EC2インスタンスをCPU使用率が高い順に表示する 性能テストなどを行っていて、ボトルネックとなっているインスタンスを探したい cloudwatchの結果をクエリして「当該時間帯にCPU使用率が高かったインスタンス」を探す tabulateを利用して良い感じに表示する …

【AWS】【Python】Lambdaを利用して他のAWSアカウントのEC2インスタンスを再起動する

Lambdaを利用した他アカウントの操作 やったことの流れは以下の通り。 IAMロール/ポリシーの設定、信頼関係の編集 他のアカウントのIAMロールにSTSしてEC2クライアントを取得 tagの値で対象のインスタンスを抽出し、再起動 IAMロール/ポリシーの設定 Lambda…

【GitLab】【Python】GitLabにユーザーを一括で登録、グループ参加

GitLab API を使ってユーザー一括登録 csvファイルを読み込んで一括でユーザー登録、グループ参加 python-gitlab を利用してGitLab API を叩く GitHub - python-gitlab/python-gitlab: Python wrapper for the GitLab API 必要なもの Python3 GitLabのAdmin…

2018年にエンジニアとして学びたいこと

新年の抱負的なことを書いてみる 皆様あけましておめでとうございます。 新年ということで今年学びたいと思っていることを書きます。 ざっくりな方向性としては以下です。 英語 コンピュータサイエンス、インフラの基礎 その他、各種技術 AWS フロントエンド…

【Python】key と value が連なった List を Dict に変換する

Python の tips を備忘代わりに プロジェクトが変わりまして、Pythonを触ることが増えました 掲題の件で悩んだので、パフォーマンスの検証も含めて post しておきます やりたいこと こういう List を hoge_list = ['key1', 'value1', 'key2', 'value2', 'key…

【Scala】【mongoDB】mongoDB のレコードを case クラスにマッピングする

株のポジション管理を出来るようにしたいと思っています 大分放置してしまいましたが、ちょっとずつ再開します。 まずは銘柄一覧をブラウザから見えるようにします。 http://kabusapo.com/ranking/ からダウンロードしたcsvファイルを case クラスにパースし…

【mongoDB】【Scala】mongoDB のインストール → Scala で CRUD する

次のテーマは mongoDB twitter で呟いたりしたんですが、次のプロジェクトではmongoDB使います ただ、自分のタスクはインフラ運用に近い部分なので、実際にどうクエリするかみたいなところは暫く触らなそう なので、自習でやってみることにしました とりあえ…

【Javascript】【DataTables】DataTables を利用した Bootstrap テーブルのフィルタ機能

テーブルのフィルタリングを実装 DataTables を使ってフィルタリング機能を実装しました DataTables | Table plug-in for jQuery フッターにセレクトボックスを利用したエクセル的なフィルタリングを出来るようになっています。 ソース build.sbtに依存関係…

障害対応はエンジニアの地力である「問題解決能力」が試される

最近、障害対応で思ったことをポエムしておく 自分は開発か要件定義・設計を担当することが多く、保守の仕事をあまりしてきませんでした 最近、障害対応が増えたので、感想というかポエムをつぶやいておきます 障害対応は、エンジニアとしての地力が試される…