タグ

*あとで読むに関するdmizuno55のブックマーク (8)

  • ytake blog

    2024-06-11 PHPでアクターモデルを体験 / ツールキット公開とサンプルコードの巻 php アクターモデル 設計 PHPでアクターモデルが導入できない・・? 長い間そう言われてきました(自分も言ってました)。 実際に並行システムのためのものでもあり、 PHPでは簡単な並行処理以外は難しくもありました。 ja.wikipedia.org PHP主体の方はOOPに慣れ親しんでいると思いま… 2024-05-11 Goで実践 アクターモデル vol.4 メッセージが届かない時に何が起きるか Go アクターモデル 設計 メッセージが届かない時って? 前回はアクターモデルのMailboxにメッセージが届いた時にどの様な仕組みで処理されるかを見ていきました。 今回はメッセージが届かない時に何が起きるかを見ていきます。 DeadLetters メッセージが届かない時にはDeadLettersと

    ytake blog
  • すっきり! 端的なビジネス文章の書き方例|させていただくの言い換えは? | 【レポート】Web担当者Forumミーティング 2020 Autumn

    コピーライティングのスキルをビジネス文書に活かし、効率的に仕事をしよう日企業では、コミュニケーションは対面で直接会話し、「これでいきます!」というより「わかったよね?」というような、文脈やニュアンスを読むことが重視されてきた。しかし、コロナ禍でテレワークが増え、メールやチャットといった書き言葉の重要性が増している。 ビデオ会議は、メールや電話に比べれば対面に近いが、社内会議だとビデオをオフにしている人の方が多いのではないだろうか。カメラをオフにしたとき、ニュアンスよりも「AでBだからCなんじゃないの?」といった書き言葉のようなロジックが重要になると、橋口氏は言う。コピーライティングのスキルをビジネス文章に活かし、より楽しく、効率的に仕事ができるようにするための方法を紹介していく。 長くなりがちなビジネス文章。その原因は、受け手への想像力の欠如まず、企画書や企業のWebサイトなどで、以下の

    すっきり! 端的なビジネス文章の書き方例|させていただくの言い換えは? | 【レポート】Web担当者Forumミーティング 2020 Autumn
  • Nodeのエラーハンドリング(unhandledRejectionとuncaughtException)について - Qiita

    process.on('uncaughtException', (err) => { fs.writeSync(1, `Caught exception: ${err}\n`); }); どこにもキャッチされずにprocessまで来てしまったエラーをキャッチ。 NodeJSのデフォルト(上記のようにハンドリングしない場合)では、このようなエラーはスタックトレースに出力して終了。 リスナーの関数はerrだけ。 注意点 このハンドリングでエラーがcatchされた場合、処理を継続すべきではない。 完全に想定外の状態になっていることを意味しているので、ここから無理やり復帰しようとして更なるエラーが起きる可能性がある。 例えるなら「コンピュータのアップグレード時にコンセントを抜くようなもの」。その意は「10回中9回は問題ないかもしれないが、1回はシステム破壊が起きる」。 ハンドリング内の処理でさらに

    Nodeのエラーハンドリング(unhandledRejectionとuncaughtException)について - Qiita
  • ゲーム データベースとして Spanner を使用する場合のベスト プラクティス  |  Google Cloud

    このサンプル テーブルでは、データを読みやすくするため、itemID と playerID の文字列は途中で切り捨てられています。実際のインベントリ テーブルには、この例に含まれていない別の列も含まれます。 RDBMS でアイテムの所有権を追跡する場合、一般的な方法では、現在のオーナーのプレーヤー ID を保持する外部キーとして列を使用します。この列は、個々のデータベース テーブルの主キーになります。Spanner では、インターリーブを使用して関連するプレーヤー テーブルの行の近くにあるインベントリを格納し、パフォーマンスの向上を図ることができます。インターリーブ テーブルを使用する場合は、次の点に注意してください。 プレーヤー行のデータと、そのすべての子孫のインベントリ行のデータは合わせて 4 GiB 未満にする必要があります。この制限は、適切なデータモデル設計の問題によるものではあり

    ゲーム データベースとして Spanner を使用する場合のベスト プラクティス  |  Google Cloud
  • GitHub - kettanaito/naming-cheatsheet: Comprehensive language-agnostic guidelines on variables naming. Home of the A/HC/LC pattern.

    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 - kettanaito/naming-cheatsheet: Comprehensive language-agnostic guidelines on variables naming. Home of the A/HC/LC pattern.
  • LLVMのauto-vectorizationとc2goasmによるGo Plan9 Assemblyの生成によるSIMD最適化 - c-bata web

    InfluxDBの開発チームはApache Arrowの技術に注目していて、ArrowのGo実装の開発にも積極的に参加しています。Stuart Carine (InfluxDBの開発チームメンバー)がApache ArrowのGo実装に取り入れたc2goasmとLLVMを使った最適化が以前話題になりました。 www.influxdata.com c2goasm はClangで生成したアセンブリをGo Plan9 Assemblyに変換できる汎用的なコマンドラインツールです。しかしその活用事例はほとんどが、Goコンパイラーが行っていないSSEやAVX命令を用いたSIMD最適化です。この記事ではAVX2によるSIMD演算を実現するための c2goasm の使い方を整理します。最終的にどれくらい速くなるかでいうとfloat64のsum演算は10x以上高速化しました。 $ go test -ben

    LLVMのauto-vectorizationとc2goasmによるGo Plan9 Assemblyの生成によるSIMD最適化 - c-bata web
  • Docker開発環境の構築~AWSで本番環境の自動リリースまで - Qiita

    エイチーム引越し侍でインフラの改善やNuxt.jsの新規構築/運用を行っている@harekuと申します。 この記事はエイチームブライズ/エイチームコネクト/エイチーム引越し侍 Advent Calendar 2018 1日目の記事です。 記事は、「Dockerについては何となく知ってるけど、開発環境の構築や、番環境の自動リリースまでのフローが分からない」といった方に向けた記事です。 この記事を読んで得られること Dockerアプリケーションの開発環境を構築できるようになる Dockerアプリケーションのインフラを構築できるようになる Dockerアプリケーションの自動リリース環境を構築できるようになる 今回使うアプリケーションは「Nuxt.js」というVue.jsのフレームワークです。記事のコードは全て「GitHub - hareku/terraform-nuxt-fargate」で

    Docker開発環境の構築~AWSで本番環境の自動リリースまで - Qiita
  • Go のスライスでハマッたところ - Block Rockin’ Codes

    intro 先日 GoのSliceもヤバイ - Qiita こんな記事をみて、別の挙動だけどスライスの内部を理解しきれていなかった頃のことを思い出した。 結構前に謎に思っていた挙動についての話。 以前この挙動を解説しようと思って、前提として書いたスライスの内部構造の記事が、 Go のスライスの内部実装 だったのですが、そっちを書き終わって満足してしまい、題を忘れていました。 この挙動は、先のブログで説明した内容がわかっていないと、なかなか理解できないかも。わかってしまえば簡単ですが。 やりたいのは、関数側でスライスを操作したときの呼び出し側での結果。 順を追ってみてみます。 配列を関数内で変更する 関数は値渡しで、配列はそれ自体が値なので、まるっとコピーされます。 以下の例は、戻り値で返さないと、呼出側は変化しません。 package main import ( "log" ) func

  • 1