タグ

2024年10月7日のブックマーク (4件)

  • 感動した Go のテクいコード - ドキドキするとき無敵でしょ

    この前上司の PR を読んでいたら「理解できるけどどうすればこんなこと思いつくんだ」と思ったコードがあり、聞いたら出典を教えてくれたので紹介する。 というわけでこちら。 strechr/testify のコードにそれはある。 github.com 私が感動したコードはこの getLen() 関数。 // getLen tries to get the length of an object. // It returns (0, false) if impossible. func getLen(x interface{}) (length int, ok bool) { v := reflect.ValueOf(x) defer func() { ok = recover() == nil }() return v.Len(), true } Named return values まずこ

    感動した Go のテクいコード - ドキドキするとき無敵でしょ
  • エンジニアが知っておくべき請負契約と準委任契約の違い - Qiita

    参考 IT業界では、請負契約と準委任契約がよく使われます。 委任契約はあまり使われることはなく、筆者も見たことがありません。 これは、エンジニアが法律行為を伴う業務を行うことが少ないためです。 請負契約と準委任契約の違い 請負契約と準委任契約は、どちらも業務委託契約の一種ですが、大きな違いがあります。 一言でいうと、請負契約は「成果物を納品することが目的」であり、準委任契約は「業務の遂行自体が目的」です。 請負契約では成果物を納品する責任が発生しますが、準委任契約ではその責任は発生しません。 ウォーターフォール開発で言うと、PoCや要件定義は準委任契約、設計や開発、テストは請負契約になることが多いです。 また、SES(システムエンジニアリングサービス)も準委任契約で結ばれることが多いですね。 PoCや要件定義が準委任契約になることが多いのは、不確定要素が多いため、確実に成果物を納品すること

    エンジニアが知っておくべき請負契約と準委任契約の違い - Qiita
  • 冪等性で挑む、非同期処理のパフォーマンスチューニング - GS2 Blog

    前回好評だった「冪等性と非同期実行」の続編にあたる記事です。 gs2.hatenablog.com 私たちが提供している Game Server Services はバックエンドに Lambda + DynamoDB といったフルマネージドサービスを活用した、いわゆるサーバーレスアーキテクチャで実装されています。 前回の記事はデータの整合性を保ちつつ、いかに処理をするかに焦点を当ててお話ししました。 ゲームはデータの整合性に対する要件は金融システムほどではないものの、高い水準で求められます。 あわせて、ゲームは体験に対する要件の水準が高く、レスポンスタイムへの要件にも厳しいのが特徴となっています。 前回の記事でざっくりとGS2における消費処理と入手処理を軸とした、トランザクションアーキテクチャのお話をしました。 今回の記事では、このトランザクションの実行についてのパフォーマンスチューニング

    冪等性で挑む、非同期処理のパフォーマンスチューニング - GS2 Blog
  • “パスワード変更”をユーザーに定期的に要求はダメ 米国政府機関が発表 「大文字や数字を入れろ」の強制もNG

    このコーナーでは、2014年から先端テクノロジーの研究を論文単位で記事にしているWebメディア「Seamless」(シームレス)を主宰する山下裕毅氏が執筆。新規性の高い科学論文を山下氏がピックアップし、解説する。 X: @shiropen2 「組織はユーザーに定期的なパスワード変更を要求してはならない」──米国政府機関の米国立標準技術研究所(NIST)が、そんな内容を含めた新しいガイダンス「SP800-63B」を発表した。パスワードの内容は、セクション3.1.1に記されている。 多くの人々が新しいパスワードを考え出し、それを覚えることに苦労している。セキュリティ上の理由から、多くの組織がユーザーや従業員に定期的なパスワードの変更を要求し、もしくは義務付けている。しかし今、米国政府はソフトウェアやオンラインツールを作成・運用する組織にこの慣行をやめるよう呼びかけている。 これは、Webサイト

    “パスワード変更”をユーザーに定期的に要求はダメ 米国政府機関が発表 「大文字や数字を入れろ」の強制もNG