2021年3月23日のブックマーク (17件)

  • 主観と客観を切り替える鍛錬|Miwa Kuramitsu

    突然ですが、ここに一つのプロダクトがあるとします。 そのプロダクトを見つめる視線には様々な種類があります。 そのプロダクトを利用しているユーザーの視点、利用していないが存在は知っているという人の視点、それをつくるデザイナーの視点、プロダクトを運営している会社経営者の視点… もしあなたがデザイナーであれば、デザイナーの視点だけが唯一自分で体感できる「主観」で、それ以外はすべて「客観」となります。 主観と客観のスイッチング プロダクトデザイナーはユーザーの期待通りに正しく動くしくみを設計し、「このプロダクトを利用した時に、ユーザーの生活はどう変化していくのだろうか?」と問いを立てながらアウトプットを評価していきます。 自らの考える理想像をデザインしながら、一方でそれに触れるユーザーの様子を想像する…プロダクトデザイナーは主観と客観を電気のスイッチのように瞬時に切り替えることに長けた人が多いイメ

    主観と客観を切り替える鍛錬|Miwa Kuramitsu
  • Goらしさとは何なのか考える - My External Storage

    Goらしさ」や「Goに入ってはGoに従え」というけれど、「Goらしい」って一体なんだろう?と考えてみる。 TL;DR 後半は完全に私見の域を出ない&&身も蓋もない結論なので、最初に参考情報だけまとめておく。 「Goらしさ」が何を目指しているのか、何を目指す考えが「Goらしさ」なのか知りたいならば、まず言語思想・設計思想を知るべきだろう。 言語思想についてまとめられている文書は次の情報だ。 Go’s New Brand | The Go Blog Go at Google: Language Design in the Service of Software Engineering https://talks.golang.org/2012/splash.slide#1 https://talks.golang.org/2012/splash.article 一言でいうと「Goらしさ」とは

    Goらしさとは何なのか考える - My External Storage
  • どれだけリクエストをさばけるのかを待ち行列理論で考えてみた - Qiita

    テレビで素敵なサイトが紹介されていたのでアクセスしてみたら、なかなかレスポンスが返ってこなかったりステータスコード503になったりすることってありますよね。 テレビで紹介されたことで多くの人がサイトにアクセスした結果、そのサービスのキャパシティを超えてしまったわけです。 どうなるとキャパシティを超えるのでしょうか? また、いつからレスポンスが遅くなるのでしょう。 効果的にリクエストをさばくにはどうしたらいいのでしょう。 Photo by Roman Arkhipov on Unsplash 待ち行列理論を使って理想的なモデルからこれらを考えてみたいと思います。 待ち行列理論はコンピュータサイエンスをやってきた人はみんな触れたことがあるとは思いますが、大石の場合はそれが何十年も(!)前のことなのであらためて思い出してみました。 モデル Railsでサービスを提供するとき、rackサーバとして

    どれだけリクエストをさばけるのかを待ち行列理論で考えてみた - Qiita
  • 「トランザクション張っておけば大丈夫」と思ってませんか? バグの温床になる、よくある実装パターン

    この記事は DeNA 20 新卒 Advent Calendar 2020 19日目の記事です。 はじめに MySQLやPostgreSQLに代表されるRDBMSではトランザクションと呼ばれる仕組みが提供されています。多くのWebアプリケーションエンジニアはこのトランザクションを駆使してDBとやりとりをするロジックを組み立てることになります。 しかし不整合を起こしたくない処理があるからといって闇雲にトランザクションを張ったり、トランザクションが張られているからと安心してアプリケーション側で闇雲にロジックを組み立ててしまうと思わぬバグを生むことになってしまいます。 このエントリでは、「トランザクションを張っておけば大丈夫」という考え方は危険な場合もあるということを、ありがちな実装例を交えて紹介していきます。 並列に処理されるトランザクション そもそも、トランザクションは全て直列に処理されるわ

    「トランザクション張っておけば大丈夫」と思ってませんか? バグの温床になる、よくある実装パターン
  • バッチ処理について考える - Qiita

    TL;DR ひとくちにバッチといっても色々ある 夜間バッチをもう作るな オンラインバッチはSQL以前にDB設計がんばれ はじめに Twitterのタイムラインで以下のようなツイートが回ってきました。 バッチ処理をみんな舐めてかかったり、ショボイとか思ってる人多い印象なんだけれども、数十万~数千万件規模のデータを処理したことあるのかな。テンプレ通りのコードじゃ動かないよ?ネットににも答え載ってないよ?低レイヤも意識しないと動かないよ? 2020年1月10日 ツイートされたわだっしーさんの意図がどこにあるかは確認してないですが、極限の世界でテンプレート的な処理では対応出来ないのはあるよな、と思いつつもある程度はバッチの作法としての書き方があると思っています。 このツイートとその関連ツイートを読みながら、そういえばバッチ処理に関して書いてある記事はあまり見ないなぁ、とおもったので他のネットや

    バッチ処理について考える - Qiita
  • プロダクトマネジメントの基本を学ぼう一覧

    ProductZine Day&オンラインセミナーは、プロダクト開発にフォーカスし、最新情報をお届けしているWebメディア「ProductZine(プロダクトジン)」が主催する読者向けイベントです。現場の最前線で活躍されているゲストの方をお招きし、日々のプロダクト開発のヒントとなるような内容を、講演とディスカッションを通してお伝えしていきます。

    プロダクトマネジメントの基本を学ぼう一覧
  • The Twelve-Factor App (日本語訳)

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

  • アーキテクトを目指すエンジニアの最短ルート - エス・エム・エス エンジニア テックブログ

    介護や医療、ヘルスケア、シニアライフなどの4つの領域で高齢社会の情報インフラを構築している株式会社エス・エム・エスで、技術責任者をしている @sunaot です。2015年2月に入社して以来、技術責任者として開発組織の構築や開発基盤の整備をリードしてきました。 今まで私がソフトウェアエンジニア(以下、エンジニア)の採用面談を延べ800件ほど担当してきた経験を振り返ると、ソフトウェアアーキテクト(以下、アーキテクト)をキャリアのゴールに据えているエンジニアも多いようです。ただ、アーキテクトを目指している一方で、実際にアーキテクトになるためには、どういった会社組織でどのような経験をしたらいいのか分からないというケースも見受けられました。 今回は、アーキテクトを目指したいエンジニアの方向けに、アーキテクトになるために必要な4つの経験や、それが経験できる会社組織について紹介します。 アーキテクトと

    アーキテクトを目指すエンジニアの最短ルート - エス・エム・エス エンジニア テックブログ
  • 本当は恐ろしい分散システムの話

    2. 2Copyright©2017 NTT corp. All Rights Reserved. 諸説あるが、ここでの定義は「部分的な故障を許容するシステム」の事 複数台のコンピュータを接続して信頼性を高めたり データが途中で化けても再送したり訂正したり 一部のコンピュータが突然故障しても引き継いだり 故障を設計の一部に組み込む事が必須となる 分散システムとは 3. 3Copyright©2017 NTT corp. All Rights Reserved. • 世はまさに分散システム戦国時代 • Hadoopを皮切りに次々出てくる巨大分散OSS • シリコンバレーでも分散ミドルウェアベンチャーが多数出現 • 高信頼なシステムを作ろうと思った場合には複数台のマシンによる高可用構成 が前提になる • Google、Facebook、Amazon等はもちろん • 金融、流通などのエンタープラ

    本当は恐ろしい分散システムの話
  • システム思考とプロダクトマネジメント

    システム思考とプロダクトマネジメント ※プロダクトオーナー祭り2021 Spring - PO祭り2021Springでの登壇資料です https://postudy.connpass.com/event/202404/

    システム思考とプロダクトマネジメント
  • スケーラブルな採番とsnowflake — Kyrt Blog

    snowflake は、Twitter 社が作成した、ユニークなID生成のネットワークサービスです。いくつかの簡単な保証で高いスケーラビリティを実現しています。Twitter 社が、MySQLから Cassandra に移行するにあたって、Cassandra にシーケンシャルな id 生成の仕組みが無かったことから作成したそうです。 snowflake についてはTwitter IDs, JSON and Snowflakeに書いてあります。 snowflake のコードは、Apache License, Version 2.0 でSnowflakeに公開されています。 スケーラブルな採番、背景的な話 Cloudでスケーラビリティのあるサービスを見据えてコードを書いていると採番に関する問題が必ず出てきます。従来、RDBの自動採番などに頼っていたのがコスト、スケーラビリティ、耐障害性の観点か

    スケーラブルな採番とsnowflake — Kyrt Blog
  • The Twelve-Factor App (日本語訳)

    XII. 管理プロセス 管理タスクを1回限りのプロセスとして実行する プロセスフォーメーションは、アプリケーションが実行されたときにアプリケーションの通常の役割(Webリクエストの処理など)に使われるプロセス群である。それとは別に、開発者はしばしばアプリケーションのために1回限りの管理・メンテナンス用のタスクを実行したくなる。例えば: データベースのマイグレーションを実行する。(例:Djangoにおける manage.py migrate やRailsにおける rake db:migrate) 任意のコードを実行したり、生のデータベースに対してアプリケーションのモデルを調査したりするために、コンソール(REPLシェルとも言われる)を実行する。多くの言語ではインタプリタを引数なしで実行する(例:pythonperl)ことでREPLを利用できるが、別のコマンドを用意している場合もある(例

    ahyataro
    ahyataro 2021/03/23
    あとで読む
  • マイクロサービスアーキテクチャの経済と適応度 - Qiita

    はじめに マイクロサービスアーキテクチャは、独立してデプロイ可能で疎結合サブシステム群によってサービス開発を行うというアーキテクチャパターンです。現在のソフトウェアサービス開発では欠かすことができない考え方です。 従来では一定のコストが掛かり、またパフォーマンス上の問題もあったため、必要に応じての分割には難しい側面も多かったのですが、様々なエコシステムの発達によってわずかな機会費用で実現できるようになってきました。もちろん分散システムとしての質的な難しさやアーキテクチャの移行の質的な難しさは解決したわけではありませんが、手軽にコンテナレベルで分割された様々なサービスを作成することのコストは急速に下がってきました。 これらが、うまくサブドメイン境界によって分割されることで、ある開発チームが知らなければならない情報が制限されるため、スピード感のある開発力を維持しながら開発組織のスケールでき

    マイクロサービスアーキテクチャの経済と適応度 - Qiita
  • 新規事業立ち上げからマイクロサービスについて考えてみる

    1人でできる
Docker Kubernetes(GKE)を
使った新規サービス立ち上げ / Docker and Kubernetes(GKE) for new services

    新規事業立ち上げからマイクロサービスについて考えてみる
    ahyataro
    ahyataro 2021/03/23
    あとで読む
  • マイクロサービスにおける 結果整合性との戦い

    Microservices Meetup vol.8 Lightning Talks Battle! で話した内容です https://microservices-meetup.connpass.com/event/99190/

    マイクロサービスにおける 結果整合性との戦い
    ahyataro
    ahyataro 2021/03/23
    あとで読む
  • 「スピード」と「品質」のスイッチング ~事業成長を支える生存戦略~ #devsumi / 20210218C1

    Developers Summit 2021【C-1】の発表資料です。 https://event.shoeisha.jp/devsumi/20210218 ---------------------------------------------------------------------…

    「スピード」と「品質」のスイッチング ~事業成長を支える生存戦略~ #devsumi / 20210218C1
  • 機能で勝負するな

    どのプロダクトチームもこの問いに悩んでいます。機能を追加すると自然にプロダクトの力が増すように思えますが、同時に複雑さも加わり、新しいユーザーにとっては使い始めるのが難しくなります。これはプロダクトの初期バージョンでよくある問題です。なぜならほとんどの場合、最初のバージョンはうまくいかず、問題を解決するための最も明白な方法は、クリックされるまで機能をただ追加し続けることだからです。しかし、今までにこれがうまくいった試しがありますか?

    機能で勝負するな