タグ

2016年10月7日のブックマーク (17件)

  • Martin Fowler's Bliki (ja)

    ここは、Martin Fowler's Blikiの日語翻訳サイトです。Martin Fowler氏人の許可を得て公開しています。データはGitHubで管理していますので、どなたでも翻訳に参加することが可能です。 ※現在、移行中につき、Markdown形式になっていないものが多々あります……。PRいただけると大変ありがたいです。 API design / agile / agile adoption / agile history / application architecture / application integration / bad things / build scripting / certification / clean code / collaboration / computer history / conferences / continuous deliv

  • もはや若くないし、頭も悪くなったから、いまテスト駆動開発(TDD)、ドメイン駆動設計(DDD)、DCIを学んでる - 石橋秀仁(zerobase)書き散らす

    今年はプログラミングに再入門してます。 もはや若くないので、自分の「頭の悪さ」を受け入れて、それでも読み書きできるコードを模索してます。 ここでいう「頭の悪さ」とは、「大きなクラスや長いメソッドを理解できない」という脳のスペック的な意味です。 ぼくは二十代の頃と比べて頭が悪くなってしまったので、DDD(ドメイン駆動設計)、TDD(テスト駆動開発)、DCI(データ・コンテキスト・インタラクション)といったソフトウェア工学の成果に興味を持ってます。 抽象度の高いドメインモデリングとかプログラミングって、一見頭がよさそうに見えるかもしれませんが、むしろ(上記の意味で)「頭が悪い」人にこそ必要なんです。 頭が良かったら、もっとCPUに寄り添った高速なコードをすらすら書けるわけです。 頭が悪かったら、人間のメンタルモデルに寄り添った読みやすいコードを書くしかないわけです。 だから、一見高度で抽象的で

    もはや若くないし、頭も悪くなったから、いまテスト駆動開発(TDD)、ドメイン駆動設計(DDD)、DCIを学んでる - 石橋秀仁(zerobase)書き散らす
    syuu256
    syuu256 2016/10/07
  • 分散オブジェクト・アーキテクチャ/ドメイン指向アーキテクチャ - 石橋秀仁(zerobase)書き散らす

    これから述べる分散オブジェクト・アーキテクチャに近いフレームワークやアプリケーションの実装がすでにあれば教えて頂けると助かります。 背景:ゼロベースの管理会計システムを開発するよ。 (凡例:追記と削除) 目的 ドメイン駆動設計(DDD)を原理的に突き詰めたアーキテクチャによって、オブジェクト指向プログラミングの作業から、インフラストラクチャ層に関する配慮がほとんど不要になる。SQLもデータスキーマ設計も不要になる。 といっても、Ruby on RailsのActiveRecord的な話ではないので、誤解なきよう。むしろ正反対。リレーショナル・データベースを使わない。 ドメインのオブジェクトをシンプルに書けばシステムが実現するようになる。一言で言えば、「GOOS/DDD原理主義者のためのフレームワークが欲しい」という話。 ウェブ・アプリケーションの三層アーキテクチャ再考 ウェブ・アプリケーシ

    分散オブジェクト・アーキテクチャ/ドメイン指向アーキテクチャ - 石橋秀仁(zerobase)書き散らす
    syuu256
    syuu256 2016/10/07
  • データベースを使った永続化への復讐 - 石橋秀仁(zerobase)書き散らす

    『分散オブジェクト・アーキテクチャ/ドメイン指向アーキテクチャ』について考えるなかで、「永続化」への理解が深まった。というか、このアイデアについて人と話してもかみ合わない理由が分かった。とどのつまり、ぼくが独特な感覚を持つマイノリティだったのだ。 たぶん、ふつうのプログラマから見れば、おそろしくどうでもいいことにこだわっている、ように見えるだろう。 信仰告白 ぼくは現在主流の「データベースを使った永続化」が大嫌いだったんだ。ORMとか一体何なんだ。知らんわな。なんでプログラムを書くのにSQLを書かなきゃならんのだ。(※個人的な感じ方の問題です) 「RDBからSQLでデータをとってきてHTMLで整形して出力するPHPプログラミング」なんて二度とごめんだ。データベースのために働いてるみたいじゃないか。(※個人的な感じ方の問題です) 「データベースを使った永続化」が行き過ぎると「データベース中心

    データベースを使った永続化への復讐 - 石橋秀仁(zerobase)書き散らす
    syuu256
    syuu256 2016/10/07
  • The Twelve-Factor App (日本語訳)

    はじめに 現代では、ソフトウェアは一般にサービスとして提供され、Webアプリケーション や Software as a Service と呼ばれる。Twelve-Factor Appは、次のようなSoftware as a Serviceを作り上げるための方法論である。 セットアップ自動化のために 宣言的な フォーマットを使い、プロジェクトに新しく加わった開発者が要する時間とコストを最小化する。 下層のOSへの 依存関係を明確化 し、実行環境間での 移植性を最大化 する。 モダンな クラウドプラットフォーム 上への デプロイ に適しており、サーバー管理やシステム管理を不要なものにする。 開発環境と番環境の 差異を最小限 にし、アジリティを最大化する 継続的デプロイ を可能にする。 ツール、アーキテクチャ、開発プラクティスを大幅に変更することなく スケールアップ できる。 Twelve-F

    syuu256
    syuu256 2016/10/07
  • JavaScriptで説明するオーバーロード解決 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    型クラスの話をしました。 入門的ではない型クラスの話:Haskellの型クラスがぁ (´^`;) オーバーロードは何故にかくも難しいのか:Haskellの成功と失敗 Haskellの型クラスに関わるワークアラウンド Haskellの型クラスは元祖・型クラス*1なんですが、なんか残念な仕様です。整合性が歪んでいる理由は、オーバーロード機能を優先しているからです。その分、構造としての型を記述する機能は犠牲になっています。トレードオフだから仕方ないけど。 ところで、オーバーロードの解決(多義性の解決)って、どうやるんでしょうか? そのメカニズムをJavaScriptのサンプルコードを使って説明します。 なお、「多相とオーバーロードはどう違うか」とかの話は、どうでもいい割に議論すると消耗してバカバカしいので一切触れません。(ちなみに、「並列と並行の違い」なんて議論も時間の無駄。暇つぶし以上の意味は

    JavaScriptで説明するオーバーロード解決 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    syuu256
    syuu256 2016/10/07
  • なんだかんだで SPA から jQuery に戻った話 - ボクココ

    最近は SPA とか React といった話題が尽きないが、自分は結局 フロントエンド JavaScript は jQuery が最もいいと感じている。それはそれら SPA の JavaScript をいじった経験を踏まえての感想。 理由としては、「 やりたいことができにくい 」これに尽きる。 最新を追うということ 自分が最初にSPAを触ったのは AngularJS だった。なるほど、この ng-repeat や $route, $scope などを使えば、今までサーバサイドでやってたようなレンダリングが表側で制御できるようになる!と感動したものだった。この気持ち良さはきっとサーバーサイドでごにょごにょやっていた経験のある人ならなおさら感動するものだ。 さて、じゃあといって「次作るのは SPA のサービスにしよう!」と意気込んで初めて見たとする。それで作っただけで話題になるし、エンジニア

    なんだかんだで SPA から jQuery に戻った話 - ボクココ
    syuu256
    syuu256 2016/10/07
  • 知っておきたい!Herokuを使う上では当たり前?の16の常識 | mah365

    Herokuの公式ドキュメントは英語なので読みづらいですよね。herokaijp/devcenterのように、有志が日語訳してくれているドキュメントもありますが、その中でも特に抑えておきたい16個の常識について挙げてみました。(16日に公開する予定の記事なので、何となく16個挙げてみました。。) (補足)Herokuを使う上での登場人物の名前 Dyno 「だいの」と呼びます。1Dynoと言ったとき、一つサーバが立ち上がっているようなものだと考えて下さい。 Routing Mesh Herokuアプリにアクセスがあったときに、Dyno間の負荷をロードバランスしながらリクエストを振り分ける機構をRouting Meshと呼びます。たまに「Router Error」というログを吐くのですが、そのとき障害が起こっている場所はここです。 常識1. Dynoは1時間アクセスがないとアイドル状態になる

    知っておきたい!Herokuを使う上では当たり前?の16の常識 | mah365
  • React+Redux入門 - Qiita

    ※この記事を書いたのは2016年4月です。Qiitaでは記事をアップデートするとその日付のみが表示されていまうため、新しい記事のように見えるかもしれませんが、現代ではもっと進化していることにご注意ください。素直にReact Hooks を使いましょう。あと Redux は用法用量を守って気をつけて使ってください。なんならReduxは使わない方がいいでしょう。 最近のモダンなウェブフレームワークと言えば、React+Reduxですよね。でも、なんか難しそうとか、ReactってPHPみたいにViewにロジック混ざりそうとか感じて尻込みしていませんか?それはただの誤解かもしれません。React+Reduxはそんなに難易度の高いものではありません。ただ単に、新しい概念で構成されているから、カルチャーショックのようなものがある、というだけのことです。React+Reduxに入門してみましょう。 僕自

    React+Redux入門 - Qiita
    syuu256
    syuu256 2016/10/07
  • GitHub - bang590/JSPatch: JSPatch bridge Objective-C and Javascript using the Objective-C runtime. You can call any Objective-C class and method in JavaScript by just including a small engine. JSPatch is generally used to hotfix iOS App.

    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 - bang590/JSPatch: JSPatch bridge Objective-C and Javascript using the Objective-C runtime. You can call any Objective-C class and method in JavaScript by just including a small engine. JSPatch is generally used to hotfix iOS App.
    syuu256
    syuu256 2016/10/07
  • HashiCorp社が出したVaultとはどういうものなのか - 理系学生日記

    HashiCorp 社から、新たなソフトウェアである Vault by HashiCorp がリリースされました。 - HashiCorp Blog: Vault この Vault について、Getting Started を一通り実施した後に Docs の一部を確認してみたので、簡単にその内容をまとめてみます。 Vault とは何なのか Vault を一言で言うと、機密情報(Secret) を管理するツールです。 これだけ IT が広がっている現在、機密情報の範囲も広がり続けており、データベースにアクセスするためのユーザ/パスワードや、連携するシステムの API キー等、多岐に渡ります。こういった情報、おまえのところのシステムではどう管理してた?XML に生で書いてる、あるよねそういうの。jdbc.properties に直書き、うんうんわかるわかる。ちょっとがんばったら crypt で

    HashiCorp社が出したVaultとはどういうものなのか - 理系学生日記
    syuu256
    syuu256 2016/10/07
  • LINE DEVELOPER DAY 2016 開催のお知らせ « LINE Engineers' Blog

    LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog saegusa2017-04-16Yoshihiro was a network engineer at LINE, responsible for all levels of LINE's infrastructure. Since being named Infra Platform Department manager, he is finding ways to apply LINE's technology and business goals to the platform. こんにちは。LINEでネットワークやデータセンターを担当している三枝です。2017年1月にJANOG39で登壇する機会を頂きましたので、今回

    LINE DEVELOPER DAY 2016 開催のお知らせ « LINE Engineers' Blog
    syuu256
    syuu256 2016/10/07
  • サーバのトラブルシューティングにsysdigが使えそう - $web->{note};

    sysdig とは? Sysdig is open source, system-level exploration: capture system state and activity from a running Linux instance, then save, filter and analyze. Think of it as strace + tcpdump + lsof + awesome sauce. With a little Lua cherry on top. http://www.sysdig.org/ 上に書いてある通り、一言で言うと strace + tcpdump + lsof + α。tcpdumpのように-wで書き出して-rで読み込めるのがありがたい。 高機能過ぎてまだ全然使いこなせてないけど、ぱっと触った感じ使えそうだなと思ったものを紹介。 1. プロ

    サーバのトラブルシューティングにsysdigが使えそう - $web->{note};
    syuu256
    syuu256 2016/10/07
  • KVTOTO > Link Resmi Situs Toto Macau Dan Bandar Toto Macau Di Asia

    SELAMAT DATANG DI KVTOTO SITUS TOTO MACAU RESMI TERPERCAYA DAN BANDAR TOTO MACAU TERBESAR SEASIA KVTOTO > Link Resmi Situs Toto Macau Dan Bandar Toto Macau Di Asia KVTOTO adalah situs resmi yang aman untuk main toto Macau 4D. Para penggemar judi togel di Asia bisa menikmati permainan ini. Sebagai agen togel terbaik, KVTOTO menawarkan permainan toto Macau dan lainnya. Anda bisa bermain dengan nyama

    KVTOTO > Link Resmi Situs Toto Macau Dan Bandar Toto Macau Di Asia
    syuu256
    syuu256 2016/10/07
  • テスト自動化ツール Gaugeの紹介 - Qiita

    ThoughtWorks社が開発しているテスト自動化ツール「Gauge」の紹介です。 http://getgauge.io/ 概要 golangで書かれたオープンソースのテスト自動化ツール Markdownでテスト仕様を記述する。様々なフォーマットのドキュメントを生成 データ駆動実行。テスト仕様の可読性を保ちながら、大きなデータセットを容易にテスト可能 2016年8月現在まだベータ版とのことですが、気になるので触ってみようと思います。 使い方 公式のGET STARTEDに沿って進めてみます http://getgauge.io/get-started/index.html Gaugeのインストール MacなのでHomebrewからインストールします。 WindowsLinuxではパッケージが用意されているのでそちらを利用して下さい。

    テスト自動化ツール Gaugeの紹介 - Qiita
    syuu256
    syuu256 2016/10/07
  • SingleStore | The Real-Time Data Platform for Intelligent Applications

    SingleStore wins five 2024 TrustRadius TopRated awards — including our first for Vector Database.Read more →

    SingleStore | The Real-Time Data Platform for Intelligent Applications
    syuu256
    syuu256 2016/10/07
  • Apache Mesos

    Program against your datacenter like it’s a single pool of resources Apache Mesos abstracts CPU, memory, storage, and other compute resources away from machines (physical or virtual), enabling fault-tolerant and elastic distributed systems to easily be built and run effectively. Download Mesos Mesos 1.11.0 Changelog What is Mesos? A distributed systems kernel Mesos is built using the same principl

    Apache Mesos
    syuu256
    syuu256 2016/10/07