Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

2019年12月2日のブックマーク (20件)

  • CQRS実践入門 [ドメイン駆動設計] - little hands' lab

    この記事では、CQRSの入門として、軽量CQRS、別名クエリモデルについて解説します。 DDDの参照系処理で発生する課題 解決策 CQRSのメリット、デメリット 実装時の注意事項 部分的導入について なぜQueryServiceの定義がUseCase層なのか 整合性をどうやって担保するのか よくある誤解 データソースを分ける必要があるのか イベントソーシングとの関係 過去資料との繋がり もっと詳しく知りたい方は 現場での導入で困ったら DDDの参照系処理で発生する課題 DDDで定義されている実装パターンを使っていると、基的には永続化層との入出力はRepositoryを使うことになります。 更新系の処理ではEntityやValueObjectでドメインの知識を表現し、Repositoryを使って集約単位で永続化するという構成をとると、非常にメンテナンス性の良いものになります。 参考過去記事

    CQRS実践入門 [ドメイン駆動設計] - little hands' lab
    igrep
    igrep 2019/12/02
  • 小籔千豊 「人生会議」ポスター問題で「責任感じる」「僕じゃなかったら燃え上がらなかったんかな」 - スポニチ Sponichi Annex 芸能

    小籔千豊 「人生会議」ポスター問題で「責任感じる」「僕じゃなかったら燃え上がらなかったんかな」

    小籔千豊 「人生会議」ポスター問題で「責任感じる」「僕じゃなかったら燃え上がらなかったんかな」 - スポニチ Sponichi Annex 芸能
    igrep
    igrep 2019/12/02
    なるほど。諸々含めての4000万円だったのか。TVCMの制作料とかも含めるんだったらそんなもんでしょ
  • Maker Faire Tokyo 2019でイベント無線LANを提供してきましたレポート | IIJ Engineers Blog

    IIJ ネットワーク部IoT基盤開発部 デバイス技術課所属。 802.11(無線LAN)技術を中心に、ルータ/AP製品の開発に従事しています。 電波が好物なのでイベント無線LANの構築をしたり、キャプチャ箱持って電波吹いてそうなところをうろうろしています。 【IIJ 2019 TECHアドベントカレンダー 12/2(月)の記事です】 こんにちは、IIJ 金子です。 日は8月に行った、 Maker Faire Tokyo 2019 でのイベント無線LAN提供の様子についてお話します。 はじめに 以前ブログの「Maker Faire Tokyo 2019 準備レポート 最終回」でもご紹介がありましたが、IIJイベントにてスポンサーとして出展するのみならず会場の一部エリアにおいて来場者の方を対象に公衆無線LANサービスを提供致しました。その様子については Maker Faire Tok

    Maker Faire Tokyo 2019でイベント無線LANを提供してきましたレポート | IIJ Engineers Blog
    igrep
    igrep 2019/12/02
  • 状態機械を合成してデッドロックを検出できる Go 言語パッケージを作ってみました - チェシャ猫の消滅定理

    はじめに マルチスレッドで動作するプログラムの設計は難しい問題です。個々のスレッドの動作は単純に見えても、複数が並行して動作する場合の動作は組み合わせ論的に複雑になります。また、タイミングに依存する不具合は狙って再現することが難しく、通常の単体テストによる検出にも限界があります。 そんなとき、有効な手法がモデル検査です。システムの取りうる状態をあらかじめ網羅的に探索することで、「実際に動作させた際にごく低い確率で踏むバグ」であっても、動作させることなく設計段階で発見することが可能になります。 ところでちょうど先日、デッドロック発見器を自作するハンズオンに参加する機会がありました。内容は非常にシンプルなモデル検査器を実装するというもので、せっかくなのでそのときの成果物を Go のパッケージとしてまとめたものを以下に公開しました。 github.com 以下、このパッケージで何ができるのかを具

    状態機械を合成してデッドロックを検出できる Go 言語パッケージを作ってみました - チェシャ猫の消滅定理
  • crontab database ~君がしでかしてくれたもの~ - Qiita

    この記事は番環境でやらかしちゃった人のアドベントカレンダー2日目の記事です。 内容的にそろそろ時効だと思うので供養のために書きました。 追記。そういえば時期をちゃんと書いてなかったけど事件が起きたのは去年2018年、つまり仕込み(ヲイ)は2017年の話です ぶっちゃけネタ記事ですw (たまたま見つけて参加してみただけなのに昨日の記事の伸びっぷりを見て戦々恐々としてる TL;DR DB移行作業において、テスト期間中は常に最新のデータで処理できるように書いておいたプログラムをcrontabで実行していた。最終的に番に合わせて日時を調整していたが、そのことを失念し1年後に再実行されてしまい、番データが1年前に巻き戻る事故発生。 crontab は分、時、日、月、曜日を指定できるが、1年後に帰ってくるから気をつけてね。という話。 惨劇はなぜおこってしまったのか 結論から言えばcrontabの

    crontab database ~君がしでかしてくれたもの~ - Qiita
    igrep
    igrep 2019/12/02
    それでなくともcronは罠が多いよね…
  • PDFから「使える」テキストを取り出す(第2回) - golden-luckyの日記

    昨日は、PDF来の用途は「人間がPDFをビューワーで開いて読む」ことなので、そこから文字を抜き出すのは一筋縄ではいかない、という話をしました。 ではどうすればPDFファイルの中からテキストを取り出せるの、というのが今日の話の出発点です。 まず昨日の記事で、「PDFには国際的な規格があり、これはAdobeから『PDFリファレンスマニュアル』という形で無償で入手できる」という話をしたことを思い出してください。 昨日は話のついでみたいな感じで書きましたが、実を言うと、このリファレンスの中に、「PDFファイルの中に書き込まれているグリフを表示するための情報からUnicodeなテキストを取り出す手法」がちゃんと書いてあるのです。 具体的には、『PDFリファレンスマニュアル第6版』の §5.9 "Extraction of Text Content"に、その情報が一応整理されています。 ただし、言

    PDFから「使える」テキストを取り出す(第2回) - golden-luckyの日記
    igrep
    igrep 2019/12/02
  • GitHub - k16shikano/hpdft: tools to poke pdf using haskell

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - k16shikano/hpdft: tools to poke pdf using haskell
  • 初心者が3日間で基板設計〜販売まで体験してきた話 in 深セン #iotlt - Qiita

    こんばんわ!IoTLTアドベントカレンダー1日目です! 11月の上旬にハードウェアのメッカである深セン(中国)に行ってきたんですけど、そこで人生で初めての基板設計を体験し、製造、出展、販売までをしてきて、 こんなに短い期間でハードウェアを作って売り上げを作ることが出来るのか!という衝撃と感動があったので記録しておきたいと思います。 先に言っておくと、僕が今回言いたいのは 「ハードウェアを作る障壁(知識、時間、金額など)って予想以上に低くなってるから、みんなチャレンジしてみよう!」 みたいな感じです。 そんな雰囲気で読んでもらえたら幸いです :) 3日間で基板製造?!! きっかけは僕が主催しているIoTLTというIoTコミュニティのメンバーである総統の発言がきっかけです。 総統: 「(深セン)3日間で基板設計して販売までしてみませんか?」 (ちなみに僕は基がWebエンジニアで 基板設計は全

    初心者が3日間で基板設計〜販売まで体験してきた話 in 深セン #iotlt - Qiita
    igrep
    igrep 2019/12/02
    "今回言いたいのは 「ハードウェアを作る障壁(知識、時間、金額など)って予想以上に低くなってるから、みんなチャレンジしてみよう!」" 素晴らしい
  • Vimプラグイン"の"カテゴリまとめ - Qiita

    Vimのプラグインがたくさんあってなにがどうなっているかの整理できていない!という人向けによくあるプラグインのカテゴリをまとめてみました。プラグインを見つけた際にどこらへんに該当するかなーと判断の参考にしてもらえればと思います。 はじめに 対象はVim初心者から中級者一歩手前くらいを想定しています。 プラグイン自体の説明はあまりするつもりはないので、リンクのGitHubのREADMEを読むなり使ってみるなりしてみてください。 表の中の四角括弧[]は機能が重複しているプラグインです。同じようなプラグイン複数入れると良からぬことが起こるのでいずれか一つを試すのがよいと思います。 個人的によく使う特におすすめのものは★を書いておきます。(ちなみにNeovim使いです) プラグインのカテゴリ プラグインマネージャー まずはプラグインをいれるためのプラグイン(GitHubからダウンロードしたり、読み

    Vimプラグイン"の"カテゴリまとめ - Qiita
    igrep
    igrep 2019/12/02
    結構知らないのあるなぁ。この辺は入れたけど使わないみたいなことをなんどもしているので保守的になってしまう、けど気が向いたら見直すか
  • OkHttpを使った場合にWebViewのJavascriptInterfaceはどう呼ばれるか軽く調べてみた - Qiita

    AndroidのWebViewでは、addJavascriptInterfaceという、JavaオブジェクトをWebViewに埋め込む機能があります。これにより、WebView内で表示しているWebページに埋め込まれたJavascriptから、当該Javaオブジェクトで定義されたメソッドを呼び出せるようになります。 今回は、WebViewでのHTTP通信にOkHttpを利用した時、WebViewのコールバックメソッドはどう呼ばれるか軽く調べてみました。 読むのがめんどくさい方は最後の「まとめ」だけを読んでいただいてもよいです。 WebViewを使用するActivityの実装 WebViewを使用するActivityのソースコードはこんな感じです。 サンプルコードがお粗末なのはご愛嬌です。 class MainActivity : AppCompatActivity() { companio

    OkHttpを使った場合にWebViewのJavascriptInterfaceはどう呼ばれるか軽く調べてみた - Qiita
    igrep
    igrep 2019/12/02
    絶対これHaskell関係ないだろと思って読んでたら唐突にSpockが出てきたw
  • アライメントとか、ワード境界とか

    これだけは覚えよう 変数はその長さで割り切れる番地に置くべし 原因と原理 アライメントとかワード境界とか言う話の原点は、プロセッサとメモリをどうつないでいるかという点からスタートしています。ですからまず、ソフトウェアの話ではなくハードウェアの話から入ります。 プロセッサの話をするとよく出るのが「ビット幅」の話です。あれは32ビットプロセッサだとか、これは128ビットプロセッサだとかいう表現をされ、性能指標のひとつとしてよく登場します。大体ビット幅は「レジスタ長」か「データバス幅」かのどっちかです。こっから先では「レジスタ長 = データバス幅」で話をします。 同じクロックの8ビットプロセッサと32ビットプロセッサを比較すると、大体32ビットプロセッサのほうが高速に動作します。これは、32ビットプロセッサのほうが一度に読めるデータの量が多いことに起因します。8ビットプロセッサ用の8ビットRAM

    igrep
    igrep 2019/12/02
  • 「根拠が必要」「論理の飛躍」「イイネ!」 准教授がアスクルで作ったレポート指導用スタンプが「最高」と話題

    「これまでの経験とTwitterの先行事例などを参考にアカデミック・ライティング指導用のスタンプをつくってみた」というツイートが話題を呼んでいます。これは汎用性が高すぎる……! 話題のツイートを行ったのは、社会学、都市研究、メディア研究を行う尚絅学院大学の菊池哲彦准教授(@a_kick)。Twitterで見かけた「卒論添削用のゴム印」のアイデアを基に、12種類のゴム印をアスクルで発注したといいます。 アカデミック・ライティング指導用のスタンプ 内容は「イイネ!」「段落頭一字下げ」「口語・体言止め不可」「説明不足」「論理の飛躍」「単なる感想」「根拠が必要」「段落を変える」「主語と述語が非対応」「改行不要」「出典を示す」「図表番号・タイトル追加」といったもので、学生が提出したレポートなどに対する指導を行う際、このスタンプを使えば採点がはかどるのです。 このスタンプには「欲しい!」「最高です!」

    「根拠が必要」「論理の飛躍」「イイネ!」 准教授がアスクルで作ったレポート指導用スタンプが「最高」と話題
    igrep
    igrep 2019/12/02
    普通に大学生協で売れそう
  • JavaScriptのリファクタリングツール「jscodeshift」の使い方 - Qiita

    はじめに JavaScriptのコードを一括で変換したり修正したい場合、正規表現などを使い置換しますか? シンプルなケースであればそれでも問題ないですが、複雑な変換であればASTベースでコードを自在に変換できる「jscodeshift」が便利です。 jscodeshiftを利用すると、以下のようなことができます。 例) functionで書かれた関数をアロー関数に一括で変換 target/arrow-function/index.js const fn = function() { console.log("foo"); }.bind(this); [1, 2, 3].map(function(v) { return v * v; }); Promise.resolve() .then(function() { console.log("foo"); }) .then(function()

    JavaScriptのリファクタリングツール「jscodeshift」の使い方 - Qiita
    igrep
    igrep 2019/12/02
    おっ、ここまで詳しい解説は初めてみるね。
  • Haskellライクな構文をEgisonに実装している話 - momologue

    これは言語実装Advent Calendar 2019の2日目の記事です。 私は少し前から、楽天技術研究所でEgisonの開発アルバイトをしています。入社してから初めての大きなプロジェクトとしてEgisonの構文を新しくするというのを担当しているので、その紹介と、設計/実装で悩んだ(でいる)ことなどを書こうと思います。 Egisonとは Egisonについて聞いたことがないという人はとりあえず公式サイトを見てほしいのですが、概要としては 表現力豊かなパターンマッチ(非線形パターン*1など) (上のパターンマッチを利用して実装された)数式処理システム を強みとし、プログラムや数式を簡潔に記述できることに重きを置いているプログラミング言語です。 これまでEgisonはS式(Lispのようなカッコが多い文法)の構文を持っていましたが、Lispに習熟している人を除く大抵の人にとってはS式はあまり読

    Haskellライクな構文をEgisonに実装している話 - momologue
  • Haskell で GitHub Actions する

    記事は「Haskell Advent Calendar 2019」の2日目の記事です. 2019/11/13 に GA された GitHub Actions を使って,Haskell プロジェクト,とりわけ Haskell Stack を使ったプロジェクトを CI/CD します. ちなみに,試すために導入した PR はこれです: 自動ビルドを追加 by matsubara0507 · Pull Request #1 · matsubara0507/octbook これは適当な設定ファイルから GitHub の Organization や Organization の Team 機能にユーザーを招待したりキックしたりするための CLI ツールです. Cabal の場合 はわりかし簡単. Haskell のセットアップは公式がすでに用意してくれてるのでこれを使えば良い: actions/s

  • VisualStudioCodeのタスク設定を書かずに、タスク機能を使う - Qiita

    知ってるようで知らないタスク機能を解説します。 Visual Studio Codeには、コマンドランチャーであるタスク機能が付属しています。 タスクの種類には2種類あります。 環境から検出し、自動で作成されるタスク .vscode/tasks.json に記述し、コマンドなどすべての情報を記述するタスク この自動で検出するタスクについて、解説します。。 実際にコマンド『Tasks: Run Task』を実行すると、『configured tasks』と『detected tasks』に分かれていることがわかります。 『configured tasks』は.vscode/tasks.jsonで設定したタスクになり、『detected tasks』は拡張機能のタスクプロバイダーがプロジェクトディレクトリから検出したタスクになります。 各タスクの前に書かれている「npm」「tsc」が検出したタ

    VisualStudioCodeのタスク設定を書かずに、タスク機能を使う - Qiita
  • THETAにお手軽Linux環境を内包させる - Qiita

    この記事は IoTLT Advent Calendar 2019 の2日目の記事です。 はじめに リコーの @KA-2 です。 弊社ではRICOH THETAという全周囲360度撮れるカメラを出しています。 RICOH THETA VやRICOH THETA Z1は、OSにAndroidを採用しています。Androidアプリを作る感覚でTHETAをカスタマイズすることもでき、そのカスタマイズ機能を「プラグイン」と呼んでいます(詳細は記事の末尾を参照)。 と、定型文をかきつつ、、、 今回の記事はプラグインの仕組みや知識を利用した新しいTHETAカスタマイズ方法についてまとめました。 タイトルをみて「adb shellの話?」と思った方、「遠からず」ですが、もっと自由度がある環境にする話です。 adb shellを上手に利用したAndroidアプリをTHETAにインストールします。そうすると

    THETAにお手軽Linux環境を内包させる - Qiita
  • obnizでRFIDタグを使ってユーザー名とID認証やってみた - Qiita

    とのことなので、今回は5Block目にユーザー名を書き込んでいこうかと思います。 1Block当たり16Byteなので、Byte→Char変換で16文字は書き込めますね。 プログラム 早速プログラム。 長い印象を受けますが、大体obniz公式ドキュメントのコピペです。 obniz公式ドキュメントではバイト列の書き込みしかやってないのでUTF16への変換だけ書きました。 まあいうてJSの関数使うだけ。ほんとJSって簡単ですね...C辛い 5Block目に"k_zoo"と書き込みました。 また、読み取ったときの見やすさ的に16バイトの残りの部分を[space]で埋めてます。 alert関数はブザーを鳴らしてます。 やっぱりカードかざした時に”ピピッ”ってなって欲しくないですか?俺は欲しい。 <html> <head> <meta name="viewport" content="width=d

    obnizでRFIDタグを使ってユーザー名とID認証やってみた - Qiita
    igrep
    igrep 2019/12/02
  • なぜasyncの中でformat!を使うとエラーが出るのか - Qiita

    2019年11月にリリースされたRust 1.39では,非同期プログラミングを支援するためにasync/awaitが言語機能として導入されました. 機能自体の解説は「Rustの非同期プログラミングをマスターする」などを読んでいただくと良いでしょう. 稿ではasync/awaitの基的な知識は前提としたうえでformat!との組み合わせにより生じる不可解なエラーについて解説します. エラー例 次のコードはStringを受け取るasync fnにformat!で作成した文字列を渡し,awaitしています. async fn take_string(_: String) {} fn main() { tokio::spawn(async { take_string(format!("")).await; }); } $ cargo c Checking crate_name v0.1.0 (

    なぜasyncの中でformat!を使うとエラーが出るのか - Qiita
    igrep
    igrep 2019/12/02
    わかりやすい。バグ自体はともかくSendの話は当面消費期限が切れないだろう
  • Webパフォーマンスの振り返り 2019 - Webパフォーマンスについて

    2019年も、残り一カ月となりました。 今年もWebパフォーマンスのAdventカレンダーを今年も開催したので、その初日のエントリーとして、今年のWebパフォーマンスを振り返ります。 今年は法制面で、経産省が坦々と進めてきた制度整備が大きな目玉でした。 従って、法制度の話が中心です。 エンジニアは、技術だけではなく、関連する法制度もしっかりと理解しなければいけません。 品質保証前夜 ついに、2020年4月1日の改正民法債権法施行まで、4か月となりました。 未だに、改正民法債権法を知らない人は多く、施行後、それなりにトラブルが生じると予想されます。 今一度、改正民法債権法で、Webサイトに関連する箇所をおさらいしましょう。 契約不適合責任 今回の民法債権法改正で、大きく変わるのが、ドイツやフランス由来の大陸法から、英米法へ軸をシフトする点です。 今回の民法債権法の改正は、日がウィーン売買条

    Webパフォーマンスの振り返り 2019 - Webパフォーマンスについて