タグ

programmingに関するharutabiのブックマーク (275)

  • クライアントはいつまでサーバーを意識するべきか ~設計議論の過程~

    Facadeパターンの例として、サブシステムとしてのコンパイラーを考える。システムとしてのコンパイラーは字句解析器や構文解析器などから構成されている。これらの構成要素は、新たなコンパイラーやその他ソフトウェアを作成する上でサブシステムと… 通信処理+データ変換クラスの存在 上記のサービス層があっても、クライアントから通信するのは別のクラスに切り出さないともちろんダメ。クライアント側のモデルオブジェクトをRPCのオブジェクトに変換する、ないしレスポンスで受け取ったデータをクライアント側のデータクラスに詰めて、サービス層にコールバックで返す、みたいな処理もあるとして、それは通信処理+データ変換をしてくれるエージェント的なクラスがあった。 ということで、データの流れとしては、 View -> Controller -> Service(背後に複数のModel) -> 通信処理+ データ変換(Pr

    クライアントはいつまでサーバーを意識するべきか ~設計議論の過程~
  • 最近のデータ設計 | 株式会社データ総研

  • little hands' lab

    9999-12-31 人気&オススメ記事 / ブログ概要 ドメイン駆動設計(DDD) 当ブログについて 主にドメイン駆動設計(DDD)関連の情報を発信していきます。 Twitterアカウント @little_hand_s こちらでもDDD情報発信していくのでよろしければフォローお願いします。DDD周りでご質問などあれば気軽にリプライいただければお答えします^^ … 2022-08-15 DDDにおける値オブジェクトの位置付け(モデルとコード事例あり)[ドメイン駆動設計] ドメイン駆動設計(DDD) 株式会社ログラスの松岡(@little_hand_s)です。 最近、値オブジェクトに関して書かれているブログ記事を見ますが、 SNSなどにおいてDDDにおける値オブジェクトについて誤解されているような反応が見受けられました。 そこで、この記事では「DDDにおける値オ… 2022-06-27 アジ

    little hands' lab
  • なぜWii版マリオ64で長時間放置すると足場が浮かび上がるのか(非技術者向け解説)

    ゲームのバグって面白いですよね。進行不可能バグはもちろん論外ですが、ちょっとした不思議なバグはなかなかに楽しめます。 さて、今回話題になったのはWii版(バーチャルコンソール)のマリオ64で、「長時間たつと足場がどんどん浮き上がる」というものです。オリジナル版では起こらず、バーチャルコンソール版だけで起こるというのがミソです。 この摩訶不思議なバグがいったいどうやって起きているのか、確かめていきましょう。 話題のバグ:時間が経つと足場が浮かぶ Automatonなどで記事になった「『スーパーマリオ64』を研究するプレイヤーたちは、Aボタンを押さずステージクリアするために3日間待ち続ける」がゲーマーの間で話題になっています。 このバグは、炎の海から顔を出したり沈んだりするだけの足場が、時間が経つにつれほんの少しずつ炎の海から浮遊するというものです。ゲームを起動したまま3日間放置すると、足場が

    なぜWii版マリオ64で長時間放置すると足場が浮かび上がるのか(非技術者向け解説)
  • 第3回 -ドメイン駆動設計のための オブジェクト指向プログラミング ハンズオン"に参加してきた! - desi-gneer(designer_engineer)

    今回はasoviewさんが主催された "ドメイン駆動設計のための オブジェクト指向プログラミング ハンズオン"勉強会に参加してきました。 asoview!(アソビュー)|日最大の遊びのマーケットプレイス まえがき 最近になって、また日に日にDDDの話題を見る機会が多くなってきていますね。そんな中、今回はasoviewさんが主催された勉強会に参加してきました。 勉強会は1回2時間の勉強会を計3回実施するという、なかなか骨太な勉強会です。 (諸事情により、2回目は参加することが出来ませんでしたが…) これくらい時間をかけて行う勉強会はそう多くありませんが、 DDDを扱うにはこれくらい時間をかけて勉強会をするべきだとも思いました。 短い勉強会・発表だと、DDDの中で自分が気になっている箇所が取り扱われないこともよくありますし。 また、社内向けの勉強会を今回このように一般公開するという取り組み

    第3回 -ドメイン駆動設計のための オブジェクト指向プログラミング ハンズオン"に参加してきた! - desi-gneer(designer_engineer)
  • Gaijin Engineer in Tokyo

    Being a foreign software engineer in Tokyo has its ups and downs. If you work in a company of foreigners you’re mostly shielded from the experience, but if you work in an actual Japanese company there’s going to be some things that will shock you, some things that will amuse you, and doubtless many things that will frustrate you. This is a run-down of my own personal experiences. As with anything,

  • Clean Code vs. Dirty Code: React Best Practices

    This article will focus on clean code practices as they apply to modern React software development. I’ll also talk about some of the “sugar” that ES6/ES2015 brings to the table. What is clean code, and why do I care? Clean code is a consistent style of programming that makes your code easier to write, read, and maintain. Often a developer spends time on a problem, and once the problem is solved, t

    Clean Code vs. Dirty Code: React Best Practices
  • 江添亮の詳説C++17

    はじめに 書は2017年に規格制定されたプログラミング言語C++の国際規格、ISO/IEC 14882:2017の新機能をほぼすべて解説している。 新しいC++17は不具合を修正し、プログラマーの日々のコーディングを楽にする新機能がいくつも追加された。その結果、C++の特徴であるパフォーマンスや静的型付けは損なうことなく、近年の動的な型の弱い言語に匹敵するほどの柔軟な記述を可能にしている。 人によっては、新機能を学ぶのは労多くして益少なしと考えるかもしれぬが、C++の新機能は現実の問題を解決するための便利な道具として追加されるもので、仮に機能を使わないとしても問題はなくならないため、便利な道具なく問題に対処しなければならぬ。また、C++の機能は一般的なプログラマーにとって自然だと感じるように設計されているため、利用は難しくない。もしC++が難しいと感じるのであれば、それはC++が解決すべ

  • 真偽値を返す関数のネーミング - Qiita

    みんな exists を使ってます。 納得できようができまいが、exists なのです。 ソフトウェアの世界では、AppleMicrosoftGoogle が黒と言ったら黒です。 黙って従いましょう。 このように、関数名の表現に困ったら、世の中の API を参考にすると良いです。 非ネイティブの我々では思いつかないような的確な表現が見つかることもあります。 関数の名付け方 真偽値を返す関数は if 文で使われることが多いので、頭に if を置いて最もしっくり来る表現が良いと思います。 個人的には、真偽値を返す関数名を考えるときは以下のフォーマットに当てはめるようにしています。 if オブジェクト名 関数名 「項目が選択中だったら」なら "if item is selected" なので関数名は item.isSelected() となります。 同様に「項目が存在したら」なら "

    真偽値を返す関数のネーミング - Qiita
  • サンプルコードを見ながら理解するMVVMの基礎的な実装 - Neutral Scent

    WPFがWinFormsより敷居が高い? そりゃ、最初に掛け違ってるからですよ、きっと。 というわけで、これはXAML Advent Calendar 2014の3日目、12月3日分のエントリーです。WPF? XAML? MVVM? そんなにムズカシクないよ? というお話。 もちろんWinRTのWindowsストアアプリやWindows Phoneアプリ等、XAMLベースのプラットフォームにもほとんどすべて共通した内容です。 ここではあえて理論とか観念は説明しません。とにかくコードを見ながら仕組みと動きを理解していきます。 俺は、コードが読める、長い説明エントリーなんてめんどくせぇ、と思ったら、コード部分だけを実際に動かしながら見ていくだけでも基的な構造が十分に理解できるのではないか、と。 サンプルプロジェクト Download: SimpleMVVM.zip github: https

    サンプルコードを見ながら理解するMVVMの基礎的な実装 - Neutral Scent
  • ブラウザだけでJavaScriptを使った3Dゲーム開発ができるWebエディタ「nunuStudio」を使ってみた - paiza times

    どうも、まさとらん(@0310lan)です。 今回は、面倒な「インストール」や「ユーザー登録」など一切不要で、ブラウザから即座に起動できる無料の3Dゲーム開発エディタのご紹介です! ゲームに限らず、3DコンテンツやVRアプリに興味のある方にもオススメのサービスですよ。 【 nunuStudio 】 「nunuStudio」は、既存のWeb技術(Web GL, Web Audio, Web VR…)を融合して構築されているのが特徴で、3D描画は「Three.js」をベースにしており、物理エンジンは「cannon.js」を活用しています。 ■「nunuStudio」を始めよう! それでは、実際に「nunuStudio」の開発エディタを使ってみましょう! まず、サイトにアクセスしたら、トップ画面にあるボタンをクリックします。 いくつかの選択肢が表示されますが、ここでは「Web版」のボタンをクリッ

    ブラウザだけでJavaScriptを使った3Dゲーム開発ができるWebエディタ「nunuStudio」を使ってみた - paiza times
  • 東大のディープラーニング公開講座がヤバくていろいろ考えさせられた件|加藤貞顕

    1カ月ほど前から、東京大学の松尾研のディープラーニング公開講座に行っている。 ネットで募集していたのであわてて申し込んだら、とんでもない数の人が集まっていて熱気がすごい。学部生、院生、社会人、あわせて300人以上が同時に授業を受けている。 初回こそ、人工知能概論のような話だったけれど、2回目以降はものすごい速度で授業が進む。そして宿題の量と質もすごい。2回と3回目の授業だけで、普通の学校の半年分くらいの内容になっている気がする。東大、ほんとにやべーよ。 毎回、授業の冒頭は「ふんふん、そうか」とはじまるのだけれど、終わり間近に大量のサンプルコードを見せられて、それをすごい勢いで説明され、最後にゴツイ宿題が出る。授業終了後は、ポカーンってなる(授業中にぜんぶ理解しているひと、どれくらいいるんだろう)。 友人の物書堂の社長の広瀬くん(iPhone辞書アプリ開発の大御所!)も、たまたまいっしょに講

    東大のディープラーニング公開講座がヤバくていろいろ考えさせられた件|加藤貞顕
  • Education Ecosystem | The go-to platform for project-based learning

    Education Ecosystem is a Project-based Learning platform that teaches students how to build products using real project examples in topics such as Programming, Blockchain, Cybersecurity, Game Development, Data Science and Artificial Intelligence.

  • リアクティブDDD

    AWS データベースブログの記事 「Amazon DynamoDBによる CQRSイベントストアの構築」 を勝手に読み解く

    リアクティブDDD
    harutabi
    harutabi 2016/09/30
    集約内部のやり取りはメッセージか・・・
  • GAU-UML UMLツール

    GAU-UMLについて GAU - UML GAU-UMLとは、UMLで定義されたダイアグラム(表記法)を簡単な操作により作成できるモデリングツールです。 オブジェクト指向によるソフトウェア開発では、統一モデリング言語(UML:Unified Modeling Language)を使った分析・設計が要求されます。 GAU-UMLはモデリングをサポートするツールとして、手軽にダイアグラムを作成できます。 GAU-UMLは、株式会社フリーソフトネット社の TCLEXGAUテクノロジーを使用して作成されたソフトウェアです。 主な特徴・機能 1GAU-UMLの特徴 2GAU-UMLで作成できるダイアグラム 3GAU-UML機能一覧 4GAU-UMLご利用条件 1GAU-UMLの特徴 拡大・縮小表示が自由に行えます。 UMLによるダイアグラムが簡単な操作で作成できます。 ダイアグラムに着色し視覚的に

  • bkノート

    Google+に書いていたエッセイのアーカイブです。 すぐ置き換わるから大丈夫 #62 TeXの思い出 #61 Welcome to the industry! #60 ビルドという名のトンネル #59 キーボードを替えた話 #58 テストを実行するとログインシェルから追い出される問題 #57 シークレットストーリー #56 ドットコムバブルの思い出 #55 コミュニケーション能力とは何ぞや #54 メールで時間を無駄にしない方法 #53 パッチの数え方 #52 zipファイル中毒 #51 はじめてのIPv6 #50 最近の毛刈り #49 練習してもっと速くやるべし! #48 忍耐力指向プログラミング (Patience Oriented Programming) #47 VPNの謎 #46 ウェブプログラマへの道 #45 プログラムの見通しをよくする方法 #44 パイプがなぜか詰まってし

  • Visual Studio Codeで自由自在にUMLを描こう - かずきのBlog@hatena

    追記 私の作ったプラグインよりも、かなり出来がよさそうなものがリリースされています。 そちらを使ったほうが幸せそうです。 marketplace.visualstudio.com 文 先日PlantUMLというテキストでUMLを描くためのツールのVisual Studio Codeのプラグインを作りました。 テキストをぱちぱち書きながら、プレビューを確認できるツールです。 ということで、PlantUML + Visual Studio CodeでUMLを描く方法を書いていきたいと思います。 インストール PlantUML PlantUMLのサイトからplantuml.jarをダウンロードして任意の場所においてください。 plantuml.com Graphviz PlantUMLが内部で使ってるツールです。 Graphviz - Graph Visualization Software

    Visual Studio Codeで自由自在にUMLを描こう - かずきのBlog@hatena
  • Visual Studio の便利なのに知られていない機能

    まず、私が先日公開したブログ記事 (英語) に寄せられたあるコメントを紹介しましょう (たくさん寄せられたうちの 1 つで、その記事のコメント欄でご覧いただけます)。 Btw, "until I realized that the Solution Explorer tree nodes are searchable." This one is a saver ! (訳: ところで、「ソリューション エクスプローラーのツリー ノードが検索可能…」と書かれてていますが、こういうヒントは助かります!) この記事の中で何気なくソリューション エクスプローラーのテキストが検索可能であることに触れたのですが、それがコメントの投稿者である Sam さんの目に留まったようです。このようなちょっとした小ワザは Visual Studio にたくさんあり、中には熟練の開発者ですら知らないものもあります。こう

    Visual Studio の便利なのに知られていない機能
  • クソコードレビュー会なるものに参加してきた - そんな今日この頃でして、、、

    転職活動でもお世話になったCodeIQで↓のような問題があったので回答を出したところ、 レビュー会への招待が来ていたので行ってみた! codeiq.jp 問題 出題はじゃんけんを行うプログラムをリファクタリングするという問題。 「標準入力として与えられた文字列を2人分のじゃんけんの手として解釈して勝敗を標準出力する」というもの。 元はnode.jsだったのだが、僕はjsが不慣れだったりもするのでperlで再現。 sub func02 { my ( $a, $b ) = @_; if ( $a eq 'g' ) { if ( $b eq 'c' ) { print "win"; } elsif ( $b eq 'p' ) { print "lose"; } else { print "draw"; } } if ( $a eq 'c' ) { if ( $b eq 'p' ) { print

    クソコードレビュー会なるものに参加してきた - そんな今日この頃でして、、、
  • PowerShell is open sourced and is available on Linux | Microsoft Azure Blog

    Explore Azure Get to know Azure Discover secure, future-ready cloud solutions—on-premises, hybrid, multicloud, or at the edge Global infrastructure Learn about sustainable, trusted cloud infrastructure with more regions than any other provider Cloud economics Build your business case for the cloud with key financial and technical guidance from Azure Customer enablement Plan a clear path forward fo

    PowerShell is open sourced and is available on Linux | Microsoft Azure Blog