タグ

2022年8月28日のブックマーク (12件)

  • 【CVPR2022】画像異常検知 PatchCoreの実装解説

    はじめに こんにちは、わっしーです。記事では、CVPR2022で発表された画像異常検知手法であるPatchCoreの実装について解説します。 まずは、実際に試した結果です。下図の上は正常画像、下は異常画像です。異常部分が赤くなっており、製品が欠損していることがわかります。 PatchCoreの詳細については、外観検査向け異常検知手法に関する論文紹介の記事がわかりやすいです。 PatchCoreの利点は、ImageNetなどのデータセットで学習された事前学習モデルの特徴マップを用いるため深層学習モデルの訓練の必要ないことです。 手法としては、 正常な画像群の特徴マップにおける局所的な部分をパッチ特徴量としメモリバンクに保存する 高速化のためランダム射影で次元削除した特徴量に対してGreedy法を用い、メモリバンク内のパッチ特徴量の数を削減 テスト画像の各位置の特徴量に対して、近傍法でメモリ

    【CVPR2022】画像異常検知 PatchCoreの実装解説
  • React Hook Form でも再描画に気を付ける

    React Hook Form を使うと、useStateを使う制御フォームにありがちな「頻繁な再描画」を手短かに防ぐことができます。しかし、使い方によっては、その利点を崩してしまうことがあります。それが、useFormの戻り値に含まれるwatchの使用です。 watch は頻繁な再描画の原因になる 次のコンポーネントは、よくあるサインアップフォームです。emailに入力された文字数をカウントし、インタラクティブに「何文字入力されているか」を表示します。watchは、このような値の購読に利用できる API です。しかしコメントにあるとおり、emailに文字が入力されるたび、このフォーム全体が再描画されてしまします。これは、多くの要素を含むコンポーネントで避けたい実装例です。 const defaultValues: Form = { email: "", password: "", };

    React Hook Form でも再描画に気を付ける
  • ISUCON12 本選の結果発表と全チームのスコア (追記あり) : ISUCON公式Blog

    2022.8.31 16:20 企業賞(TVer賞)の受賞チームについて追記 2022.8.31 11:00 選の失格チーム(ブラウザ動作確認失敗)の取り消しについて、追記と更新 --- ISUCON12 に参加いただいた皆さん、ありがとうございました! 8月27日(土)に開催された ISUCON12 選の結果発表および、選出場全チームの最終スコアについてご案内します。 受賞者の発表選の総合1〜3位のチーム、学生1〜2位のチームに対する賞、および特定スコアに対して特別賞を用意していました。 優勝: 賞金 100 万円2位: 賞金 30 万円3位: 賞金 10 万円学生1位: 賞金 30 万円学生2位: 賞金 10 万円特別賞: 賞金 5 万円 以下のとおり、各賞の受賞チームを発表します。 優勝チーム: NaruseJun スコア: 341,258点 2位/学生1位チーム: 織時屋(

    ISUCON12 本選の結果発表と全チームのスコア (追記あり) : ISUCON公式Blog
  • ReactのRefとRefForwardingを一気に学び直した

    動機 業務でstyled-componentsを触る機会がありました。 styled-componentsは自分の周りではあまり良い噂を聞いていなかったため、少し調べたところこんな記事がHitしました。 記事の内容としては 様々な基礎概念を隠蔽しすぎている 使うことのメリットデメリットや、隠蔽されている部分の理解をしたチームでないと使わないほうが良い という内容です。 なので、しっかりと順を追って復習しました。 環境 viteで作成したReact18のTypeScriptプロジェクトで実施。 Reactの利用は関数型コンポーネントを前提としています。 Refを軽くおさらい 公式Docを見ていただくのが一番正確です。 公式では 一般的な React のデータフローでは、props が、親コンポーネントがその子要素とやりとりする唯一の方法です。子要素を変更するには、新しい props でそれを

    ReactのRefとRefForwardingを一気に学び直した
  • 美術と著作権について知っておきたいこと|ちさぎ

    誰かが作った作品は、著作権法において保護される。それはほとんどの人が常識として理解していることではあるけれど、ではどのように法律で定められているかを詳細に知ろうとすると、著作権法という法律の複雑怪奇さに驚くことになる。そうした複雑さをとりあえず棚に上げて巷では、映画館で上映前に流れる映画の違法複製やダウンロードについて警告するパントマイムの動画や、番組の違法アップロードを犯罪だと指摘するテレビCMのように、著作権法のエッセンスだけでも理解してもらうための啓発活動が行われている。このようなシンプルなメッセージにでもしないと、誰もが著作権法を理解するのは不可能なように思われるからだろう。 だがそうしたシンプルなメッセージは、往々にして人々を脅すような常套句を展開しがちである。著作権を侵害する可能性があるのは作品を受け取る側の人々なのはたしかであり、責任を問われた場合に不利益を被る可能性を指摘す

    美術と著作権について知っておきたいこと|ちさぎ
  • Dockerのファイアウォール設定(ufwとiptables) - Qiita

    背景 Dockerコンテナの各サービスポートを外部からフィルター制限するファイアウォール設定についてまとめてみました。 動作環境 ホスト側 OS:Ubuntu Server 22.04LTS Docker CE version 20.10.17 ファイアウォール設定する場所 全体のネットワーク構成としてサービスポートをフィルターする場所を決めます。 ホストの外側 クラウドのAWSではセキュリティグループ設定、オンプレ環境だとファイアウォール装置やルーター機器の機能が該当します。 この場合はDockerコンテナやホスト自体の管理外なので省略します。 ホスト自体 Ubuntuの場合は通常ufwが利用されますが、Dockerではiptableが使用されてufwの設定は反映されません。 ufwで設定したつもりがサービスポートが外部に開いていてハッキング攻撃を受けてしまうことがよくあります。 Doc

    Dockerのファイアウォール設定(ufwとiptables) - Qiita
  • ZigのOpenCVライブラリ「zigcv」を作っている

    はじめに 以前、Zig の Tensorflow Lite のライブラリを使って遊ぶ記事を書いた。 この記事内では、静止画の処理を行うために、STB ライブラリを用いた。 こうなると次は動画の処理を行いたくなるものだ。 ... ならば OpenCVZig から使えるようにしようではないか。 OpenCV の C バインディングを作る OpenCVC++で書かれているので、Zig から関数を呼び出すには C バインディングを作る必要がある。 1から OpenCV の C バインディングを作るのは大変なので、 今回は同じ手法で C バインディングを実装して呼び出している gocv のコードを利用させていただくことにした。 これで、工数の半分以上が省けることになる。 Zig バインディングを作る この記事の執筆中ではまだ完成はしていない。 しかし、Web カメラの画像を取得して文字や

    ZigのOpenCVライブラリ「zigcv」を作っている
  • UIの名称まとめ 〜よく見かけるけどあれなんていう名前?〜|Nviveto

    コンポーネントを作るときや開発チーム、クライアントと話をするときに名称が一致していないと何の話をしているんだか、、?となってしまします。 忘れっぽい自分は毎回名前をうろ覚えでつけてしまっていますが、戒めとして記事を書くことでしっかり覚えていきたいと思います。 ※色んなところから引っ張ってきているので正式名称ではない(複数呼び名がある)ものがあるかもしれませんが、ご了承ください。 UIパーツ見づらくてすみませんが、エクセルのシートを画像にしたものを貼り付けていきます Onscreen keyboards画面上にキーボードの図形や文字を表示し、マウスあるいはペンなどのポインティングデバイスや、指先によるタッチ、あるいは十字キーなどで各キーを指定して文字入力を行うもの Onscreen keyboards (iOS) SegmentedControliOS独自のUIで水平方向に配置された複数のボ

    UIの名称まとめ 〜よく見かけるけどあれなんていう名前?〜|Nviveto
  • Dockerコンテナのpostgresqlがマルウェアに感染した件について - Qiita

    背景 Dockerコンテナを立てたらマルウェアに感染したのでサイバーセキュリティの啓蒙を兼ねてメモ書きしてみました。 注意事項 マルウェアに感染した被害の対処方法を記述しています。マルウェア自体の機能や解析の解説ではなく一般利用者ユーザーの視点から感染経路と対応方法についての記述になります。 マルウェア感染状況 症状 Dockerコンテナを稼働させたホストのロードアベレージ(CPU負荷)が常時4を超える状況になっていました。つまり400%でホストがフル回転してた訳ですな。 例えるならエヴァンゲリオン初号機が暴走してマヤちゃんがコンソール画面に向かって叫んでいるところです(違) こうなるとクラウドサービスのAWSとかだと英文で警告アラートが飛んで来ますし毎日課金されで膨大な利用料金請求が来ることになります。恐ろしい!! 状況の調査 CPUの利用状況やメモリの使用量などを調査するツール類があり

    Dockerコンテナのpostgresqlがマルウェアに感染した件について - Qiita
  • 【資料公開】スプリントプランニング Deep Dive

    みなさんこんにちは。@ryuzeeです。 8月26日に新刊『エンジニアリングマネージャーのしごと』が発売になったのでぜひよろしくお願いします。 2022年8月26日〜27日までスクラムのコミュニティイベントであるScrum Festが初めて仙台で行われました。 このイベントで「スプリントプランニング Deep Dive」というタイトルで話をする予定だったのですが、急遽体調不良となり、代わりに弊社の@miholovesqに登壇してもらいました。 ただ、資料をそのままにしておくのも勿体ないので、こちらで公開します。 スクラムガイドの複数回の改訂で、スプリントプランニングにも何度か変更が加わっています。 ところが巷のブログなどを読んでいると古い知識をベースにしていたり、特定のツールの従来からの仕様に引きづられた運用になっていたりするのを多く見かけます。 ということで、今回スプリントプランニングに

    【資料公開】スプリントプランニング Deep Dive
  • macOSのTouchIDを使用して、sudoを認証する

    Digitaino ITより。TouchIDを使った認証には様々な応用がある(LocalAuthenticationフレームワーク)。 TouchIDを搭載したMacは、指紋を使ってsudoコマンドを承認するように簡単に設定できます。 お気に入りのテキスト・エディタで、以下のファイルを開いて下さい。 /etc/pam.d/sudo 次の行 auth sufficient pam_tid.so を、pam_smartcard.soの行の下に以下のように追加し、ファイルを保存します(picoの場合はCtrl+O)。 # sudo: auth account password session auth sufficient pam_smartcard.so auth sufficient pam_tid.so auth required pam_opendirectory.so account

    macOSのTouchIDを使用して、sudoを認証する
  • 実践! ユニットテスト入門

    PHPカンファレンス沖縄2022の登壇資料です。 発表時間の関係で収まりきらなかった内容を大幅に加筆しています。 以下プロポーザルの内容を転記。 ---- テスト書いてますか? テストを書く理由と実際のテストコードを紹介する実践編に分け、TDD を3年間実践してきた経験に基づいてお話しします。 テストを書いたことのない方が、テストを書いてみたいと思ってもらえることを目指します。 サンプルコードは PHP + PHPUnit ですが、他言語でも通用する考え方を紹介します。 ■ 概要 ・なぜテストコードを書くのか ・レガシーコードとは、テストのないコード ・テストはコストが安いフィードバックループである ■ 実践編 ・テストケースは日語で書こう ・いろんな assertion を知ろう ・arrange / act / assertion のテストコード実装パターン ・set up / te

    実践! ユニットテスト入門