Developers Summit2023 Summer #devsumi での発表資料です https://event.shoeisha.jp/devsumi/20230727/session/4471/ #devsumiC
Microsoftにより公開されたWindows11互換性確認アプリ『Windows PC 正常性チェック』は正直に言って不親切な設計です。いったいどの部分が要件に引っかかっているのか表示されません。アップデートにより一部要件が表示されるようになったとされていますが、環境によっては正常に動作しません。 そんなMicrosoft純正よりも高機能でわかりやすいWndows11互換性確認アプリがGitHubユーザーのRobert C. Maehl氏により作成されました。 アプリケーション名は『WhyNotWin11』。このチェックツールを使用すれば、 WhyNotWin11を実行した様子 どの部分がシステム要件に引っかかっているか一目でわかります。各項目の詳細は以下。 Architecture (CPU + OS): 64bit CPU / 64bit OSを使用していればOK。32bitはNG
はじめに どんなソフトウェアエンジニアも拡張しやすくメンテナンスしやすいソフトウェアを作りたいと思っているはずです。また、どんなプロダクトマネージャも同様に拡張しやすいシンプルな要求を作りたいと考えているはずです。 しかし、将来の不確実性や発展性に対して見通しを立てるのは難しいものです。そのため、開発チームの思いとは裏腹にソフトウェアの複雑性はどんどんと増大していきます。気がついたら技術的負債と呼ばれるような手もつけられない泥団子になってしまうということもしばしばです。誰もが生産性を下げるために機能を追加したいわけではなく、ビジネス価値を提供するために機能を追加したいだけなのにです。 このような状況を避けるためにはどうしたらよいのでしょうか。今回はその一つの手段として、要求には隠れた「意図」があり、それを発見していくことの重要性についてまずはお話しします。さらにわかりやすい要求が持つ仕様の
はじめに この記事では、メインフレームでは異常時の処理でどのようなことをやっているのか、また、Linuxの異常処理との違いなどについて話してみようと思います。 この記事を書くに至った直接的なきっかけは、とある人からリクエストがあったからです。が、日ごろからメインフレームの異常処理の考え方については、PCサーバーやクラウドによるシステムがメジャーになった現代であっても、参考になることは多いと感じていてはいました。 筆者は今でこそLinux Kernel周りの仕事をしていますが、20年ぐらい前のころはメインフレームのOS開発部隊に配属されていて、メインフレームのとあるコプロセッサのドライバを書いたりしていました。この際、その異常処理における考え方を体験する機会が多々あり、当時のその経験が20年後の現在でも大いに役にたっていると感じていたからです。 そもそもメインフレームは、これまで長年にわたっ
Contents (Click to expand) ↕️ Design Mode Pretty Print Command Pallet and Super Search Snippets Live Expressions Tracking Changes Console Shorthand Find Unused Code Rendering Panel Network Paint Times Network Timings Inspect Network Requests Performance Identifying Memory Leaks Raw Memory Inspection Test bfcache Full Refresh Lighthouse Page Size Breakdown Record User Flows Advanced User Flow Opera
処理が複雑でジョブの依存関係を定義したい場合は、AWS Batch 単体で制御するか、より複雑な場合は Step Functions を用いて Lambda、ECS(Fargate)、AWS Batch(Fargate) を組み合わせる。 AWSにおけるバッチ処理の選択肢 ざっくりとした選択肢は下記。 Lambda ECS(Fargate) AWS Batch(Fargate) これらのサービスに実際は SQS や Step Functions を組み合わせることもあるので選択肢はさらに広がる。 ちなみに、SQS + Fargate(常時起動でポーリング) という構成や、SQS + Lambda + Fargate(都度実行) という構成は、AWS Batch が Fargate に対応した現在は特にメリットがないので取り扱わない。 2021/5/2 追記 「常時リクエストがくるユースケー
三種の神器 今やWSL,Docker,VSCodeは使えて当たり前という雰囲気になってきたので、初心者のためにすごく適当簡単に導入手順をまとめたよ 卍最強の環境卍を構築するため以下の4ステップで解説するよ WSL2の導入 Dockerの導入 VSCodeの設定 使ってみる 1. WSL2の導入 そもそもWSLって何?という方もいらっしゃると思いますが、Windows内でLinux環境を使うことができるぜということだけ覚えておけばOKです 導入についてはPowerShellで以下コマンドを実行するだけ! インストールしたらPCのスタートメニューからUbuntuを開き、ユーザ名とパスワードを設定しよう (Ubuntuを開くだけでユーザ名とパスワードを作成するための入力が求められます) WSLを真面目に知りたい方はこちら↓ https://learn.microsoft.com/ja-jp/wi
こんにちは、はてなでWebアプリケーションエンジニアをやっている id:polamjag です。 最近のはてなでは、若手エンジニアを中心として、いろいろな技術を見つめ直すワーキンググループをやっています。先日、id:onk も「デプロイ今昔」という記事を書きましたが、このエントリーはそのシリーズの続きで、ワーキンググループの「ログ」の回で議論したこと・話題になったことをまとめました。 Web開発におけるログを見つめ直す ログを4つの目的で分類する 目的ごとに求められる取り扱いの要求水準 いまどきのログフォーマットについて まとめ:どう実装するかを模索していく Web開発におけるログを見つめ直す Webサービス(Webアプリケーション)の運用には、多種多様なログがついてまわります。多くのミドルウェアは何もしなくてもそれなりの量のログを出力しますし、クラウド上のマネージドサービスも然りです。行
年末ですね。年末に技術っぽいことを書いても誰も見ていないので、どうでもいいことを書こうと思います。 皆さん技術書は好きですか?好きですよね。読みもしないのに技術書典なんかに大挙して押しかけて、結局積読が増えていく。積んでいるとなんか落ち着くのかもしれません。 私は現在ハードウェア関連の技術者として働いているわけですが、短い人生の中で読んだ技術書の中で、本当に私の人生を変えてしまった技術書を思い出しながら紹介してみたいと思います。 あらかじめ断っておきますが、「名著」や「良い本」を紹介するのではなく、あくまでも私の人生を変えた本です。逆にいうと、あまり名著は出てきません。名著の紹介はすでにいろんなところでやられているので、そちらを見ていただければ。 1. 図解で分かるPCアーキテクチャのすべて(初版) 〈最新〉図解でわかる PCアーキテクチャのすべて 作者:小泉 修出版社/メーカー: 日本実
はじめに この記事はHow to Learn Software Design and Architecture | The Full-stack Software Design & Architecture Mapを翻訳したものです。 翻訳がおかしい箇所などあればご指摘頂けるとありがたいです。 元記事の著者: Khalil Stemmler(@stemmlerjs) 設計、アーキテクチャ、フロントエンド、ブロックチェーンに興味ある方是非Twitter(@show_clements)フォローしていただけると嬉しいです! 設計に関する記事 ソフトウェアデザインとアーキテクチャは、DevOpsやUXデザインのように、コンピューティングの領域の中でも独自の研究分野となっています。ここでは、クリーンコードからマイクロカーネルまで、ソフトウェアデザインとアーキテクチャの幅広さを説明するマップを紹介しま
ソフトウェア開発者でなくとも、セキュリティ・バイ・デザインという言葉は聞いたことがあると思います。しかし、セキュリティ・バイ・デザインが十分に実施できていると言える組織は多くないのではないでしょうか。 いざセキュリティ・バイ・デザインを実施しようとしても「何をすればよいのだろう?」「どうやれば良いのだろう?」となかなか手が動かない。そんな状況の一助となるよう、我々がセキュリティ・バイ・デザインを学び、実践した内容を文書化し公開する運びとしました。 セキュリティ初心者でも読みやすいように、以下の特徴を念頭において本書を執筆しました。 軽快な文章 図表を多用したグラフィカルな見た目 キャラクターのセリフに共感しながら理解ができる 1章 セキュリティ・バイ・デザイン -セキュリティ・バイ・デザインの概要や必要性の説明 2章 脅威分析 -組織やシステムに対する脅威分析の実施方法 3章 セキュリティ
こちらの記事は、Jonathan Saring 氏により2019年12月に公開された『 11 Must-Know FrontEnd Trends for 2020 』の和訳です。 本記事は原著者から許可を得た上で記事を公開しています。 ランチ中のフロントエンドトークでスマートに見られる方法! チームのランチトークでスマートに見られることは、最新のフロントエンドのトレンドを常に把握しておくための大きな理由であることは言うまでもない。 それは、あなたがより良い開発者になり、より良い技術とより良い製品を作るのに役にたつかもしれない。 たぶんね。 だから、いくつかの興味深い方向を示すことで、この名誉あるクエストを君が簡単に達成できるように少し時間をもらいたい。 すべてのコンセプトについて1から10まで説明するのではなく、そのコンセプトとそれがどのように有用であるか紹介しよう。最後にはさらなるリソー
免責事項 社内向けに展開するように雑にまとめました Next.jsの知見が深くない人がリードしてPoCを立ち上げなきゃいけなくなったが、社内的にはNext.jsを推奨しているみたいな場面を想定しています なので自信ないところも多いですが割と断言するように心がけて書いています PoCの立ち上げ想定なので、jest/Storybookなど内部品質面についてあまり深く書くことを避けています ほぼ自分の知識だけで書いており私見も多いですし、そもそも自分自身がトップクラスの知識や視座を有しているわけでもないので、まずは以下の話を理解はした上で、踏襲するかどうかは別途他記事やGitHub、公式ドキュメントなどを漁って判断することを推奨 App RouterかPages Routerか 2023年末現在まだApp Routerは技術記事が足りてきている印象ではないため、社内でノウハウを積極的に貯めていく
REST, GraphQL, and gRPC are 3 popular forms client-server and server-to-server communication. Choosing can be difficult, so this concise guide can help. In each section, an example will be provided to illustrate retrieving a user. REST Notes HTTP paths describing data, e.g. /users as a collection of users Easily discoverable data, e.g. user ID 3 would be at /users/3. All of the CRUD (Create Read U
職業柄、「よりよいもの」や「よりよい環境」を求める方が多いエンジニア。そんなエンジニアの「家づくり」にはきっと、さまざまなこだわりが詰め込まれているはず。 「エンジニア、家を建てる」第4回は、兵庫県に戸建てを建てた、はまーんさんに寄稿いただきました。 子育てをする中で、当時住んでいた賃貸物件に手狭さを感じていたはまーんさん。コロナ禍をきっかけに、県内の“田舎”に土地を買い、もともと憧れていたという「家づくり」をスタートさせました。 心がけたのは、自然たっぷりな周囲の環境を生かすこと。エンジニアという仕事は四六時中何かを考えていることが多くなりがちですが、この家のおかげで「何も考えずに過ごす時間」をたくさんつくれているそうです。 こんにちは、はじめまして。はまーんです。 一時的、東京に住んでいたこともありますが、基本的にほぼ関西圏を拠点にソフトウェアエンジニアをしてきました。今はお客様のビジ
この記事はx86-64の機械語を書けるようになるためのガイドとなることを目指します。読者はアセンブリー言語について既にある程度知っていることを想定します。 情報源 x86-64の機械語のオフィシャルなガイドはIntelのSoftware Developer ManualまたはAMDのAMD64 Architecture Programmer's Manualです。 Intel SDM: Intel® 64 and IA-32 Architectures Software Developer Manuals AMD64 Architecture Programmer's Manual, Volumes 1-5 このほか、Cから呼び出される関数を定義したり、Cの関数を呼び出すためには、呼び出し規約の知識も必要です。使用される呼び出し規約はOSに依存し、Unix系では主にSystem V ABI
ちょっと昔まではデータ基盤の管理人・アーキテクト, 現在は思いっきりクラウドアーキを扱うコンサルタントになったマンです. 私自身の経験・スキル・このブログに書いているコンテンツの関係で, 「データ基盤って何を使って作ればいいの?」的なHow(もしくはWhere)の相談. 「Googleのビッグクエリーってやつがいいと聞いたけど何ができるの?」的な個別のサービスに対するご相談. 「ぶっちゃけおいくらかかりますか💸」というHow much?な話. 有り難くもこのようなお話をよくお受けしています. が, (仕事以外の営みにおける)個人としては毎度同じ話をするのはまあまあ疲れるので, データ基盤にありがちな「何を使って作ればよいか?」という問いに対する処方箋 というテーマで, クラウド上でデータ基盤を構築する際のサービスの選び方 (データ基盤に限らず)クラウド料金の基本的な考え方 をGoogle
アプリケーションをユーザに公開する場合, それがGUIであってもCUIであってもインタフェースが必要になります. Webアプリケーションを公開する場合にはWeb APIを利用するのが一般的であり, AWSもAPIをフルマネージドで活用するためのAPI Gatewayを提供しています. 非常に簡単に活用できるのですが細かい機能などを今一度洗い直す機会があればと思っており, 社内勉強会の機会があったのでAPI Gatewayについて話しました. 今回の記事では社内向け勉強会で登壇した内容をブログ向けに再編しています. 資料はSpeakerDeckで公開していますが, 内容についてより細かくこのブログで説明しますので, 是非ご閲覧ください. What is API まず最初にAPIが何かを確認します. 大雑把に伝えるとアプリケーションが呼び出せば予期した結果を返されるような仕組みです. 名前にあ
Skip to the content. 自作RDBMSやろうぜ! このサイトの目的 RDBMS(いわゆるリレーショナルデータベース)というものはプログラミング言語の処理系や、OSなどと同様に、世の中で広く使われているソフトウェアであるにも関わらず、いざ自作してみようと思うと日本語で記述されたサイトや書籍で、必要な情報・情報源がまとまったものがないことに気づきました そこで、叩き台として、本サイト管理人および数名のコミッタで開発している自作RDBMSである SamehadaDB が軌道に乗るまでの経験をベースに、自作RDBMSするための道筋をある程度整理して書き記してみました 各々の情報・情報源はあいかわらず多くが英語で記述されていますが、その点はご容赦下さい なお、本サイトは技術的な解説を提供するのではなく、適切と思われる情報・情報源をポイントするようなサイトとなることを想定しています
TL;DR GraphQLはクライアント側とサーバー側の双方の複雑化を解決するために利用されてる フロントエンドにとってGraphQLはHTTP上で動く信頼できる唯一のリソースとして振る舞う フロントエンドの状態管理のベストプラクティスとしてのApollo Client クライアントファーストなAPI, GraphQLはWeb APIのベストプラクティスになり得る クラシックアプリケーションを改修することなくGraphQLとモダンフロントエンドで今どきのアプリを作れる はじめに GraphQLは非常に良く出来たソフトウェア(の仕様)ですが、複数の側面を持つことからすぐに理解することが難しくまだ日本ではあまり受け入れられていない印象があります。GraphQLを端的に何と言われると "全てのフロントエンドのためのAPI BFF" なのですが、それだけで理解出来る人はなかなか居ないように思います
ご来店いただきありがとうございます。新刊『プログラマーのためのCPU入門 ― CPUは如何にしてソフトウェアを高速に実行するのか』発売開始のお知らせです。 ほぼすべてのソフトウェア開発者がお世話になるコンピューターの最重要パーツ、CPU。「演算をする」というざっくりした役割は知っているし、もう少し踏み込んでレジスタやアセンブリ命令、あるいはさらに踏み込んで、NAND/OR/NOT回路による演算装置といった原理を勉強したことがあるプログラマーの方も少なくないと思います。 しかし、現代のソフトウェアにおいてCPUがもたらす大きな価値は、その原理のみならず、むしろその尋常ならざる高速さにこそあるといっても過言ではないでしょう。 CPUの性能は、半導体技術の進化やハードウェア構成の妙といった物理的な要因のみによって決まるわけではありません。その裏には、パイプライン化やスーパースカラ化、さらには分岐
AWS Lambda を使用した Web アプリケーションの開発プロジェクトで、バックエンド・フロントエンド・インフラを一貫して開発をしてきました。 改めてどのように開発をしていたのか、使った技術スタックや各サービスをどのように活用したかを整理したいと思い記事にしました。今後サーバーレス開発を行う際の技術選定の参考にしていただければ幸いです。 前提 Web アプリケーションです。 管理画面用の内部 Web API、外部のサービスと連携するための外部 Web API があります。 処理としてはリソースの CRUD がメインです。 管理画面は SPA で、バックエンドの Web API にリクエストします。 開発メンバーは 4 人ほどで、フロントエンドエンジニア、バックエンドエンジニアといった区分けはしていませんでした。 機能ごとにメンバー全員がバックエンドからフロントエンドまでを一気通貫で実
【新機能】Google Cloud 純正の構成図ツール Architecture Diagramming Tool が発表されました Google Cloud のアーキテクチャ図を書く純正のツール Architecture Diagramming Tool が発表されました。Google Cloud の構成図ツールの決定版になると思います。 ウィスキー、シガー、パイプをこよなく愛する大栗です。 先程 Google Cloud 純正のアーキテクチャ図作成ツールである Google Cloud Architecture Diagramming Tool が発表されました。 Introducing a Google Cloud architecture diagramming tool Google Cloud Architecture Diagramming Tool 今まではGoogle S
雨穴:Kさん、お久しぶりです。お時間とっていただいてありがとうございます。 Kさん:いえいえ、雨穴さん。ところで送ってもらった間取り図のことですが… 雨穴:はい。一階に謎の空間があるんですが、これについて何かわかりますか? Kさん:うーん…一つ言えるのは、これが意図的に作られたものだということですね。 雨穴:意図的に…ですか? Kさん:この空間は本来必要のない二枚の壁によって作られているんです。 Kさん:台所に接した二枚の壁。これがなければ「謎の空間」は生まれないし、台所も広くなります。 雨穴:なるほど。なぜ作ったんでしょうか? Kさん:もしかして、最初はここを収納スペースかなにかにする予定だったんじゃないですかね? Kさん:たとえばリビング側に扉を作ればクローゼットとして使えるし、台所側に作れば食器棚になる。 だけど途中で気が変わったか、費用が足りなくなったかで扉を取り付ける前に断念した
バベルの図書館アルゼンチンの有名作家ボルヘスさんの短編。 この世に存在しうる全ての本が収められた、無限(?)に広がる図書館の世界が舞台。舞台つっても特になにが起きるわけでもなく、基本的に世界観の説明に終始する。たしか本棚がある六角形の部屋が無限に連なってるんだけど、その間に食事や排泄のための小さなスペースがある的な描写があり結構心をくすぐられた。 四畳半神話大系アニメ化もされた森見登美彦さんの作品。 主人公の大学生が暮らす四畳半の部屋が無限に連なる四畳半宇宙、みたいなものが出てくる。それぞれの部屋はひとつのパラレルワールドに対応していて、置いてあるものなんかがちょっとずつ違っている。迷い込んだ主人公が出られなくなって長い時間を過ごすことになり、多くの部屋に共通して置いてある土産物のカステラを主食としてなんとか食い繋ぐという展開がかなりグッときた。 横浜駅SFネット発のSF。 AI?ナノマシ
プレゼンテーションレイヤ、いわゆるフロントエンドがクライアントサイドで実装・実行されるアーキテクチャ (注 1) において、管理画面/管理機能をあとから追加する際にどのような実装パターンがあるのかを整理してみます。 注 1: Presentation Domain Separation の実践の中でも、物理的にプレゼンテーションロジックとドメインロジックを分離しているアーキテクチャです。 用語の整理 プレゼンテーションレイヤ 三層アーキテクチャにおける、システムの利用者へユーザインターフェイスを提供する層です。本記事では"フロントエンド"とほぼ同義で使います。 OSI 参照モデルの第六層ではないです。 バックエンド Web API とは プレゼンテーションを持たない Web API (HTTP プロトコルを用いてネットワーク越しに呼び出すアプリケーション) とします。 プレゼンテーションレ
対象読者 マイクロサービス化を検討しており、実際に作る場合の構成を参考にしたい。 ドメイン駆動設計について、基本的な用語の知識がある。 TypeScript を多少触ったことがある。理解がある。 はじめに こんにちは。エンジニアの吉村です。 現在、弊社が運営する teratail というサービスに携わっており、CakePHP で動作しているモノリシックな既存サービスをマイクロサービスに移行するというプロジェクトを進行中です。 この記事では、実務を通して得た知見として、マイクロサービス化によりどんな恩恵があるのか、具体的にどのような構成で実装をしているのかについてご紹介します。 TL;DR マイクロサービスのバックエンドサービスの実装に焦点を絞って、ドメイン駆動設計 + オニオンアーキテクチャをベースに設計をしました。 本記事では、具体的に「ユーザ新規登録処理」の実装をする場合を例にとり、実
さんきゅう倉田(元国税職員) @thankyoukurata クラスの友人たちと百貨店のトイレに寄ったら女性用は外まで並んでいた。友人が言うには「台湾の女性用トイレは男性トイレの3倍の面積にすることが法律で決まってる」らしい。 そこで、なぜ日本の女性用トイレは並ばないくらい広くなっていないのか議論になった。 知ってる人がいたら教えてください。 さんきゅう倉田(元国税職員) @thankyoukurata 出た意見としては、 「設計した人が男性だから、女性用トイレの混雑を気にしていないのではないか」 「プロが設計してるのに混雑を考慮しないわけがない。男性用トイレと同程度のサイズなのは理由があるはずだ」 「人はそんなに賢くない。考慮などしていない」 などがありました。 さんきゅう倉田(元国税職員) @thankyoukurata 都内区役所で都市計画をやっている友人 「他の階にもトイレがあるの
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く