並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 211件

新着順 人気順

programmingの検索結果121 - 160 件 / 211件

  • 個人開発OSSが世界に勝てなかった話

    ゆーすけべー氏の「OSSで世界と戦うために」にインスパイアされました。5年間pyserdeというOSSのライブラリを開発・メンテしてきた筆者が、ちょっとだけ世界と戦ってみたけど全然勝てなかったという話です。Honoとはプロダクトの規模も開発にかける情熱も全然違うけど、単純にポストモーテムは読み物として面白いかなと思ったので書いてみます。また、5年間の開発で学んだやってよかったことや失敗などもシェアできればと思います。 pyserde pyserdeは筆者が2019年から開発メンテナンスしているOSSで、RustのserdeというライブラリにインスパイアされたPython用のシリアライゼーションフレームワークです。 以下のようにクラスを定義すると、型アノテーションに基づいたデータ変換やバリデーションのコードが内部的に生成され、強い型付けのクラスを生成することができます。強い型付けのクラスはラ

      個人開発OSSが世界に勝てなかった話
    • 『ドメイン駆動設計をはじめよう ―ソフトウェアの実装と事業戦略を結びつける実践技法』が出版されます - Magnolia Tech

      ドメイン駆動設計をはじめよう ―ソフトウェアの実装と事業戦略を結びつける実践技法 作者:Vlad KhononovオライリージャパンAmazon 2021年にO'Reilly Media, Inc.から出版された「Learning Domain-Driven Design」の待望の日本語訳『ドメイン駆動設計をはじめよう ―ソフトウェアの実装と事業戦略を結びつける実践技法』がついに出版されます。 www.oreilly.com 訳者は、増田 亨さん!! 2020年代に、ドメイン駆動設計を学ぶための最初の入り口としてどの本を読めば良いかは、かなり悩ましい...というのはよく言われるのですが(元祖のエバンス本はさすがにだいぶ古くなってきたし、回りくどい表現も多いし...)、そんな時におすすめできる1冊です。 2021年に原著が出版された時に買ってざっと読んでいたのですが、パート1で戦略的DDD(

        『ドメイン駆動設計をはじめよう ―ソフトウェアの実装と事業戦略を結びつける実践技法』が出版されます - Magnolia Tech
      • Javaで最低限おさえておいてほしいクラス・インタフェース35 - 2024年版 - きしだのHatena

        ま、このくらい知っておいてもらわないと&とりあえずこんだけ知ってればだいたいの処理が書けるクラス・インタフェースをまとめてみました。2024年版。 詳しく知りたい人は「プロになるJava」を! java.lang.Class java.lang.Exception <- new java.lang.Integer java.lang.Object <- new java.lang.Runnable java.lang.String java.lang.System java.lang.Thread java.nio.file.Files <- new java.nio.file.Path <- new java.io.InputStream java.io.InputStreamReader java.io.BufferedReader java.io.OutputStream java.

          Javaで最低限おさえておいてほしいクラス・インタフェース35 - 2024年版 - きしだのHatena
        • ソニーにおけるプロダクトマネジメント スマホアプリ事例紹介

          「吉羽龍太郎さんとソニーが語るプロダクトマネジメント」 イベントの資料です。 イベント概要 https://sony.connpass.com/event/319013/ 動画 https://www.youtube.com/live/Y7gFsorBO6c

            ソニーにおけるプロダクトマネジメント スマホアプリ事例紹介
          • 使われないものを作るな!出口から作るデータ分析基盤 / Data Platform Development Starting from the User Needs

            本資料は Tech Play イベント『データ基盤運用の工数削減に効いた俺的ベストプラクティス データマネジメントの勘所』での登壇資料です。 https://techplay.jp/event/940296 データ基盤を構築する際、多くの人が最初にdbt、BigQuery、troccoといったツール名を思い浮かべるかもしれません。しかし、ビジネス価値を生み出すデータ基盤を開発するためには良いツールを選定するだけでなく、「どの技術をいつのタイミングで導入するか」「関係者をどのように巻き込むか」といった観点も重要です。この発表では、製造業のDXを進めるCADDiが直面したデータの課題と、利用状況に合わせて段階的にデータ基盤を拡充していった過程についてご紹介します。

              使われないものを作るな!出口から作るデータ分析基盤 / Data Platform Development Starting from the User Needs
            • バグ報告が来た時にデキるエンジニアの動き方

              ❗❗問題発生❗❗ 作った機能のバグの発見報告が上がってきました。 この時点で何となく 「ヤバさ」 と 「あたり」 を自分の中でつけます 売上に響くやばい? 条件がある?全員? ボタンが押せないならクライアントだし、API飛んで成功してないならサーバ?届いてないならネットワークもあるか。 モバイル、Webどっち?両方? そもそもどこの環境?開発中のもの? 購入ボタンってどこのこと?特定のアイテム?それとも全部? 購入できてないってどういうこと?DBはどうなってる? まずは 👀 をつける これは 「見ていますよ」 という表現です。 もしくはリプライで 「見ます!」 と宣言するのも良いですね。 これにより投稿者は 「対応してくれるな」 と安心できます。 必要な情報をもらう 発生している環境 発生時間 アカウント名+ログイン情報 スクリーンショット・録画 この時点で試せることは色々試してもらいま

                バグ報告が来た時にデキるエンジニアの動き方
              • 『読み手につたわる文章 - テクニカルライティング』を読んで、レビューテクニックを身につけよう! - Magnolia Tech

                booth.pm mochikoさんが書かれた『読み手につたわる文章 - テクニカルライティング』という本を読みました。 この本はビジネスの現場で必要な「相手に伝えたいことを正しく伝える」ためのテクニックが詰まった本です。 大事なことがコンパクトに詰まっていて、何度も読み返したり、他の人に紹介するのに適しています。この辺はどうしても商業出版だと一定のページ数が無いと出版が難しいので、同人誌として出版するのに向いている構成ですね。 いくつか「そうだよねー」と思ったトピックを拾っておくと... 読者層を決めてから書こう 自分も何らかの文書を書く時は、「誰が読むのか?」というのを常に一番考えて書いています。特に、特定の読み手が想定できる報告書などの文書は、まずはどこまで相手の理解度を前提条件として想定できるか?ということを考えます。不特定多数の人向けの文書では難しいですが、特定の人向け、特に直接

                  『読み手につたわる文章 - テクニカルライティング』を読んで、レビューテクニックを身につけよう! - Magnolia Tech
                • 「朝からサーバーからえぐいほど警告が来ていると思ったら室温がやばい」→その原因が判明したが非常にシンプルかつ深刻な事態だった

                  くわ @kuwamain ちなみに去年あった同じような事件とは違うサーバーです x.com/kuwamain/statu… x.com/kuwamain/statu… テスト運用していたGPUサーバー(ほかにも10台ぐらい)が全部90度になっていた 落ちてなかったのが奇跡... x.com/kuwamain/statu… 2024-05-08 09:20:32 くわ @kuwamain 今日のシステム障害の流れ 空調が死ぬ(ダイキンのエアコンって60日で切れるの?) ↓ 室温が上がりサーバー機が次々にオーバーヒートして停止 ↓ 9割以上の実機が死に冗長化が保てなくなりシステム停止 ↓ 全落ち☆ 簡単に言うと「我が名はアシタカ。節電のためにエアコンを止めた!」が発生した模様 2023-08-16 17:14:24

                    「朝からサーバーからえぐいほど警告が来ていると思ったら室温がやばい」→その原因が判明したが非常にシンプルかつ深刻な事態だった
                  • 「もう限界です」──国立大学協会が声明、財務悪化の現状を訴える 「教育・研究の質の低下が危惧される」

                    「もう限界です」──82の国立大学法人が参加する国立大学協会は6月7日、日本の国立大学の財務状況に関する声明を発表した。物価高騰や円安などの影響で、国立大学の財務状況は悪化し続けているという。 国立大学法人の収入源は、学生からの納付金や病院収入などの自己収入、受託研究費や寄付金、研究者個人に与えられる科学研究費補助金などの他に、国からの運営費交付金と呼ばれる資金がある。運営費交付金は活動資金の中でも大きな割合を占めているが、2004年度以降、減少傾向という。

                      「もう限界です」──国立大学協会が声明、財務悪化の現状を訴える 「教育・研究の質の低下が危惧される」
                    • なぜSQLiteはバイトコードを使うのか

                      以前にデータベースを自作しようとして、SQLiteのアーキテクチャを見てみたらVMだったことに疑問を感じ、それをツイートしたところ作者からリプをもらいました。 作者いわく、次のような背景があったとのことでした。 SQLiteを作った当初はデータベースエンジンのことをよく知らないがコンパイラのことをよく知っていた SQLデータベース・エンジンを書くという問題をコンパイラ構築の問題として扱うのは自然なことだった データベースエンジンのコアの部分をVMにするという発想がまったくなかったので、どんなメリットがあるのか?と気になっていました。 それを作者に聞いたら、詳細な説明ページを作ってくれました。 個人的にVMにしたことで、評価&実行のパフォーマンスは多少良くなると思うが、データベースエンジンのパフォーマンスにそれほど寄与していないんじゃないかな?って思ったりしました。 本記事はそのページについ

                        なぜSQLiteはバイトコードを使うのか
                      • 【超初心者向け】Pythonのテストの書き方(pytest, unittest) - Qiita

                        概要 pythonでテストコードを書くときがありますが、(筆者のように)超初心者からすると難しい用語や書き方がたくさん並んでいてハードルが高いです。 テストコードの入口となる最低限(最低限過ぎるかもしれませんが)の書き方を備忘を兼ねて書きます。 pythonでのテストコードを書く時のライブラリの種類 筆者が簡単に調べたところ、2つのライブラリがよく使われているようです。 unittest : python標準ライブラリ。インストールが必要ない。pytestと比較すると、柔軟なテストケースを書きづらい。 pytest : サードパーティ製のライブラリ。インストールの必要がある。柔軟なテストケースが書ける。pythonのテストコードを書く時のデファクトスタンダートになりつつある模様(これが本当かは確認していないですが、そういう記述を見かけることが多かったです)。 筆者個人としては、以下の3つの

                          【超初心者向け】Pythonのテストの書き方(pytest, unittest) - Qiita
                        • Rust言語のための統合開発環境「RustRover」正式リリース、JetBrains。個人の非商用利用は無料

                          Rust言語のための統合開発環境「RustRover」正式リリース、JetBrains。個人の非商用利用は無料 Kotlin言語や統合開発ツールIntelliJ IDEAなどの開発を行っているJetBrainsは、Rust言語用の統合開発環境「RustRover」の正式リリースを発表しました。 All systems are GO! We’re over the moon to see RustRover finally land! Read all about the release and the new free non-commercial license in our blog post https://t.co/s3MnqfiTrs, and see how we can help you stay focused on what matters pic.twitter.com

                            Rust言語のための統合開発環境「RustRover」正式リリース、JetBrains。個人の非商用利用は無料
                          • 大実験!ChatGPTは競プロの問題を解けるのか (2024年5月版) - E869120's Blog

                            1. はじめに 2024 年 5 月 14 日、OpenAI 社から新たな生成 AI「GPT-4o」が発表され、世界に大きな衝撃を与えました。これまでの GPT-4 よりも性能を向上させただけでなく1、音声や画像のリアルタイム処理も実現し、さらに応答速度が大幅に速くなりました。「ついにシンギュラリティが来てしまったか」「まるで SF の世界を生きているような感覚だ」という感想も見受けられました。 しかし、いくら生成 AI とはいえ、競技プログラミングの問題を解くのは非常に難しいです。なぜなら競技プログラミングでは、問題文を理解する能力、プログラムを実装する能力だけでなく、より速く答えを求められる解法 (アルゴリズム) を考える能力も要求されるからです。もし ChatGPT が競技プログラミングを出来るようになれば他のあらゆるタスクをこなせるだろう、と考える人もいます。 それでは、現代最強の

                              大実験!ChatGPTは競プロの問題を解けるのか (2024年5月版) - E869120's Blog
                            • Microsoft、「AI Toolkit for VS Code」を発表/既存の「Windows AI Studio」をクロスプラットフォーム拡充、発展させる

                                Microsoft、「AI Toolkit for VS Code」を発表/既存の「Windows AI Studio」をクロスプラットフォーム拡充、発展させる
                              • Git の一般的な落とし穴を回避します: ベスト プラクティスと回復手順。 | DevelopersIO

                                Gitは、バージョン管理に強力なツールで、開発者がコード変更を追跡し、プロジェクトで協力し、作業履歴を維持することを可能にします。Gitは複雑なプロジェクトを管理するための堅牢なフレームワークを提供しますが、同時にプラットフォームの初心者にとっては習得の曲線があり、一般的なミスにつながる可能性があります。これらのエラーは、些細な面倒から、プロジェクトのワークフローに重大な混乱をもたらすまでさまざまです。 これらの落とし穴を理解し、回避することは、プロジェクトの整合性と安定性を維持するだけでなく、チームメンバー間の効果的な協力関係を育むためにも不可欠です。このブログでは、Gitを使用する際にユーザーが直面する最も一般的な課題について掘り下げます。メインブランチへの直接コミット、ブランチの非効率的な使用、不適切なコミットの処理、マージコンフリクトの解決など、さまざまな問題を探ります。 一般的な

                                  Git の一般的な落とし穴を回避します: ベスト プラクティスと回復手順。 | DevelopersIO
                                • 土日で完成! 趣味のラズパイ ChatGPTで遊ぼう——ラズパイで作ったデジタル時計に天気情報も表示させる|fabcross

                                  天気予報をデジタル時計に加えるには、外部の天気予報APIを利用する必要があります。一般的に利用されるのはOpenWeatherMap APIですが、これを使用するにはAPIキーが必要です。APIキーはOpenWeatherMapのウェブサイトで無料で取得できます。 以下の手順では、OpenWeatherMap APIを使用して現在の天気情報を取得し、それをOLEDディスプレイに表示する方法を示します。このコードは前の時計と曜日を表示するコードに基づいています。 ### 必要なライブラリのインストール - 天気情報を取得するために`requests`ライブラリを使用します。このライブラリがまだインストールされていない場合は、インストールしてください。 pip3 install requests ### OpenWeatherMap APIの設定 1. OpenWeatherMapの[公式サイ

                                    土日で完成! 趣味のラズパイ ChatGPTで遊ぼう——ラズパイで作ったデジタル時計に天気情報も表示させる|fabcross
                                  • GitHub Copilotと快適なユニットテストコード作成生活

                                    こちらで登壇させていただいた資料です。 https://trident-qa.connpass.com/event/314818/ ※ こちらは2024/05/23 時点の私の考えとなります。更新の予定はございませんのでご了承ください

                                      GitHub Copilotと快適なユニットテストコード作成生活
                                    • Don't DRY Your Code Prematurely

                                      TotT 98 GTAC 61 James Whittaker 42 Misko Hevery 32 Anthony Vallone 27 Code Health 27 Patrick Copeland 23 Jobs 18 Andrew Trenk 12 C++ 11 Patrik Höglund 8 JavaScript 7 Allen Hutchison 6 George Pirocanac 6 Zhanyong Wan 6 Harry Robinson 5 Java 5 Julian Harty 5 Alberto Savoia 4 Ben Yu 4 Erik Kuefler 4 Philip Zembrod 4 Shyam Seshadri 4 Adam Bender 3 Chrome 3 Dillon Bly 3 John Thomas 3 Lesley Katzen 3 Ma

                                        Don't DRY Your Code Prematurely
                                      • 「入門 継続的デリバリー」は継続的デリバリーを学ぶのに最適な教科書だった. - Lean Baseball

                                        最近読んだ「入門 継続的デリバリー」がとても良かったので紹介しますね, というエントリーです. 入門継続的デリバリー良かったです. 「継続的デリバリー(Continuous Delivery)」とか「DevOps」ってどこから学ぶかわからんな!? というのは割とあるあるだと思っています, そもそもめちゃくちゃ難しい話なので(ちゃんと学ぼうとすると). そんな中, 「入門 継続的デリバリー」がよく説明できてて良かったので感想と関連する書籍を紹介できればと思っています. TL;DR 入門 継続的デリバリー 我々はなぜCDをするのか? 具体的なプラクティス 入門後に読むべき良著 Kubernetes CI/CDパイプラインの実装 継続的デリバリー チームトポロジー 結び - 我思うCDとDevOps TL;DR 「入門 継続的デリバリー」は継続的デリバリーの大切さと概念, 手法を現実にありそうな

                                          「入門 継続的デリバリー」は継続的デリバリーを学ぶのに最適な教科書だった. - Lean Baseball
                                        • 那覇市職員「LANケーブルなんか余ったな。よく分からんし、とりあえずここ挿しとくか」→大規模ネットワーク障害を発生させてしまう

                                          篠原 修司 (Shuji Shinohara) |フリーライター✏️ @digimaga ネット炎上の解説やデマ訂正(ファクトチェック)のYahoo!ニュースエキスパート|iPhoneやPC・ガジェットのお役立ち&おトク情報も発信|ChatGPT等の生成AIにも興味|たまにAbema出演|アマゾンアソシエイトメンバー|あと猫好き 仕事のご相談は digimaganet@gmail.com まで digimaga.net 篠原 修司 (Shuji Shinohara) |フリーライター✏️ @digimaga 那覇市役所の職員「パソコン移動させよ」 ↓ 職員「LANケーブルなんか余ったな。よく分からんし、とりあえずここ挿しとくか」 ↓ 大 規 模 ネ ッ ト ワ ー ク 障 害 発 生 那覇市役所庁舎等のネットワーク障害について【令和6年4月5日 更新】 city.naha.okinawa.

                                            那覇市職員「LANケーブルなんか余ったな。よく分からんし、とりあえずここ挿しとくか」→大規模ネットワーク障害を発生させてしまう
                                          • 今どきのプログラミング言語では当たり前! Modern C++で使えるモダンな言語仕様

                                            はじめに C言語から派生したオブジェクト指向プログラミング言語であるC++は、21世紀に入ってまったく別物とも言えるプログラミング言語に成長していきました。それは、Modern C++と称されています。1990年代にC++を触っていたプログラマが現在の仕様を知れば、隔世感に苛まれるのではないでしょうか。本連載では、かつてはC++をたしなんでいたという方、今からC++言語を始めるという方に向けて、Modern C++らしい言語仕様をピックアップし紹介していくことで、今のC++言語の姿を理解していただきます。 対象読者 かつてはC++をたしなんでいたという方 今からC++言語を始めるという方 モダンなプログラミング言語のパラダイムに興味のある方 必要な環境 本記事のサンプルコードは、以下の環境で動作を確認しています。 macOS Sonoma/Windows 11 Xcode Command

                                              今どきのプログラミング言語では当たり前! Modern C++で使えるモダンな言語仕様
                                            • 見えないものに着目すると上手くいく、モデリングの勘所 / invisible-driven-design

                                              こちらのイベントの登壇発表資料です。 アーキテクチャを突き詰める Online Conference https://findy.connpass.com/event/314782/

                                                見えないものに着目すると上手くいく、モデリングの勘所 / invisible-driven-design
                                              • そもそもプログラミング経験自体無い人がRustを学ぶとき,どんな順序が良いのか

                                                遠きに行くには必ず邇きよりす.高きに登るには必ず卑きよりす.何事にも順序というものがあります.Rust の学習もそうです. そこで,前提知識がほぼ無い状態から Rust を学ぶときに,どんな順序が良いのか,考えてみました. コンパイル時と実行時の区別. Rust を学ぶとき,何がコンパイル時に起こって何が実行時に起こるか分からないと困ります.特に,型検査と借用検査がコンパイル時に行われることは,それらの基本的な規則を知る際に大切です.そこで,最初に Hello world を書く時点で,コンパイル→実行という流れを押さえておくべきでしょう. コンパイルエラーの読み方. まずコンパイルエラーを読むという基本的な姿勢を身に付けるのは大切です. 公式ドキュメントの場所. まず公式ドキュメントを読むという基本的な姿勢を身に付けるのも大切です. Hello world 周辺の基本文法. 例えば以下の

                                                  そもそもプログラミング経験自体無い人がRustを学ぶとき,どんな順序が良いのか
                                                • Google、開発者向けの無料プログラム「Google Developer Program」開始。WebIDE「Project IDX」のワークスペースを5つまでなど特典が提供

                                                  Googleは、Google CloudやFirebaseなどGoogleが提供するサービスを用いてアプリケーションを開発する開発者を支援するための無料のプログラム「Google Developer Program」の開始を発表しました。 Google Developer Programに参加することで、以下の特典が得られると説明されています。 Geminiベースの新WebIDE「Project IDX」のワークスペースに最大5つまでアクセス可能に チャットAIによるドキュメントページの解説、サンプルコードの生成、Google APIのテスト ラーニング プラットフォーム「Google Cloud Skills Boost」のインタラクティブラボクレジットを無料で利用可能。クレジットを使って実際のGoogle Cloud環境でスキルの練習ができます。 Google主催のコミュニティへの参加

                                                    Google、開発者向けの無料プログラム「Google Developer Program」開始。WebIDE「Project IDX」のワークスペースを5つまでなど特典が提供
                                                  • LINE Botの開発でCloudflareとHonoを使う理由

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

                                                      LINE Botの開発でCloudflareとHonoを使う理由
                                                    • 「フォト」アプリが爆速に ~MicrosoftがUWP→Windows App SDK移行の苦労を解説/移行の技術的ハードルは高いが、確かなメリット

                                                        「フォト」アプリが爆速に ~MicrosoftがUWP→Windows App SDK移行の苦労を解説/移行の技術的ハードルは高いが、確かなメリット
                                                      • Your API Shouldn't Redirect HTTP to HTTPS

                                                        TL;DR: Instead of redirecting API calls from HTTP to HTTPS, make the failure visible. Either disable the HTTP interface altogether, or return a clear HTTP error response and revoke API keys sent over the unencrypted connection. Unfortunately, many well-known API providers don't currently do so. Updated 2024-05-24: Added the Google Bug Hunter Team response to the report that the VirusTotal API resp

                                                          Your API Shouldn't Redirect HTTP to HTTPS
                                                        • この「なんでわかるの?」系の質問は初めてやってみたのだけど、なかなか。こう答えられるのは「本当に賢い」証拠だと言ってもいいと思う。

                                                          kmizu @kmizu A Software Engineer in Osaka (& Kyoto). Ph.D. in Engineering. Interests: Parsers, Formal Languages, etc. ツイートは所属先の見解と関係ありません.思いついたことをつぶやきます.人生を楽しく生きよう(New!) kmizu.github.io

                                                            この「なんでわかるの?」系の質問は初めてやってみたのだけど、なかなか。こう答えられるのは「本当に賢い」証拠だと言ってもいいと思う。
                                                          • 入社2年目の悩みー仕事と競プロの両立についてー - 競プロ始めました-kaede2020-

                                                            0.はじめに 1.仕事のこと 2.体力が続かない 3.離れてみてわかったこと 4.仕事で何を目指すのか 5.競プロで何を目指すのか 6.そしてまた日常が始まる 7.終わりに 8.おまけ(その後のこと) 0.はじめに 昨年の2023年2月1日にAtCoder株式会社に入社しました。おとぎ話にたとえるならば、「めでたしめでたし」と全てが円満に終わって、その後は読者の想像にまかせることになるのだと思います。しかし、それがスタートであるというのは、ある程度の人生経験があればきっとわかるのではないかと思います。 前だけを見て走り続けた1年でした。 1年経ってやっと少しだけ周りの景色を見る余裕ができました。このまま後14年、定年までこの速度で走り続けられるのだろうか。そう思ったとき、私の足は前へ進まなくなってしまいました。そして立ち止まった私は、この1年間、四六時中AtCoderのことを考えていたのを

                                                              入社2年目の悩みー仕事と競プロの両立についてー - 競プロ始めました-kaede2020-
                                                            • Welcome - 100 Exercises To Learn Rust

                                                              Welcome Welcome to "100 Exercises To Learn Rust"! This course will teach you Rust's core concepts, one exercise at a time. You'll learn about Rust's syntax, its type system, its standard library, and its ecosystem. We don't assume any prior knowledge of Rust, but we assume you know at least another programming language. We also don't assume any prior knowledge of systems programming or memory mana

                                                              • なぜDependency Injectionなのか? ~関心の分離と疎結合~

                                                                本稿は「アーキテクチャを突き詰める Online Conference」における発表「なぜDependency Injectionなのか? ~関心の分離と疎結合~」の登壇原稿となります。 発表時の動画アーカイブは後日公開されたタイミングでリンクを追加いたします。 また、本稿のサンプルコードとPower PointはGitHubで公開しています。 「CC BY-SA 4.0」で公開していますので、気に入っていただけたら営利目的含め、ライセンスの範囲で自由に利用していただいて問題ありません。 https://github.com/nuitsjp/WhyDependencyInjection というわけで、本稿の目指すゴールはこちら。 今日は、この場にいる皆さんが「なぜDependency Injectionを利用するのか?」ということを、理解いただくのが本日のゴールとなります。 というわけで本

                                                                  なぜDependency Injectionなのか? ~関心の分離と疎結合~
                                                                • RDBの主キー、UUID使った方がいいの?(DDD, CleanArchitecture対応)

                                                                  結論 お手軽モノリスならAutoIncrementが効率的だしこれでいいよ アプリケーション側で主キーを生成したい場合はLUIDを作る必要があるよ。GUIDで大は小を兼ねよう 主キーでGUIDを使うならULIDよりもUUIDv7がおすすめだよ ただし分散されているエンジンによってはUUIDv4の方が効率的になる場合もあるよ 主キーは原則公開しない方がいいよ UUIDv7やULIDはユニーク性を持ったInstant(timestamp)としても使えるよ 分散されたシステムでは厳密な時系列性を担保することはできないよ、あきらめてロックをかけつつ連番を一か所で生成しよう RDBのPrimary Key(主キー)とは? MySQL、PostgresQLなどのRDBでは各レコードを識別するために一意な値を必要とします。これをPrimary Key(主キー)と呼びます。別のカラムにUNIQUEなInd

                                                                    RDBの主キー、UUID使った方がいいの?(DDD, CleanArchitecture対応)
                                                                  • エンジニアゼロの組織から内製開発の DX をどう実現したのか / How did we achieve DX in in-house development in an organization with zero engineers?

                                                                    エンジニアゼロの組織から内製開発の DX をどう実現したのか / How did we achieve DX in in-house development in an organization with zero engineers?

                                                                      エンジニアゼロの組織から内製開発の DX をどう実現したのか / How did we achieve DX in in-house development in an organization with zero engineers?
                                                                    • HeadlessなUIライブラリを利用する価値

                                                                      Speaker : Yuito Kawashima ( https://github.com/yuitokawashima ) at 「Vue.js v-tokyo Meetup #20」 https://vuejs-meetup.connpass.com/event/318066/

                                                                        HeadlessなUIライブラリを利用する価値
                                                                      • Goでモンキーパッチするライブラリを作った - Plan 9とGo言語のブログ

                                                                        Goで単体テストを実装する場合、動的な言語のように「テスト実行中に外部への依存を置き換える」といったことはできません。代わりに、 外部への依存を引数で渡す 外部への依存をインターフェイスで渡す のように、テスト対象をテスト可能な実装に変更しておき、テストの時は外部への依存をモック等に置き換えて実行する場合が多いのではないかと思います。 個人的な体験でいえば、テスト可能な実装に置き換えていく過程で設計が洗練されていく*1ことは度々あるので、面倒を強制されているというよりは設計を整理するための道具といった捉え方をしているのですが、そうは言っても動的な言語に比べると面倒だなと感じるときは少なからずあります。既存の実装がテスト可能になっておらず、変更するコストが高い場合は特にそうですね。 そんなとき、気軽にモンキーパッチできると嬉しいんじゃないかと思って、テストの時だけ関数を置き換えられるようなラ

                                                                          Goでモンキーパッチするライブラリを作った - Plan 9とGo言語のブログ
                                                                        • GitHub Copilot Workspaceが利用可能になったのでゼロからアプリを作ってみた - Alternative Architecture DOJO

                                                                          こんにちは、MLBお兄さんこと松村です。 昨年の MLB 全体ドラフト1位のポール・スキーンズ投手がメジャーデビューしました。予想通りの豪速球でした。 2024年4月29日についにテクニカルプレビューが開始となった GitHub Copilot Workspace ですが、ゴールデンウィーク中に私のアカウントでも利用可能となっていたため、試してみたことを書いていきます。 利用開始まで この記事を書いている時点では、 GitHub Copilot Workspace の利用には待機リスト (Waitlist) への登録が必要であり、その通過を待つ必要があります。 そのため GitHub Copilot Workspace を利用したい方は、こちらから登録を行いましょう。 githubnext.com ゼロからアプリを作ってみる 今回は練習として私がコードを書くこと無く、 C# の簡単なアプリ

                                                                            GitHub Copilot Workspaceが利用可能になったのでゼロからアプリを作ってみた - Alternative Architecture DOJO
                                                                          • 「VBScript」は2027年頃にデフォルトで無効に ~非推奨化スケジュールが公開/3つのフェイズに分け、段階的にサポートを縮小

                                                                              「VBScript」は2027年頃にデフォルトで無効に ~非推奨化スケジュールが公開/3つのフェイズに分け、段階的にサポートを縮小
                                                                            • 「システム運用の基本と戦略」についてただまとめる

                                                                              23卒でバックエンドエンジニアをしているたかしゅんです。(@1341Shun) 先日、株式会社サイバーエージェントAI事業本部の2024年度 エンジニア新卒研修でシステム運用に関する講義を行いました。 そこで話した内容とスライドを完全公開したので、内容について解説します。 90分の内容のため、かなり長いですが、個人的にぜひ一読して欲しい内容になっています。 実際の資料はこちらになります↓ 自己紹介 こんにちは、たかしゅんと言います。2023年度入社で今年で2年目になります。株式会社サイバーエージェントのAIオペレーション室で新規立ち上げをやっております。 入社して最初に広告プロダクトに配属し、PipeCDの導入などのDevOps業務を中心に行なっておりました。 記事もあるのでもしよろしければ、ご覧ください。 2月中旬からAIオペレーション室に移動し、新規立ち上げのインフラ環境の構築からCI

                                                                                「システム運用の基本と戦略」についてただまとめる
                                                                              • Open WebUI (Formerly Ollama WebUI) がすごい - Qiita

                                                                                Open WebUIを使ってみました。 https://openwebui.com/ 当初は「Ollama WebUI」という名前だったようですが、今はOpen WebUIという名前に変わっています。Ollama専用じゃなくなったということでしょう。OpenAIに対応済みです。 早速使ってみました。もちろんBedrockで。 6/11 続編を書きました。 環境構築 Dockerですんなり構築です。Bedrockに対応はしてないので、「LiteLLM」を使って対応させます。 環境変数でこのあたりを指定 Ollamaを無効化 LiteLLMのエンドポイントをOpenAIのエンドポイントとして登録 APIキーを登録(LiteLLMとの通信には不要ですが、未指定だとOpen WebUIが正しく動作しませんでした) services: open-webui: image: ghcr.io/open-

                                                                                  Open WebUI (Formerly Ollama WebUI) がすごい - Qiita
                                                                                • Go1.21から導入された Go Toolchainの仕組みをまるっと解説

                                                                                  2023/8/9にリリースされたGo1.21 新たに導入されたツールチェーン(Go Toolchains) 次の内容を知ってもらい、Toolchainを使いこなせるようになること ・導入が必要となった背景 ・導入で期待されること ・具体的にはどう使うのか ・どんな挙動なのか

                                                                                    Go1.21から導入された Go Toolchainの仕組みをまるっと解説