タグ

Yasunのブックマーク (441)

  • 「依存性逆転の原則」の自分なりの解釈 - 圧倒亭グランパのブログ

    「依存性逆転の原則(DIP:Dependency Inversion Principle)」に関して考える機会があり、自分なりに言語化できそうなのでまとめます。ご指摘は大歓迎です。 目次 目次 TL;DR 考えるきっかけ 具体例から紐解いていく べた書きのモジュールA モジュール分割による依存性の出現 モジュールの安定性 安定依存の原則 (SDP: Stable Dependencies Principle) 間違った「依存方向の逆転」 DIPに基づいた「依存方向の逆転」 まとめ TL;DR より安定したモジュールの方向へ依存するよう設計し、ソフトウェアの安定性を高めることが重要 不安定なモジュールが 依存されている と修正範囲が大きくなるため、 依存されない ようにしたい。そのために、依存方向を逆転させたい DIPは「モジュールへの依存方向は逆転可能」ということを示し、「その方法」を解説

    「依存性逆転の原則」の自分なりの解釈 - 圧倒亭グランパのブログ
    Yasun
    Yasun 2019/12/30
  • なぜKubernetesを使うべきではないのか? スタートアップにおけるオーケストレーションの必要性を考える

    コンテナを取り巻く環境を振り返る 九岡佑介氏(以下、九岡):こんにちは。さっそく始めさせていただきます。九岡と申します。freee株式会社でSREの仕事をしています。ソフトウェアエンジニアなんですが、自称しているのはOSSデベロッパーです。 freee仕事以外にチャットワークという会社で技術顧問もしています。GitHubTwitterはmumoshuという名前でやってます。 三度の飯よりOSSのメンテナンスが好きで、趣味と実益を兼ねてkube-awsというKubernetesのインキュベータのプロジェクトのメンテナーをしているのと、そのほかにAzureのbrigadeなど、さまざまなコミュニティを作ってKubernetes関係のOSSをメンテナンスしてます。 今日はKubernetes on AWSだけじゃなくて、それとAWSで利用できる、似たような用途で使えるサービスとを比較しながら

    なぜKubernetesを使うべきではないのか? スタートアップにおけるオーケストレーションの必要性を考える
    Yasun
    Yasun 2019/01/01
  • Dockerにおけるボリュームのマウント - logicoffee プログラミング勉強日記

    Dockerを使う際, ホストマシン上のボリュームをコンテナ内にマウントしたい場面が多々あります. 記事ではDockerにおけるマウントについて深く掘り下げていきます. 記事にはMacだけにしか適用できない事柄を含みます(私がMacを使っているので). その場合はそうだとわかるように断りを入れることとします. マウントとは ホストマシンとは Dockerにおけるマウントの指定 1. Dockerfile 書式 挙動確認 なぜホストマシンのディレクトリを指定できないのか. 2. Composeファイル 書式 挙動確認 例1 例2 例3 3. コマンドライン MySQLにおけるマウント マウントとは ボリュームのマウントとは, 平たく言えばホストマシンとコンテナでファイルを同期することですね. たとえばホストマシンの~/workとコンテナ内の/myappを同期させ, 片方でファイルを編集す

    Dockerにおけるボリュームのマウント - logicoffee プログラミング勉強日記
    Yasun
    Yasun 2018/11/10
  • Goはオブジェクト指向言語だろうか? | POSTD

    “オブジェクト指向”の意味を当に理解するには、この概念の始まりを振り返ることが必要です。最初のオブジェクト指向言語はSimulaという言語で、1960年代に登場しました。オブジェクト、クラス、継承とサブクラス、仮想メソッド、コルーチンやその他多くの概念を導入した言語です。おそらく最も重要なのは、データとロジックが完全に独立したものであるとする、当時では全く新しい考え方をもたらしたことでしょう。 Simula自体には馴染みがない方も多いかもしれませんが、Simulaからインスピレーションを得たとされるJavaC++、C#、Smalltalkといった言語は皆さんよくご存知でしょう。さらにそこからインスピレーションを得たものとしてObjective-CやPythonRubyJavaScriptScalaPHPPerlなど様々な言語があり、Simulaは現在使用されているポピュラーな

    Goはオブジェクト指向言語だろうか? | POSTD
    Yasun
    Yasun 2018/10/01
    継承ではなくコンポジションを選択するという原則
  • 奇才デヴィッドフィンチャー監督映画全10作を5段階評価してみた - アノ映画日和

    新作映画公開が決定される その映画の内容に興味があろうとなかろうと 必ず観る! 名前だけでそこまで信頼できる映画監督がいったいどれだけいるだろう? 各々で違うだろうが数は少ないはず。 しかし予想するに多くの映画好きにとってこの監督はそんな存在じゃなかろうか デヴィッド・フィンチャー その人である 少なくとも僕にとってはそういう存在 ジャンル、内容にかかわらずフィンチャーが撮ったなら観る。 そんなフィンチャー大好き人間の僕がフィンチャー映画の全てを厳しくジャッジさせて頂きます。 【絶対観るべき作品たち】 【観ても損はない作品たち】 【観たいと言うなら止めはしないが...作品たち】 3つのグループに分けさせてもらいます。 そして参考指数として 「D(デヴィット)」「フィ」「ン」「チャ」「-」の5文字を星に見立てて5段階評価させて頂きます。 では早速はじめましょう。 まずはこのグループから 【観

    奇才デヴィッドフィンチャー監督映画全10作を5段階評価してみた - アノ映画日和
    Yasun
    Yasun 2018/01/01
  • bitFlyer Blog

    お金をもっと身近に。楽しく学ぶ!」をテーマにした、株式会社 bitFlyerのブログ。 お金について、世の中のちょっとした変化について、サービスの紹介などを発信しています。https://bitflyer.com/ja-jp/

    bitFlyer Blog
    Yasun
    Yasun 2018/01/01
  • ブロックチェーンを利用したストレージサービス「Storj」 - Qiita

    最近ブロックチェーンが流行っており、HyperledgerやEthereumなどのブロックチェーンのプラットフォームの開発が活発です。日は、ブロックチェーンを利用したクラウドストレージサービスの「Storj」について解説します。 Storjとは 「ストージ」と発音するようです。Storjの利用者は、P2P型のネットワークを形成したネットワーク内の他人のPCにファイルを保存し、その対価として仮想通貨(Storjcoin X: 通称SJCX)を払います。また、自分自身のPCに他人のファイルを保存すると、SJCXを受け取ることができます。 あるファイルは、断片化され暗号化された後に、複数のPCに保存されることになります。ファイルの断片の保存場所は、Storjのブロックチェーン内に保存します。従来のサーバー・クライアント型のクラウドストレージサービスと比較して、安価・安全である、というのがSto

    ブロックチェーンを利用したストレージサービス「Storj」 - Qiita
    Yasun
    Yasun 2017/12/09
  • ex-mixi Advent Calendar 2017/12/01 - masartz->log(type=>'hatenablog')

    なかなか珍しい ex-mixi(会社のOB/OG)によるAdvent Calendarの一発目をかます masartz です。 ミクシィは 2ホップ前の会社、現所属はメルカリになります。 どういうスタンスで書けば良いのかわかりませんが、各方面を考えてミクシィ時代から今に至るまで継続してることを述べていきたいと思います。 大規模であるが故の技術的な対策 mixiもメルカリも大規模と言って良いレベルのサービスで、そのための負荷対策はどのエンジニアにも求められるものです。 特にクラウドなインフラ環境が今ほど整っておらず、スケーリングに緻密な設計が求められたミクシィ時代に学んだ分散手法は今も活かされています。 ミクシィエンジニアなら、下記は L1分散作業 と表現すれば、その一言で伝わることでしょう。 tech.mercari.com こういった手法はサービス初期に用いられることは少ないでしょうし、

    ex-mixi Advent Calendar 2017/12/01 - masartz->log(type=>'hatenablog')
    Yasun
    Yasun 2017/12/02
  • 非デザイナーがナメられないための、おすすめデザインツール12選

    僕は非デザイナーですが、こちらの考えにとっても共感します。 ブログにしても、アプリにしても、イベントにしても、良いコンテンツは世の中にもういっぱい溢れていて。 気度を示し、他ではなく私たちのコンテンツを選んでもらうために、デザインにこだわるって大事だなって考えています。 おしゃれなものを作らなければいけない、と言うわけではないと思います。 使ってもらいたい・届けたい人たちに寄り添い、作りたい世界観を伝えるためのデザインにすること。 相手視点を持った思考が大事なんじゃないかなって思います。 『わかる!だけど実際難しいんだよ!』 という非デザイナーの方々に向けて、同じく非デザイナーの僕がお気に入り登録して愛用しているツールをシェアします。 有名どころも多いですが、もしご存知ないものもあったら触ってみてください。

    非デザイナーがナメられないための、おすすめデザインツール12選
    Yasun
    Yasun 2017/10/28
  • Blockchain Intelligence Groupのビジネスはかなり将来性があるもしれない - SaaS企業で働くプロダクトマネージャーのブログ

    昨日、ビットコインが原因で組織犯罪が増えているというニュースを見ました。 組織犯罪急増の原因はビットコイン オーストラリア当局 - Sputnik 日 ビットコインが原因になっているかはわかりませんが、ビットコインがまま犯罪で使われることは事実です。さて、仮想通貨は現金と比べて不正に使われるリスクが高いのでしょうか。ブロックチェーンは分散型台帳で透明性が高いので、取引情報については、各仮想通貨のエクスプローラー(台帳)でみることができます。どのアドレスからどのアドレスに仮想通貨が移動したかを見ることができます。 ビットコインのエクスプローラー:Bitcoin Block Explorer - Blockchain 例えば、下の図は大手取引所Poloniexについてイーサリアムのコールドウォレットの取引を可視化したものです。イーサリアムのエクスプローラーEtherscanの取引情報からデー

    Blockchain Intelligence Groupのビジネスはかなり将来性があるもしれない - SaaS企業で働くプロダクトマネージャーのブログ
    Yasun
    Yasun 2017/10/09
  • Layer2解説 第2回 アトミックスワップ - Tech in X

    前回、マイクロペイメントチャネルについて解説記事を書きました。通常の順序で行くと、次の記事はライトニングネットワークになりますが、ここではいったん寄り道をしてアトミックスワップ(atomic swap)を先にご紹介したいと思います。 cryptocoin.hatenablog.com というのも、マイクロペイメントチャネルとアトミックスワップの仕組みは似ており、マイクロペイメントチャネルを理解していると、アトミックスワップの話がスムーズに頭に入ってくるからです。また、アトミックスワップで使われる手法はライトニングネットワークでも利用されていることから、先にアトミックスワップを理解することでライトニングネットワークの理解が容易になります。 目次 目次 そもそもアトミックスワップとは? アトミックスワップ理解のための前提 スクリプト アトミックスワップの仕組み 基的な流れ 1. Aliceが

    Layer2解説 第2回 アトミックスワップ - Tech in X
    Yasun
    Yasun 2017/10/07
  • ブロックチェーンエンジニアは実際どのくらい必要とされているかを求人要件から考えてみる - SaaS企業で働くプロダクトマネージャーのブログ

    2018/4 追記:最新版の記事を書きました。 www.blockchainengineer.tokyo 業界が全く成熟していない状態で、こんな記事を書くのはおこがましいのですが。。。 ブロックチェーンエンジニアは実際どのくらい必要とされているか、また求められる素養について、まだまだ情報がなく指針もない状態です。 ブロックチェーンエンジニアというのは、一部の仮想通貨界隈を除いてかなりマイナー職種な気もしますが、仮想通貨、ICOバブルと共に徐々に知名度が広がって行くと思います。もしメジャーになれば、スキルセットについても、一昔前のデータサイエンティストブームのように、データサイエンティストのスキルセットなるものが整備されて行くのかもしれません。今、日に2つほどあるブロックチェーンの協会が旗振りするのかどうかは定かではありませんが。 そんな情報がない中なので、ブロックチェーンエンジニアの募集

    ブロックチェーンエンジニアは実際どのくらい必要とされているかを求人要件から考えてみる - SaaS企業で働くプロダクトマネージャーのブログ
    Yasun
    Yasun 2017/10/07
  • P2SH まとめ - Qiita

    Yasun
    Yasun 2017/09/11
  • P2SHを使ったBitcoinの送付とOpen Assets Protocolでの利用 - Develop with pleasure!

    Bitcoinを送る際に、相手の公開鍵のハッシュ値を使用するP2PKH(Pay to Public Key Hash)に対して、Scriptのハッシュ値を利用するP2SH(Pay to Script Hash)。 P2SHを使ったBitcoin送付の仕組み P2SHの仕組みは↓を参考に紐解いてく。 https://bitcoin.org/en/developer-guide#p2sh-scripts P2SHを使った基的なワークフローは下図のようになる。(P2PKHと使う場合と似てる) まずボブが任意のredeem scriptとそのハッシュを作成し、アリスにそのハッシュを提供する。 アリスは、ボブのredeem scriptのハッシュからP2SH形式の出力を作成してそこにBitcoinを送る。 ボブがアリスからもらったBitcoinを使用する際に、署名とシリアライズされたredeem

    Yasun
    Yasun 2017/09/10
  • 普通のRailsアプリをdockerで本番運用する知見

    4. 最近の活動の紹介 ブラウザにプッシュ通知できるライブラリ webpush (gem) - 最近マストドンにマージされた URLをQRコードに変換するMacアプリ LightningQR GitHubの通知をするMacアプリ NotifyHub seedを自動で作ってくれる seedbuilder (gem) パフォーマンス計測のCIサービス raysCI 開発中 最近スクラムマスターやってます

    普通のRailsアプリをdockerで本番運用する知見
    Yasun
    Yasun 2017/08/19
    “普通のRailsアプリをdockerで本番運用する知見”
  • 【図説】8月1日にUASFが実行されると、ビットコインに何が起こるのか | ビットバンク マーケット情報

    8月1日、UASF(User-Activated Soft Fork)が実施される可能性は、ほぼ確実と言ってもいい状況になりました。 UASFがわからない人向けに説明すると、UASFとは、マイナー主導ではなく、ユーザー主導でソフトフォークをアクティベートしよう、という試みになります。これは、現状におけるビットコイン・ブロックチェーンのトランザクション逼迫状況の悪化、Segwitアクティベーションの可能性が限りなく低いことを受け、それでもマイナーが歩み寄らないことに対する、ユーザーや開発者による革命行為とも捉えることができます。 ここでは、「UASFとは何か」に焦点を当てるよりも、「UASFがアクティベートされることで何が起こるのか」に焦点を当てたいと思います。実行日である8月1日まで、あと二ヶ月あるとはいえ、UASFが起こってから行動を起こしたのでは、最悪の場合資産が失われることにも繋がり

    【図説】8月1日にUASFが実行されると、ビットコインに何が起こるのか | ビットバンク マーケット情報
    Yasun
    Yasun 2017/07/17
  • 全人類の口座残高を管理する――(2) Ethereumの場合――

    ブロックチェーンや暗号通貨に関する前提知識は不要です。お気軽にお読みください。 この記事は、「全人類の口座残高を管理する――(1) Bitcoinの場合――」の続きです。 導入:「残高」はあったほうが良い ブロックチェーンで「残高」を管理しないことの嫌な点 Bitcoinのコアプロトコルが扱うブロックチェーンに刻まれているのは、全世界の全「取引」の履歴であって、そこに「残高」の情報は直接含まれていません。 論理的にはそれで構わないのですが、現実のBitcoinネットワークのノードは、新たな取引の正当性(ちゃんと取引の原資があること)を妥当な時間で検査するため、「UTXOデータベース」というものを管理する必要があります。この「UTXOデータベース」は、実質的にはブロックチェーンから派生的に計算される「残高」情報のようなものです。 この「UTXOデータベース」を管理する実装は容易というわけでも

    全人類の口座残高を管理する――(2) Ethereumの場合――
    Yasun
    Yasun 2017/07/17
  • VALU、ブロックチェーンで岐路に立つ日本のネット業界 : Market Hack

    のネット業界は今、岐路に立っています。 そう考える理由は、先日VALUというサービスが開始されたのを目撃したからです。 正直言って、これにはガツンと鈍器で殴られたような気がしました。 こういうことは、そう度々ありません。 前回、このような衝撃を受けたのは1995年にネットスケープがIPOした時です。その時のことはにも書いたので詳細は割愛します。当時は、(兎に角、一家をあげてサンフランシスコに転居するしかないな!)という焦りの気持ちで一杯だったことだけを記しておきます。 さて、題のVALUですが、これは個人の人気を、まるで株式市場のように売買できるサービスです。実は、そういうサービスを、僕はかねてから夢見てきました。下は2016年3月2日の記事です: はあちゅうサンが、仮にFacebookのような株の銘柄だったら…… その記事に書いたことが現実になったので「あっ!」と叫んでしまったの

    VALU、ブロックチェーンで岐路に立つ日本のネット業界 : Market Hack
    Yasun
    Yasun 2017/06/11
  • だんだん開発スピードが遅くなっていくのをどうやってとめたら良かったんだろう? - Mitsuyuki.Shiiba

    先日、モブプロをやってきた。その中で、モブプロとは別で、いくつか感じたことがあって、今日はその中のひとつを思い浮かんだままにメモ。 bufferings.hatenablog.com 要件を満たすプロダクトをより早く出す モブプロでTDDしながら、要件を満たすプロダクトをより早く出すことに集中してみた。例えば、第2ラウンドのお題はTDDBCなどでお馴染みの「自販機」。 「100円を入れてボタンを押すとコーラが1買えること」 最初に「100円を入れてボタンを押すとコーラが1買えること」と言われ。 assertThat(get(100), is("コーラ")); みたいなテストを書いて。 String get(int money) { return "コーラ"; } みたいな実装を書いた。爆速! 「200円を入れてボタンを押すとオレンジジュースが1買えること」 次に「200円を入れてボタ

    だんだん開発スピードが遅くなっていくのをどうやってとめたら良かったんだろう? - Mitsuyuki.Shiiba
    Yasun
    Yasun 2017/06/04
  • State of the ÐApps — A List of 1,722 Projects Built on Ethereum

    Explore decentralized applications (projects built on Ethereum)Discover the possibilities of the Ethereum blockchain with the definitive registry of ÐApp projects. Learn more about ÐApps View the top ÐAppsSubmit a ÐApp

    Yasun
    Yasun 2017/05/28