並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 17447件

新着順 人気順

Programmingの検索結果1 - 40 件 / 17447件

  • [Playwright]VScodeの拡張機能でらくらくブラウザ操作

    はじめに こんにちは。スペースマーケットでWebエンジニアしてます、新卒のdumbled0reです。 4月に入社してから早2ヶ月経って、入社式が昨日のように感じています。時の流れは早い。 日頃、ブラウザ操作する時はPythonのライブラリであるSeleniumを使用していましたが、vscodeにあるPlaywrightの拡張機能を使用すれば非エンジニアの方でも簡単にブラウザ操作用のコードを書けたので紹介します。 Playwrightとは PlaywrightとはMicrosoftが開発したオープンソースのE2Eテスト自動化フレームワークです。 Chromium、Firefox、WebKitなどの主要なブラウザで対応しており、1つのコードで複数のブラウザ上で動作確認も行えます。 環境 node 20.9.0 playwright 1.44.0 拡張機能のインストール 今回使用するVScode

      [Playwright]VScodeの拡張機能でらくらくブラウザ操作
    • 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
      • Googleの検索アルゴリズムの内部資料が漏洩か?「SEO業界で長年疑われていたものが明らかに」

        Mic King @iPullRank Ok, let's get this party started! A couple weeks ago I said I was publishing the most important thing I ever wrote. I was wrong. Documentation related to the Google Search algorithm leaked and I spent the weekend tearing it apart. ipullrank.com/google-algo-le… ✌🏾 2024-05-28 11:10:19 数週間前、私はこれまで書いた中で最も重要なものを発表すると言いました。それは間違いだった。 Google検索のアルゴリズムに関するドキュメントが漏洩したため、私は週末をかけてそれを徹底的に調

          Googleの検索アルゴリズムの内部資料が漏洩か?「SEO業界で長年疑われていたものが明らかに」
        • Goでモンキーパッチするライブラリを作った - Plan 9とGo言語のブログ

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

            Goでモンキーパッチするライブラリを作った - Plan 9とGo言語のブログ
          • 那覇市職員「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ケーブルなんか余ったな。よく分からんし、とりあえずここ挿しとくか」→大規模ネットワーク障害を発生させてしまう
            • 年度初めの那覇市役所を襲った全庁規模の通信まひ、原因はたった1本のLANケーブル

              「業務システムにもインターネットにもつながらない」。始業直後に報告されたネットワーク障害は、瞬く間に庁舎全体に広がった。システム部員はすぐに原因究明に乗り出した。 どこにも挿さらず放置されているLAN(Local Area Network)ケーブルと、そのすぐそばにポートが余っているスイッチを、ネットワークに関する知識のない人が見つけたらどうするだろうか。「何かの拍子に抜けてしまったに違いない」と、挿してしまうかもしれない。こうした親切心からループが生じ、その影響でネットワーク全体がまひすることもある。 新年度が始まる2024年4月1日朝、那覇市役所全体が突然ネットワーク障害に襲われた。トラブル解決の陣頭指揮に当たったのは、ネットワーク機器の運用を担う情報政策課の伊覇太課長だ。トラブルをどう脱出したのか。経緯を詳しく見ていこう。 「何もできない」と職員が駆け込む 地上12階・地下2階建ての

                年度初めの那覇市役所を襲った全庁規模の通信まひ、原因はたった1本のLANケーブル
              • Zig探訪 - comptime編

                イントロ さあ、やって参りました。 第1回Zig探訪のお時間です。 今回担当するのは、Zigを使い始めて早くも半年・永遠のニートことsmallkirbyです。 Zig探訪では、Zigの機能や特徴の中で面白いんじゃないかと思うものをピックアップして紹介していきます。 紹介しないこともあります。 第1回のテーマは、Zigの中でも特に重要なコンセプトであるcomptimeについてです。 Zigとは - Everything is Explicit Zigについておさらい 第1回ということで、最初に軽くZigについておさらいしておきましょう。 Zigは、2016年に開発が始まったコンパイル型汎用プログラミング言語です。 Rustが2015年に1.0リリースされた翌年に開発がスタートしたんですね。 最新のリリースはv0.12.0であり、大体1年くらいでマイナーアップデートされるようです。 まだ1.0

                  Zig探訪 - comptime編
                • 最近は意図的にGitHub Copilotを無効にすることがある

                  別にみんなそうするべきとは全く思わないのだけど、僕は最近GitHub Copilotを意図的に無効にすることがあるので、そのへんについて雑に書いておく。 あらかじめ言っておくが、僕はGitHub Copilotを有効にすることもある。この記事もGitHub Copilotおよびそのユーザーを批判する意図は全くない。 GitHub Copilot が便利な場面 僕がGitHub Copilotを使い始めて少なくとも一年以上は経ってる。自分が書こうと思っているコードに近いものが簡単に生成されていくことに最初は感動したし、便利な場面がはたくさんある。 具体的に便利な場面を思い返してみる。 僕は仕事ではNext.jsでフロントエンドを書いたり、NestJSでバックエンドを書いたりしているのだが、その用途では便利だった。僕は自分が関わっているプロジェクトのReactやNode.jsの書き方はある程度

                    最近は意図的にGitHub Copilotを無効にすることがある
                  • YAGNIと拡張性のあいだ - 電通総研 テックブログ

                    こんにちは!Xイノベーション本部プロダクトイノベーションセンターの米久保 剛です。 弊社のテックブログ上では今回が初めての記事執筆となります。アーキテクチャ設計やアプリケーション設計の話を中心に、不定期に情報発信していきたいと考えています。 YAGNI原則 YAGNI原則をご存知でしょうか。 エクストリーム・プログラミング(XP)の重要な原則の一つであるこの原則は、You Ain't Gonna Need Itのアクロニム(頭字語)から命名されています。日本語にすると「どうせ要らないって」というニュアンスでしょうか。推測に基づいて余計な機能を作り込んだところで将来実際に使われる可能性は低く、時間と労力を無駄にするばかりかコードの複雑化などのリスクさえあります。ですから、現時点でわかっている要件をちょうど満たすだけの機能を実装すべきであるとYAGNI原則は主張します。 YAGNI原則は機能(

                      YAGNIと拡張性のあいだ - 電通総研 テックブログ
                    • Python命名規則の基本

                      はじめに Pythonの命名規則は、コードの可読性を高めるために非常に重要です。 実はPeP8というPythonのスタイルガイドには、命名規則に関する詳細なガイドラインが記載されています。 本記事では、Pythonの命名規則について、PeP8に基づいてまとめたいと思います。 なぜ命名規則が重要なのか 命名規則(Naming Convention)は、コードの可読性を高めるために非常に重要です。 最も重要なのは一貫性(Consistency)で、コードが一貫性のある命名規則に従っていると、変数や関数の目的が明確になり、コードの理解が容易になります。 また、命名規則に従っていると、他の開発者がコードを読んだり、メンテナンスしたりする際にも、迷うことなく作業を進られるため、作業効率UPにもつながります。 Pythonの命名規則のタイプ Pythonの命名規則には、大きく分けて以下の4つのタイプが

                        Python命名規則の基本
                      • 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。個人の非商用利用は無料
                        • ユーザーが『アイドル』を歌うとサーバーが停止する - Qiita

                          起きたこと 僕が運営している『オンライン絵しりとり』というサイトで起きた話となります。 これは訪れたユーザー同士で絵しりとりを楽しめるサービスです。 ある日、このサービスをホスティングしているConoHaVPSより、規約に違反しているため利用を制限した旨のメールが届きました。 お客様のVPSにおきまして、弊社会員規約に反するコンテンツが 検出されましたので、ご利用サービスの制限をさせていただき ましたこと、ご連絡申しあげます。 そして、メールが届いたほぼ同時刻にサーバーが停止され、サービスへアクセスできない状態になりました。 メールによると、JASRACより著作権侵害に対する防止措置の申し出があったとのことです。 指摘対象のコンテンツを確認したところ、ユーザーがサイト内のチャットでYOASOBIの楽曲である『アイドル』の歌詞の一部を投稿しておりました。 ご覧の通り、話の流れで流行りの曲をみ

                            ユーザーが『アイドル』を歌うとサーバーが停止する - Qiita
                          • Overview - Hurl, the Exceptional language

                            Hurl, the Exceptional language Hurl is a language created for one purpose: to explore a language based around exception handling as the only control flow. It was sparked from conversations between Nicole Tietz-Sokolskaya and friends from Recurse Center whose identities will be withheld for their dignity. This site contains documentation around how to use Hurl. It also provides some examples and gu

                            • Abusing Go's infrastructure

                              I apologize if this information is already known, but I couldn’t find any references about it and I wanted to understand what was going on and share with you because I think there is some value doing it. In case this wasn’t known, I apologize to the Go team for not talking to them first and jumping the full disclosure gun (I don’t think it’s that severe). I really like Go! Thanks for all your grea

                              • ~sircmpwn/bunnix - A simple monolithic Unix-ish kernel - sourcehut git

                                #Bunnix A simple monolithic Unix-like operating system. #Bunnix cross toolchain A GNU toolchain configured for an x86_64-bunnix target is required to compile Bunnix. Fetch the binutils and gcc trees from here: binutils (bunnix branch) gcc (bunnix branch) You must configure these with the Bunnix sysroot you will be using for your build. The build system places this at $srcdir/target/root/ by defaul

                                • Writing a Unix clone in about a month

                                  I needed a bit of a break from “real work” recently, so I started a new programming project that was low-stakes and purely recreational. On April 21st, I set out to see how much of a Unix-like operating system for x86_64 targets that I could put together in about a month. The result is Bunnix. Not including days I didn’t work on Bunnix for one reason or another, I spent 27 days on this project. He

                                  • 『ルールズ・オブ・プログラミング』を読んだ #iknowtherulesjp - Don't Repeat Yourself

                                    Ghost of Tsushimaなどを作った会社の人が書いた本です。ゲーム開発におけるコードを書く際の教訓を整理し、改めて示し直したいい一冊だったと思います。大事なことですが、著者は決して「このルールを絶対使え」と言っているのではなくて、そもそもまず会社の製品の特性上、このようなルールを敷いておくと品質や生産性を高く保てたという前提があり、その前提を元に「ルールを選び取って自分たちのコーディング哲学を構築しよう」と推奨しています。 ルールズ・オブ・プログラミング ―より良いコードを書くための21のルール 作者:Chris Zimmermanオーム社Amazon この手の本では『リーダブルコード』がよく薦められる傾向にあると思います。私にとってもリーダブルコードは確かに駆け出しの頃すごく役に立った記憶はあるのですが(もう10年くらい前に読んだので正直忘れた)、そこから知識がアップデートされ

                                      『ルールズ・オブ・プログラミング』を読んだ #iknowtherulesjp - Don't Repeat Yourself
                                    • What is a collision?

                                      2D Rigid Body Collision Resolution Part 1: Defining the problemFrom Mario bouncing off a Goomba to two cars bumping into each other in a racing game, dealing with collisions is such an integral part of most video games that we often take it for granted. In this series of blog posts, I want to show you what actually goes on behind the scenes in a physics simulation like the one above. While we're g

                                        What is a collision?
                                      • Rustで作るプログラミング言語—— コンパイラ/インタプリタの基礎からプログラミング言語の新潮流まで

                                        この本の概要 小さなプログラミング言語から本格的なプログラミング言語へ……ステップバイステップでの開発を通して,プログラミングそのものへの理解を深めよう! こんな方におすすめ コンピュータサイエンス,とくにプログラミング言語そのものやコンパイラについての素養を得たいと考えている人 他言語でのプログラミング経験があり,Rustの習得に興味のある人。とくに,学習のための題材を探している人 第1章:プログラミング言語概論 プログラミング言語の分類 他の切り口での分類方法 コンパイルパイプライン 第2章:スタックベース仮想マシン 仮想マシン概論 Rustでの実装 標準入力からの読み込み パースとコマンドの実行 ブロックとネスト構造 if制御構文 変数の定義 複数行のソースコードへの対応 関数呼び出し 関数の再帰呼び出し WebAssemblyへのコンパイルとブラウザでの実行 第3章:プログラミング

                                          Rustで作るプログラミング言語—— コンパイラ/インタプリタの基礎からプログラミング言語の新潮流まで
                                        • Goのライブラリのバグを見つけてから直すまで layerx.go#0

                                          layerx.go #0 概要 LayerXでは、バクラク事業部で開発・運用しているバクラクをはじめ、ほか事業部が開発しているほとんどのサービスでGo言語を利用しています。また、2023年の夏頃からは「Go 読書会」を社内の有志にて開催しており、組織横断的にGoの知見を交換しています。 本イベント「layerx.go」では、LayerXのGo言語の"実践的な"活用事例を共有するだけでなく、社外の方からの知見も積極的に取り入れる場として位置付けています。LayerXの行動指針"Bet Technology"と"徳"の観点から、本イベントを継続的に開催することでGo言語の裾野を広げていきたいと考えています。 初回のテーマは「Goの情報収集や知見の共有活動 / Goのプロダクトコードのキャッチアップ」です! https://layerx.connpass.com/event/317228/

                                            Goのライブラリのバグを見つけてから直すまで layerx.go#0
                                          • 社内に詳しい人がいない領域のコードを触る時 - Konifar's ZATSU

                                            自分も含めて社内に詳しい人がいない領域のコードをいじることってあるよね。特に歴史の長いサービスだと当時触っていた人が誰もいないとか。仮にいたとしても1年くらい触ってないとほとんど忘れてしまって知らないのと同じような状態になっていたりする。 自分もそういうことが何度もあって、雑にスタンスややってることをまとめておこうと思う。 前提のスタンス 「これを倒したら俺がこの領域で一番詳しい最強になるんや」という気持ちを持ってる 詳しい人がいない状態で属人化とか気にしても仕方ない。まずは自分が詳しくなってから考えるでよい 自分用メモを作る キャッチアップしたことを書き残していく。ドキュメントじゃなくてSlackに垂れ流すでもいい 過去のドキュメント・やりとりを探す 全体像を把握できるドキュメントがないかを探すのを最初にやってる ここは近道はない。とにかく全部集めて全部読む気持ちで臨む Google D

                                              社内に詳しい人がいない領域のコードを触る時 - Konifar's ZATSU
                                            • Statically Typed Functional Programming with Python 3.12

                                              Lately I’ve been messing around with Python 3.12, discovering new features around typing and pattern matching. Combined with dataclasses, they provide support for a style of programming that I’ve employed in Kotlin and Typescript at work. That style in turn is based on what I’d do in OCaml or Haskell, like modelling data with algebraic data types. However, the more advanced concepts from Haskell —

                                              • GitHub - dalance/amber: A code search / replace tool

                                                You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                  GitHub - dalance/amber: A code search / replace tool
                                                • Git の一般的な落とし穴を回避します: ベスト プラクティスと回復手順。 | DevelopersIO

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

                                                    Git の一般的な落とし穴を回避します: ベスト プラクティスと回復手順。 | DevelopersIO
                                                  • 20年前のOS「Windows XP」を丸腰でインターネットに放り込むとこうなる

                                                    2001年にリリースされたWindows XPは、2014年4月に延長サポートが打ち切られてから記事作成時点で10年が経過していますが、要求スペックの低さや安定性などから根強く支持されており、2022年に公開されたレポートではWindows 11に匹敵するシェア率だったと報告されています。そんなWindows XPをファイアウォールを切った状態でインターネットに接続した動画をYouTuberのエリック・パーカー氏が公開したところ、投稿から約10日で45万回も再生されました。 What happens if you connect Windows XP to the Internet in 2024? - YouTube Idle Windows XP and 2000 machines get infected with viruses within minutes of being ex

                                                      20年前のOS「Windows XP」を丸腰でインターネットに放り込むとこうなる
                                                    • 今どきのプログラミング言語では当たり前! Modern C++で使えるモダンな言語仕様

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

                                                        今どきのプログラミング言語では当たり前! Modern C++で使えるモダンな言語仕様
                                                      • 「VBScript」は2027年頃にデフォルトで無効に ~非推奨化スケジュールが公開/3つのフェイズに分け、段階的にサポートを縮小

                                                          「VBScript」は2027年頃にデフォルトで無効に ~非推奨化スケジュールが公開/3つのフェイズに分け、段階的にサポートを縮小
                                                        • 「エクスプローラー」に「Git」を統合 ~アプリ開発者のためのWindowsシェル改善/ファイル右クリックメニューからのTAR/7z圧縮、「Sudo for Windows」なども

                                                            「エクスプローラー」に「Git」を統合 ~アプリ開発者のためのWindowsシェル改善/ファイル右クリックメニューからのTAR/7z圧縮、「Sudo for Windows」なども
                                                          • 好天に恵まれた大型連休。人出が伸びたと思ったら全国の88%で減少、コロナ5類移行後初なのになぜ? 一番活発に動いた人たちは…大規模データの分析から判明 | 47NEWS

                                                            全国的に好天に恵まれ、新型コロナウイルス感染症の5類移行後初めてとなった今年のゴールデンウイーク。人出が伸びたと思ったら、国内居住者に限ると全国主要都市の駅周辺60地点の88%に当たる53地点で前年に比べて減っていたことが、大規模なデータ分析によって明らかになった。 1ドル=150円台に及ぶ歴史的な円安に伴う物価高で、節約意識が強まったとみられる。円安はインバウンド(訪日客)の増加をもたらし、ホテル代が高騰して日本人からすると泊まりにくくなった。有識者からは物価高が長引くとの予測が聞かれ、家計の余裕が乏しい状況が続きそうだ。(共同通信=三好寛子、亀井淳志) ▽札幌、仙台、名古屋が2桁マイナス IT企業クロスロケーションズ(東京)が47都道府県から東京・新宿や大阪・梅田など主要な60駅を抽出した。駅周辺の半径500メートルにどれだけの人が来たのかを示す来訪数データを推計し、その速報値を共同通

                                                              好天に恵まれた大型連休。人出が伸びたと思ったら全国の88%で減少、コロナ5類移行後初なのになぜ? 一番活発に動いた人たちは…大規模データの分析から判明 | 47NEWS
                                                            • 面接官「0.1 + 0.2 == 0.3 が成立しない理由を説明せよ」 - Qiita

                                                              なぜか これは、計算機が浮動小数点数を2進数で表現する際に、特定の小数は正確に表現できず、誤差が発生するためです。10進数の0.1や0.2は、2進数では無限に続く循環小数となるため、これらの数値を正確に表現することができません。その結果、0.1 + 0.2 は 0.3 と等しくならないことがあります。 小数点以下の数値→2進数へ変換する方法 CSを修めていればご存知方と思いますが、復習します。 小数点以下の数値を2倍する 結果の整数部分を取り出し、それを2進数の桁として記録する 小数部分だけを次のステップに持ち越す 小数部分が0になるか、所定の精度に達するまで1〜3を繰り返す 0.1 × 2 = 0.2 整数部分: 0 小数部分: 0.2 0.2 × 2 = 0.4 整数部分: 0 小数部分: 0.4 0.4 × 2 = 0.8 整数部分: 0 小数部分: 0.8 0.8 × 2 = 1.

                                                                面接官「0.1 + 0.2 == 0.3 が成立しない理由を説明せよ」 - Qiita
                                                              • 『Tidy First?』を読んだ - Don't Repeat Yourself

                                                                最近アーキテクトなるお仕事になったようなので、コードやアーキテクチャ関連の本を読み漁っています。何冊か読んでいるんですが、まずは最近Kent Beckが出版した『Tidy First?』の話を書きたいと思います。 Tidy First? (English Edition) 作者:Beck, KentO'Reilly MediaAmazon パート1: Tydings 「Tidy」というと、USでは一時期からコンマリが大流行りしているようで、「Kondo」がそもそも動詞化していたりするなど一大ブームとなっている(た)ようです。コンマリといえばそう、「お片付け」なんですが、なんとなくここから着想を得ているのかなと思います。Netflixでも「Tidying Up with Marie Kondo」という番組が作られていたくらいです。 Tidyingは「片付け」ないしは「整理整頓」あたりで訳せそ

                                                                  『Tidy First?』を読んだ - Don't Repeat Yourself
                                                                • AI を活用したソフトウェア開発のための個人的ガイド - Sun wood AI labs.2

                                                                  https://www.reddit.com/r/LocalLLaMA/comments/1cvw3s5/my_personal_guide_for_developing_software_with_ai/?rdt=40405 はじめに 私は個人プロジェクトでコードを書く際、特に自動化のためのものを書く際には、AI を活用しています。この点について、人によって意見が分かれるようです。同じように AI を使っている人もいれば、AI が良いコードを書くことは不可能だと考える人もいます。私の分野の専門家の間でも同様の考え方に遭遇し、AI の使い方が人によって異なるのかもしれないと気づきました。 私自身のバックグラウンドですが、私は開発マネージャーであり、業界で長年の経験を積み、大学院でもソフトウェア開発を学んできました。ですので、このガイドは素人ではなく、大規模システムの構築と運用に関するかなり

                                                                    AI を活用したソフトウェア開発のための個人的ガイド - Sun wood AI labs.2
                                                                  • すべてのコードやライブラリ自体が技術的負債である / 高利率な技術と低利率な技術 - Lambdaカクテル

                                                                    技術的負債という言葉がある。もともとは、「楽するために導入したが、メンテにコストがかかるようになってしまった技術や構成」くらいの意味合いで使われているように思う。しかし、そもそも全部が負債ではないか、というのがこのメモの趣旨である。 負債 同僚とSlackで会話していると、「けっきょくどの言語を利用しても負債になるときはなるし、大抵負債になる」といった話になった。言われてみればそうで、基本的にコードというものは書いたそばから負債になっていく。去年書いたコードのことも思い出せない。 そんな中で思ったのだが、そもそも、負債になるコードと負債にならないコードとがあったり、技術が「負債化する」のではなく、コードや技術そのものが負債なのではないか。そして、どの言語で書こうが負債からは逃れることができない。負債にならないコードは存在しない。ゆえに、コードや技術は無ければ無いほど良い、ということになる。

                                                                      すべてのコードやライブラリ自体が技術的負債である / 高利率な技術と低利率な技術 - Lambdaカクテル
                                                                    • なぜ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対応)
                                                                        • メール本文からピリオドが消失してしまう謎の現象をエンジニアが解明

                                                                          メールのような書き言葉において、「.」で示されるピリオドは文末を示したり、数の区切りを示したりといった重要な働きがあります。エンジニアのTjaart氏が、かつて自分が修正に携わった「メール本文のピリオドが欠落してしまう現象」について振り返りました。 The curious case of the missing period - Tjaart’s Substack https://tjaart.substack.com/p/the-curious-case-of-the-missing-period 2016年当時のTjaart氏は、全てのドキュメントテンプレートを1つのシステムに統合できるクライアント向けソリューションを構築するプロジェクトに携わっていました。Tjaart氏らの開発によって、PDFドキュメントやテキストメッセージ、および電子メールの本文の作成に使用される全てのテンプレート

                                                                            メール本文からピリオドが消失してしまう謎の現象をエンジニアが解明
                                                                          • 見えないものに着目すると上手くいく、モデリングの勘所 / invisible-driven-design

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

                                                                              見えないものに着目すると上手くいく、モデリングの勘所 / invisible-driven-design
                                                                            • 「情報 I・II」を学んだ高校生の技術レベルってどのくらい? 元エンジニア校長にホントのところを聞きました【フォーカス】 レバテックラボ(レバテックLAB)

                                                                              TOPフォーカス「情報 I・II」を学んだ高校生の技術レベルってどのくらい? 元エンジニア校長にホントのところを聞きました【フォーカス】 「情報 I・II」を学んだ高校生の技術レベルってどのくらい? 元エンジニア校長にホントのところを聞きました【フォーカス】 2024年5月22日 工学院大学附属中学校・高等学校 校長 中野 由章 芝浦工業大学大学院工学研究科修了(電気工学専攻)。日本アイ・ビー・エム大和研究所を経て、1993年から教職の道へ。三重県立尾鷲工業高等学校や大阪電気通信大学など、多様な機関で教鞭を執り、教育と情報科学を専門分野として研究を重ねる。2021年より現職。情報処理学会の初等中等教育委員会委員長も務める。愛称は、日本IBM時代に同僚に付けられた「ジョニー」。明確な由来はない。 工学院大学附属中学校・高等学校 高校における情報教育のあり方が、大きく変わろうとしています。20

                                                                                「情報 I・II」を学んだ高校生の技術レベルってどのくらい? 元エンジニア校長にホントのところを聞きました【フォーカス】 レバテックラボ(レバテックLAB)
                                                                              • [速報]GitHub Copilot extensions発表。CopilotがDockerやAzureなどサードパーティの専門家へ拡張、プログラマの質問に答えてくれる

                                                                                マイクロソフトは、日本時間5月22日未明から開催中のイベント「Microsoft Build 2024」で、GitHub Copilotの新機能「GitHub Copilot extensions」を発表しました。 GitHub Copilot extensionsは専門知識を持つCopilot GitHub Copilotは、プログラマはVisual Studio Codeなどのコードエディタ上やチャット欄でAIと対話し、プログラミングに関する質問への回答やコードの生成などをAIが行ってくれる機能です。 GitHub Copilot extensionsは、このCopilotの能力をサードパーティなどがそれぞれのソフトウェアやサービスの専門家へと拡張できるようにし、プラグインとしてCopilotに組み込み可能にしたものです。 拡張されたCopilotの例として、マイクロソフトが提供する「

                                                                                  [速報]GitHub Copilot extensions発表。CopilotがDockerやAzureなどサードパーティの専門家へ拡張、プログラマの質問に答えてくれる
                                                                                • [速報]マイクロソフトが「Team Copilot」発表。生成AIが会議のファシリテーターやプロジェクト管理を実行

                                                                                  マイクロソフトは、日本時間5月22日未明から開催中のイベント「Microsoft Build 2024」で、生成AIがさまざまな業務を支援してくれる「Microsoft Copilot」の新機能として「Team Copilot」を発表しました。 チームの生産性向上を実現するTeam Copilot Microsoft Copilotは、同社のオフィス製品などに組み込まれた生成AIによって文書やプレゼンテーションの作成などの支援を通じて個人の生産性向上を実現する機能として登場し……

                                                                                    [速報]マイクロソフトが「Team Copilot」発表。生成AIが会議のファシリテーターやプロジェクト管理を実行