msawady’s learning memo

フルスタックエンジニアを目指して、学んだことをログっていくところ

【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に依存関係…

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

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

【Scala】【Play Framework】Bootstrap のモーダルダイアログに書いた内容をDBにinsertする

TODOの新規追加を出来るようにする Todo管理アプリ、前回の記事でデータベースへの接続ができた (【Scala】【Play Framework】Slick を使ってMySQLのDBに接続する - msawady’s learning memo) 今回は画面から新規Todoの追加を出来るようにする Bootstrap …

【Scala】【Play Framework】Slick を使ってMySQLのDBに接続する

やっとデータベースへの接続を ファイルの読み書きでやっていたデータストアをデータベースにする MySQLデータベースへの接続 ORMとしてSlickを使う sealed traitのマッピング select, update の実装 MySQLデータベースへの接続 事前にテーブル作成、初期デ…

【Java】abstract と interface の使い分け 〜「オブジェクト指向でなぜ作るのか」から学ぶ〜

「オブジェクト指向でなぜ作るのか」の読書メモとして 「オブジェクト指向でなぜ作るのか」を読んだのでそのアウトプット Java 歴2年で、「オブジェクト指向っぽい」コードは書けるようになってきたものの…. そもそもオブジェクト指向は何を解決したかったの…

【レビュー】【新人向け】レビュイーの心得 ~レビューを通すための準備~

今日のテーマはレビュー 前回の話の続きで、次はテストフェーズ 【タスク管理】【新人向け】タスクのこなし方の基本 〜お仕事の流れ〜 - msawady’s learning memo 【タスク管理】【新人向け】タスクのこなし方の基本 〜タスクの優先度〜 - msawady’s learnin…

【Scala】【Play Framework】ブラウザからのサーバー処理の呼び出し、ファイルの書き込み

ブラウザからのステータス更新処理を実装しました Play Frameworkを用いた Todo 管理アプリの実装を進め、サーバーの更新処理を実装しました あちこち触ることになり記事の内容が若干散漫ですが、ご容赦ください やったこと 前回作成した右クリックメニュー…

【Javascript】table カスタマイズ: クリックによるチェック、右クリックメニュー追加

今回はフロントエンドしか触ってません Scala、Play Framework の勉強のためのTodo管理アプリですが、サーバー処理をコールするフロントエンドもちゃんと書きたくなりました。 べた書きjQueryです。業務では先人が綺麗にラップしたフレームワークがあり、加…

【タスク管理】【新人向け】タスクのこなし方の基本 〜タスクの優先度〜

タスクの優先度の決め方 前回の記事で「タスクをこなすための基本的な流れ」を説明しました。 「スケジュール・コストの計画」にあたって大きな問題である「タスクの優先度の付け方」についても説明したので、こちらもブログに残そうと思います。 背景 指定…

【タスク管理】【新人向け】タスクのこなし方の基本 〜お仕事の流れ〜

タスクのこなし方の基本 今月から、自分の下に2人の新卒社員が配属されています。 自分はトレーナーとして、OJTでITスキル・業務知識・ビジネススキルの向上をお助けしています。 先日、彼らに向けて「タスクのこなし方」について話したメモが好評だったので…

【Play Framework】Play Framework に Bootstrap を導入する

UIを綺麗にするため、Bootstrapを導入する 前回の記事でとりあえず画面に一覧を表示することは出来たものの、とにかく見た目がダサいので Bootstrap を導入する webJars-playを利用する。基本的にドキュメント通りで行けました。 公式ドキュメント: WebJars …

【Scala】Play Framework を使って簡単なWebページを作る

Webページを作ってみる 素数探索、フィボナッチ数列でなんとなく制御構文の要領は掴めてきた オブジェクト、Enum、ファイルI/O…etcを学ぶためにTODOアプリを作ってみる Play Framework をベースにする(業務ではSpring を使っているので、対抗馬?的な意味も…

【Scala】Scala 入門 - フィボナッチ数列

再帰プログラミング 再帰関数を利用したプログラミングということでフィボナッチ数列をかいてみる コード① - なりに書いてみる object Fibonacci { def main(args: Array[String]): Unit = { printExecutionTime(println(fibo(100))) } def fibo(n: Int): In…

【Scala】Scala 入門 - 素数探索

Scala 入門 関数型プログラミングというものをしてみたく、Scalaに挑戦してみる。 普段、仕事で使うのはメインでJava(Spring), 次点でTypeScriptを使ったフロントエンドくらいなので、関数型は初挑戦。 Scala のバージョンは2.12.2 手始めに素数探索を。コレ…