並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 1231件

新着順 人気順

interfaceの検索結果41 - 80 件 / 1231件

  • Pythonが教育用途において十分だという話

    Pythonが教育用途において十分だという話 今話題のPythonを教えている現役の講師です。Pythonを教える際に重視すべきだと考えている機能等について書いておきます。 dataclass / Pydantic 自分は型ヒントよりもdataclassやPydanticを使った型付けを重視しています。いわゆるクラスベースな言語の書き方が大事だと考えています。 dataclass Pythonは動的型付け言語であり、interface相当の機能すらclassの構文で書く変わった言語です。近年Pythonの型ヒントは少しづつ充実してきていますが発展途上であることは否めないですし、何より実行時にその型であることは保証されないので、dataclass等を使った開発スタイルが依然強力だと考えています。 Python+TypeScriptというようなスタックを使う際には両言語の差に混乱するでしょう。

      Pythonが教育用途において十分だという話
    • AlmaLinux、今後はRed Hat Enterprise LinuxのABI互換を目指すと発表。これまでの「バグまでRHEL互換」の路線を変更

      AlmaLinux、今後はRed Hat Enterprise LinuxのABI互換を目指すと発表。これまでの「バグまでRHEL互換」の路線を変更 2020年にRed Hatは、Red Hat Enterprise Linux互換OSとして使われてきたCentOSの開発中止を発表しました。 これをきっかけに、CentOSの後継を担うことを目指していくつかのRHELクローンOSが登場します。その代表的なLinuxディストリビューションの1つがAlmaLinuxです。 AlmaLinuxはRHELのソースコードを基に、RHELのバグまで含めて完全にRHEL互換をうたうLinuxディストリビューションを開発、提供してきました。 しかしRed Hatは先月(2023年6月)、RHELのソースコードの一般公開を事実上終了するとともに、クローンOSベンダに対して「付加価値もなくコードをリビルドするだ

        AlmaLinux、今後はRed Hat Enterprise LinuxのABI互換を目指すと発表。これまでの「バグまでRHEL互換」の路線を変更
      • KeyTrap (CVE-2023-50387)を検証してみた - knqyf263's blog

        DNSは趣味でやっているだけですし有識者のレビューを経ているわけでもないので誤りを含むかもしれませんが、DNS界隈には優しい人しかいないのできっと丁寧に指摘してくれるはずです。 追記:めちゃくちゃ丁寧にレビューしていただいたので修正いたしました。森下さんほどの方に細かく見ていただいて恐れ多いです...(学生時代に某幅広合宿で森下さんの発表を見てDNSセキュリティに興味を持った) 4万文字を超える大作、おつかれさまです。わかりやすく書けていると思いました。 ざっと読んで、コメントしてみました。ご参考まで。https://t.co/bVj5WeFHQr https://t.co/ku5NOx6ua8— Yasuhiro Morishita (@OrangeMorishita) 2024年2月19日 要約 背景 詳細 DNSSECとは? DNSSECの可用性 鍵タグの衝突 攻撃内容 SigJam

          KeyTrap (CVE-2023-50387)を検証してみた - knqyf263's blog
        • Chromium にコントリビュートするための周辺知識 | blog.jxck.io

          Intro Chromium にコントリビュートするためには、ソースコードを理解する以外にも、もろもろ必要な周辺知識がある。 ドキュメントはかなり整備されている方ではあるが、そのドキュメントにたどり着くのが難しい場合もある。 レビュアーなどが親切に教えてくれるものをローカルにメモしているが、それも散らばってきたため、ここにまとめることにする。 まずは初期状態で公開するが、どんどん更新していき、長くなっても分割しないで追記を繰り返そうと考えている。 関連サイト 始めて取り組もうとすると、まずどこを見ればわからないところから始まる。 似たようないくつかのサイトがあり、使い分けがされているからだ。 code search https://source.chromium.org/chromium/chromium/src コードをインタラクティブに検索するためのサイト Workspace 風の U

            Chromium にコントリビュートするための周辺知識 | blog.jxck.io
          • WebAssembly の過去・現在・未来 - Qiita

            はじめに WebAssembly (略して Wasm) では WASI や WIT、 Component Model など様々な仕様があります。 それぞれが登場した背景、モチベーションなどを理解することでなんとなく概要を掴んでいくことができるのではないかと考えたため、過去・現在・未来と時間軸で整理してみました。 まず Wasm とその特徴に関して簡単に紹介した後、Wasm の過去として生まれた背景やモチベーションを紹介します。 そして現在の Wasm がなぜ注目を集めているのか、そして現在策定中の仕様と目指している未来について紹介します。 WebAssembly とはなにか WebAssembly はスタックベースの仮想マシン用バイナリ命令フォーマットの仕様です。Wasm と略されます。 Wasm ファイル(Wasm モジュール)は一般に .wasm という拡張子で表されるバイナリファイル

              WebAssembly の過去・現在・未来 - Qiita
            • 【TypeScript と友達に】Type Challenges を全問解いたのでエッセンスと推し問題を紹介してみる - 前編

              はじめに 自己紹介 初めまして、@kakekakemiya と申します。 現在は東京大学大学院学際情報学府の修士 1 年で、フロントエンドエンジニアとして活動しています(25 卒の就活生です)。TypeScript × React × Next.js が主戦場ですが、Flutter でモバイルアプリを開発するときもあります。 今回は自分の TypeScript 力の向上のために、合計 170 問あるType Challenges を全問解いたので、Type Challenges における推し問題を紹介しながら、型パズルを解く上でのエッセンスを述べていく記事を書いてみようと思います。 Zenn での初投稿なので、何かと至らない点があるかもしれませんが、よろしくお願いします。 この記事の想定読者 TypeScript の型システムに興味がある方 Type Challenges が気になっている

                【TypeScript と友達に】Type Challenges を全問解いたのでエッセンスと推し問題を紹介してみる - 前編
              • 版元ドットコムとopenBDプロジェクトは“だれもが自由に使える書誌・書影”を再び提供するためホワイトリスト作成という正攻法に出た | HON.jp News Blog

                《この記事は約 21 分で読めます(1分で600字計算)》 一般社団法人版元ドットコムとopenBDプロジェクト(版元ドットコムと株式会社カーリル)は3月29日、版元ドットコム会員社以外の出版社に対し、書誌・書影の読者(第三者)などへの利用承諾を求める取り組みの開始を発表しました。そもそもなぜそのような取り組みが必要なのでしょうか? 本稿ではその背景や経緯などについて、関係者への取材などを踏まえた上で詳しく解説します。 お断り:アマゾンジャパンには、HON.jpの法人会員として事業活動を賛助いただいています。しかし、本稿の記述は筆者の自由意志であり、対価を伴ったものではありませんし忖度もしていません。また、本稿では論点を絞るため、話をおおむね「書影」に絞ります。以下、常体で記述します。 そもそもなぜ書影の利用許諾が必要なのか? オンラインショッピングなどで用いられる商品画像――本の場合、そ

                  版元ドットコムとopenBDプロジェクトは“だれもが自由に使える書誌・書影”を再び提供するためホワイトリスト作成という正攻法に出た | HON.jp News Blog
                • 株式会社リクルート エンジニアコース新人研修の内容を公開します!(2023年度版) | Recruit Tech Blog

                  こんにちは! 2023年度エンジニア新卒の、吉田です。 株式会社リクルート 新卒エンジニアコースでは、部署への配属前に、BootCampと呼ばれる新人研修を行っています。 本日は2023年度の研修の内容を、実際に受講した新卒の立場から紹介させていただきます。 研修の内容については毎年反響をいただいていますが、今年度も一段と進化し、より充実した研修でした。 ページ下部に研修資料を公開していますので、ぜひ研修の雰囲気を感じ取っていただけると嬉しいです。 研修の概要 エンジニアコースの新人研修は、配属後にスピード感を持って成長できるようになることを見据え、 「さまざまな技術領域の講座を受け、興味関心を広げて、知らなかった好奇心に出会う」 「現場で求められる『仕事への取り組みスタンス』をつかむ」 「気軽に相談できる仲間(同期)をつくる」 の3点が目的とされています。 今年度は、入社前に行われたスキ

                    株式会社リクルート エンジニアコース新人研修の内容を公開します!(2023年度版) | Recruit Tech Blog
                  • 型パズルを理解しTypeScript中級者になる8のポイント - 弁護士ドットコム株式会社 Creators’ blog

                    この記事は、弁護士ドットコム株式会社の Advent Calendar 2023 の 22 日目の記事です。 前日は @et_tei さんの「FireHOL で公開されているブラックリストからの接続 Akamai でブロックする」でした。 こんにちは。税理士ドットコム事業部の @komtaki です。 数年間 TypeScript を業務で使っていたのですが、型パズルの Type Challenges をやってようやく TypeScript の本質を理解していないことに気づきました。 この記事では Type Challenges を通して、私のような型パズルが難しいと感じる人のために型パズルを理解するための言語機能と使い方を 8 つのポイントでまとめます。 この 8 つのポイントを理解すれば、いろんな型パズルが理解できるようになるはずです。 Type Challenges とは TypeS

                      型パズルを理解しTypeScript中級者になる8のポイント - 弁護士ドットコム株式会社 Creators’ blog
                    • LangChain クイックスタートガイド - Python版|npaka

                      Python版の「LangChain」のクイックスタートガイドをまとめました。 ・LangChain v0.0.329 (2023/11/3) 1. LangChain「LangChain」は、「大規模言語モデル」 (LLM : Large language models) と連携するアプリの開発を支援するライブラリです。 「LLM」という革新的テクノロジーによって、開発者は今まで不可能だったことが可能になりました。しかし、「LLM」を単独で使用するだけでは、真に強力なアプリケーションを作成するのに不十分です。真の力は、それを他の 計算 や 知識 と組み合わせた時にもたらされます。「LangChain」は、そのようなアプリケーションの開発をサポートします。 主な用途は、次の3つになります。 ・文書に関する質問応答 ・チャットボット ・エージェント 2. LangChain のモジュール「L

                        LangChain クイックスタートガイド - Python版|npaka
                      • すべての Web サービス設計者に捧ぐ「RESTful って結局なんなんだ」

                        誰もがその戦いの背景にある歴史の深淵と人々の覚悟を見誤っていた。開戦初日に決着が付くと高を括って鼻歌混じりに筆を取った私は、気が付けば夏休みの8割を喪失し、すべての指が腱鞘炎で悲鳴を上げる中で参考文献の海に這いつくばっていた。 —— Josh Nobus —— ぜんぜんわからない 俺たちは雰囲気で REST をやっている 何度調べてもなんだかよく分からない概念ランキングの個人的 Top5 に入る言葉。 それが「REST」だ。 いろんな Web サービスの REST API はよく使わせてもらっているし、REST API が何かと聞かれれば「その Web サービスの機能を HTTP リクエストで呼び出せる API エンドポイントのことだよ」みたいにそれっぽくお茶を濁すことはできると思うが、じゃあ自分で RESTful なサービスを作ってみろと言われたら私は作れない。作れなかった。 だってどん

                          すべての Web サービス設計者に捧ぐ「RESTful って結局なんなんだ」
                        • jQueryは1個の要素と複数個の要素を同じように書かせる - fsubal

                          #フロントエンド #設計 #JavaScript 「1個の要素と複数個の要素を同じように書かせる」というのが実は jQuery の特徴の一つだと思っている。 document.querySelector() や querySelectorAll が出現して以降 jQuery の必要性はほとんどなくなったと言われる。 実際にこんなサイトもあるし https://youmightnotneedjquery.com/ これは実際その通り 一方、jQuery で書かれたコードを querySelector や querySelectorAll に移行しようとしたら苦しかったという経験をした人は多そう。 上のコードが下のようになる。 code:javascript $('.foo').on('click', e => { // ... }) Array.from(document.querySele

                            jQueryは1個の要素と複数個の要素を同じように書かせる - fsubal
                          • 新時代のAIツール | Open Interpreterとその25の活用法|ChatGPT研究所

                            9月6日に公開された Open Interpreterは、現在世界で最も注目を集めるGitHubのリポジトリです。公開から2日でデスクトップアプリの早期アクセスウェイトリストには5000人、さらにDiscordでのコミュニティ参加者は500人を超え、レポジトリには9月15日現在で、レポジトリには20K以上のスターが付いています。このツールは、自然言語の指示でさまざまなコードを書き、実行することができ、日常の作業を劇的に効率化します。この記事では、Open Interpreterという新時代のAIの力で、あなたの仕事もプライベートも次のステージへと進化させるための「活用事例25選」をご紹介していきます。 Open Interpreter の基本的な機能・情報はこちらの記事に分かりやすくまとめてくださっていますので、こちらもぜひご覧ください!! 👉 Today I’m launching O

                              新時代のAIツール | Open Interpreterとその25の活用法|ChatGPT研究所
                            • より高速なRubyのWebAssembly実装「Ruvy」、Shopifyがオープンソースで公開。Ruby仮想マシンとRubyアプリを組み合わせてビルド

                              より高速なRubyのWebAssembly実装「Ruvy」、Shopifyがオープンソースで公開。Ruby仮想マシンとRubyアプリを組み合わせてビルド 昨年(2023年)12月にリリースされた「Ruby 3.2」では、WebAssemblyによって実装されたRubyランタイム「Ruby.wasm」が正式版となりました。これによりWebブラウザや単体のWebAssemblyランタイムの上でRubyランタイムを実行し、Rubyプログラムを実行できるようになりました。 このRuby.wasmをベースに、さらに高速なRubyのWebAssembly実装となる「Ruvy」が、Shopifyからオープンソースとして公開されました。 Calling all #Ruby developers! Explore a new tool for leveraging Ruby to create #WebAs

                                より高速なRubyのWebAssembly実装「Ruvy」、Shopifyがオープンソースで公開。Ruby仮想マシンとRubyアプリを組み合わせてビルド
                              • 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
                                • AWS VPC のネットワーク小話~Public/PrivateとIPv4/6~ | 外道父の匠

                                  日々何気なくお世話になっている VPC 含むネットワークは、ちゃんと理解しようとすると思ったより多い情報量と、それに対するパターンの経験が必要になります。 私自身、正直ネットワークのお話は好きじゃないのですが、現行の事情を踏まえてこの辺の基本と雑学を振り返っておくと、技術力のベースが整ってよろしいのではと思って整理することにしました。 はじめに 新年度なので、学習教材シリーズです。今回はネットワーク周りで、基礎に味付けするような内容です。もしかしたらお嫌いなジャンルでしょうか、でも少しだけやりましょうそうしましょう。 関連情報としては、このあたり。 公式 ENOG81: AWSのIPv6とPublic IPv4のおはなし – Speaker Deck Amazon VPC とは? – Amazon Virtual Private Cloud 外道父の匠 AWS VPCルーティングの基本から

                                    AWS VPC のネットワーク小話~Public/PrivateとIPv4/6~ | 外道父の匠
                                  • 画像生成AIを利用した機能(AIお手本機能)の取り下げについて

                                    Thank you for your continued use of ibisPaint. We announce about the "AI Example feature" in ibisPaint ver. 11.2.0 (App Store version, Google Play version and Microsoft Store version) released on January 9, 2024. We have been developing and have released this feature in order to provide users with a new drawing experience. However, we have decided to withdraw this feature due to the strong respons

                                      画像生成AIを利用した機能(AIお手本機能)の取り下げについて
                                    • 「1.1.1.1 は一部の多段 CNAME を解決してくれない」改め「makeshop.jp は 1.1.1.1 をブロックしている」

                                      2023/09/20 追記 以下で有識者からコメントをいただきました。 makeshop.jp は 1.1.1.1 を遮断しているらしく、本記事はまさに makeshop.jp で制作したページが見れないことに起因した話題であったため、多段 CNAME は無関係でした。 コメント頂いた皆様、ありがとうございました! 1.1.1.1 をブロックしている SaaS があると思わずに首を傾げていた頃の記事 disclaimer Dig Web Interface を用いて振る舞いを観測した結果、 1.1.1.1 のみ異なる結果を返したことから本記事のようなタイトルを付けていますが、 1.1.1.1 の振る舞いが正しい可能性もあります。 ことのはじまり とある SaaS でカスタムドメインを利用するため、 CNAME を以下のように設定したところ、 1.1.1.1 もしくは 1.0.0.1 をネー

                                        「1.1.1.1 は一部の多段 CNAME を解決してくれない」改め「makeshop.jp は 1.1.1.1 をブロックしている」
                                      • Golang開発者のためのクリーンアーキテクチャ

                                        はじめに クリーンアーキテクチャは、ソフトウェア設計の分野で非常に重要な概念です。 しかし、その理解は容易ではなく、明確な正解が存在するわけではありません。 多くの人が異なる解釈を持ち、他の設計思想と混在していることもあります。 この記事では、自分なりの視点からクリーンアーキテクチャを解釈し、その整理した内容を共有します。 このアーキテクチャの目的は、システムの各層を独立させ、変更に強く、テストしやすい設計を実現することです。 この記事では、クリーンアーキテクチャの基本概念、Golangでの実装方法、およびディレクトリ構成について詳しく説明します。 なお、この記事では個人的な見解を述べており、必ずしも正解を書いているわけではありません。もし誤りがあれば、ぜひご指摘いただけると幸いです。 クリーンアーキテクチャの基本概念 クリーンアーキテクチャの元となったのは、ロバート・C・マーチン(通称「

                                          Golang開発者のためのクリーンアーキテクチャ
                                        • GitHub - fujiapple852/trippy: A network diagnostic tool

                                          Trace using multiple protocols: ICMP, UDP & TCP IPv4 & IPv6 Customizable tracing options: packet size & payload pattern start and maximum time-to-live (TTL) minimum and maximum round duration round end grace period & maximum number of unknown hops source & destination port (TCP & UDP) source address and source interface TOS (aka DSCP + ECN) Support for classic, paris and dublin Equal Cost Multi-pa

                                            GitHub - fujiapple852/trippy: A network diagnostic tool
                                          • OKI、「LINE Pay かんたん送金サービス」と連携できるソフトウェア開発キットを金融機関向けに販売

                                            OKI、「LINE Pay かんたん送金サービス」と連携できるソフトウェア開発キットを金融機関向けに販売LINE Pay送金のアプリケーション開発に必要なプログラムをパッケージ化し、開発を簡略化 OKIは、LINE Pay株式会社(代表取締役社長:前田 貴司、本社:東京都品川区、以下LINE Pay社)が提供する送金サービス「LINE Pay かんたん送金サービス」と連携できるソフトウェア開発キット(以下「LINE Pay送金SDK」)を金融機関向けに販売します。本商品は、同サービスとの連携に必要なプログラムをパッケージ化したもので、「LINE Pay かんたん送金サービス」の通信方式や暗号方式などを意識することなくアプリケーション開発を行うことが可能です。また、従来ゼロから開発しなければならなかった通信や暗号などのプログラム開発および単体試験を削減し、開発を簡略化することができます。金融

                                              OKI、「LINE Pay かんたん送金サービス」と連携できるソフトウェア開発キットを金融機関向けに販売
                                            • 「システム運用の基本と戦略」についてただまとめる

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

                                                「システム運用の基本と戦略」についてただまとめる
                                              • Terraform 公式がスタイルガイドを出したので読んで要約した - Qiita

                                                3/30 に X で Terraform がトレンド入りしていて何事かと思ったら Terraform が公式ドキュメントとしてスタイルガイドを出したようです。 Terraform Style Guide いままで Terraform のスタイルに関して信頼できるドキュメントといえば Google Cloud の Terraform を使用するためのベスト プラクティス ぐらいしか知らなかったのですが、 Terraform 公式がようやく出してくれてありがたい限りです。 これでわざわざ社内の Terraform 規約を設けずとも「公式ドキュメントに従いましょう。」の一言で済みます。 ということで一通り読んだのでまとめました。 原文だと構文の簡単な使い方なども書いてありますが以下の要約ではだいたい省略しています。 詳細は原文を読んで確認してください。 要約 スタイルガイドについて コードのスタ

                                                  Terraform 公式がスタイルガイドを出したので読んで要約した - Qiita
                                                • TypeScript のような構文で OpenAPI のスキーマを定義する TypeSpec

                                                  import "@typespec/http"; using TypeSpec.Http; model User { id: string; name: string; birthday?: utcDateTime; address: Address; } model Address { street: string; city: string; state: string; zip: string; } @route("/users") interface Users { list(@query limit: int32, @query skip: int32): User[]; create(@body user: User): User; get(@path id: string): User; } openapi: 3.0.0 info: title: (title) versio

                                                    TypeScript のような構文で OpenAPI のスキーマを定義する TypeSpec
                                                  • Next.jsを4年間使用してたどりついた、エンタープライズアプリケーションのフロントエンド開発・構築手法 | POSTD

                                                    はじめに 目まぐるしく進化するフロントエンド開発の世界では、常に最新の知識や技術をいち早く取り入れることが、エンタープライズアプリケーションの開発を成功させる上で欠かせません。Tailwind CSS、TypeScript、Turborepo、ESLint、React Queryなどを含む強力なツールキットとNext.jsを4年間使用してきた結果、開発に役立つさまざまな知見やベストプラクティスが得られました。この記事では、大企業向けフロントエンドアプリケーションのパフォーマンス、保守性、拡張性を最大限に高める設計・構築手法を紹介したいと思います。 注記:ここに記載する内容はあくまでも個人的な見解であり、筆者が推奨する手法が必ずしも適さない場合もあります。 効果的なエンタープライズ向けフロントエンドアーキテクチャの基本原則 エンタープライズ規模のアプリケーション向けにフロントエンドソリューシ

                                                      Next.jsを4年間使用してたどりついた、エンタープライズアプリケーションのフロントエンド開発・構築手法 | POSTD
                                                    • WebAssemblyアプリ開発で最も使われている言語は3年連続で「Rust」、Webアプリ開発が最多、欲しい機能はスレッド。The State of WebAssembly 2023

                                                      回答者はWebAssembly関連の技術者303人。 最も使われているのはRust、2位のJavaScriptの使われ方とは? WebAssemblyのアプリケーションのコードを記述するプログラミング言語として何を使っているかを尋ねた質問への回答では、3年連続でRustがトップ。しかも利用率は上昇中です。 2位に入ったのがJavaScriptです。WebAssemblyバイナリはソースコードをコンパイルしてバイナリに変換することで生成されますが、JavaScriptはWebAssemblyへのコンパイルに対応していません。 WebAssemblyアプリケーションのコードとしてJavaScriptを使う方法は、WebAssemblyで構築されたJavaScriptエンジンをWebAssemblyランタイム上で実行し、そこでJavaScriptコードを走らせることです。 この方法ではWebAs

                                                        WebAssemblyアプリ開発で最も使われている言語は3年連続で「Rust」、Webアプリ開発が最多、欲しい機能はスレッド。The State of WebAssembly 2023
                                                      • Rustで初学者がつまづいたところメモ

                                                        impl<T, E> Result<T, E> { /// ```should_panic /// let x: Result<u32, &str> = Err("emergency failure"); /// x.unwrap(); // panics with `emergency failure` /// ``` #[inline] #[track_caller] #[stable(feature = "rust1", since = "1.0.0")] pub fn unwrap(self) -> T where E: fmt::Debug, { match self { Ok(t) => t, Err(e) => unwrap_failed("called `Result::unwrap()` on an `Err` value", &e), } } prelude impor

                                                          Rustで初学者がつまづいたところメモ
                                                        • DDDを実践するためのリポジトリ層の設計(Go言語による例)

                                                          The Go gopher was designed by Renée French. Illustrations by tottie. はじめに この記事は、ドメイン駆動設計(DDD)の中核概念である「リポジトリ」についての理解を深めることを目的としています。リポジトリの基本的な役割と重要性を確認し、Go言語での実装の例を紹介します。 前提 リレーショナルデータベースからデータを取得(更新)するアプリケーションを想定しています サンプルコードは Go 言語で書かれています リポジトリとは まずは、リポジトリの定義を確認してみましょう。 リポジトリパターンとは: リポジトリは、データベースから取得したデータを構造体にマッピングし、ドメインオブジェクトにアクセスするためのインターフェースを提供します。 これは、一般的なリポジトリの理解と相違ないですね。次に DDDの文脈で、より詳しい定義をみ

                                                            DDDを実践するためのリポジトリ層の設計(Go言語による例)
                                                          • HTML First

                                                            HTML First is a set of principles that aims to make building web software easier, faster, more inclusive, and more maintainable by... Leveraging the default capabilities of modern web browsers. Leveraging the extreme simplicity of HTML's attribute syntax. Leveraging the web's ViewSource affordance. Goals The main goal of HTML First is to substantially widen the pool of people who can work on web s

                                                              HTML First
                                                            • Starlink(スターリンク)でBCP対策、フレッツ光クロスと冗長構成、IPv6にも対応、情シス必見!? | IIJ Engineers Blog

                                                              結構長くゲーム業界に出向していましたが、2022年秋に戻ってきました。 ゲーム業界での経験も生かしながらIIJのエンジニアとしてちょっと面白いことを提供できていければいいなぁと思っています。 格闘ゲームの世界チャンピオン(Evo2017)になった従兄弟がいますが彼にゲームを教えたのは僕ではありません。2023年は4位でしたね、おめでとうというべきか残念というべきか。 どうぞよろしくお願いします。 BCP対策とStarlink Starlinkが日本でも使えるようになり、新聞やテレビのCMでもその活躍が色々と紹介されるようになってきました。ウクライナ戦争での利用やイーロン・マスクの話題性から始まり、スターリンクトレインによる天文イベント的な認知、能登半島地震によって日本でも有用性がアピールされています。 企業のBCP対策に必要なインターネットへの接続性を確保する手段として期待は高くなる一方で

                                                                Starlink(スターリンク)でBCP対策、フレッツ光クロスと冗長構成、IPv6にも対応、情シス必見!? | IIJ Engineers Blog
                                                              • The Front End Developer/Engineer Handbook 2024

                                                                This guide is open source, please go ⭐️ it on GitHub and make suggestions/edits there! https://github.com/FrontendMasters/front-end-handbook-2024 1. Overview of Field of Work This section provides an overview of the field of front-end development/engineering. 1.1 — What is a (Frontend||UI||UX) Developer/Engineer? A front-end developer/engineer uses Web Platform Technologies —namely HTML, CSS, and

                                                                  The Front End Developer/Engineer Handbook 2024
                                                                • goquを駆使してgoでSQL構築も構造体マッピングもRDBテストもやる - エムスリーテックブログ

                                                                  【Unit4 ブログリレー6日目】 こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 最近まで開発していたm3ラウンジでは、goからRDBを利用していました。 m3ラウンジでは、SQLの組みやすさやテストのしやすさの観点で検討した結果、goquを採用しましたので、 そこで得られた知見とその実装例を紹介します。 これから試してみる方(と将来m3ラウンジの開発に新たに入ることになったメンバー)の参考になるように、サンプルコードも説明も多くなってしまいかなり長いです。 お時間ある時にお読みいただければ。 名古屋城は、日本の城のひとつ。尾張国愛知郡名古屋(現在の愛知県名古屋市中区本丸・北区名城)にある。本文には特に関係ありません。 m3ラウンジ goqu 実例 modelの構造体 mapper mapperの実装 goquのSQLの結果から構造体へのマッピング

                                                                    goquを駆使してgoでSQL構築も構造体マッピングもRDBテストもやる - エムスリーテックブログ
                                                                  • いいかい学生さん、ホンカツをな、ホンカツの『日本語の作文技術』を読みなよ「これは真理」

                                                                    リンク www.php.co.jp 本多勝一 | 人名事典 | お楽しみ | PHP研究所 PHP INTERFACE はPHP研究所のウェブサイトです。PHP研究所は、「PHP」などの雑誌、ビジネス書、人文・社会科学書を発刊しています。当サイトでは、新刊案内、メールマガジンその他、各種コンテンツを取りそろえております。

                                                                      いいかい学生さん、ホンカツをな、ホンカツの『日本語の作文技術』を読みなよ「これは真理」
                                                                    • Structured Logging with slog - The Go Programming Language

                                                                      Jonathan Amsterdam 22 August 2023 The new log/slog package in Go 1.21 brings structured logging to the standard library. Structured logs use key-value pairs so they can be parsed, filtered, searched, and analyzed quickly and reliably. For servers, logging is an important way for developers to observe the detailed behavior of the system, and often the first place they go to debug it. Logs therefore

                                                                        Structured Logging with slog - The Go Programming Language
                                                                      • 祝🎉 POSIX.1-2024 (Issue 8) 改定!16年ぶりの大幅改定でシェルスクリプトはどう新しくなるのか? - Qiita

                                                                        FreeBSD では 2024-05-31 に 200112 から 200809 への変更がようやく行われました(一度間違えて 200808 と書いてしまっていますが)。 https://cgit.freebsd.org/src/commit/?id=2e30926a68 https://cgit.freebsd.org/src/commit/?id=6e0278408e macOS は FreeBSD のユーザーランドのコマンドを使用しているため、そのせいで 200112 のままだった可能性も考えられますが、シェルやカーネルは FreeBSD のものではないため、FreeBSD が変更になったからと言って macOS が更新されるとは限らないでしょう。Solaris 10 と 11 ではディレクトリごとに準拠バージョンが異なるバイナリが配置されており以下のようになります。Solaris

                                                                          祝🎉 POSIX.1-2024 (Issue 8) 改定!16年ぶりの大幅改定でシェルスクリプトはどう新しくなるのか? - Qiita
                                                                        • サービスの管理画面を継続的に改善するためのReact Hook FormとZod活用術 - Mirrativ Tech Blog

                                                                          こんにちは!ミラティブのフロントエンドエンジニア どじねこ です。 今回は、ミラティブを支える社内向けの管理システムにおいて、機能開発の体験を改善する取り組みを「MUI と Zod、React Hook Form の活用術」としてご紹介させていただきます。 前提 ミラティブでは、他の多くの Web サービスと同様に配信者さんの登録した情報や配信の履歴を管理する社内向けのシステムが存在しています。 特に管理システムのフロントエンドにおいては、その特性上入力フォームの実装がその大半を占めています。 日々の機能開発においては、そうした管理システムに実装された入力フォームの新規実装や機能拡張が行われています。 課題 一般的な入力フォームでは、画面の初期描画の際にすでに設定済みの値をフォームに適用する初期化処理や、入力された内容を検証して必要に応じてエラー表示するバリデーション処理が必要です。 ミラ

                                                                            サービスの管理画面を継続的に改善するためのReact Hook FormとZod活用術 - Mirrativ Tech Blog
                                                                          • WebAssemblyを進化させる「WASI Preview 2」が安定版に到達。OSや言語に依存しないコンポーネントモデルを実現

                                                                            WebAssemblyを進化させる「WASI Preview 2」が安定版に到達。OSや言語に依存しないコンポーネントモデルを実現 WebAssembly関連仕様の標準化を行っているW3C WebAssembly Community GroupのWASI Subgroupミーティングにおいて、2024年1月25日に行われた投票で「WASI Preview 2」(もしくはWASI 0.2.0)仕様が承認され、安定版に到達したことが明らかになりました。 WASI Preview 2では、WebAssemblyアプリケーションがOSなどのプラットフォームに依存せず、さまざまなプログラミング言語で開発したWebAssemblyコンポーネントを組み合わせて開発できるように、「コンポーネントモデル」とそのインターフェイスを記述するIDL(Interface Definition Language)であ

                                                                              WebAssemblyを進化させる「WASI Preview 2」が安定版に到達。OSや言語に依存しないコンポーネントモデルを実現
                                                                            • オラクル、Java開発を効率化するVSCode用拡張機能「Oracle Java Platform Extension for Visual Studio Code」を公開

                                                                              オラクル、Java開発を効率化するVSCode用拡張機能「Oracle Java Platform Extension for Visual Studio Code」を公開 New Oracle open source project released! Oracle Java Platform extension brings full featured @Java development (edit-compile-debug & test cycle) for Maven and Gradle projects to VS Code. Get started: https://t.co/knjeFPRY1Q Learn more: https://t.co/77SIeky3cE#OracleOSS pic.twitter.com/whXIKFsBHV — Oracle Open So

                                                                                オラクル、Java開発を効率化するVSCode用拡張機能「Oracle Java Platform Extension for Visual Studio Code」を公開
                                                                              • JavaScriptデザインパターン入門 - Qiita

                                                                                1. はじめに JavaScriptデザインパターンは、JavaScriptを使ってプログラムを書くときによく出くわす問題を解決するためのガイドです。これらのパターンの背後にある考え方を理解することで、自分の問題に適用することができます。また、これらのパターンが自分のコードに役立つ場合を見つけることもできます。 2. モジュールパターン モジュールパターンは、JavaScriptのモジュールシステムの一部で、データを保護する方法を提供します。これは、モジュール内のプライベートなデータと動作を保護し、一方で公開APIを提供する方法です。これにより、プライベートとパブリックのアクセスレベルを持つ自己完結型のモジュールオブジェクトを作成することができます。 これは、JavaやC++のような言語でクラスにアクセス修飾子を使用するのに似ています。 JavaScriptでは、クロージャを使用してモジュ

                                                                                  JavaScriptデザインパターン入門 - Qiita
                                                                                • Aurora MySQL におけるロック競合(ブロッキング)の原因を事後調査できる仕組みを作った話

                                                                                  こんにちは。 DBRE チーム所属の @p2sk です。 DBRE(Database Reliability Engineering)チームでは、横断組織としてデータベースに関する課題解決や、組織のアジリティとガバナンスのバランスを取るためのプラットフォーム開発などを行なっております。DBRE は比較的新しい概念で、DBRE という組織がある会社も少なく、あったとしても取り組んでいる内容や考え方が異なるような、発展途上の非常に面白い領域です。 弊社における DBRE チーム発足の背景やチームの役割については「KTC における DBRE の必要性」というテックブログをご覧ください。 本記事では、Aurora MySQL でロック競合(ブロッキング)起因のタイムアウトエラーが発生した際に根本原因を特定することができなかったので、原因を後追いするために必要な情報を定期的に収集する仕組みを構築した