adwd118のブックマーク (4,467)

  • Multi-tenancy is what’s hard about scaling web services

    January 14, 2024 Multi-tenancy is what’s hard about scaling web services Computers have gotten so ridiculously fast that there is scarcely any organization in the world that can overwhelm a web-based information system running on a single server. All the complexity and sophistication required to run web services today stem from multi-tenancy. From having a single system serve millions of users at

    Multi-tenancy is what’s hard about scaling web services
    adwd118
    adwd118 2024/01/17
  • E2Eテストを Playwright で作り直して開発プロセスに組み込む話 - SmartHR Tech Blog

    こんにちは。SmartHR プロダクトエンジニアの sasaki (@s_sasaki_0529) です。 今回は、私が開発に携わっている届出書類機能における E2E テストを、Capybara + Selenium の構成から Playwright に移行し、開発プロセスに組み込んだお話をします。 扱う話題 E2Eテスト基盤を移行する具体的な背景と理由 移行における提案から、合意形成までの流れ 移行後の開発プロセスがどう変わったか 扱わない話題 Playwright など、記事内で扱う技術要素自体の詳細説明 移行作業自体の詳細 テストコードの設計・実装に関する具体的なテクニック なお、記事では便宜上、移行前の E2E テストを「旧テスト基盤」移行後を「新テスト基盤」と呼称します。 届出書類機能について E2Eテストに限らず、テストというのはプロダクトの特性によって最適な手法は大きく変わ

    E2Eテストを Playwright で作り直して開発プロセスに組み込む話 - SmartHR Tech Blog
    adwd118
    adwd118 2024/01/17
  • 良いコメントが良い設計を導く

    要旨 コメントを適切に記述することは、特にインターフェイス(クラスやメソッド)において重要です。これにより、直感性が高まり、抽象化が十分に行われているかを確認する手助けになります。そのため、コメントはソフトウェア設計プロセスの重要な一部と位置づけられます。 2種類のコメントタイプ まず、コメントを2種類に分類します。 1️⃣ コードをより詳細化するコメント(lower-level comment) 2️⃣ コードをより抽象化するコメント(higher-level comment) どちらも必要なコメントとしつつ、書では後者のコメントをより重視しています。 1️⃣ コードを詳細化するコメント(lower-level comment) 変数名などに残すタイプのコメントで、宣言した対象の単位や境界値、null許容などの詳細を明示することで、コードの正確性を高めます。こちらのタイプのコメントも必

    良いコメントが良い設計を導く
    adwd118
    adwd118 2024/01/16
  • Kind of annoyed at React

    I’m kind of annoyed at the state of React lately. I still use it regularly, and am somewhat friendly with the folks that work on it still, and it’s the first library I reach for, but… it’s just gotten too confusing and frustrating. Not to boast but I like… really know React. I’ve used it for almost a decade. I’ve seen it morph and grow and used the frameworks that have popped up to work with it, I

    Kind of annoyed at React
    adwd118
    adwd118 2024/01/16
  • OxcのLinter、`oxlint`のコードを読む | Memory ice cubes

    Linter | The JavaScript Oxidation Compiler https://oxc-project.github.io/docs/guide/usage/linter.html コントリビュートした記念としても、記録を残しておこうかと。 Oxcとoxlint oxc-project/oxc: ⚓ A collection of JavaScript tools written in Rust. https://github.com/oxc-project/oxc Oxcって名前は、Rustで書かれたJS向けツールセット群の総称みたいなもの。 Linter Parser Resolver Formatter Transformer Minifier etc… みたく手広くカバーしてて、eslintの置き換え(完全互換ではないが50x-100x速い)を目指してるのが、

    OxcのLinter、`oxlint`のコードを読む | Memory ice cubes
    adwd118
    adwd118 2024/01/16
  • Rust on Nails

    Introduction When creating software it's often a good practice to document the architecture using a technique called Architecture Decision Records. An ADR is nothing more than a markdown document that records the title, status, context, decision, and consequences of a particular design choice. When a decision is made it's often helpful to create a small Proof of Concept that illustrates how the de

    adwd118
    adwd118 2024/01/15
  • あっ、そうだ!モダンCSSをまとめておこう

    2023年もCSSの進化がすごかったですね! その進化を2024年でも生かしていけるように、今回まとめておいていつでも参照できるように記事を書こうと思いました。 お読みいただけると幸いです。 一緒に2024年もスタートダッシュで走り抜けましょう。 まず、はじめに この記事では、最近登場した、エキサイティングで、アクロバティックでファンタジックなインパクトのある機能をピックアップして紹介したいと思います。 CSSの多彩な新機能を広く紹介することで、読者がこれらに触れる機会を持てるように努めています。 特に興味を引く機能があれば、他の媒体を通じて更に詳しく掘り下げることをお勧めします。 コンテナクエリ スタイルクエリ :has()セレクタ :nth-child()の「of S」構文 text-wrap: balance initial-letter ダイナミックビューポート単位 広色域のカラー

    あっ、そうだ!モダンCSSをまとめておこう
    adwd118
    adwd118 2024/01/15
  • 実録レガシーコード改善 / Working with Legacy Code: the True Record

    2024/01/15(月) 12:00 〜 13:00 t-wadaさんが後世に残したい、実録レガシーコード改善 https://findy.connpass.com/event/304101/ テストコードが無いコードを引き継いだところからはじまる、実際に2018年に行った受託開発案件のエピソードとコードをプロダクトオーナー(引き継ぎ前のコードを書いた人)の許可を得て使用しています。登場するコードは全て物、登場するデータは講演用の架空のものです。

    実録レガシーコード改善 / Working with Legacy Code: the True Record
    adwd118
    adwd118 2024/01/15
  • 【LoL】2か月遊んでみたガチ初心者によるこれから始める人の役に立つかもしれないメモ - ゲームのメモとか感想

    2か月ぐらい前にリーグオブレジェンドを始めて300戦ぐらい遊びました。最近はこればかりやってます。 経験者の目線から「初心者はこうするといいよ〜」みたいなことを書いてたり言ってたりする記事とか動画は山ほどありますが、ここでは立ち回りとかテクニックではなく一緒にプレイする人やコミュニケーションのことを中心に書きます。 ちなみに自分は配信とか全く見たことがない状態で始めたので5vs5のゲームということも最初は知りませんでした。 ■ 開始前のよくある疑問編 ・民度は当に終わっているのか 終わっています。 少なくとも自分が今までやってきたゲームの中ではぶっちぎりで終わっています。 「VALORANTやオーバーウォッチのほうが終わっている」とかいう意味不明な擁護?も見かけますが、野良のフィードや煽りの不快度で言えばオーバーウォッチよりLoLのほうが断然上です。 ・スマーフは多いのか 多いです。 「

    【LoL】2か月遊んでみたガチ初心者によるこれから始める人の役に立つかもしれないメモ - ゲームのメモとか感想
    adwd118
    adwd118 2024/01/15
  • </> htmx ~ How Did REST Come To Mean The Opposite of REST?

    #Tapping The Sign I am getting frustrated by the number of people calling any HTTP-based interface a REST API. Today’s example is the SocialSite REST API. That is RPC. It screams RPC. There is so much coupling on display that it should be given an X rating. What needs to be done to make the REST architectural style clear on the notion that hypertext is a constraint? In other words, if the engine o

    adwd118
    adwd118 2024/01/15
  • 「アプリエンジニア」を在学生から採用 学生目線で学生生活に役立つアプリ開発|芝浦工業大学

    芝浦工業大学(東京都江東区/学長 山田純)は、12月1日から学生生活に役立つアプリ開発を担う「アプリエンジニア」を学生から公募します。 学生からアプリエンジニアを採用することにより、学生目線で学生生活のニーズに対応したアプリ開発が可能となる上、採用された学生が卒業後のエンジニアキャリアに役立つ能力を習得できる教育的効果も期待されます。さらに、学生が職員と同じ現場でアプリ開発を行うことから、学が推進する「教職学協働」の一事例としても注目されます。 学では、学生が自主的に作成していた、学生生活に必要な情報(時間割や課題など)に簡単にアクセスできるアプリを大学公式アプリとするために、作成した学生を昨年11月に開発アルバイトとして採用し、職員と一緒にアプリの開発を進めました。 そのアプリが、今年4月に公式版アプリ「ScombApp」としてリリースされると、その利便性が学生たちの間で話題となり、

    adwd118
    adwd118 2024/01/15
  • 『M-1グランプリ』新王者・令和ロマンインタビュー 〝芸歴最年少優勝コンビ〟はなぜこんなにも余裕があるのか?  - エンタメ - ニュース

    週プレNEWS TOPニュースエンタメ『M-1グランプリ』新王者・令和ロマンインタビュー 〝芸歴最年少優勝コンビ〟はなぜこんなにも余裕があるのか? 『M-1グランプリ』を制した令和ロマンの高比良くるま(左)と松井ケムリ(右) 結成わずか5年8ヵ月で『M-1グランプリ』を制した吉興業の漫才師、令和ロマン。大舞台にも物おじせず、平常運転で爆笑をかっさらったふたりを直撃! * * * ■ふたりとも男子校で運動部――まず、お互いに他己紹介をしていただけますか? くるま 松井ケムリくんはお金持ちの息子さんです。でも、甘やかされておらず、正しい金銭感覚を持ち、そして、おおらかな精神もあわせ持つという日最強の男です。 ケムリ メンタル日最強。 くるま M(メンタル)-1優勝。 ケムリ 髙比良くるまくんはお笑い大好き少年です。寝言で「もうお笑いできないよ~」と言うくらいお笑いに熱い男で、若手のライブ

    『M-1グランプリ』新王者・令和ロマンインタビュー 〝芸歴最年少優勝コンビ〟はなぜこんなにも余裕があるのか?  - エンタメ - ニュース
    adwd118
    adwd118 2024/01/15
  • GitHub、SDKを刷新。今後はOpenAPI仕様の生成ツールで生成したSDKを提供へ

    GithHubは、今後はAPI仕様を記述する業界標準であるOpenAPIに対応した生成ツールで生成したAPIクライアントをSDKとして提供することを明らかにしました。 現在まで同社は「Octokit」と呼ばれるSDKを提供しています。これはGitHubの開発者が、外部のアプリケーション開発者のために、さまざまな言語でGitHub APIを呼び出しやすいように開発したライブラリと言えます。 それに対して今後は、GitHubAPIがどのような仕様であるかを業界標準であるOpenAPIに従って記述したドキュメントを基に、そこからAPIクライアントを生成するツール「Microsoft Kiota」によって生成したAPIクライアントをSDKとして提供することになると説明されています。 GitHubはこれを同社にとって大きな転換点だと、ブログ「Our move to generated SDKs」(

    GitHub、SDKを刷新。今後はOpenAPI仕様の生成ツールで生成したSDKを提供へ
    adwd118
    adwd118 2024/01/15
  • eBPFを使った自動テストツール「Keploy」がすごい

    この記事はKeployのバージョンv2.0.0-alpha53 を前提に執筆しております。 Keployとは KeployはeBPFを利用して取得できるWebアプリケーションの通信に関するトレース情報を元に、テストとそのテストの実行時に利用するスタブサーバーを生成することができるツールとなります。 公式サイトのトップには以下のようなスローガンが掲げられています。 2 minutes to 90% test coverage! テストに苦労した経験のある方は興味を惹かれるのではないでしょうか。 現在まだアルファ段階のプロジェクトですが、GitHubスター数は2683(2024/01/04現在)、CNCF Landscape にも掲載されているなど、一定の注目を集め始めているOSSです。 開発主体はプロダクトと同名のKeployというインド発のスタートアップで、去年GoogleによるインドのA

    eBPFを使った自動テストツール「Keploy」がすごい
    adwd118
    adwd118 2024/01/14
  • Remix の SPA モード

    Remix の SPA モード 2024.01.14 Remix は React のフルスタックフレームワークで、Web 標準に基づいた API で構築されていることが特徴です。Node.js のようなサーバーサイドの JavaScript 環境で動作することを前提としています。しかし、現実の世界ではサーバーを用意せずに、静的なファイルをホスティングするだけの環境で Web アプリケーションを構築することが有効な場合も多くあります。このような需要を満たすために、Remix v2.5.0 から実験的に SPA モードが導入されました。 Remix は React のフルスタックフレームワークで、Web 標準に基づいて構築されていることが特徴です。例えばデータのミューテーションはクライアントからサーバーの API をコールするのではなく、HTML のフォームを使って行うといます。また Resp

    Remix の SPA モード
    adwd118
    adwd118 2024/01/14
  • 【DDD入門】TypeScript × ドメイン駆動設計ハンズオン

    TypeScriptとドメイン駆動設計(DDD)を組み合わせ、APIを構築するハンズオンガイドです。このでは、DDDとは何かという基礎的なところからソフトウェア開発における戦略的設計、戦術的設計まで、包括的な知識を提供します。 戦略的設計では、ビジネスの要求に合わせたドメインモデルの設計をイベントストーミングを用いて行います。その後、戦術的設計では、具体的なコードの実装に関連するDDDの原則と実践を学びます。 TypeScriptを使ってコードを書きながら、DDDの概念を実際のプロジェクトに適用するヒントを紹介します。

    【DDD入門】TypeScript × ドメイン駆動設計ハンズオン
    adwd118
    adwd118 2024/01/14
  • 権威的なソフトウェアアーキテクチャパターンの濫用を肯定的に考える|laiso

    私の経験ではボブおじさんのクリーンアーキテクチャ(や他のアーキテクチャ)の考えをアプリケーション開発に踏襲して実装しようというプロジェクトは、多人数(入れ替わり のべ人数含む)の開発者に対して設計規約を設けて効率化しようという目的を持ったものが多かった これは可読性、保守性、再利用性の向上といった色々な観点と比較して、チームワークの向上という部分に力点がある状態だと思う 濫用とされる悪い面は散々語られていると思うので、現在の状態から良い点を生かす方法はないかと考えている まず権威的なアーキテクチャはよく知られた設計規約として機能するので文献や活用事例も多くローカルな慣習に基くルールより共通化して運用しやすい 設計規約に注目することで、その他の部分の沼っぽいところを避けて内在的な認知負荷を下げている (沼っぽいところというのは「このプロジェクトにおける問題→このプロジェクトにおける解決方法」

    権威的なソフトウェアアーキテクチャパターンの濫用を肯定的に考える|laiso
    adwd118
    adwd118 2024/01/13
  • いとくとら『お正月に夫のメガネを踏んだ話』

    おひさしぶりです!明けましておめでとうございます!昨日のラヂオで話題に上がったメガネの件、詳しくお話しします、、、!大前提として、村上さんの言っていたように、この件でケンカはしてないし、ラヂオで話されたことに対して怒ってもないです!ただ客観的に聞いてて「やべえじゃん」「の家族やばすぎ」とガチで思われたら嫌だなあと思って、、まあ大体はあの通りなんですけど、、笑気になる方は読んでください、、。まず!別に!休みとか関係なく!笑お正月付近で、くむも一緒に家族みんなで村上実家にお泊まりする機会がありまして。和室をお借りして布団を敷いて寝ていたのですが、夜中3時ぐらいにくむが物音にびっくりしたのか、グズって鳴き始めちゃって、、隣りの部屋ではお義姉さん家族も寝ていたし、ご迷惑かけちゃならんと思って、サークルの中にいるくむに声かけたりしてみたんですが全然鳴き止まず、、一方村上さんは全然気づかず寝ていた

    いとくとら『お正月に夫のメガネを踏んだ話』
    adwd118
    adwd118 2024/01/12
  • 海外サッカー - 日本人選手一覧 - スポーツナビ

    ご利用のブラウザ(Internet Explorer)は、2022年6月にユーザーサポートを終了いたします。 終了後、スポーツナビの一部のページは、Internet ExplorerからMicrosoft Edgeにリダイレクトされます。 Microsoft Edgeや別のブラウザをご利用いただきますようお願いいたします。

    海外サッカー - 日本人選手一覧 - スポーツナビ
    adwd118
    adwd118 2024/01/12
  • 品質保証部門の陳腐化。そして陳腐化した品質保証は品質を悪化させる - 千里霧中

    ※品質保証のエンジニアである筆者が自省・戒めのために書いた記事になります 品質管理(Quality Control)、品質マネジメントは国内では製造業を中心に発展し、プロダクトの競争力向上に貢献してきました。 JTCと呼ばれる旧来からのメーカーでは、その実績・年功の蓄積に応じて、独立性を保った品質管理・品質保証部門が権威を獲得し、今でもソフトウェア開発に強い影響力を保持するようになっています。筆者は複数のメーカーを転職コンサルで巡って来ましたが、例えば品質保証部門が承認しないとマイルストーンで開発がブロックされる、プロダクトがリリースできないといった権限を持つ体制が、今なお普遍的に見受けられます。 この品質保証部門が権力を持ち、品質ゲートの門番として振る舞う体制は、今であっても、ある面で恩恵を提供しています。例えば次のようなものです: 法規制対応、標準化対応、その他公的なガバナンス要求へ

    品質保証部門の陳腐化。そして陳腐化した品質保証は品質を悪化させる - 千里霧中
    adwd118
    adwd118 2024/01/12