トランザクション分離レベルについて/ハックが好きなエンジニアが組織をハック〜の記事の話/Typescript入門〜型編〜/Node.js始めました/2020-03-15【コミット会報告】

コミット会

この記事は、2020年3月15日都内某所で行われた、IT学習の継続を目的とした勉強会
(通称:コミット会)のレポートです。

参加者と発表内容

Takuto発表内容の目次

  • ダーティリード
  • ファントムリード
  • ノンリピータブルリード

みなさん、上記の***リードという言葉を聞いたことがあるでしょうか?
これらはデータベースの世界で発生する事象であり、トランザクションの分離レベルによって発生する読み取りの不整合のことをさしています。

ダーティリード

ダーティリードとは2つのトランザクションにおいて、片方のトランザクションがコミットしていない内容をもう片方のトランザクションで読み取ってしまうことを言います。

ファントムリード

ファントムリードとは2つのトランザクションにおいて、片方のトランザクションがデータを追加もしくは削除を行った際に、もう片方のトランザクションにおいてコミットされたデータを参照することで、1度得られた結果と異なる結果が得られてしまうという事象です。

ノンリピータブルリード

ノンリピータブルリードとは2つのトランザクションにおいて、片方のトランザクションがデータを更新した際に、もう片方のトランザクションにおいてコミットされたデータを参照することで、1度得られた結果を異なる結果が得られてしまうという事象です。

YUUKI発表内容の目次

デブサミ2020「Hackが好きなエンジニアが組織をHackしてみる考えと実践を経てきたヒストリー」内容のまとめと感想

今回は、↑の記事に貼っている資料を口頭で説明しました。

↑の記事を書いた経緯から話すと、私YUUKIは2月にデブサミ2020というWeb系のカンファレンスに参加しました。
そこで、そのデブサミに登壇されていた株式会社うるるの萩原さんの話を聞いて、これは面白いと思ったので記事にまとめました。

登壇内容を簡単にまとめると、

「自分の苦手な業務は得意な業務と照らし合わせて考えると楽になる」というもの。

具体的には、エンジニアの萩原さんがマネージャーになった際に、目標が定量的なものから定性的、抽象的なものへと変化し、結果が見えにくい苦悩を経験したそうです。
そこで、その苦悩をなんとか楽にできないと、考えたのが「組織づくりをハックする」という考え方。
自分が得意だったエンジニア領域でのハックを、組織づくりに当てはめて考え、実行。

その結果、しんどさの正体や組織のスキマが可視化され、結果、スキマを埋めることができる。つまり、自分の苦手な業務は得意な分野と照らし合わせることで楽になる、という内容でした。


口頭での説明後、皆さんから以下のような質問や指摘を受けました。

  • この登壇内容はYUUKIの実務で活かせたのか?
  • 自分が部署異動する際、業務内容は殆ど変化ないけど、部署異動することでコミュニケーションの面で苦労する、という場面では活用できない話かもしれない

まず、この登壇内容をYUUKI自身が業務で活かせたか、について。
この登壇内容をそのまま実務で活かせはしなかったけど、苦手な業務は得意な業務に当てはめて考えると楽になる、という考え方は素晴らしいと思った、と答えました。例えば、YUUKIはドキュメント作成の仕事が苦手ですが、アフィリエイトの経験があるので、その経験の中で培った分析能力などを、ドキュメント作成業務に活かすといいよね、という点を挙げました。

次に、部署移動でコミュニケーションの面で苦労する際、この話は活かせないのでは、という話について。


これは、組織を理解する3要素「共通の目的」「協働の意欲」「コミュニケーション」に当てはめて考えるといい、と答えました。コミュニケーションを上手く行うには、それ以外の、「共通の目的」と「協働の意欲」を高めれば解決する、ので、その点を重点的に意識するとよいのでは、という話をしました。

Moby発表内容について

Typescriptとは

  • Javascriptを発展さえた言語
  • 型システムを導入しており、静的型付け言語となっている

下記について説明。

  • プリミティブ型
  • リテラル型
  • 交差型
  • any型
  • void型
  • ジェネリクス

JavascriptではなくTypescriptを使うメリットは?という質問を受けました。
変数や引数の型が決まっているので、実装時から型の違いにきづけることから開発効率が上がるという返答をしました。
また、テスト量は減るのかというところで議論になり、
結論としては型をチェックするテストケースを考えなくて済むことから、テストを作る工数が減るという結論になりました。

Kudooの発表について

Node.jsとは

簡単に言うと、「JavaScriptで動作するサーバ環境」。主にWEBサーバに用いられる。

Node.jsの特徴

・JavaScriptでサーバサイドの処理を実装する
・非同期I/O、ノンブロッキングI/Oモデルを採用している→シングルスレッドのデメリットが解消される
・イベント駆動型である
・シングルスレッドである
・Googleの「V8」という優秀なJavaScriptエンジンで動作する
・GUIツールなどはない

Node.jsは主要なJavascriptフレームワークの一つであり、TwitterやUBER、ebayを始めとする多くのサービスで使用されています。
これから実務で使用していくため、次回はより少し実務よりな話を伝えていきたいと思います。

この記事を書いた人

エンジニア歴3年、Takutoと申します。
Alibaba Cloud / AWS / GCP / VMware / Python / Javascript
いろいろやっていますが、好きなサービスはAWSのStep Functinsです。
Pythonも好きです。

Takutoをフォローする
コミット会
Takutoをフォローする
技術ブログ東京

コメント

タイトルとURLをコピーしました