日本人建築家たちの作品は、世界でも人気を集めている。日本の建築の特徴とはどんなもので、そこから見習うべきことは何か。そして人々を魅了する建築物に溢れながらも、日本の都市があまり美しくないのはなぜなのかを、英国人の筆者が自虐を交えながらユーモラスに語る。 世界で活躍する日本人建築家 日本を縦断中の外国人がよく思うことがいくつかある。着物はどんな場面にも驚くほど適応する。カメラを振りまわし、何千枚もの写真を撮りまくる大量の日本人観光客は、少なくとも1980年代にはお決まりのギャグだった。だが、彼らはただ時代を先取りしていただけであって、その他大勢の我々といえば、iPhoneのおかげでやっとそれに追いついてきているのだ。 当然のことだが、日本はある面において完璧な社会である。人々の正直さの基準の高さたるや、コンビニでは6円のお釣りを受け取り忘れただけで店員が追いかけてきてくれるし、電車はもちろん
公益財団法人 大倉文化財団 大倉集古館と大成建設が、「特別展 大成建設コレクション もうひとりのル・コルビュジエ 〜絵画をめぐって〜」を開催する。会期は6月25日から8月12日まで。 ル・コルビュジエは、フランスを拠点に活動した建築家。日本の国立西洋美術館をはじめ、7ヶ国にある17資産がユネスコの世界文化遺産に登録されており、20世紀を代表する建築家として評価されているほか、数多くの美術作品を残したアーティストとしても知られている。 同展では、大成建設のル・コルビュジエ・コレクションの中から油彩や素描、パピエ・コレ、版画、タピスリー、彫刻などを展示。1917年頃に画家のアメデ・オザンファンとともに提唱した「ピュリスム」の作品や、1920年代末以降に描かれた「女性」をテーマにした作品、第2次世界大戦中に制作された象徴的なモチーフをメインとした作品、グラフィック的な表
LLMのRAG(外部知識検索による強化)についての調査結果が報告されています。 基本フレームワークと各構成要素の詳細、評価、そして今後の発展について言及されており網羅的です。 本記事では、その報告内容を抜粋してお届けします。 参照論文情報 タイトル:Retrieval-Augmented Generation for Large Language Models: A Survey 著者:Yunfan Gao, Yun Xiong, Xinyu Gao, Kangxiang Jia, Jinliu Pan, Yuxi Bi, Yi Dai, Jiawei Sun, Haofen Wang 所属:Tongji University, Fudan University URL:https://doi.org/10.48550/arXiv.2312.10997 本記事の関連研究:LLMにナレッジグ
公開日 2024/02/27更新日 2024/02/28年間 1000万人以上が使うあのサービスの言語・技術スタック まとめ 企業の規模や業種によって採用される技術スタックは様々異なります。それは事業やプロダクトの特徴、過去に採用してきた技術などの要因に大きく影響されています。 以前、「言語・技術スタックまとめ 15選」ではスタートアップからメガベンチャーまで幅広い企業の技術スタックとその設計思想を取り上げさせていただきましたが、この記事はその続編です。 大手企業の技術スタックはその規模や、事業・プロダクトの変遷によって、独自の特徴が見られます。各社どのような経緯で現在の技術構成に至ったかという背景を知ることで、技術選定における考え方のヒントを見つけられると思いますので、ぜひ参考にしてください。 ※掲載している技術スタックは各社からご提供頂いたものを掲載しております
こんにちは、MLBお兄さんこと松村です。 昨年の MLB 全体ドラフト1位のポール・スキーンズ投手がメジャーデビューしました。予想通りの豪速球でした。 2024年4月29日についにテクニカルプレビューが開始となった GitHub Copilot Workspace ですが、ゴールデンウィーク中に私のアカウントでも利用可能となっていたため、試してみたことを書いていきます。 利用開始まで この記事を書いている時点では、 GitHub Copilot Workspace の利用には待機リスト (Waitlist) への登録が必要であり、その通過を待つ必要があります。 そのため GitHub Copilot Workspace を利用したい方は、こちらから登録を行いましょう。 githubnext.com ゼロからアプリを作ってみる 今回は練習として私がコードを書くこと無く、 C# の簡単なアプリ
2023年は「Cloud Run を触って覚える」をテーマとした ひとりアドベントカレンダー を開催しており、Cloud Run のさまざまな機能や Cloud Run でよく使う構成などをご紹介しています。 最終日、25日目は Cloud Run を中心としたサーバーレス アーキテクチャをいくつか紹介します。2023年にちなんで23個のアーキテクチャを用意しました。 Cloud Run の概要は「gihyo.jp」で解説していますので、こちらもぜひご覧ください。 Web アプリケーション + API の 3-Tier 構成 (SPA) Web アプリケーション + API の 3-Tier 構成 (SPA) SPA (Single Page Application) がフロントになり、バックエンドの API サーバーとして Cloud Run を使用するアーキテクチャです。SPA は N
本稿は「アーキテクチャを突き詰める Online Conference」における発表「なぜDependency Injectionなのか? ~関心の分離と疎結合~」の登壇原稿となります。 発表時の動画アーカイブは後日公開されたタイミングでリンクを追加いたします。 また、本稿のサンプルコードとPower PointはGitHubで公開しています。 「CC BY-SA 4.0」で公開していますので、気に入っていただけたら営利目的含め、ライセンスの範囲で自由に利用していただいて問題ありません。 https://github.com/nuitsjp/WhyDependencyInjection というわけで、本稿の目指すゴールはこちら。 今日は、この場にいる皆さんが「なぜDependency Injectionを利用するのか?」ということを、理解いただくのが本日のゴールとなります。 というわけで本
インタビューと文章: 榎並紀行(やじろべえ) 写真: 関口佳代(撮影/本多康司)古くからの別荘地として知られる軽井沢。別荘というと富裕層など特別な人が持つものというイメージがありますが、近年の軽井沢では、そのような限られた人だけではなく、さまざまな人がコンパクトな家を建てるケースも増えているといいます。また、軽井沢の家を本宅として定住する、デュアルライフの拠点として長く滞在するなど、従来の「別荘族」とは異なるライフスタイルも生まれている模様。 建築家・福岡みほさんも軽井沢の豊かな森に魅せられ、6年前、地元の愛媛から拠点を移しました。現在は、軽井沢や東京、瀬戸内などで多拠点生活を送りながら、「森の家」をつくり続けています。 「軽井沢の森の中にいると、五感が蘇ってくる」という福岡さんに、軽井沢の好きなところや自然の中で暮らす魅力、また、森の家づくりにおいて大切にしている点などを伺いました。 福
この記事は、株式会社カオナビ Advent Calendar 2023の2日目です。 カオナビでは2022年9月からArchitecture Decision Record(以下ADR)を導入開始しました。本記事ではADRを導入し実際に一年間運用して見た経過をご報告しつつ、導入のポイントや注意点について紹介します。 ADRをなぜ導入したのか? まずADRについて簡単に説明すると、「アーキテクチャー設計の記録をドキュメントとして残すこと」 です。Michael Nygardのブログ記事が初出のようです。 ソフトウェア開発を行っていく間には、途中で様々な設計決定をする必要があります。例えばウェブアプリケーションであれば、データベースはMySQLにしようとか、キャッシュはRedisを使おうとかという実行環境の決定の話から、実際のプログラムの基本構造といったところまで様々です。 この設計決定は、口
Developers Summit 2023 Summer で使用したスライドです。 サーバーレスアーキテクチャは強力ですが、同時に冪等性やトランザクションなど特有の考慮事項が必要であり、高い設計力が求められます。ところで、安全なプログラムを書く上で、静的型付き言語は広く利用されていますね。型はいわば実行前に間違いを検出できる仕組みであり、その背後には「プログラムの正しさ」を厳密な数式で記述し分析する理論が存在します。では、同様に「サーバーレスの正しさ」も厳密な数式で記述することは可能でしょうか?本講演ではAWS Lambdaを用いた設計を例として取り上げながら解説します。 イベント概要:https://event.shoeisha.jp/devsumi/20230727/session/4486/ ブログ記事:https://ccvanishing.hateblo.jp/entry/20
こんにちは、プラットフォームチーム所属のまこたすです。 昨今、様々な場で「モジュラーモノリスを導入した」という話を目にするようになってきました。弊社でも昨年からモジュラーモノリスの試験導入を進めており、社内でノウハウが徐々に溜まってきたため、今回 技術ブログ で なぜ導入したのかと知見の共有 をさせていただけたらと思います。 想定読者 モノリスなアプリケーションの分割を検討している Railsへのモジュラーモノリスの導入を検討している 話さないこと チーム体制がどうあるべきかという観点の話 以下アーキテクチャについての詳細 モノリスアーキテクチャ モジュラーアーキテクチャ 背景 今回「モジュラーモノリスを導入した」というタイトルですが、最初に検討・導入に至るまでの背景について触れたいと思います。 hacomonoという組織・サービスの成長 hacomonoというサービスはリリースから現在に
スマートフォンで通信する際に必要となる回線の契約者情報を保存するためのカードがSIMカードです。従来より物理的なカードがSIMカードとして用いられてきましたが、2016年に仮想SIMカードとして「eSIM」が登場し、オンラインで契約するだけですぐに回線を利用できるようになりました。そんなeSIMの仕組みについて、ハッカーの国際会議である「Chaos Communication Camp」にてハラルト・ヴェルテさんが解説講演を行いました。 media.ccc.de - Demystifying eSIM Technology https://media.ccc.de/v/camp2023-57190-demystifying_esim_technology ハラルト・ヴェルテさんはOsmocomというさまざまなモバイル通信規格を実装するオープンソースソフトウェアプロジェクトを立ち上げるなど、
榊原寛@海外でゲーム背景屋 @SakakibaraEnv 「背景アーティスト導きの書」著, CGWORLDアドバイザリーボード, サイバーパンク2077, Mafia3, 畳部屋名義でUE個人開発 フリー ←🇵🇱 CD PROJEKT RED ←USAベイエリア ←チェコ ←ゲーム業界へ←洋画家←院でタンザニアの建築装飾調査 博士中退 学部で西洋史 noteにコラム等↓ note.com/4johan/ 榊原寛@海外でゲーム背景屋 @SakakibaraEnv アサシンクリードで主人公が壁を上るときにつかまるコレ、何か分かりますか? イラストやCGを作成するときに、どこでもこれを付けていいわけじゃないんです! ただの飾りではありません。 pic.twitter.com/L8fEwVCyBF 2023-08-19 20:35:27
概要 本記事は、スクラムを管理するアプリケーションをクリーンアーキテクチャの考え方で実装し、WebからもCLIからも動かせるようにしたという実践を紹介するものです。学習のための個人開発で作成したサンプルアプリケーションの設計と実装を適宜紹介することで、クリーンアーキテクチャに対する理解を深めることが目的です。 モチベーション なぜ現代の開発現場で定着しているクリーンアーキテクチャのアプリを手元で実装してみようと思ったかというと、私自身Webエンジニアとして働く中で、クリーンアーキテクチャの実践例は入出力をWebに限定したものばかりだったからです。 しかし、「詳細に依存せず抽象に依存すること」と唱えるクリーンアーキテクチャにとって、Webはただの詳細です。そこで、入力元、出力先を問わないアプリケーションはどのような書き味になるのか、自分で確かめてみたくなりました。 例えば、「ドメイン層は独立
こんにちは, プロダクト開発部の今村です. ここ一年ほど, 主にグノシーのプッシュ通知基盤の部分的なリプレイスや機能追加をしていました. この記事ではプッシュ基盤の構成を紹介したいと思います. 概要 FCMのAPIを呼び出す部分 サーバーのスケーリング 送信対象の読み込み 送信の流れ その他の工夫 重複配信の防止 パフォーマンス調整 おわりに 概要 まずはプッシュ通知の種類を整理します. 今回扱うのは, 多数のユーザーに同じ内容を送るような通知です. 重要なニュースが発生したときに送る速報や, キャンペーン情報の通知などが該当します. 対照的に, ユーザーごとに異なる内容を送る通知もあります. 例えば社内で定時プッシュと呼ばれている機能では, ユーザーごとにパーソナライズされた記事を毎日決まった時間に送ります. このような通知はこの記事では (ほぼ) 扱いません. プッシュ通知基盤に求めら
AWS Architecture Blog Let’s Architect! Designing architectures for multi-tenancy Understanding architectural patterns for multi-tenancy has become crucial for architects and developers aiming to deliver scalable, secure, and cost-effective solutions. Isolating tenant data is a fundamental responsibility for Software as a Service (SaaS) providers. In this edition of Let’s Architect!, we talk about
はじめに CastingONEでバックエンドエンジニアをやっている清水です。 この記事ではクリーンアーキテクチャについて学んだけど具体的にどのように実装すれば良いのかという悩みがあったので実装例をまとめてみた記事になります。 クリーンアーキテクチャで実装されたサンプル実装のうちGitHubのスター数が多いリポジトリをピックアップして、設計内容を紹介していきます。 具体的にどこにどんな実装をするべきなのかも含めて紹介していきます。 処理を一部省略して紹介するため実際の処理内容を確認したい場合はGitHubでご確認お願いします。 クリーンアーキテクチャとは クリーンアーキテクチャは、ソフトウェア設計の原則を適用して、依存性の方向性を逆転させ、ビジネスロジックから詳細(フレームワークやデータベース)を分離するアーキテクチャパターンです。これにより、テストしやすく、メンテナンス性が高く、柔軟性のあ
はじめに アプリケーションレイヤーでトランザクションを考慮した実装をどのようにすればいいのか悩んでいる人が多いことに気がつきました。オニオンアーキテクチャ等でアプリケーションコードを関心ごとのレイヤーに分離するときに、トランザクションを開始するためのDBとのコネクションの作成をどのレイヤーで実施するのか悩んでいる人が多いそうです。 本記事ではDDD+オニオンアーキテクチャ+Repositoryパターンを使う前提で、私がよく使うトランザクションを考慮した実装について説明しようと思います。 トランザクションを考慮した実装 私はトランザクションを開始するためのDBとのコネクションの作成はUsecase層で実施します。 私がよく書く実装ではDDDでいうEntityを定義します。そしてRepositoryではEntityのCRUDのみ行うように実装し、Repositoryをトランザクション境界にしま
建物の外壁からタイルが落下する事故が散見されている。経年劣化や施工不良など要因は個々の事例ごとに異なるものの、落下したタイルが通行者などに当たれば、取り返しがつかない。過去には外壁タイルの落下による死傷事故も起こっている。 本連載では、「一級建築士矩子の設計思考」(鬼ノ仁/日本文芸社)のキャラクターを使って新規に書き下ろしたイラストとともに、建築の「危ないデザイン」を振り返る。 前述の外壁タイルは、建物に高級感を与えるなど建築の意匠を構成する上で重要な役割を担う。マンションなどを中心に採用事例は今も多い。 一方、大阪地方裁判所判事(当時)の高嶋卓氏が「判例タイムズ」の2017年9月号に寄せた論文によると、大阪地裁で建築関係訴訟を専門で扱う第10民事部における未処理の事件数の5~8%は、外壁タイルの瑕疵に関する事案となっている。そこで今回は、老朽化した建物の増加とともに、これから発生数が増え
米カリフォルニア州ロサンゼルスで公開された応急仮設住宅(2024年1月31日撮影)。(c)Frederic J. BROWN / AFP 【2月1日 AFP】米カリフォルニア州ロサンゼルスで1月31日、路上生活者の利用を想定して開発された応急仮設住宅が公開された。同州では近年、ホームレス問題が深刻化している。 この仮設住宅は、ギャビン・ニューサム(Gavin Newsom)州知事が推し進めるホームレス問題対策計画の一環として開発された。知事主導で行われたコンペで優勝したパレットシェルター(Pallet Shelter)社が手掛けた。 6.5平米のタイプとトイレやシンクなどが完備された11平米の2タイプがある。州内の主要都市に設置するため、今後、計1200戸が製造される予定だ。(c)AFP
はじめに この記事は、業務でフロントエンドのディレクトリ設計思想を変更した際の作業をまとめた記事です📕 それなりの規模のプロジェクトでの移行作業のため、新規機能実装などに影響が出にくいようにリファクタリングを進めてきました。そこでの進め方や感想も含めてお伝えできればと思います。 前提 6年ほど運用しているReact Nativeのプロジェクトでの移行作業のお話です。 従来のディレクトリ設計思想はAtomic Designを採用していました。しかし、organismsのコンポーネントが300個近くにも及び、プロジェクトの規模が大きくなるにつれて様々な課題が浮き彫りになりました。これを機に設計思想の移行を決めました。 Layer型のAtomic DesignからFeature型のディレクトリ構造に移行していこうと思います😌 参考: ソフトウェアアーキテクチャの基礎 なぜ移行したか なぜ移行
今回はいよいよ最終回となります。前回は非機能要件についてアーキテクチャを設計してきました。今回は代表的なユースケースを選定して、アーキテクチャの詳細な設計を蒸留していきます。また、開発者ビューについても設計を行います。利用者側の要件から出てきにくい、開発上に必要となる設計、テスト設計などを実施します。 ソースコード 実際に動作するソースコードは、GitHub上に公開しているので、ぜひご覧ください。ビルドや実行方法については、リンク先のREADME.mdをご覧ください。また、実際に動作させるためには次の2つのライセンスが必要です。 ComponentOne for WPF SPREAD for WPF 4.0J これらは試用ライセンスを発行することができます。 本稿だけで読み進められるように記載していますが、すべてのコードを詳細に解説しているわけではありません。本稿を読んだ後、あらためて動作
この記事は、Merpay Tech Openness Month 2023 の7日目の記事です。 はじめに こんにちは。メルコイン Payment Platform チームの @sapuri です。 メルコインではマイクロサービスアーキテクチャを採用しており、お客さまによりアプリの操作が行われると、それぞれのマイクロサービスを横断してリクエストが処理されます。 メルコインの Payment Platform は、お客さまの残高の管理や各種帳簿の作成などの決済事業のための基盤となる仕組みを提供しています。 そのなかで、Payment Service は決済トランザクションを管理するサービスとして、下位層のサービスが提供する各種決済手段を利用して、上位層のサービスが共通して利用できる決済 API を提供しています。 この記事ではマイクロサービスアーキテクチャにおける分散トランザクション管理の課
会社で複数の新規事業を立ち上げる機運が高まったことをきっかけに社内向けUIライブラリを開発し、限定公開して利用を始めました。 本記事ではReactで社内向けUIライブラリを開発・ビルド・公開・布教するためのアレコレを共有します。 以下のような話題について知りたい方に特に読んでほしいです。 Private Packageの作り方、配布の方法のイメージがつかない方 CommonJSとES Modules、今はどちらでビルドするのがいいのか知りたい方 ライブラリの作り方について網羅的に知りたい方 前提 利用側のアプリケーションはNext.js固定を前提とする Tailwind CSSを内部的には利用する 利用側のアプリケーションはパフォーマンス(Lighthouseスコア)重視することが多い 社内の様々なレベルのエンジニアがContributeする可能性がある 端的に言うと、社内のプライベートリ
最近読んだ書籍の中で非常に良質な内容でしたので紹介したいと思います。少しでも多くの方に興味を持ってもらえることを期待しています。 O’Reilly Japan はじめに私自身がデータ管理(データマネージメント)という観点でここ数年様々な検討を行ってきていますので前提としてその背景について簡単にまとめてみます。 かつてオンプレミスで運用を行っていた時は企業内のデータは完全に管理されていました。データウェアハウスを導入してデータの集約・加工は行われていましたが、専門チームがデータ仕様確認やデータ提供までもすべての責任を担っていました。品質は高いのですが利用者からの要望(新しいデータの提供、仕様の変更)の対応についてはスピード大きな制約がありました。また大規模なデータを扱うためには多大なコストが必要という制約もあります。 クラウド技術による「スモールスタートを可能とするインフラ」「大規模なデータ
At Airplane, we collect observability data from our own systems as well as remote “agents” that are running in our customers’ infrastructure. The associated outputs, which include the standard “three pillars of observability” (logs, metrics, and traces) are essential for us to monitor our infrastructure and also help customers debug problems in theirs. Over the last year, we’ve made a concerted ef
Why? Clean Architectureを通読してみたが、抽象論が多いのでやっぱり書いてみないとな、と思った次第。 いろいろな方のClean Architectureの記事があるものの、当方Typescripterなので馴染む言語で写経すると理解が深まるだろう。 Assumption フレームワーク・ライブラリ非依存。Clean Architecture の構造だけ再現するので、サーバフレームワークやORMなどは使用しない。 命名はClean Architectureに出てきたままを心がける。一部、原文でも表現がブレているのは都合よく拝借。 Clean Architecture Overview Clean Architectureといえばこの図。 最重要エンティティであるビジネスロジックを中心に、アプリケーションロジック、インターフェースアダプター、フレームワークやDBの順で依存方
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く