タグ

bufferingsのブックマーク (3,359)

  • HomebrewのインストーラーをRubyからBashに書き直しました! - プログラムモグモグ

    みなさんはHomebrewをお使いでしょうか。macOSをお使いの多くの開発者が使っていると思います。 HomebrewのインストーラーはRubyで書かれており、次のコマンドでインストールするようになっていました。 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" HomebrewがRubyに依存していることは良いのですが (formulaの書きやすさはRubyならでは)、インストーラーの話になると事情が変わってきます。HomebrewのインストールコマンドはmacOSの工場出荷状態でも動く必要があります。こういうものにRubyを使っているのはリスクがあります。 将来的にmacOSデフォルトにRubyPythonが含まれなくなる (参考リンク

    HomebrewのインストーラーをRubyからBashに書き直しました! - プログラムモグモグ
    bufferings
    bufferings 2020/03/03
    すごいなー
  • 変化はできるだけ自然にポジティブに - Mitsuyuki.Shiiba

    この数年間は、エンジニアとして他のチームに入っていって、そのチームの改善をサポートする、という活動をしてる。 そういうときに自分が意識しているのは「自然とそうなるようにする」ということ。だって、それが例え良い変化だとしても、外からやってきた人から求められてする変化ってすごいストレスだから。 ここに行けたら良さそう、というのが自分には見えたとして、 これが足りない、ああした方がいい、どうしてこんな実装なの?とか、そういうネガティブな指摘をしても、構えられるだけだし、相手のストレスになってしまうし、良いことない。 このチームってこういうところが良いね、あの部分は難しいのによくやってるね、みんなお互いに助け合ってるの良いね、とか、そういうポジティブな部分を伝えながら、できている部分を認めながら、ちょっとずつ前に進むのがいい。 色んなタイプの人やチームやマネージャーがいるから、それぞれに合ったやり

    変化はできるだけ自然にポジティブに - Mitsuyuki.Shiiba
    bufferings
    bufferings 2019/08/24
    わざわざ「自分はまだまだダメだから変わらなきゃ」って思わせる必要なくて、「自分はこういう良いところあるから、このあたりも伸ばせたらもっと良くなりそう」って思ってもらえるようにするのが好きです。
  • 組織のフェーズによって求められるものって変わっていくよなぁ - Mitsuyuki.Shiiba

    もう今の会社で10年目に突入してしまってた。こんなに長く働くと思ってなかったなぁ。しみじみ。この10年間でほんとに色んなことが毎年変わっていってて、幸せなことに僕はエンジニアとして色んなチームやサービスに関わらせてもらってきた。 そんな中で最近思うのは、組織のフェーズによって求められるものって変わっていくよなぁってこと。そこに、楽しさと、難しさがある。 特に、サービス立ち上げ期と、組織の拡大期では、求められるものが全然違うので、立ち上げ期のメンバーが組織の拡大期にマネージャーをやると悩みそう。だし、いい感じにやってる人たちはすごい。 以下、ふんいき。こんな感じする。全然まとまってなくてざざっと書くけど。 ## サービス立ち上げ期 少数精鋭のメンバーが、持ってるスキルを存分に発揮してサービスの生き残りをかけて取り組むフェーズ。 寝ても覚めてもサービスのことを考えてるような人たちが、自分たちの

    組織のフェーズによって求められるものって変わっていくよなぁ - Mitsuyuki.Shiiba
    bufferings
    bufferings 2019/08/23
    #rsgt2020 のプロポーザルの宣伝も含めてふわっと書いてみたー!
  • 大失敗した設計、そしてドメイン駆動設計の基本に立ち返る – 福地春喜のブログ

    ※ 2019年7月27日に追記しました。 この記事の最後に、失敗談の補足を書いた記事へのリンクを追加しました。 システムの一部機能を改修するテーマが現在進行中です。テーマは他の箇所に影響がないくらいに分離できるものです。この大きさが丁度いい。チャンスとばかりにリファクタリングすることにしました。 アプリケーションはそれなりにレイヤー化されています。controllerとserviceとrepositoryがある。よくある3層構造です。何を見直して再設計するのか?それはドメインオブジェクトモデルの構築です。 現状のアプリケーションはビジネスロジックをモデリングしたものとは言えない状態です。自分がやったのだけれど。しかしだからでもあります。なぜこうなったかを振り返り、どのようにできたかを考えます。失敗から学べることもあるはずです。 参照側の層は薄く?当に? 開発対象のシステムはある情報の検索

    bufferings
    bufferings 2019/07/21
    DAOだけにするならクエリ用のDBを別で作って、メインのDBからデータを変換してそのクエリ用DBに投入する部分に業務ロジックが存在しそう。かなぁ。
  • モッククラスを使うべきか否か - 日々常々

    元ネタ: モッククラス、下から見るか?横から見るか? モッククラスを使うべきか否か、というネタを拾ったので書いてみます。これまでにモックについて殆ど書いてないことに気づいて驚きつつ。 Short Answer 「モックに何をさせたいの?」 質問に質問で返すなという感じですが、モックに何をさせたいか答えてみれば、モックを使うべきか否かはだいたい決まるよなーと思うのです。 モックは道具で、使うことで何かを改善するものです。 「このことをテストしたいから、モックをこう使う。」という文脈なく使用すると、無用な複雑性を作り込むことになります。 モックの使用は負債なので、十二分に利益を見込める場合にのみ使用するものだと思っています。 これはモックに限った話ではなく、何かを便利にするために道具を追加する際は必ず付いて回るトレードオフです。 Short Answer 露払い 使うべきか否か どちらでも差が

    モッククラスを使うべきか否か - 日々常々
    bufferings
    bufferings 2019/07/19
    ドメインレイヤーはモックを使わずに速いテストが書けるはず。その周りのレイヤーのUTはインタラクションをテストしておきたいことが多いから外部との境界でモックを使うことが多いかなー。
  • Using Akka Cluster for a payment service

    ScalaMatsuri 2019 Akka Cluster を採用した決済サービスをリリースしました。このセッションでは、Akka Cluster を使った開発で苦労した点や、従来の RDB を用いた CRUD ベースのシステムから、どのようにしてアクターモデルやイベントソーシング・CQRS と…

    Using Akka Cluster for a payment service
  • Clean Architecture in Practice @ScalaMatsuri2019

    実践 Clean Architecture http://2019.scalamatsuri.org/

    Clean Architecture in Practice @ScalaMatsuri2019
  • Case of Ad Delivery System is Implemented by Scala and DDD

    ScalaMatsuri 2019

    Case of Ad Delivery System is Implemented by Scala and DDD
  • ピュアなドメインを支える技術/pure domain model and the technology behind it

    Presented at ScalaMatsuri2019 https://2019.scalamatsuri.org

    ピュアなドメインを支える技術/pure domain model and the technology behind it
  • Scala関西の運営から抜けました - nocono

    この度、自身が立ち上げて主宰していた、Scala関西の運営から抜けました。 つい先日も勉強会でScalaの話をしたり、Scala関西Summit 2019も開催すると決めて、例年通り主宰として準備を進めていたので、この急な話はいろんな人を戸惑わせることは承知しています。 ですので、理由を公開しなければと思い、ブログを書いています。 最初に前置きしておくと、抜けると決めたのは当に急な話です。 あと、病気だとか実はスタッフと仲が悪かったとか、ネガティブな理由ではないです。 先日までScala関西やる気満々だったのも嘘ではないです。 抜けようと決断した前後にはいろいろな葛藤もありましたが、前向きな理由によるものです。その辺りはご安心(?)ください。 抜けようと決断した理由 運営から抜けようと考えることになったきっかけは、下記資料です 2019/05 Scala導入を検討したい人に向けた情報をま

    Scala関西の運営から抜けました - nocono
    bufferings
    bufferings 2019/06/12
    相変わらずかっこいいなー!
  • 安価なGKE(k8s)クラスタを作って趣味開発に活用する - えいのうにっき

    tl;dr GKEでk8s(kubernetes)クラスタを作成すると、各ノードはGCEインスタンスとして起動する GCEインスタンスには preemptible モードが指定でき、これはGKEクラスタとして起動するノードに対しても指定可能 GCEのf1-micro無料枠の適用と合わせて、この運用費用は約 $7.68/month 動機 GKEクラスタを維持する最安料金ていくらだろー— a-know | Daisuke Inoue (@a_know) 2018年6月11日 趣味開発用途として手軽にあれこれ試すことができて、それでいてできるだけ安くあがるコンテナオーケストレーション環境(k8s環境)がほしい。 k8sそのものを運用したい・そのノウハウを学びたいというわけではないのでマネージドサービスがいい 「k8s上でアプリケーション・サービスを運用する経験」がしたい その上で、できるだけ安く

    安価なGKE(k8s)クラスタを作って趣味開発に活用する - えいのうにっき
    bufferings
    bufferings 2019/06/09
    これ見ながらGKEのクラスタを作ってみた!
  • gRPCと手動テスト | メルカリエンジニアリング

    この記事はMERPAY TECH OPENNESS MONTHの5日目の記事です。 merpayでNFC決済のmicroservice (nfc-service) を開発担当している @Hiraku です。メルペイのバックエンドシステムは、各microserviceが主にgRPCを主な通信プロトコルとして用意しています。当然、各チームはgRPCサーバーを開発しています。この記事では、ちょっとした開発の日常をお見せしたいと思います。 とあるエンドポイントの場合 そもそもgRPCサーバーだけで、iOS/Androidのバックエンドができるのか?と思う方がいるかもしれません。 下図は、典型的なリクエスト経路を示しています。 merpay-gateway … 主にプロトコルの変換を担う merpay-api … BFF(Backend for Frontend)的な役割を担い、他のmicroser

    gRPCと手動テスト | メルカリエンジニアリング
  • モブプロの聖地 Hunter Industriees で学んだこと 〜 複数モブ編 - kawaguti’s diary

    は長かったゴールデンウィークが開けるということで、戻って働けるのかしらという話が飛び交ってますが、いかがお過ごしでしょうか。引き続き Hunter Industriees にいまして、学んだことをメモしておこう、というエントリです。前回のエントリは単体のモブプロについて気がついたことが中心でしたが、今日は複数モブについてです。 Hunterで学んだことその8: 仕事領域 = モブ != 人 3つのモブを持つプロダクトに参加していているのですが、それぞれのモブは同じコードベースで、別の仕事をしています。モブごとに紙ベースのタスクボードをホワイトボードに作っていて、WIPは1に制限されてます。 これは私がソフトウェアを作る人生の中でも初めて体験したのですが、モブは作業場所なだけでなく、どの部分をいじっているか、も示します。フィーチャーブランチを切らず、トランクベースで開発しているので、同じ

    モブプロの聖地 Hunter Industriees で学んだこと 〜 複数モブ編 - kawaguti’s diary
    bufferings
    bufferings 2019/05/08
    うはー。良い取り組み方だなー。
  • モブプロの聖地 Hunter Industries で学んだこと - kawaguti’s diary

    方面は、平成最後とか、令和こんにちわ、連休ながーい、という噂を聞いておりますが、私はなぜか米国に来ていて、フィーバーに参加できておりません。アベンジャーズは一応、公開日に観に行きました。字幕ないし、アメリカンジョーク(推測)とかは聞き取れなかったんだけど、そんなのどうでもいい感じの映像美でしたね。 Hunter Industries にお邪魔してます モブプログラミング・ムーブメントを生み出した、Hunter Industries に来てます。2年前に半日だけお邪魔したんですけど、モブ自体には参加してなくて、もうちょっといろいろわかりたいな、と思いまして。1月にRegional Scrum Gathering で来日してくれた、Director のクリスさんにお願いしてみたら、いいよーってことだったので、お邪魔しに来ました。 ビザの関係で生産活動には従事できないのだけど、横で立ってるの

    モブプロの聖地 Hunter Industries で学んだこと - kawaguti’s diary
    bufferings
    bufferings 2019/05/08
    やっぱり、見積もりをしないのは、今チームが一番重要だと思うことに全力で取り組めそうで良いよな。
  • スクラムを1枚で説明する資料7選(2019年版)

    アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料) みなさんこんにちは。@ryuzeeです。 スクラムの全体像を表す絵は多数出回っています。コーチングやトレーニングを生業にしている人であればだいたい何度も作ったことがあるのではないかと思います。 今日はスクラムの全体像を表す絵のうち、比較的新しいものをいくつか集めてみたので紹介します。 見出しの行か画像をクリックすると、それぞれオリジナルを公開しているページにアクセスできます。 The Scrum Framework Poster | Scrum.org ケン・シュエイバーが設立したScrum.orgのサイトで公開されているもの極めてシンプルなので汎用性は高い一方で、スクラムマスター、プロダクトオーナー、開発チームの記述がでて

    スクラムを1枚で説明する資料7選(2019年版)
    bufferings
    bufferings 2019/05/07
    う、うれしい!!
  • E2EテストをSelenium Webdriver からCypress.io に移行した話 - 一休.com Developers Blog

    こんにちは。 一休.comの開発基盤を担当しています、akasakasです。 今回は、E2EテストをSelenium WebdriverからCypress.ioに移行した話をしたいと思います。 一休のE2Eテスト事情 あれから、数年が経過して、、、 どうしてこうなった??? SeleniumではSPAへの対応が難しくなってきた なんでもかんでもSeleniumで頑張ろうとした弊害 いざリプレイスへ・リプレイスをする上で気をつけたこと 開発者フレンドリー 安定性 然るべきレイヤーでテストする(何でもかんでもブラウザテストにしない) 技術選定 Cypress.io とは? Cypress.io のいいところ セットアップが楽 テストを書くことだけに集中できる CI連携が楽 Cypress.io の頑張って欲しいところ その他、移行に関しての細かい話 重複テストケースの排除 Page Objec

    E2EテストをSelenium Webdriver からCypress.io に移行した話 - 一休.com Developers Blog
    bufferings
    bufferings 2019/04/24
    へー知らなかったー
  • 詳説GraalVM(1) イントロダクション - Fight the Future

    GraalVMが1.0.0 RC1を出し、公式サイトを公開しました! http://www.graalvm.org/ 日技術ブログメディアPublickeyさんも取り上げておられます。 www.publickey1.jp そのこともあって、Graalで検索しこのブログへたどり着いた方も多かったです。私は1年ほど前、0.23の頃からGraalVMとGraal(両者の違いは後述)を触ってきました(単に触っているだけの1ファンです)。おそらく熱狂的なファンの方で、JavaOneではGraalとあるものは全セッション入りましたし、YouTubeにある世界の技術カンファレンス動画でGraalに関するものはおそらくすべて見ています。 なので自己満足がてらGraalVMについて書いていきます。 GraalVMって何なの? 端的に言うと"Polyglot VM"です。Polyglotとは多言語を意味し

    詳説GraalVM(1) イントロダクション - Fight the Future
  • GraalVMで作ったネイティブイメージを、デバッグしてみたい? - CLOVER🍀

    これは、なにをしたくて書いたもの? 先日、GraalVMを使ってJavaアプリケーションをネイティブイメージにして遊んでみました。 GraalVMをインストールして、Javaアプリケーションからネイティブイメージを作って遊ぶ - CLOVER🍀 ところで、こうやってネイティブイメージにしたJavaアプリケーションって、JavaVM上で動いていた時に使っていた トラブルシュートとかチューニングの話ってどうなるんでしょう? いろいろ気になるので、いくつか試してみることにしました。 環境 今回の環境は、こちらです。 $ native-image --version GraalVM Version 1.0.0-rc14 Community Edition。 OSは、Ubuntu Linux 18.04 LTS。 サンプルプログラム まずは、ネイティブイメージを作るためのサンプルプログラムを作りま

    GraalVMで作ったネイティブイメージを、デバッグしてみたい? - CLOVER🍀
  • 僕らのモブプログラミングは「全員でプログラミングをする」ということではなかった - Mitsuyuki.Shiiba

    ## 去年の夏ぐらいからサポートしているチーム で、それまでもちょこちょこモブプログラミングを試してはいたんだけど、3月からは思い切ってそれを基として開発をするようにした。つまり、3月からは1日中モブプログラミングをするのを毎日やってる。 プログラミングだけじゃなくて、設計も、運用も、テストも、全部モブでやってるので、僕らはそれをモブワークと呼んでる。 ## やっていく中で学んだのは モブプログラミング(モブワーク)は「全員でプログラミングをする」ということではなくて「全員で考えて取り組む」というだけのことだった。 サービスにとってどう動くのが良いかを全員で考える。 目の前のプロジェクトのことだけではなく、少し先を見据えてメンバー間の知識やスキルの共有や、チームがまだ詳しくない分野の学習をすることも含めて、どこにトレードオフスライダーをセットするのが良いかを全員で考える。 ## 全員でプ

    僕らのモブプログラミングは「全員でプログラミングをする」ということではなかった - Mitsuyuki.Shiiba
    bufferings
    bufferings 2019/04/19
    もぶー
  • PostgreSQLへのJDBCアクセスをネイティブ化する - きしだのHatena

    PostgreSQLへのJDBCアクセスがあるコードをGraalVMでネイティブイメージ化するとき、org.postgresql.core.v3.ConnectionFactoryImplの対応が必要だったのでメモ たとえばこんな感じでPostgreSQLにアクセスします。 public class Main { public static void main(String[] args) throws SQLException { try (Connection conn = DriverManager.getConnection( "jdbc:postgresql://localhost:5432/mystat", "mystat", "pass"); Statement stmt = conn.createStatement(); ResultSet result = stmt.ex

    PostgreSQLへのJDBCアクセスをネイティブ化する - きしだのHatena
    bufferings
    bufferings 2019/04/16
    昨日勉強したから意味が分かった!