jagagajのブックマーク (2,051)

  • 良いドキュメントを書きたくなる本を読んだらドキュメンタリアンになりたくなった - じゃあ、おうちで学べる

    ドキュメンタリアンとは、役職に関係なく、ソフトウェア業界でドキュメントとコミュニケーションに関心を持つ人のことです。 www.writethedocs.org はじめに これは主に『ユーザーの問題解決とプロダクトの成功を導く エンジニアのためのドキュメントライティング』の書評です。私はSreakeにてSREという役職についています。SREはサービス概要、アーキテクチャの解説や図、各種構成図、各種手順書、ポストモーテム、ポリシー、SLA(SLO) … その他の様々な場面でドキュメントを書く必要があります。しかし、ドキュメントは価値が見えにくく時間と労力がかかり品質担保の面で重要度がとても高いのにその場での価値が見えにくいので浸透しにくいです。そのため、エンジニアとしてモチベーションが保ちづらいです。2021年 State of DevOps 2021 にもドキュメントに関する言及があり今後、

    良いドキュメントを書きたくなる本を読んだらドキュメンタリアンになりたくなった - じゃあ、おうちで学べる
    jagagaj
    jagagaj 2024/06/13
  • 網羅的なPRDやDesign Docを書かなくなった - kosui

    2024/06/12 16:16 結論を追記 2024/06/12 20:29 より記事の内容を分かりやすく理解頂くため、タイトルを「PRDやDesign Docを書かなくなった」から変更 2024/06/13 20:39 結論にフロー情報・ストック情報に関する意見を追記 結論 この記事では、「様々な観点を考慮して網羅的にドキュメントを書いて、それを関係者にレビューしてもらう」のではなく、関係者と同期的に対話しながら、観点や選択肢やそのトレードオフを洗い出すことで、少ない手数でより良い答えが見つけられると主張する。 ただし、対話のために必要なドキュメントは事前に書いておくべきだし、対話した結果はドキュメントに残すことが望ましい。そして、そのドキュメントのフォーマットはPRDやDesign Doc以外でも良い。例えば、ADRはアーキテクチャに関する議論の過程と結果を述べる上で必要十分なフォー

    網羅的なPRDやDesign Docを書かなくなった - kosui
    jagagaj
    jagagaj 2024/06/13
  • 【ChatGPT】英語学習用に素敵な先生を錬成したよ! - はげあたま.org

    chatgpt.com 3行で 英文アウトプット練習の優れた相手をGPTsで実装できたからストアに並べたよ! 学習ツールとしての気持ちよさが自慢なのでまずは1回遊んでみてください! 「英語だと中学生レベルの文章すら全然話せない」の克服ができる………と信じて、製作者自身が酷使しています 何ができるの? 和文による出題→英訳→添削→出題…のループです。 体験の良さと自身のアウトプットカの弱さは触ってもらえばすぐに伝わるはずです。これ読む人の8割はブクマして満足するだけなんでしょうけど、これ以降を読むより先にまずは一度使ってみてください。最初にあるリンクへ飛ぶだけです。 なお「完全無料!」と言いたいですが、ChatGPTへの課金が無いとすぐに制限が入るのが最大の難点です。 特長を教えて ジャンルや問題の難易度を適宜変更可能。激ムズ要求出したら絶望感がすごい…… 日語混じりの英文や、かなりの意訳

    【ChatGPT】英語学習用に素敵な先生を錬成したよ! - はげあたま.org
    jagagaj
    jagagaj 2024/06/12
  • TypeScriptの型と値とバリデーション

    TypeScript質的に自分に型が付与されていると思っているだけの JavaScript です。 いくら型を付与しようが、それが実行時に影響を与えることはありません。 コードレビューをしているとここを誤解している人が当に多いです。何度も解説しているのですが、なかなか浸透しないので、TypeScript におけるバリデーションという視点で記事を書くことにしました。 あと TS でバリデータ使って色々作ろうとしている友人と、プログラミング始めたてで zodopenapi を使っいる友人がいたので、彼らが想定読者です。 型と値の名前空間 TypeScript 上での名前空間(スコープ)は2つに分類できます。 値: 実行時にランタイム上のメモリに存在するもの 型: 静的解析時にのみ参照可能なもの。コンパイル時に完全に消滅する。 TypeScript は基的に JavaScript

    TypeScriptの型と値とバリデーション
    jagagaj
    jagagaj 2024/06/12
  • RustでAPIサーバーを書くのが思ったより良い

    最近いろんなところで採用事例が増えてきたRustですが、Webサービス開発でのAPIサーバーを書くのにRustは向いてないと言われたりします。Rustの第一のターゲットはシステムプログラミングでありGCがないためAPIサーバー開発でシビアなメモリ管理はしたくないというのは一理あるのですが、RustAPIサーバーの開発を実際にやってみるとむしろ開発体験が結構いいなと感じます。パフォーマンスのために難しい所有権を無理にがんばるみたいなマイナスのイメージはほとんど当てはまらなかったです。 Rustの難しいライフタイム、所有権があまり出てこない Rustにおいて難しいとされるライフタイム、所有権といった概念があり私も書く前はかなり身構えていたのですが、これに苦しむことは思ったよりも少ないです。その要因はWebサーバーで扱う処理のほとんどがリクエスト・レスポンスモデルでデータの流れが一方向でシンプ

    RustでAPIサーバーを書くのが思ったより良い
    jagagaj
    jagagaj 2024/06/12
  • レコメンドアルゴリズム入門:基礎から応用まで実装に必要な知識を解説 - Qiita

    1: 購入 0: 閲覧(したが購入してない) -: 未観測 ユーザーベース型 ユーザー同士の類似度を計算 「あなたと購入履歴の似たユーザーはこんな商品を買っています」 行を各ユーザーのベクトルとみなして、似たユーザーを見つける(上位N人) 似たユーザーが購入しているアイテムを推薦する(N人の平均値などで購入しそうな順に提示) アイテムベース型 アイテム同士の類似度を計算 「この商品を買ったユーザーはこんな商品も買ってます」 列を各アイテムのベクトルとみなして、類似度の高いアイテムを推薦する(上位M件) 類似度計算には、コサイン類似度やJaccard類似度が使われる。 類似度を計算する際に、未観測「-」は適当な値(0, 0.5など)で埋めるか、無視をする。 ログデータを使うため、情報の少ない新規アイテム/新規ユーザーに弱いコールドスタート問題がある。 コンテンツベースフィルタリング アイテム

    レコメンドアルゴリズム入門:基礎から応用まで実装に必要な知識を解説 - Qiita
    jagagaj
    jagagaj 2024/06/12
  • 関東小字地図

    背景地図: 境界: 小字界 町村界 重ね合わせ: 色別標高図 陰影起伏図 傾斜量図 治水地形分類図 明治期の低湿地 3D表示 傾き: 垂直        水平 ※「Ctrl+ドラッグ」「右クリックでドラッグ」「右下の方位マークのドラッグ」でも変更可能

    jagagaj
    jagagaj 2024/06/11
  • TypeScriptを導入する意味と限界、型レベルプログラミングの紹介 - Qiita

    はじめに JavaScript/TypeScript初学者を抜けたあたりの方に向けてTypeScriptの利点や限界、型レベルプログラミングについて紹介します。 TypeScriptJavaScriptをラップしたライブラリであり、静的な型情報をつけることができます。また、それらの型情報をもとに型を推論し、型違反な代入やプロパティへのアクセスなどをプログラム実行 以前 に検知することができるようになっています。 例えば、動的型付けの言語であるJavaScriptでは、以下の関数のa,bには数値だけでなく、文字列を渡すことができます。数値同士を渡せば加算してくれますし、文字列同士を渡せば文字列連結をしてくれます。 「数値計算用の関数なのに、文字列連結に利用できてしまう」という緩さを開発時にはなるべく排除しようというのがTypeScriptを導入する意義です。 以下、TypeScriptの基

    TypeScriptを導入する意味と限界、型レベルプログラミングの紹介 - Qiita
    jagagaj
    jagagaj 2024/06/11
  • キャッシュフローを考慮して賃貸と分譲を比較する - draftcode.osak.jp

    キャッシュフローを考慮……? 例えばなのだが「1000 万円を〇〇に投資したら、10 年後に 1300 万円になりました! 300 万円、つまり 30%も儲かりました!」というような話をしている人がいる。これは儲かったと言えるのだろうか?これを年利に換算すると、2.6%程度の利益になる。これはインフレ率が 2-3%という前提で考えると、実質的にはほとんど儲からなかったもしくは損をした、 ということになる。S&P500 の平均リターンは 10%程度ということを考えると、ちょっと分が悪い投資だな、という感想になるだろう。これが逆に 1 年で 1300 万円になった場合は、 30%のリターンになるので、これはかなりいい投資だった、ということになる。 このように、投資の成果を評価するときには、単純に金額だけでなく、キャッシュフローを考慮することが重要になる。賃貸不動産購入を比較するときに、「購入

    jagagaj
    jagagaj 2024/06/11
  • 『GitHub CI/CD実践ガイド』でGitHub ActionsとCI/CDを体系的に学ぼう - 憂鬱な世界にネコパンチ!

    GitHub CI/CD実践ガイド――持続可能なソフトウェア開発を支えるGitHub Actionsの設計と運用』という書籍を最近出版したので紹介します。書ではGitHub Actionsの実装と、CI/CDの設計・運用を体系的に学べます。一粒で二度美味しい書籍です。筆者個人としては「実践Terraform」以来、4年半ぶりの商業出版になります。 gihyo.jp どんなGitHub利用者にとって、もっとも導入が容易なCI/CD向けのソリューションはGitHub Actionsです。GitHub Actionsの活用事例は多く、検索すればたくさん情報が出てきます。ただ断片的な情報には事欠かない反面、体系的に学習する方法は意外とありません。CI/CD自体がソフトウェア開発の主役になることもまずないため、なんとなく運用している人が大半でしょう。そこで執筆したのが『GitHub CI/

    『GitHub CI/CD実践ガイド』でGitHub ActionsとCI/CDを体系的に学ぼう - 憂鬱な世界にネコパンチ!
    jagagaj
    jagagaj 2024/06/11
  • SaaS.life

    このサイトについて サイトSaaS.life(サースライフ)にお越しいただきありがとうございます。このサイトは日のIPOしたSaaSを中心にそのKGIである売上と、主要KPI(MRR、社数、ARPA、従業員数)について毎週火・木曜の朝7時にまとめを公開しているサイトです。twitterをフォローいただけると最新情報をお届けできますので、よろしければフォローをお願いいたします。 カテゴリ IPOした日国内SaaSのKGI/KPI白書 2021年以降、四半期単位で日国内のSaaSIPOについてそのKGIである売上と、主要KPI(MRR、社数、ARPA、従業員数)についてまとめています。サイトの内容を四半期単位で一覧したい方については、簡易にみていただけると思いますのでよろしければ見てやってください(内容はこのサイトでカバーしているものと同じですので、気になる内容を調べていただくことも可

    SaaS.life
    jagagaj
    jagagaj 2024/06/11
  • 大公開!バッチアプリケーションの品質を高めるZOZOの『バッチ開発ガイドライン』 - ZOZO TECH BLOG

    こんにちは。MA部の田島です。 弊社では開発ガイドラインというものを用いて、システムの品質を担保しています。今回私がテックリードを務めているということもあり、バッチアプリケーションを開発するためのガイドラインを作成しました。記事では「開発ガイドライン」と「バッチ開発ガイドライン」を紹介します。 バッチアプリケーション開発に限定したTipsはまとまっているものが多くないため参考にしていただければと思います。 開発ガイドラインについての紹介 冒頭でも紹介した通り弊社では、開発ガイドラインというものを用いてシステムの品質を担保しています。バッチ開発ガイドラインを紹介する前に、まず開発ガイドラインを紹介します。 開発ガイドラインの種類 開発ガイドラインは現在、以下の種類が存在します。 共通 Android iOS Frontend Backend Infra API Batch DB(Datab

    大公開!バッチアプリケーションの品質を高めるZOZOの『バッチ開発ガイドライン』 - ZOZO TECH BLOG
    jagagaj
    jagagaj 2024/06/10
  • じゃあ何すか、COBOL以外では4.8 - 4.7 - 0.1できないってことっすか / ScalaとSpireで安心安全な計算ライフを実現しよう - Lambdaカクテル

    先日こういうツイートが流れてきた。 Q:なぜ金融系では未だにCOBOLが使われるんですか? A:お手元にExcelがありましたら任意のセルに「=4.8-4.7-0.1」って入れてみてください。— 遊撃部長F/S&RWAs (@fstora) 2024年6月6日 Q:なぜ金融系では未だにCOBOLが使われるんですか? A:お手元にExcelがありましたら任意のセルに「=4.8-4.7-0.1」って入れてみてください。 普段我々がゴリゴリ馬車馬のように使っているソフトウェアでよく利用されている浮動小数点型、すなわちfloatやdoubleなどは特定の算術に弱いことが知られている。というかもうこの手の話題はあまりに拡散されてしまったので、なぜかネット民はみんな知っている基礎教養、三毛別羆事件とかデーモンコアみたいな感じになっている。 ちなみにこれはCOBOLかそうではないか、という軸が問題になっ

    じゃあ何すか、COBOL以外では4.8 - 4.7 - 0.1できないってことっすか / ScalaとSpireで安心安全な計算ライフを実現しよう - Lambdaカクテル
    jagagaj
    jagagaj 2024/06/10
  • ARM に存在する JavaScript 専用命令「FJCVTZS」を追う(ついでに V8 をビルドする)

    前回の記事では、JavaScript の実行エンジン V8 の JIT 出力コードを読んでみました。記事は M1 Mac 上で動かした結果でしたので、ARM アーキテクチャのアセンブラを読むことになりました。 さてそんな ARM アーキテクチャですが、最近の ARM には FJCVTZS という JavaScript 専用の機械語命令があるのをご存知でしょうか?CPU に、特定の言語(それもコンパイラを持たない JavaScript)専用の命令があると知ったとき、私は大いに驚きました(過去にも Jazelle みたいなものはありましたが) 今回は、この FJCVTZS 命令について、実際にどれだけ効果があるのか、V8 をビルドしながら調べてみましょう。 FJCVTZS 命令とは? FJCVTZS 命令は、Arm v8.3 から導入された JSCVT 命令の一つで、JavaScript の言

    jagagaj
    jagagaj 2024/06/10
  • LINE Botの開発でCloudflareとHonoを使う理由

    概要 速さが正義 LINE Botの開発でCloudflareとHonoを使う理由 Cloudflare Workersの応答速度が速いから PoPについて CloudflareAWSlambdaに比べてポイントオブプレゼンス(PoP)の数が多く、処理が実行される場所がよりユーザーの近くにある可能性が高い。 そのため、パフォーマンステストではAWS LambdaAWS Lambda@Edgeよりも応答時間が小さいという結果になった。 コールドスタートがない Cloudflare Workersはコールドスタートがなく、LambdaLambda@EdgeのようにEventBridgeで1分おきにツンツンしなくていい。 Service bindingsが便利だから Cloudflare WorkersのService bindingsを使用することで、worker間の通信はパブリックに

    LINE Botの開発でCloudflareとHonoを使う理由
    jagagaj
    jagagaj 2024/06/09
  • ウォーターフォールを世に広めたとされる米軍がアジャイルに移行中という話 - Qiita

    また、この図の説明においては理想的なケースにおいても1つ前の工程に戻る事が述べられています。 " Hopefully, the iterative interaction between the various phases is confined to successive steps. " (投稿者訳) 理想的には、各段階において工程が前後する範囲は直近の工程に限られる。 理想的でない場合はどうかというと、テストから設計まで工程が戻りうると示唆しています。 "The testing phase which occurs at the end of the development cycle is the first event for which timing, storage, input/output transfers, etc., are experienced as dist

    ウォーターフォールを世に広めたとされる米軍がアジャイルに移行中という話 - Qiita
    jagagaj
    jagagaj 2024/06/08
  • 急に仕事で英語を使うことになった社会人に贈るまとめ(便利ツール/コンテンツ) - Qiita

    急に仕事英語を使うことになった社会人に贈るまとめ(便利ツール/コンテンツ/勉強) 新規案件参画初日。 Goやk8sを使えることなってワクワクしていたあの日、 参画してすぐにチーム内のエンジニアで日人が自分以外に一人であること、 それ以外のチームメンバー全員が外国籍のメンバーになることを知らされた そこのあなた! 数年前の私です(笑) さらに2ヶ月後には、開発チームで唯一の日人になって死にそうになりました。 その時は突然にやってきます。 当時、私の英語の経験というと大学受験の対策のみと言っていいほどで、 そこから10年以上経過していたため、高校英語すらも怪しい状態でした。 英語学習を開始して 半年ほど経過した時のレベルがTOIEC450程度だったので、学習開始当初はおそらく400点を切っていたレベルであると思います。 そこから英語学習を開始し、2年ほど経過した今では、便利ツールを活用

    急に仕事で英語を使うことになった社会人に贈るまとめ(便利ツール/コンテンツ) - Qiita
    jagagaj
    jagagaj 2024/06/07
  • 不要な DNS リソースレコードは消そう / Delete unused DNS records

    https://yuru-sre.connpass.com/event/317749/ の LT 資料です

    不要な DNS リソースレコードは消そう / Delete unused DNS records
    jagagaj
    jagagaj 2024/06/07
  • 最初から完ぺきを求める必要はない。10年かけて、英語で生活できるようになった話 | レバテックラボ(レバテックLAB)

    OpsBR Software Technology Inc. 代表 岩永 亮介 ソフトウェア業界で15年以上、物理的なデータセンター運用から、世界最大規模の分散システムの運用、多数の業界のお客様のシステム設計支援、フロントエンドからバックエンド、データベース管理者、DevOps やテスト設計・実装、アーキテクチャレビュー、などを経験。特に、運用に関する改善や設計は得意で、OpsBR Software Technology Inc. を立ち上げた。カナダのバンクーバー在住。経歴は、Autify で Staff Software Engineer、Sr. Technical Support Engineer、Amazon で Sr. Systems Development Engineer、Solutions Architect など。 ソフトウェアエンジニアとして海外、特に北米を目指すのであ

    最初から完ぺきを求める必要はない。10年かけて、英語で生活できるようになった話 | レバテックラボ(レバテックLAB)
    jagagaj
    jagagaj 2024/06/07
  • 入門 電気通信事業者

    CTO協会 2024年合同新卒研修のLT

    入門 電気通信事業者
    jagagaj
    jagagaj 2024/06/06