タグ

xsayzxのブックマーク (444)

  • 📗 なぜ依存を注入するのか DIの原理・原則とパターンを読んだ感想 | Happy developing

    なぜ依存を注入するのか DIの原理・原則とパターン 著者: Steven van Deursen, Mark Seemann 訳者: 須田智之 表紙には.NETやC#の文字はないのですが、前の版は"Dependency Injection in .NET"で.NETを前提したのようでした。 ただ、はじめにで 書では、.NETとC#を用いて、依存注入に関する用語や指針を包括的に紹介し、描写しているのですが、書の価値が.NETの外の世界にも届くことを望んでいます。 とありました。 RustのDIでなにか活かせる教えを期待して、読んでみました。 第1部 依存注入 (Dependency Injection: DI) の役割第1章 依存注入 (Dependency Injection: DI) の基: 依存注入とは何なのか? なぜ使うのか? どのように使うのか?まず、保守容易性(maint

    📗 なぜ依存を注入するのか DIの原理・原則とパターンを読んだ感想 | Happy developing
    xsayzx
    xsayzx 2024/09/16
  • 監視の考え方 〜あるいは可観測性とはなんなのか〜 - estie inside blog

    みなさん、監視作ってますか? システムを作ったら、そのシステムを監視していく必要がありますよね。どうやったら「いい監視」が作れるのでしょうか。「いい監視」とそうでない監視との違いとは、いったいなんでしょうか。 今の時代、「監視」ではなくて「可観測性」、 Observability (o11y) の時代になっていて、良いプラクティスや考え方が色々とあります。 この記事は、監視や o11y についての考え方を社内に共有するため書いたものを、社外共有用に調整し直したものです。新しい Observability の時代を、一緒に生きていきましょう。 監視を作ろう あなたはシステムを作りました。そのシステムに「監視」をつけようと思ったとき、最初にすることはなんでしょうか? まずは、システムを何らかのツールで監視するところから始めましょう。やらなきゃはじまらない。 Nagios, Cacti, Mun

    監視の考え方 〜あるいは可観測性とはなんなのか〜 - estie inside blog
  • GoとKinesis Data Firehoseで非同期の検索基盤を構築─モノリス化した「カオナビ」はアーキテクチャ改善にどう取り組み始めたか - はてなニュース

    社員の個性・才能を発掘し、戦略人事を加速させるタレントマネジメントシステム「カオナビ」を提供する株式会社カオナビでは、SaaS移行にあわせてクラウドを全面的に採用し、インフラの自動化などにAWSのマネージドサービスを積極活用しています。とはいえ10年近い運用で、サービス開発におけるシステムのモノリス化が課題となってきました。 こういった全社的な課題は、2020年からCTOを務める松下雅和(@matsukaz)さんを中心にCTO室で対応しています。モノリスなシステムは、全体のモジュラモノリス化を前提に、とくにボトルネックとなる検索処理を非同期の基盤サービスとして切り出しています。 この検索基盤の設計と実装を通して、カオナビはシステムのアーキテクチャ改善をどのように進めようとしているのか。非同期である必要性や、デプロイの工夫、開発組織の文化まで含めて、CTO室の千葉峻秀さんとインフラグループの

    GoとKinesis Data Firehoseで非同期の検索基盤を構築─モノリス化した「カオナビ」はアーキテクチャ改善にどう取り組み始めたか - はてなニュース
    xsayzx
    xsayzx 2023/01/19
  • データエンジニア道の俺のバイブル

    先人の知恵に学ぶ データエンジニア道で、当に良かった!読み物を、不定期に追記していく。 A Beginner’s Guide to Data Engineering — Part I データエンジニアをこれから始める人に、必ず薦める記事。データエンジニアの基を学べるかつ、どういう世界に広がっていくのかまで、一気に学べるのでとても良い。 Functional Data Engineering — a modern paradigm for batch data processing 関数型パラダイムを使ったデータパイプラインの構築方法。これを初めて読んだ時の衝撃は今でも忘れないし、フルスクラッチからdbtを使ったデータパイプラインになっても健在な設計手法。 Engineers Shouldn’t Write ETL: A Guide to Building a High Function

    データエンジニア道の俺のバイブル
  • Datadog メトリクスモニター作成入門

    Datadog はモニタリング関連の SaaS ではおそらく最も利用されているサービスでしょうが、公式ドキュメントが豊富にある割には何から読み始めれば良いかわかりにくく、慣れるまでの道が険しい印象です。 エントリーでは、Datadog が既に導入されている組織で、Datadog モニターを使って監視をしたいけど、モニターの設定方法がよくわからないといった方を対象に、メトリクスモニターの作成に焦点を絞って解説していきます。なお、あくまで Datadog の使い方についての解説であり、どのようなモニターを設定すべきかについては触れません。 メトリクスの収集についても触れたかったんですが、力尽きたので、メトリクスの収集については気が向いたら別エントリーを書きます。 アジェンダ メトリクスモニターの作成方法の基 クエリの定義について クエリの評価期間・評価方法・アラート条件の指定 クエリの結果

    Datadog メトリクスモニター作成入門
    xsayzx
    xsayzx 2022/11/09
  • Shell Script Best Practices — The Sharat's

    This article is about a few quick thumb rules I use when writing shell scripts that I’ve come to appreciate over the years. Very opinionated. Things¶ Use bash. Using zsh or fish or any other, will make it hard for others to understand / collaborate. Among all shells, bash strikes a good balance between portability and DX. Just make the first line be #!/usr/bin/env bash, even if you don’t give exec

    xsayzx
    xsayzx 2022/10/30
  • thinkpython.dvi

    Think Python B 2 Think Python: How to Think Like a Computer Scientist 2nd Edition Allen B. Downey Copyright c �2018 ThinkPython: by is licensed under a Creative Commons 3.0 License 3 11 1 15 1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.2 Python . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.3 . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.4 . . . . . . . . . .

    xsayzx
    xsayzx 2022/09/24
  • Python最新バージョン対応!より良い型ヒントの書き方 | gihyo.jp

    寺田 学です。9月の「Python Monthly Topics」は、Python 3.5で導入され、多くの場面で活用されている型ヒント(Type Hints)について、より良い型ヒントの書き方を紹介します。 Pythonの型ヒントとは Pythonは動的型付け言語です。型を指定せずに変数宣言できますし、関数の引数や戻り値に型を宣言する必要はありません。 Python 3.5(2015年9月リリース)で型ヒントの仕組みが入りました。型の指定が不要なPythonですが、型ヒントを付けることで、「⁠コードの可読性向上⁠」⁠、「⁠IDEコード補完の充実⁠」⁠、「⁠静的型チェックの実行」といった静的型付け言語のようなメリットを得ることができます。 Pythonの型ヒントは以下のように記述します。 name: str = "氏名" # 変数nameをstr型と宣言 def f(arg: int) -

    Python最新バージョン対応!より良い型ヒントの書き方 | gihyo.jp
  • 150 分で学ぶ高校数学の基礎

    [重要なお知らせ (2023/8/12)] 現在,スライドの p.10 に不十分な記述があります.ルートの答えは 0 以上の数に限定することに注意してください (たとえば -3 を 2 乗しても 9 ですが,ルート 9 は -3 ではありません).なお,現在筆者のパソコンが修理中でデータがないので,修…

    150 分で学ぶ高校数学の基礎
    xsayzx
    xsayzx 2022/09/07
  • GitHub Actions入門 ── ワークフローの基本的な構造からOIDCによる外部サービス認証まで - エンジニアHub|Webエンジニアのキャリアを考える!

    GitHub Actions入門 ── ワークフローの基的な構造からOIDCによる外部サービス認証まで GitHubが公式に提供するGitHub Actionsは、後発ながらよく使われるワークフローエンジンとなっています。記事では、藤吾郎(gfx)さんが、典型的なCI/CDのユースケースに即したワークフローの設定と管理について解説するとともに、注目されているGitHub OIDC(OpenID Connect)の利用についても紹介します。 GitHub Actionsは、GitHubが提供するCI/CDのためのワークフローエンジンです。ワークフローエンジンは、ビルド、テスト、デプロイといったCI/CD関連のワークフローを実行し、定期実行するワークフローを管理するなど、開発におけるソフトウェア実行の自動化を担います。 ▶ GitHub Actions - アイデアからリリースまでのワーク

    GitHub Actions入門 ── ワークフローの基本的な構造からOIDCによる外部サービス認証まで - エンジニアHub|Webエンジニアのキャリアを考える!
  • 実践 Docker - ソフトウェアエンジニアの「Docker よくわからない」を終わりにする本

    ------------------------------------------------------ 2024 年 1 月更新 書がきっかけで「なんとか Docker を使えるようになりたい」というプログラマの方向けの入門書を秀和システム様から出版させていただけることになりました 開発系エンジニアのためのDocker絵とき入門 https://www.amazon.co.jp/dp/4798071501 紙書籍と電子書籍、どちらもございます この書籍と執筆経験は、みなさまからの驚くほどの高評価があればこそ得られた機会でした いつも当にありがとうございます 書籍化に際しまして、この場で次のとおり説明させていただきます 1️⃣ 書 ( Zenn ) は有料化しません 2️⃣ 書 ( Zenn ) は今後更新しません 3️⃣ 書 ( Zenn ) と出版される絵とき入門の違い

    実践 Docker - ソフトウェアエンジニアの「Docker よくわからない」を終わりにする本
  • 真面目なプログラマのためのディープラーニング入門

    はじめに: 講座は「機械学習ってなんか面倒くさそう」と感じている プログラマのためのものである。講座では 「そもそも機械が『学習する』とはどういうことか?」 「なぜニューラルネットワークで学習できるのか?」といった 根的な疑問に答えることから始める。 そのうえで「ニューラルネットワークでどのようなことが学習できるのか?」 という疑問に対する具体例として、物体認識や奥行き認識などの問題を扱う。 最終的には、機械学習のブラックボックス性を解消し、所詮は ニューラルネットワークもただのソフトウェアであり、 固有の長所と短所をもっていることを学ぶことが目的である。 なお、この講座では機械学習のソフトウェア的な原理を中心に説明しており、 理論的・数学的な基礎はそれほど厳密には説明しない。 使用環境は Python + PyTorch を使っているが、一度原理を理解してしまえば 環境や使用言語が

    真面目なプログラマのためのディープラーニング入門
    xsayzx
    xsayzx 2022/03/21
  • 数学カフェ 確率・統計・機械学習回 「速習 確率・統計」

    The document describes various probability distributions that can arise from combining Bernoulli random variables. It shows how a binomial distribution emerges from summing Bernoulli random variables, and how Poisson, normal, chi-squared, exponential, gamma, and inverse gamma distributions can approximate the binomial as the number of Bernoulli trials increases. Code examples in R are provided to

    数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
    xsayzx
    xsayzx 2022/03/12
  • 業務ができる中級者になるためのJavaScript入門(DOM編)

    ✨無料公開中✨ 業務ができる中級者になるためのJavaScript入門の第2弾となります。何度学んでも今一つ理解できないDOMに関して、できるだけわかりやすく説明しています。 業務ができる中級者になるためのJavaScript入門(文法編) https://zenn.dev/books/568dd4d86562a1/edit ✨開発環境に役立ててください✨ 👾 やっぱりwebpackがわからない(エピソード1) https://zenn.dev/antez/articles/58307946cf4f3e 👾 やっぱりwebpackがわからない(エピソード2) https://zenn.dev/antez/articles/638382faa06bd7 👾 そもそもnpmからわからない https://zenn.dev/antez/articles/a9d9d12178b7b2 ✨Wo

    業務ができる中級者になるためのJavaScript入門(DOM編)
  • TypeScript解読アシスタント | TypeScript入門『サバイバルTypeScript』

    TypeScript解読アシスタントこれはTypeScriptのコードリーディングを支援するツールです。 既存TypeScript案件に参加した際に、既存コードを読むにあたって、次のような悩みを解決するためのものです。 TypeScriptの構文がよくわからない「??って何?」「#nameの#ってコメント?」「<></>って何?」言語機能の名前がわからず、調べようがない「string | undefinedの|ってなんて名前?」「value as anyってなんて機能?」「[K: string]: stringって何?」使い方左のエディターに解読したいTypeScriptをコピペする解読したいコード部分をクリックする右エリアにコードの意味などが表示されるサンプルコード入力するコードがない場合はサンプルコードでお試しください。 サンプルコード機密情報コードはすべてオフラインで処理され、サーバ

    TypeScript解読アシスタント | TypeScript入門『サバイバルTypeScript』
  • TypeScript入門『サバイバルTypeScript』〜実務で使うなら最低限ここだけはおさえておきたいこと〜

    書『サバイバルTypeScript』は実務でTypeScriptを使う開発者のための入門書です。そして、このページはTypeScriptの特徴を最速で把握できるよう、数百ページからなる書のコンテンツをつまみいした要約です。 » 書ついて詳しく知る » とにかく今すぐTypeScriptを書いてみたい TypeScriptとは​JavaScriptのスーパーセットとなるプログラミング言語。静的型付け言語であり、プログラムの正しさが静的に検査できる。ライブラリやIDEなどの開発環境が充実しており、大きなエコシステムを持っている。Microsoftが2012年に開発し、オープンソースで公開した。» TypeScriptの特徴について詳しく知る » TypeScript誕生の背景について詳しく知る TypeScriptJavaScriptのスーパーセット​スーパーセットとは、元の言語との

    TypeScript入門『サバイバルTypeScript』〜実務で使うなら最低限ここだけはおさえておきたいこと〜
    xsayzx
    xsayzx 2021/12/31
  • 技術者としての強みを探すヒント - Qiita

    この記事は、KLab Engineer Advent Calendar 2021 の25日目の記事です。大遅刻してしまいました、ごめんなさい。 こんにちは。KLabで今年の2月からCTOをしています@hnwです。 CTOに就いて以降、社内のエンジニアの方とお話をする機会が増えました。1on1だったり少人数の会議だったり形式は色々ですが、興味深い話をたくさん聞けて、自分にとっても会社にとっても必要なことだと感じています。 そうした際にエンジニアとしての将来の理想像やキャリアパスといった悩みを聞くことがあります。私もその場で言えることは言っているつもりですが、うまく伝わったか、もっと言えることがあるんじゃないか、とモヤモヤすることがあります。稿ではそのモヤモヤを「○○問題」として整理してみました。 最初にお断りしておくと、キャリアの話は基的には個人の問題ですから、あまり他人の話を真に受けす

    技術者としての強みを探すヒント - Qiita
    xsayzx
    xsayzx 2021/12/30
  • net.ipv4.tcp_tw_recycle は廃止されました ― その危険性を理解する - Qiita

    Disclaimer 私はネットワークの勉強もちゃんとしたことないし、Linux のソース読むのもはじめてな素人です。 何かおかしなところなどあれば、遠慮なくコメント欄でまさかりをお願いいたします。 ソースコードの引用に関して 文中で Linux のコード/ドキュメントを引用している箇所がありますが、すべてタグ v4.11 のものです。また、日語のコメント・翻訳文は筆者が入れたものです。 TL; DR Linux のカーネルパラメータ net.ipv4.tcp_tw_recycle は、バージョン4.12から廃止されました。 今後はこの設定は行わないようにしましょう(というかできません)。 一方、net.ipv4.tcp_tw_reuse は安全であり、引き続き利用できます。 …というだけの話なのですが、自分用にメモがてら経緯・背景などを記録しておきます。 なんで気がついたか このパラ

    net.ipv4.tcp_tw_recycle は廃止されました ― その危険性を理解する - Qiita
  • Ingress の進化版 Gateway API を解説する Part 1 (シングルクラスタ編)

    2022 年 4 月 27 日 追記: 2022 年 3 月末に GKE で Gateway API の v1alpha2 が利用可能になりました。それに伴い記事の内容も v1alpha2 を前提としたものに更新しています。 重要 2022 年 4 月 27 日時点の既知の問題として、元々 v1alpha1 CRDsをインストールし利用していたクラスタに v1alpha2 CRDs をインストールした場合、新規設定が可能になるまで最大 1 週間程度が掛かる場合があります。元々 v1alpha1 を使っていたクラスタとは別のクラスタを用意して v1alpha2 を試して頂くことを推奨します。 Kubernetes / GKE ファンの皆様、こんにちは。Google Cloud の Kazuu (かずー) です。 さて、2021 年に一番話題に挙がった GKE のアップデートと言えば、GKE

    Ingress の進化版 Gateway API を解説する Part 1 (シングルクラスタ編)
  • AWS CDKv2 でスナップショットテストと CI を始めてみよう | DevelopersIO

    これは CDK Advent Calendar 2021 の13日目のエントリーです。 こんにちは、坂井(ore88ore)です。 CDK v2 GA となりましたねー。今後も積極的にバージョンアップに追従したいけど、既存の機能に影響がないだろうか、システムが正しく動くだろうか・・・などの不安があり、なかなか最新のバージョンに追従できないと思っている方も多いのではないでしょうか。 そういった不安を少しでも和らげるために、簡単に始められるスナップショットテストと CI の導入について紹介させていただきます。 作成するアーキテクチャ 今回作成するアーキテクチャとなります。API GatewayLambda、DynamoDB を使ったサーバレス API をテスト対象のリソースとし、CI は GitHub Actions を利用して、プルリクを作成したタイミングでスナップショットテストが実行され

    AWS CDKv2 でスナップショットテストと CI を始めてみよう | DevelopersIO