じぶん Release Notes 0.30.03

7月1日〜31日の間の出来事がリリースされました。 7月の感想 7月は自分の思い通りに行かない日々でした。 目標もOKRを立てたは良いものの、とても学びのあるインプットと深い内容のアウトプットできたと思えてません。やはり業務外で時間をとってやるのはな…

【Python】str()とrepr()の違い

ずっと疑問に思っていたPythonにおけるstr()とrepr()の違いについてまとめた。 共通していること タイトルに「違い」と書き始めたが、まずはこの2つについて共通していることを簡単に書いておく。 この2つの関数について同じことはオブジェクトの中身を出力…

【Pandas】df.head と df.head()の違い

サンプルコードを写経していたら、df.head()と打たなければいけないところを、df.headで実行してしまった。それでも実行はできて中身の出力はできたのだけれど、出力内容は違うものが出てきたのでこの2つについて簡単に調べた。表示されているデータは機械…

【Python】デフォルト引数にリストを使うときの注意点

自分が知らなかったのでメモ 関数のデフォルト引数にリストを設定した時、デフォルト引数のリストの内容は再度実行したタイミングでも前の内容を保持します。 def sample(a, b=[]): b.append(a) return b print(sample('test')) ['test'] print(sample('test…

Azureのストレージにおけるデータの冗長性

今回はAzureのストレージにおけるデータの冗長性についてまとめた。 Microsoftのドキュメントはとても丁寧に作られていて、こちらも読んでみてほしい。 このドキュメントは丁寧に作られている反面、普段触りなれていない人には内容として少し難しいかもしれ…

じぶん Release Notes 0.30.02

6月1日〜30日の間の出来事がリリースされました。 6月の感想 まだまだ警戒すべき段階ではありますが、少しずつ日常が戻ってきて嬉しいです。 仕事は期末ということで、忙しいかと思いきや来期への準備でそこまで忙しくなかったです。 出社して顔を合わせてい…

Design It! 輪読会 12章 アーキテクチャに通知表をつける

12章は「アーキテクチャに通知表をつける」で、今まで作り上げてきたアーキテクチャを評価し、また評価する文化を育むことを教えてくれる章でした。 www.oreilly.co.jp この章で伝えたいことを整理する 当たり前ですが、章のタイトルでもある通知表は学生が…

Design It! 輪読会 11章 アーキテクチャを記述する

11章は「アーキテクチャを記述する」章で、ソフトウェアアーキテクチャの文章化を上手におこなって、見る人の関心事に着目したアーキテクチャ記述を学ぶ章でした。 www.oreilly.co.jp この章で伝えたいことを整理する まずはアーキテクチャの文章化のメリッ…

Design It! 輪読会 10章 設計判断を可視化する

10章は「設計判断を可視化する」章で、アイデアを共有するためにアーキテクチャを触れられる形(=可視化)にする方法を述べた章でした。 www.oreilly.co.jp この章で伝えたいことを整理する アーキテクチャを可視化する方法は様々あるが、大切なのは誰に見せ…

Design It! 輪読会 9章 アーキテクチャデザインスタジオを開く

9章は「アーキテクチャデザインスタジオを開く」と表現された章で、参加者を集めアーキテクチャに関するワークショップを開く方法を学ぶ章でした。 www.oreilly.co.jp この章で伝えたいことを整理する まずはアーキテクチャという言葉の後ろにある「デザイン…

じぶん Release Notes 0.30.01

5月1日〜31日のあいだの出来事がリリースされました。 5月の感想 今月はweb1weekという1週間でwebサービスをリリースするというイベントに参加しました。 業務外で取り組んだこともあり大層なものは作れませんでしたが、自分の実力と何が足りていないかがわ…

スマホで気軽に「草」を生やそう「Pixela」「Pixela UI」を使ってみた

初めは慣れなかったWork From Homeも一ヶ月以上が経ち慣れてきた。 自分をはじめWork From Homeに慣れた人の中には通勤時間として使っていた時間を有効活用して、新しく何か始めた人も多いはずだ。 自分も空いた時間を使ってリングフィットアドベンチャーで…

Design It! 輪読会 5章 「アーキテクチャ上重要な要求を掘り下げる」

5章はアーキテクチャを検討していく上で大切な要求を定義する方法が述べられていた。 www.oreilly.co.jp この章で伝えたいことを整理する アーキテクチャを考える上重要な要求を(Architecturally Significant Requirement : ASR)と呼びます。 これはアーキ…

Design It! 輪読会 8章 「意味のあるモデルで複雑さを扱う」

今回は8章をおこないました。8章は「意味のあるモデルで複雑さを扱う」と題された章で、ソフトウェアシステムが成長・拡大していく中で複雑化していくものをコントロールする方法を学ぶ章でした。 www.oreilly.co.jp この章で伝えたいことを整理する 今まで…

Design It! 輪読会 7章 「パターンで土台を作る」

今回は7章をおこないました。7章は様々なアーキテクチャを紹介する章でした。 www.oreilly.co.jp この章で伝えたいことを整理する 6章とのつながりがある章ではありましたが、この章だけ切り取って個別に見ても成り立つ章ではありました。 まず、特定の問題…

Design It! 輪読会 6章 「アーキテクチャを選ぶ(君がアーキテクチャに選ばれる前に)」

今回は6章をおこないました。6章はアーキテクチャを選ぶというタイトルで話が進んでいきますが、個人的にはこの副題が大切な気がしました。注意して読むと「アーキテクトに選ばれる前に」と言う、任命される前にという意味ではなく「アーキテクチャに選ばれ…

じぶん Release Notes 0.29.12

4月1日〜31日のあいだの出来事がリリースされました。 技術・開発関連 取り組み 技術面での取り組みは以下の通りです。 Terraformを使ってAzureのリソース管理 Write-Blog-Every-Weekのサイトリニューアル Write-Blog-Every-WeekのAPIサーバリニューアル イ…

TerraformでAzureDataWarehouseを作成するときにDWUを指定する方法

TerraformでDataWarehouseを作成するときにDWUを指定する方法がドキュメントを見た限りではわからなかったので調査しました。 www.terraform.io docs.microsoft.com ファイル全体像 dataWarehouseを作成するTerraformファイルの全体像を書きました。今回初め…

Design It! 輪読会 4章 「ステークホルダーに共感する」

今回は4章をおこないました。4章はソフトウェアに対して関心のある人達であるステークホルダー(利害関係者)に対して焦点を当てています。 www.oreilly.co.jp この章で伝えたいことを整理する この章で伝えたかったことは、主体は「ソフトウェア」というこ…

Design It! 輪読会 3章 「デザイン戦略を立てる」

Design It!を輪読して2回目になります。前回は1,2章を輪読しまして、今回は3章をおこないました。3章はソフトウェアシステム開発の中のアーキテクチャ設計に対するリスクを取り上げる章で、この章から部も変わり第2部ということで「アーキテクチャ設計の基礎…

vuex-persistedstate でログイン状態を維持する

Vuexを使ってログイン情報を保持する実装をおこなったが、ブラウザをリロードすることでVuexが初期化されてしまいログアウトされてしまった。ログイン情報を永続化するためには、Vuexのプラグインとして用意されている 「vuex-persistedstate」 を使うことで…

じぶん Release Notes 0.29.11

3月1日〜31日のあいだの出来事がリリースされました。 技術・開発関連 取り組み 技術面での取り組みは以下の通りです。 Vue.js + Django REST APIの個人開発 イベント DDDオンライン勉強会 「設計の基本原則"高凝集・低結合"とアーキテクチャ」 個人的なこと…

コードでシステムアーキテクチャを描く「Diagrams」

「Diagrams」 を使うと、システムのアーキテクチャ図をPythonのコードで作成できる。 各クラウドサービスはもちろんのこと、OSSで使われているソフトウェアのアイコンまで用意されており、もう自分で画像探しの旅に出る必要がない。 プレゼンテーションツー…

Django REST FrameworkとJWTで認証を実装する

手順 インストール まずはDjango REST FrameworkとJWTを扱うためのライブラリをインストールします。 pip install djangorestframework pip install djangorestframework-jwt Django REST Frameworkの設定 プロジェクトとアプリケーションの作成 次にDjango …

【解決】django-heroku に必要な psycopg2 がインストールできない

毎回詰まっては試行錯誤して、ずっと根本原因がつかめなかったことが解決できたのでメモを残しておきます。 エラー内容 pip install django-herokuをおこなうと次のエラーが起こりました。 Collecting psycopg2 Using cached psycopg2-2.8.4.tar.gz (377 kB)…

データセットが欲しいときに見るサイト

データを使って何かを実現したいと思った時に、扱えるデータがそもそもないといったことがあった。そのようなケースにおいては公的な機関が公開しているデータを頼りにして検索することが多いが、そもそもデータが掲載されているサイトにたどり着くのが困難…

GASのスケジュール実行からGitHub Actionsのscheduleに乗り換えた

GitHub Actionsに定期実行ができるスケジュールがあると聞き、GASで定期的にweb hookを叩いていたスクリプトを移行した。GASでも満足していたのだが、コミュニティの成果物であったのでパブリックな場所に持っていきたかったことと、それに伴い自分しかいじ…

じぶん Release Notes 0.29.10

2月1日〜29日のあいだの出来事がリリースされました。 技術・開発関連 取り組み 技術面での取り組みは以下の通りです。 Azure Pipelinesを使ってCI/CD環境の構築 Azure Web Appsを使ってNode.jsアプリケーションの公開 イベント Osaka HoloLens "2" ハッカソ…

Node.jsアプリをWeb AppsにAzure Pipelinesからデプロイする

プロジェクトの中でCI/CDを組み入れる作業をおこなった。その時はAzure DevOps内のAzure Pipelinesを使い、Web AppsにNode.jsアプリケーションをデプロイした。この作業をおこなっていた中でつまづいた部分があったのでブログに手順と注意事項として書いてお…

#エンジニア銭湯 vol.4 に参加した!

第4回目となるエンジニア銭湯に運営として参加させてもらいました。エンジニア銭湯は1,2回と存在としては知っていましたがタイミングが合わず、3回目にしてLT参加させてもらった思い出があります。その初参加の3回目にて、「銭湯の空間」と「集まっている人…