タグ

hironeiのブックマーク (1,480)

  • マイクロサービスアーキテクチャの経済と適応度 - Qiita

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

    マイクロサービスアーキテクチャの経済と適応度 - Qiita
  • Clean Agile読書感想文

    PySpa統合思念体です。Clean Agileという書籍が出版されたので、その読書感想文です。PySpaアドベントカレンダー2020の最終日のエントリーです。 書の立ち位置と内容 エクストリームプログラミングについて、ケント・ベックとは別の平易な説明を試みたです。XP自身もいろいろ変化があり、XPのプラクティスは12→13→24(11+13)→19と時代によって変わっていっています。ウェブサイトに残っている情報も、どの時代を参照しているのかによって説明がバラバラだったりしますが、このは13で、多くの人が「原典」と考えるほとんど初期のシンプルな昔の構成にほぼ戻っているので理解しやすいと思います。12時代と13時代の間では「適切なペース」が増えました。書では、「コーディング規約」がなくなったのと、「スタンドアップミーティング」が追加されています。 1章がアジャイル宣言を含む歴史の話、

    Clean Agile読書感想文
  • 吸い込まれたカード、2割返却できず みずほATM障害 - 日本経済新聞

    みずほ銀行は3日、2月28日に起きた障害でATMから出せなくなったキャッシュカードや預金通帳(全5244件)のうち、2日までに約8割を利用客のもとへ返したと明らかにした。残り2割については、現時点で返却の見通しが立っていないとしている。3日正午に開いた自民党の財務金融部会・金融調査会の合同会議で、猪股尚志・常務執行役員らが障害の原因や一連の経緯とともに説明した。ATMが正常に作動しない場合、

    吸い込まれたカード、2割返却できず みずほATM障害 - 日本経済新聞
    hironei
    hironei 2021/03/04
  • RDBMSの先を行く?NewSQLを支えるアルゴリズムRaftをGoで紐解く - カミナシ エンジニアブログ

    初めまして。株式会社カミナシPMの@gtongy1です。 みなさんはNewSQLをご存知ですか? 強い整合性を持つ分散型のSQLデータベースサービスのことをNewSQLと呼びます。 RDBMSではなし得なかった分散アーキテクチャを、またNoSQLではなし得なかった強い整合性をいいとこ取りした新しいSQLデータベースサービスです。 なんかとても理想的な仕組みに見えますね。この裏にはどのような知識が詰め込まれているのでしょうか。 今回はそんなNewSQLを支える仕組みを一緒に紐解いていきましょう! NewSQLが乗り越えた壁 どんな仕組みが動いているのか、の前にNewSQLはこのSQLデータベース界へ何を投げ込んだのでしょうか。 NewSQLには以下のような特徴があります。 SQL-Likeなクエリ言語のサポート 強い整合性 ACIDサポートのトランザクション NewSQLの有名所であるCoc

    RDBMSの先を行く?NewSQLを支えるアルゴリズムRaftをGoで紐解く - カミナシ エンジニアブログ
  • SLAに関する7つの誤解とは、Uptime.comが解説

    Webサイトのアップタイムやパフォーマンスを向上させるソリューションを提供するUptime.comは、2021年2月19日(米国時間)に公式ブログで、SLA(サービスレベル契約)に関する誤解について解説した。SLAについて誤った考えを抱いていると、DevOps業務に悪影響を与える場合があるという。DevOps担当者向けに7つの一般的な誤解を取り上げ、どこが間違っているのかを解説した。 誤解1 1つの開発言語を使うべきだ DevOpsを適切に進めるには、複数のツールが必要だ。作業に応じて適切なツールを使う必要があり、使用する言語を1つに絞るべきではない。 PythonJavaScriptは多種多様な目的に使えるが、決して唯一の選択肢ではない。 誤解2 100%のアップタイムは達成可能で、持続可能でもある この誤解は、今回取り上げた中で最も有害な誤解だろう。この誤解のせいで、非現実的なSLA

    SLAに関する7つの誤解とは、Uptime.comが解説
  • 第12回 日本語大賞 文部科学大臣賞 受賞作品(全文)

    NPO法人・日語検定委員会による第12回「日語大賞」(読売新聞社など協賛)の入選作のうち、小学生、中学生、高校生、一般各部の文部科学大臣賞受賞作品の全文を紹介します。今回のテーマは、小学生の部、中学生の部が「心にひびいた言葉」、高校生の部、一般の部が「私を動かした言葉」です。※敬称略 ■小学生の部 おとうさんにもらったやさしいうそ 佐藤 亘紀(さとう・こうき) 茨城県古河市立古河第二小学校一年 ぼくのこころにひびいたことばは、「おとうさんはちょっととおいところでしごとをすることになったから、おかあさんとげんきにすごしてね。」です。そのときぼくは二さいでした。とても小さかったのでちょくせついわれたのはおぼえていませんが、いってくれたときのどうががおかあさんのスマホにいまでものこっているので、すきなときにきくことができます。

    hironei
    hironei 2021/02/26
  • mattn on Twitter: "コーディング規約の「絶対に直値を使うな static final を使え」という制約で厳しいレビューを実施した結果 private static final int LENGTH_24 = 24; private static… https://t.co/j4FZdGIh5t"

    hironei
    hironei 2021/02/26
  • VM環境のCPU仮想化はどうやって実現しているのか ハードウェア仮想化支援機構の仕組み

    Arm入門勉強会とは、macOSがArmに移行したこの機にArmアーキテクチャでのプログラミングについて入門するソフトウェアエンジニアのための会です。今回主催の@nullpo_head 氏が、Armの仮想化支援機構について、その仕組みから深く説明します。前半は「現代のハードウェア仮想化支援機構」について。全2回。 ハードウェア仮想化支援とは何か 佐伯 学哉氏:入門セッション3つ目は『Armの仮想化支援機構』についての入門セッションです。どうぞよろしくお願いします。 発表のスタートとゴールです。VMwareとかQemuとか使ったことあるけど仮想マシンの仕組みなんも知らんというところがまずスタートになっています。 1個目のゴールは、最近のVMのざっくりした仕組みとハードウェア仮想化支援とは何かということがわかること。そしてその話のあとに実際にArmの仮想化支援機構の概要を説明し、Armの仮想

    VM環境のCPU仮想化はどうやって実現しているのか ハードウェア仮想化支援機構の仕組み
    hironei
    hironei 2021/02/26
  • テンプレートエンジンT4とRiderを活用したC#コードの自動生成

    サイバーエージェントゲーム・エンターテイメント事業部(SGE)に所属する子会社QualiArtsでUnityエンジニアをしている住田です。記事はQualiArtsの定期ブログ「QualiArts Tech Note」第8弾の記事となります。QualiArtsでは会社で使われている様々な技術の知見をブログで紹介しています。興味のある方は、QualiArtsとタグの付いている他の記事もチェックしてみてください。 QualiArts Tech Note はじめに 開発を進めていると、似たようなコードを自動生成したいというケースが存在します。例えばAPI要件に沿った実装の量産だったり、似たような機能のコードの雛形など、コピペや単調なコードの連続で実装する部分を自動生成することで実装コストを減らしたりヒューマンエラーを防ぐことができます。記事ではそういったコードの自動生成を行う上で有用なT4と

    テンプレートエンジンT4とRiderを活用したC#コードの自動生成
  • フロントエンドを考える 〜概念編〜

    この記事のシリーズでは私がフロントエンドに関して思っていることを徒然に語っていこうと思います。 ちょっと長くなり過ぎそうなので以下の4つに分けて書いていこうと思います。 1.概念的な話 - フロントエンドアプリケーションとは何でできているか フロントエンドアプリケーションを保守性とユーザへの価値提供を両立して開発するために、アプリケーションを抽象化して、いい感じの設計をする必要があります。 これの土台作りをするために概念としてフロントエンドアプリケーションとは何なのかを考えていきます。 2.技術的な話 - フロントエンドアプリケーションはどのように実行されるか Webフロントエンドはブラウザで実行され、表示のためには HTML, CSS, JS が必要です。当たり前のことではありますが、実際に開発を進めていく上では概念だけでなく、実際に動く How の部分を知る必要があります。 これらの要

    フロントエンドを考える 〜概念編〜
  • アジャイルソフトウェア開発宣言の読みとき方

  • ハードウェアと同じくらいソフトウェアを強くする、トヨタのアプローチ

    トヨタ自動車とパーソルイノベーションは2021年2月2日、オンラインでソフトウェアエンジニア向けに「ソフトウェアエンジニアが革新するクルマ開発の伝統」と題した勉強会を開いた。 オンライン勉強会はパーソルイノベーションが展開するサービスの1つで、会員であるソフトウェアエンジニアはさまざまな企業が主催する勉強会を聴講している。勉強会にはトヨタ自動車で車両の電子制御に携わる「制御電子プラットフォーム開発部」のメンバーが登壇。自動車になじみのないソフトウェアエンジニアに向けて、トヨタグループのソフトウェア開発の取り組みを紹介した。

    ハードウェアと同じくらいソフトウェアを強くする、トヨタのアプローチ
  • Python と Playwright でブラウザを自動操作させるコードを自動生成したよ - Qiita

    Playwright が昨年1年間で大幅パワーアップしていたので、使い方を確認したときの記録のまとめです。 ブラウザを自動操作できるということは、簡単なスクレイピングやブラウザ側のテスト自動化が簡単にできるようになります。 特に、Python での解説がまだまだ少なかったので、自分の学習を含めてまとめました。 今回は入門編ということで全体像をつかみつつ使用方法の流れを確認していただければありがたいです。 Selenium や Puppeteer を使っている方も、一度試す価値ありと思っています。 選定した理由 ブラウザのテストを Python で自動化したかったんです。 私なりの要件がありまして、非常にわがままな要件でしたが余裕ですべてクリアしました。 Python で書けること。社内で Python を使える方が多いので。pytest と連携してくれるとなおうれしい。 Docker コン

    Python と Playwright でブラウザを自動操作させるコードを自動生成したよ - Qiita
  • 徹底解説! return promiseとreturn await promiseの違い

    先日、こちらのツイートを見かけました。 それに対して筆者は以下のツイートをしたところ、いくつかの反応が寄せられました。 コード部分を再掲します。 async function foo1() { return await Promise.resolve(); } async function foo2() { return Promise.resolve(); } async function wait() { await null; } // pika // chu // と表示される foo1().then(() => console.log("pika")); wait().then(() => console.log("chu")); // chu // pika // と表示される foo2().then(() => console.log("pika")); wait().the

    徹底解説! return promiseとreturn await promiseの違い
  • Linuxメモ : あると便利かもしれないRust製コマンドラインツール - もた日記

    インストール方法 bat ripgrep, ripgrep-all fd, fselect starship exa, lsd, nat nushell navi, tealdeer delta hyperfine xsv, csview py-spy bandwhich, gping, ht, dog hexyl, bingrep broot tokei genact, globe, glitchcat monolith shellharden fnm, volta pastel gitui, onefetch, git-interactive-rebase-tool skim watchexec dust, diskonaut, dua-cli, dutree zoxide ytop, bottom, zenith mcfly sd, desed topgrade pueue proc

    Linuxメモ : あると便利かもしれないRust製コマンドラインツール - もた日記
  • 「なぜ、ムダな機能が生まれるのか?」価値ある機能を作るための”顧客の痛み”を理解するワークショップ|abel_hideaki

    はじめまして、ログラスでエンジニアをしている大島です。 2019年にサイバーエージェントに新卒入社し、AI事業部でエンジニアとして働いていました。前職では、広告配信プロダクトなどを作っていましたが、その過程で顧客課題(以下、ペイン)を解決するプロダクトを作りたいという思いが強くなり、大学時代から友人であったCEOの布川の誘いを受けて2020年11月にログラスにジョインしました。 「せっかく作ったのに、全然使ってくれねぇ...」工数をかけて開発してみたものの顧客に使ってもらえなかった、そんな経験をしたことはないでしょうか?作るべきものが作るべき順で開発していくのはとても難しいと私は思っています。 私は前職の株式会社サイバーエージェントでは、エンジニアスクラムマスターという働き方をしていました。エンジニアスクラムマスターをやる中で、タスクの優先順位や次にどんな開発をしていくのか?を決断す

    「なぜ、ムダな機能が生まれるのか?」価値ある機能を作るための”顧客の痛み”を理解するワークショップ|abel_hideaki
  • GitHub Actionsを使ったDDoSに巻き込まれた - 私が歌川です

    事例集です。 きのう、GitHubの通知を見たら、個人のリポジトリに My First PR というタイトルのPRが来ているのに気づいた。PR出すところを間違えたのかな、と思って見てみたがどうも様子がおかしい。 prog という名前のバイナリファイルを置いている .github/workflows/ci.yml*1の中身をガッと書き換えている on: [pull_request] でworkflowを起動している 20並列でjobが走るようにmatrixを設定している fail-fast: false なので、どれか1つのmatrixが失敗しても他のジョブは続行される base64 encodeした文字列をdecodeしてevalしている ドメインの名前解決を行ったあと ./prog を実行するコマンドにdecodeされた PRをめちゃくちゃな回数closeしてreopenしている PRを

    GitHub Actionsを使ったDDoSに巻き込まれた - 私が歌川です
  • プロダクトバックログアイテムの分割方法

    みなさんこんにちは。@ryuzeeです。 プロダクトバックログアイテムは、複数スプリントにまたがって1つのものに着手することはありません。 必ず、1スプリントで完成できる大きさになっている必要があります。 これは、複数にまたがってしまうと変化に柔軟に対応できなくなること、成果の量の把握が難しくなること、大きいものを扱うのはそもそも難しいことなどが理由です。 そのため、プロダクトバックログアイテムがプロダクトバックログのなかで上位になっていくにつれて、リファインメントなどを活用しながら、適切なサイズに分割していきます。 最初の段階から細かく分割してしまうと、変化に対応しにくくなったり、数が多くなりすぎて管理しきれなくなったりするので避け、着手が近づいてきたらジャスト・イン・タイムで分割していくのがポイントです。 こうすることで、チームの成長にあわせてプロダクトバックログアイテムのサイズを変え

    プロダクトバックログアイテムの分割方法
  • GPT-2におけるテキスト生成

    はじめにMachine Learning部門の江間見です。ストックマークでは、自然言語処理技術の研究開発を行っています。 昨今、OpenAIからGPT-3が発表され、生成系モデルが大きな注目を集めています。 そこで、記事では、弊社で作成している生成系モデルの紹介をいたします。 自然言語処理におけるテキスト生成自然言語処理(NLP)は、人間の言語(自然言語)とコンピュータの相互理解、特に大量の自然言語データをコンピュータに処理および分析させるための研究分野です。 今回紹介するテキスト生成は、この自然言語処理の研究分野の一つです。 テキスト生成の応用例の一つは、スマートフォンのキーボードでの次の単語の予測です。このタスクはまさに​​言語モデルが行うことと同様です。言語モデルは、単語のリストを受け取り、次の単語を予測します。 図1の例では、言語モデルが「今日は」という単語を受け取り、次の単語で

    GPT-2におけるテキスト生成
  • “タダでやってくれませんか?” 問題への正しい対応方法 デザイン会社 ビートラックス: ブログ

    デザイナーであれば一度や二度は言われたことのある「タダでやってくれませんか?」というセリフ。もしかしたらデザイナーでなくても、エンジニア、アーティスト、著名人などでも、同じ経験があるかもしれない。 もしくは、友人から「仕事請けたんだけど、支払ってくれるかわからないんだよね」と相談されたことがある人もいるかも。それらはクリエイティブ系に起こりやすい、いわゆる「これタダで問題」。 このリクエストは、サイトの制作や更新、ロゴデザイン、文章書き、翻訳、アドバイス、スピーチなどのいわゆる“手に職”を持つ人が受けることが多いと思われる。 なぜ “タダでやってくれる”と思ってしまうのか?技術のある人からの価値を得る。それなのになぜこのこのセリフがなくならないのか?逆の立場から考えてみると理解しやすいかもしれない。頼む方からすると、恐らく意外と“無邪気な”理由だったりすると思われる。 サクッと終わるよね?

    “タダでやってくれませんか?” 問題への正しい対応方法 デザイン会社 ビートラックス: ブログ