Java/Spring Boot/MyBatis/Thymeleafを使った、ドメイン駆動設計のサンプルコード。ビジネスルールに焦点を合わせ、計算モデルで複雑さを整理し、型指向のプログラミングで実装する、その具体例。
![Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える](https://cdn-ak-scissors.b.st-hatena.com/image/square/001ae578fa9bc73c6bf75fb7815a395ed704eb5f/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fgo-171009024820-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
Java/Spring Boot/MyBatis/Thymeleafを使った、ドメイン駆動設計のサンプルコード。ビジネスルールに焦点を合わせ、計算モデルで複雑さを整理し、型指向のプログラミングで実装する、その具体例。
東山 広樹 | Cooking Maniac @h_gashiyama 超料理マニアな料理人/作る・食べるの二刀流/食べ歩き年間400軒/東京都内某所で会員制レストラン主宰/日本一マニアックな料理ブログ『Cooking Maniac』/汁なし担々麺専門店『タンタンタイガー』創業者/レシピ開発&飲食店コンサル/お仕事の依頼はコチラまで→higashiyama1986@gmail.com cookingmaniac.net 東山 広樹 | Cooking Maniac @h_gashiyama 中国の田舎で見つけたヤバイ炒飯 重慶の中心街から電車で30分 閑散とした駅前で1人の若者が炒飯の屋台をやっていた 最初は面白がりながらも通り過ぎたんだけど…『天天炒飯』という店名に、なんだか志の高さを感じ、引き返して注文 屋台なのに飲食店顔負けの強火力! よく熱した中華鍋に植物油、卵1個を投入して、具材
MySQL is certainly a powerful open source database management system, but even the most robust engine struggles when queries take an eternity to execute. For DBAs and developers, improving MySQL query performance is an ongoing goal. Efficient query performance is crucial for ensuring the smooth operation and optimal user experience of applications powered by MySQL databases. When businesses rely h
これまでの生存戦略 それほど尖った能力や知識がない中で、私のこれまでの生存戦略としては求められればなんでもやる、少しくらい泥水でも飲むというものでした。 フロントエンドからバックエンド、データベース設計、API設計、実装、インフラ側の設定、提案書作成、プレゼンテーション、プロジェクト進行、どれも“専門家として誇れるか”というと疑問がありますが、求められればなんでもやるスタンスでそれが自分の価値提供の形と考えていました。 また、以前までは「若い」というのも、強みでした。 一回りほど上の年齢に見られることも珍しくなく、「そんな若かったのか」と驚かれるなかで、「若いのに頑張ってるね」と年齢のフィルターで大目にみてもらえました。 しかし、そんな私も気が付けば40歳、もう若さという武器はありません。 (つい先日まで20代だったはずなのに..何かおかしい..) 体力的にも無理が効かず、新しいことを学ぶ
Go言語デビューしました!🎉 シンプルなのもあってすぐに馴染むことができています。Goよいですね! さてさて今回はGoを書いていて「これできるんだ」「これはコンパイルエラーなんだ」となったところをGoの仕様などを見ながら(できればそのwhyまで)理解したいと思います。 Go 1.18時点での記事です。 つまづき1:constをポインタとして扱えない 例えばこんなのがあったとして const Ten = 10 type User struct { age *int } 以下のコンパイルが通りません。 func main() { user := User{ &Ten, // コンパイル通らない🤔 } fmt.Println(user) } エラーメッセージを見てみると invalid operation: cannot take address of Ten (constant 10 of
はじめに こんにちは。サーバーサイドエンジニアの mokuo です。 最近、ミニマムな React アプリを実装する機会がありました。 社内のメンバーにアドバイスをもらいながら、今(2024年前半) React アプリをミニマムに作るならこんな感じかな、という構成になった気がするので、ご紹介したいと思います。 実例の1つとして参考にしていただけますと、幸いです。 はじめに 本文 📝 機能要件 ⚒️ 採用したツール (npm モジュール) 📁 ディレクトリ構成 👨💻 プロトタイピングの実施 🍩 おまけ コンポーネント設計について フロントエンドに DDD のエッセンスを取り入れてみたい おわりに 本文 📝 機能要件 社内の限られた CS メンバーのみが利用する、管理画面を開発しました。 バックエンドは Golang で実装される API サーバーで、認証機能以外だと、2つの機能
Rust言語のコアライブラリをDart言語で実装した「Rust Core 1.0」がリリース。Rustの主な型や便利な機能がDartで使えるように Rust Coreの開発チームは、Rust言語のコアライブラリをDart言語で実装した「Rust Core 1.0」をオープンソースとしてリリースしました。 Rust Coreを用いることで、Dart言語にRust言語が持つ一般的な型やさまざまな便利な機能を取り込むことができるようになります。 合わせて、Rust Coreのドキュメント「Rust Core Book」も公開されました。 DartはGoogleが主導してオープンソースで開発されているプログラミング言語です。クロスプラットフォーム対応のモバイルアプリケーション開発に対応したFlutterフレームワークで用いられている言語として知られています。 なぜDart言語でRustのコアライブ
アマゾン ウェブ サービス ジャパンは、2024年6月20日と21日、国内最大の年次イベントである「AWS Summit Japan」をハイブリッドで開催。150を超えるセッションが展開された。 本記事では、ニンテンドーシステムズによるセッション「Nintendo Switch向けプッシュ通知システムのリプレイス事例」をレポートする。登壇したのは、同社 システム開発部の林愛美氏と坂東聖博氏だ。 2017年のNintendo Switchの発売とあわせてリリースされた「プッシュ通知システム」。同社は、長期運用を見据えて、よりクラウドネイティブなシステムへのリプレイスを決定するが、大量のTCP接続を維持するための様々な課題が立ちふさがった。 本セッションでは、AWS FargateやNetwork Load Balancer(NLB)といったAWSのマネージドサービスを用いた、“最大1億台”級
会社員として働きつつ、兼業で執筆活動をしている岡田悠さん。第2子誕生をきっかけに、車を購入してから(!)、人生2度目の自動車教習所に通い始めました。2度目の教習所通いは「かなりためになった」そう。 そんな岡田さんに、車購入で感じているメリットや運転への意識の変化について寄稿していただきました。 学生時代に取った車の免許を、車に乗らないまま失効した。更新を忘れていたのだが、免許証の存在自体を忘れるくらい、運転は自分にとってほど遠い行為だった。 僕は都内に住んでいて、通勤も買い物もすべて電車と徒歩で済んでしまう。運転する機会はなかったし、何より運転が恐ろしかった。むしろ公道を運転するという離れ業を、皆が当たり前のようにやっているのが不思議なくらいだった。 だが2023年、僕は車を買った。そして35才にして2度目の教習所に通い始めたのだ。 第2子誕生で、運転と向き合うときがやってきたきっかけは第
Apple Watch で取得したデータを Google Cloud に自動連携して BigQuery + Dataform + Looker Studio でダッシュボードを作ったBigQueryAppleWatchGoogleCloudDataformLookerStudio プロジェクトの区切りに初めて長期休暇を取得することにしました。 プロジェクト終盤の忙しさで疲れが溜まっていたので、休暇中に健康的な生活を送るために apple watch から取得したデータを可視化することにしました。 この記事では apple watch で計測したデータを毎日自動的に可視化する方法を書いています。 やったこと こんな感じのアーキテクチャで睡眠の可視化を作りました。 現時点で作成したのは次のような図です。 さすがにもう少し睡眠を取っている自覚はありますが、睡眠が浅いときに apple watch
公開日 2024/06/25更新日 2024/07/01モダンな開発環境のBtoB SaaSアーキテクチャ特集 技術選定のポイントと今後の展望 ご好評頂いているアーキテクチャ特集の第三弾となる今回は、BtoB SaaSを提供する企業10社にご協力頂き、技術選定のこだわりや今後の展望をご寄稿いただきました。アーキテクチャを通して、各社の事業特性や設計思想にも触れられる内容となっております。※ご紹介は企業名のアルファベット順となっております 株式会社あしたのチーム あしたのチームは「誰もが "ワクワク" 働ける世界を創る」をビジョンに掲げ、人事評価制度の構築・運用・クラウド化で "人と組織の成長" を支援しています。今回は、2024年4月にリリースされた同社の新サービス:パフォーマンスマネジメントプラットフォーム『Cateras™』のアーキテクチャについてご説明します。 アーキテクチャ選択の背
本格中華の味を再現するためにこだわっていること 塩谷:味の素株式会社の塩谷(えんや)と申します。Cook Do®︎のマーケティングの全般を担当しています。商品の開発から広告、宣伝に至るまで、比較的幅広く関わっています。とはいえ担当してまだ3年目なので、まさに四川料理などを勉強している最中です。本日は非常に楽しみにしておりました。 人長:僕は四川料理をやってるんですけど、一番得意な料理が麻婆豆腐。おうちでおいしい麻婆豆腐をつくるための記事を『メシ通』でやったら、たまたまバズッて、それからいろいろ続けてやらせてもらっています。 僕は「リバヨンアタック」という珍しい名前の四川料理店の料理長をやっています。お昼は、定食屋さんみたいな感じで、夜は中華料理のレストランという形でやってます。 www.hotpepper.jp ──Cook Do®︎といえば、ご存じ、ご家庭で本格的なシェフの味が楽しめる中
(本記事は Go Conference 2019 Autumn にて無料配布した冊子『WANTEDLY TECHBOOK GoCon Edition vol.2』からの掲載です) 配布した冊子の前半では Go の導入にあたってどのような工夫をしてきたのかを紹介しました。そこに書かれていたように、新しいプログラミング言語を導入するにはそれなりの整備コストがかかります。それではなぜそこまでして Go を導入したのでしょうか。本記事では Go を導入した背景について説明していきたいと思います。 なぜ Go か技術的・事業的背景どのプログラミング言語を採用するかや、どのようなアーキテクチャを選定するかというようなことは非常に影響範囲の大きい決断になるため、会社全体の技術的・事業的なコンテキストと切り離しては語れません。そこでまずは Wantedly の技術的・事業的な背景について、この後の話をする
Amazon SQS は可用性やスケーラビリティの高いメッセジキューサービスであり、AWS の代表的なサービスの 1 つと言えるでしょう。ところが、本番の運用に耐えられるアプリケーションにしようと思うと考えることが意外に多いものです。本エントリーでは簡単なサンプルアプリケーションをベースに、本番で運用するために考慮すべき点・注意点について見ていきます。題材として扱うのが SQS なだけで、SQS 以外を使ったアプリケーションにも応用できる内容もあるでしょう。 なお、SQS には Standard queue と FIFO queue がありますが、Standard queue を使う前提とします。 アジェンダは次のとおりです。 サンプルアプリケーション 1. ログ 2. At-least-once delivery と visibility timeout 3. デプロイ 4. 異常系 5
各実装方式の詳細は以下のとおりです 1. Lambdaイベントソース型 Lambdaのイベントソースマッピングを利用すると、SQS・Kinesis Data Streamなど様々なソースにポーリングを行い、Lambdaを呼び出せます。 イベントソースが暗黙にポーリングやSQSメッセージの受信・削除をするため、Lambdaアプリケーションは受け取ったメッセージの処理ロジックだけを記述します。 def lambda_handler(event, context): for message in event['Records']: print(message['body']) 覚えることが少なくて済み、管理も楽なため、SQSコンシューマーの初手としておすすめできる一方で、最大の問題点はLambdaの制約に縛れることです。 メッセージ処理が15分を超えたり、10GBを超える潤沢なメモリが必要だった
AI事業本部の協業リテールメディアdivでソフトウェアエンジニアをしている 中澤 といいます。直近では、プロダクト開発以外にAI 事業本部の新卒研修の運営を行なったりもしていました。 私が所属しているチームで最近、定期バッチを行うワークフロー管理ツールを AWS Step Functionsへ移行したので、移行の背景や得た知見を記事として公開します。 移行前の構成 私たちのチームでは、ワークフロー管理ツールを AWS Step Functions に置き換える前には、Prefect を使っていました。 Prefect に関しては、弊社ブログの別記事があるので、Prefect について知りたい方はそちらも参考にしてみてください。 Prefect を利用している時の構成では、Prefect 側でワークフローのスケジュール管理やワークフロー内のタスク実行を Prefect、実際のワークフローのタ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く