Modeling Forum 2018 技術公演トラックで発表した内容となります。 VernonVaughn Vernon 氏が発表 した書籍「 実践ドメイン駆動設計(通称: IDDD )」の 流れに沿って、 DDD の基本からモデリング手法までを 幅広く紹介します。
ソフトウェア開発会社の144Labは11月26日、同社が販売しているIoTデバイス「うんこボタン」の不具合について発表した。赤ちゃんの排泄をボタンを押すだけでクラウドに記録する「うんこボタン」は、これまで販売した全品が通信の不具合により動作しなくなったため、同社が回収し交換する。 不具合の原因は「2018年11月24日のうんこボタンサーバの通信環境アップデートにおけるミス」と同社は説明。後進復帰も不可能であるためボタンデバイス側のファームウェアを直接更新する必要があるという。 うんこボタンは、2つの押しボタンで赤ちゃんがうんこ、おしっこをしたタイミングをクラウドに記録。スマートフォンで使えるWebアプリとの連動により、固いか柔らかいかといった細かい情報を後で追加することもでき、それらの情報をLINEグループにより家族などと共有できる。2017年にMakuakeでクラウドファンディングし人気
1. はじめに Octillery というGo言語用のデーターベースシャーディングライブラリを開発したので紹介します。 すでにいくつかあるライブラリ ( evalphobia/wizard や go-pg/sharding )と異なる点は database/sql パッケージのインターフェースを実装するすべてのORMライブラリで利用できる database/sql の機能を直接使っていても利用できる 特定のデータベース実装に依存せずに利用できる設計になっている シャーディングアルゴリズムがプラガブルになっている あたりです。ライブラリの利用環境をなるべく限定したくないという思いから、特定の実装に依存しないような作りを目指して設計しました。 ライブラリの実装自体は昨年のうちに終わっていましたが、運用実績を作るために温めてきました。 ライブラリはすでに本番環境で半年ほど運用されており、今も継続
以下、それぞれについて記載します。 その場でnew(コンストラクタ使用) 良くない気がします。 値オブジェクトの不変条件のチェックをどこでやるかっていう話にもなるとは思うんですけど、不変条件を値オブジェクト内に閉じ込めようと思うとコンストラクタでチェックをしないといけなくなります。そこで違反していた場合、違反していることを伝えるためには例外を投げるしか方法がなくなるんですよね。(C#とか想定) あとはファクトリメソッドパターンを適用しようとか事前条件を加えたいとか考えると柔軟性に欠ける気がします。 staticファクトリーメソッド 自分的にはベターな手法です。 事前条件や不変条件を修正しやすいですし、戻り値をboolと値オブジェクトのタプルで返すようなメソッドを用意すれば事前条件や不変条件の違反を伝える術が例外に頼らなくて済みます。 もしアプリ起動中ずっと生存していて良いのならシングルトン
Swiftのエラーハンドリングは他のメジャーなプログラミング言語のどれとも異なる新しい仕様を持っています。特に、検査例外を持っているのですが、これはJavaで採用された以降はほとんどの言語で採用されていないため、現代では否定されている過去の間違いだったと広く認識されていると思います。そのため、Swiftユーザーで無い人は、検査例外という言葉をみた瞬間に興味を失ってしまうため、その詳細がなかなか世の中に伝わっていないと感じています。一方、私はこんなSwiftのエラーハンドリングをとても気に入っていて、様々な言語の進化の歴史を踏まえた産まれた最も優れた最先端の仕様だと思っています。この記事ではその考えを説明します。 Javaのエラーハンドリング Javaは検査例外を持っています。これにより、あるメソッドがエラーを送出するかどうかを関数のシグネチャとして静的に表明できます。 // 検査例外の例
マイクロアドのサーバサイドエンジニアの松宮です。少し時間が経ってしまったんですが、今年もScala関西Summitに参加してきましたのでマイクロアドと絡めながらつらつらと感想を書きたいと思います。 ちなみに今年はマイクロアドからも初めてスポンサードさせて頂きました! 今までもマイクロアドではScalaを採用したプロダクトはいくつかありましたが、全体ではJavaがメインだったため、Scala関係のイベントへのスポンサードはしておりませんでした。しかしここ数年でApache Sparkを採用したり、主要プロダクトのScala化をきっかけに社内全体にScalaが浸透していき、その結果、今回のScala関西Summit 2018へのスポンサードができました! Apache SparkやScalaへの変遷については以前のブログ記事で紹介させて頂いていますので、良ければご覧ください。 順序保証型分散ス
印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます 前回の記事では、APIが直面するセキュリティ脅威の全体像について述べた。今後日本でも、インターネット上でさらにAPIの公開が加速していくが、既にAPIはサイバー攻撃の新たな標的(Attack Surface)となっており、その避け難いいくつかの理由も挙げた。今回は実際のAPIへの攻撃手法について、整理してより詳しく説明していこう。 現在行われているAPIへの攻撃は大きく以下の3つに分けることができる。 ウェブアプリケーション攻撃 APIエコシステム攻撃 DDoS(分散型サービス拒否)攻撃 これらを順に見ていく。 1.ウェブアプリケーション攻撃: APIに対しても、一般的なウェブに対して行われるウェブアプリケーション攻撃の手法が頻繁に用い
マルチプラットフォーム(ubuntu、RHEL、Windows、MacOS)対応のLTSがついたOpenJDK互換のJavaリリースのアナウンスです! しばらく前に、Amazon LinuxでのJavaのLTSが発表され大きな話題となりました。 Amazon LinuxでのJavaのLTS (Long-Term Support)提供について 「ほぇー、AWSもやりおるやんけ!!」と感慨にふけっていたら、それの100倍ぐらい衝撃的なニュースが、Javaの神様James Goslingのツイートで飛び込んできました。 Just announced #amazon #Corretto at #devoxx. It is our distribution of OpenJDK. https://t.co/09cuPEqnex — James Gosling (@errcraft) 2018年11月
Many teams miss opportunities for refactoring by not realizing the different ways refactoring can fit into their… 『レガシーソフトウェア改善ガイド』では、リファクタリングを実施する際に、安全なステップで行う規律の大切さを先に言及しています。規律あるリファクタリングは、例えば次です。 依存関係をグラフ化して修正の影響範囲を理解するカバレッジ結果を参考に安全にリファクタリングできるコードか否かの判断する書籍『リファクタリング』のように小さなリファクタリングの連続のステップで理想のコードに近づく活動をこまめに継続する(長時間に動作しない状態は避ける)テストを使って外部振る舞いが壊れていないことを頻繁に確認する壊れたらすぐに戻れるようにバージョン管理システムを活用するIDEのリファクタ
今日話すこと¶マイクロサービス化されたアプリケーションでは、パフォーマンス測定の一つとして分散トレーシングが挙げられます。 Akka HTTPをAPIサーバの一つとして構築した際に、他のサービスとのやり取りを含め全体のパフォーマンスを可視化するには、分散トレーシングの仕組みに載せる必要が出てきます。 そこで、数ある分散トレーシングの実装の中から、MetricsとTracingの実装の一つであるOpenCensusと、 OpenCensusが利用できる分散トレーシングのバックエンドの一つであるJaegerを用いて、 Akka HTTPのAPIサーバでの分散トレーシングの可視化を紹介します。 お前、誰よ¶よしだ twitter: @grimrose github: grimrose とある人材紹介会社 マーケティング部門のデータエンジニア(自称) 好きなIDE: IntelliJ IDEA S
EventStorming (イベントストーミング) というモデリング手法があります。 www.eventstorming.com EventStorming is a flexible workshop format for collaborative exploration of complex business domains. EventStormingは、複雑なビジネスドメインを協同的に探求するための柔軟なワークショップ形式のひとつです。(意訳) 考案者はAlberto Brandolini氏で2013年にはブログに最初の投稿がされています。 海外での認知度は高く*1、Eric Evans氏のプレゼンテーションの中でも強力な手法であると言及*2されています。 近々、この手法を試せる機会が来そうなので、そのやり方について(私見を交えつつ)まとめてみるエントリです。 注意 現在進行系
class: center, middle # 明日から使える<br/><strong>実践</strong><br/>エラーハンドリング Scala関西Summit 2018 11/10 --- class: left, middle ## 自己紹介 * 中村 学(Nakamura Manabu) * [@gakuzzzz](https://twitter.com/gakuzzzz) * Tech to Value 代表取締役 * Opt Technologies 技術顧問 <img src="../images/opt_logo_1.jpg" alt="Opt Technologies" width="450" style="margin-left: 0px" /> * F-CODE CTO <img src="../images/f-code_logo.png" alt="f-cod
ドワンゴ 技術コミュニケーション室の塩谷( @kwappa / kwappa@friends.nico )です。 エンジニアにとって勉強会やカンファレンスに参加するのは学びであるとともに楽しみでもあります。そんなイベントをさらに楽しみなものにしてくれるのが、みんな大好き懇親会。 本日はそんな懇親会をさらに楽しくしてくれる、革新的で魔法のようなアイテム「プルタブフック」をご紹介します。 懇親会といえば 🍣 と 🍕 、そして 🍺 がつきものですよね。でも、皿を持ち、箸を持ち、さらに缶を持つのはとても大変です。空きスペースを探してウロウロするのはなんだかマヌケなものですし。 そんな悩みを解決してくれるのが、この「プルタブフック」。これさえあれば、食べる・飲む・喋るという懇親会の行動をスムーズに切り替えることができます。 使い方はいたって簡単。プルタブを開けたら垂直に立て、その穴にフックを通
よく訓練されたアップル信者、都元です。「認証 認可」でググると保育園の話が山程出て来ます。が、今日は保育園の話ではありません。そちらを期待した方はごめんなさい。こちらからお帰りください。 さて、先日のDevelopers.IO 2016において、マイクロWebアプリケーションというテーマでお話させて頂きました。一言で言うと OAuth 2.0 と OpenID Connect 1.0 のお話だったのですが、これらを理解するにあたっては「認証」と「認可」をはっきりと別のものとしてクッキリと認識する必要があります。 まず、ざっくりとした理解 認証と認可は密接に絡み合っている一方で全く別の概念です。正直、理解は簡単ではないと思います。 まず「認証」は英語では Authentication と言います。長いので略して AuthN と書いたりすることもあります。意味としては 通信の相手が誰(何)であ
「どの言語を学ぶべきか」という議論はエンジニア向け記事の定番ネタですが、HackerNoonに投稿された5 Programming Languages Every Master Developer Should Learnという記事がなかなか興味深かったので翻訳してみました。 (2018/11/04追記) こちらの記事に関する「別視点からの意見」として下記のような記事を追加いたしました。宜しければこちらも併せてご参照ください。 Ruby->Go->Scalaという習得順序がエンジニアの爆速の成長に最適である理由 はじめに 「プログラマーは新しい言語を毎年1つは習得するべきだ」という趣旨の文章をどこかで読みました。(多分CODE COMPLETEだったと思いますが) もしそれが難しくても、キャリアの中で最低限この後に紹介する5つの言語に通じておくことをお薦めします。 あらゆる会社は、多言語を
2018年11月2日に行われたAWS Dev Day Tokyo 2018での講演「マイクロサービス化デザインパターン」の資料です。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く