タグ

sugyanのブックマーク (7,982)

  • 「達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践」を執筆しました - 酒日記 はてな支店

    「達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践」というを6名の共著で執筆しました。技術評論社さんから、2022年6月4日発売予定です。電子版もでます。 gihyo.jp Amazon はこちら。 達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践 作者:藤原 俊一郎,馬場 俊彰,中西 建登,長野 雅広,金子 達哉,草野 翔技術評論社Amazon タイトルの通り、ISUCON で出題されるようなWebサービスを例にして、Webサービスのサーバーサイドパフォーマンスチューニングを指南する内容です。通称「ISUCON」と呼んでください。 2020年の末に、技術評論社さんからWebサービス高速化 × ISUCONに関する書籍を執筆しませんか、と藤原までお誘いをいただいたのが発端でした。 書きたい気持ちはあったものの、内容的にとて

    「達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践」を執筆しました - 酒日記 はてな支店
  • WebAssembly を動的生成した場合のパフォーマンスについて

    以下では、それぞれのプログラム実装について詳細を説明していきます。 1. JavaScript simple implementation(js-simple) ソースコード / 実行結果 このプログラムは、JavaScript で BF の文字を 1 文字ずつパースし実行していく、一番シンプルな実装です。対応する括弧のジャンプも、そのたびに愚直に計算して求めています。 一切最適化を施していないため、実行結果はその他のプログラムに比べて一番遅くなっており、各プラットフォームで最も速い結果に比べて 30 倍〜50 倍ほど遅くなっています。 2. JavaScript dynamic-code-creation implementation: single function (js-dcc) ソースコード / 実行結果 このプログラムは、BF の各記号に対応する JavaScript を直接文

  • 働きながらアメリカの大学院でCS修士号を取った - k0kubun's blog

    4年前に会社の福利厚生を使ってスタンフォードの授業を取ってみたら面白く、 働きながらでも続けられそうだなという実感を得たので、 2年後、受験を経てジョージア工科大学にリモートで通い始めた。 そして先日、ジョージア工科大学からコンピュータサイエンス修士号をいただくことができた。 画像の学位記は卒業式イベント用の非公式のもので、1~2か月すると Masterとちゃんと書いてある物が来るらしい *1 。 After 1 year and 9 months, I graduated from Georgia Tech and got a master's degree in computer science. It was intense to be a student while working full-time, but I learned a lot. pic.twitter.com/J

    働きながらアメリカの大学院でCS修士号を取った - k0kubun's blog
    sugyan
    sugyan 2022/05/16
    すごい… とても面白そうではあるけど出来る気がしないな、、
  • カヤック×PR TIMES合同 カヤック社内ISUCONを開催しました - KAYAC engineers' blog

    カヤックSREの今です。 今年も4月に新卒社員を迎え、4月の後半には技術部研修を行いました。 技術部研修の締めには毎年なにかしらのイベントを行うのが恒例になっており、昨年は社内CTFを開催しました。 今年は、カヤックでは2年ぶりとなる社内ISUCONを開催しました。 新卒のみなさんはオフィスへ集まってもらいました ISUCON1とは Iikanjini Speed Up CONtestの略で、出題されたwebサービスを競技時間内にいい感じにスピードアップするコンテストです。 参加者にはWebサービスが動作する環境と初期実装のソースコード、MySQL等などのソフトウェアの初期設定ファイルが配布されます。 制限時間内でWebサービスの動作が変わらないように変更を加えて、最終的にベンチマーカーが計測するWebサービスのスコアを競います。 Webサービスの構成は問題によって変わります。アプリケーシ

    カヤック×PR TIMES合同 カヤック社内ISUCONを開催しました - KAYAC engineers' blog
  • 折り紙やってる - hitode909の日記

    大学の先輩のお子様がうちの子供と同じ保育園に通っていて、たびたび、朝の送り迎えの途中にばったり路上で遭遇するので、立ち話をしている。 先日、ハートの折り紙をいただいた。 なにかお返ししなければ…と思って、3つ首がある鶴を折ってお返しした。 リュックの横のポケットにつっこんで送り迎えを繰り返し、偶然遭遇したときにお渡ししてきた。 小学生くらいの頃には、3つ首がある鶴を折るのが得意技で、何も考えずに手癖で折り続けることができていたのだけど、今となってはすっかりその忘れていたので、格折り紙ってを買ってきて参照した。 格折り紙―入門から上級まで 作者:前川 淳日貿出版社Amazon このの著者の前川淳さんのファンで、小学生のときにビバ!おりがみってで出会って、悪魔を折れるようになるまで図書館で何度も借り続けて、授業をほぼ聞かずに学校でも鍛錬を続けて、ついに折れるようになり、最後の方には、

    折り紙やってる - hitode909の日記
  • 名前も知らない人のアカウントを2年かけて特定したら人生が確変に入った|四月

    自慢じゃないけどネットストーカーが得意。彼氏の元カノのインスタグラムとか秒速で見つけちゃう。マジで自慢じゃないです。このあいだ、友人がVJをやっているというので1分でそのVJユニットのツイッターアカウントを特定して送り付けたら「ネトスト1級?」と聞かれた。粘着質の賜物ですわよ。 まあそれにしたってアカウント特定にはある程度の手がかりが必要になってくる。名前、居住地、出身大学、エトセトラ。なんらかのヒントが無いとさすがに難儀。別に特別な技術があるわけでもないし、当にただ粘着質なだけで。 人生で特定したアカウントは数知れず、その中でも一番厄介で一番時間がかかった相手がいました。 かかった年数、約2年。 名前も居住地も知らなかった。知っているのは出身大学と顔だけ。共通の知人なんて1人もいない。 それでも絶対に見つけたかった。 2年間、ずっと膨大なネットの海を潜ってはきょろきょろと探し続けていた

    名前も知らない人のアカウントを2年かけて特定したら人生が確変に入った|四月
  • オンライン投票はなぜ『難しい』のか

    で公職選挙が近づいてくると、「202X 年にもなって投票所に行く必要があるなんて」とか「オンライン投票もいまだにできないなんて」みたいな声をよく聞きます。 [1] 法にも技術にも詳しくない一般の人がそう思うのは自然なことでしょう。オンライン投票ができれば、少なくとも若年層の投票率にはいい影響があるかもしれません。しかし「現代的で民主的な選挙」の要件をしっかり満たしてオンライン投票を実現するのは、実は技術的にも容易ではありません。 「現代的で民主的な選挙」の要件とは、どういうものでしょうか。現在の技術でオンライン投票を実施すると、その要件はどのように毀損するのでしょうか。私たちはその要件を、当に理解しているでしょうか。 記事は、「現代的で民主的な選挙」の要件を振り返り、そこから導かれる「オンライン投票のなにが『難しい』のか」をできるだけ明確にする試みです。そして、議論をその先へ進める

    オンライン投票はなぜ『難しい』のか
  • 超高速シリアライズフォーマット「DLHN」

    新しいシリアライズフォーマットDLHNをリリースしました。 DLHNは高速でデータサイズが小さいバイナリ形式のシリアライズフォーマットです。 DLHNの発音は"Dullahan"と同じです。 公式サイトは https://dlhn.org 実装は https://github.com/otake84/dlhn イラストは @kira2beat さんに描いていただきました。 特徴DLHNはプログラミング言語やプラットフォームに依存しないバイナリ形式のシリアライズフォーマットで、JSON, CSV, MessagePack, Protocol Buffersなどから影響を受けています。 シリアライズとデシリアライズが高速で、データサイズが小さく、Schema定義ファイルが不要でストリーム処理にも対応しています。 これを聞くとMessagePackと同じように感じるかもしれませんが、実際のデータ

    超高速シリアライズフォーマット「DLHN」
    sugyan
    sugyan 2022/05/09
  • 第32回世界コンピュータ将棋選手権 結果報告 - TadaoYamaokaの開発日記

    5/3~5/5に開催された第32回世界コンピュータ将棋選手権に参加しました。 HEROZチームとして、「dlshogi with HEROZ」というプログラム名でエントリしました。 大会の概要 世界コンピュータ将棋選手権は、1990年より毎年開催されている歴史のあるコンピュータ将棋の大会です。 今回は32回目の開催で、51チームが参加しました。 第1予選、第2予選を通過した上位8チームで総当たりのリーグ戦で決勝戦が行われました。 大会の結果 決勝では1回も負けることはなく、優勝という結果になりました。 第32回世界コンピュータ将棋選手権 決勝 ソフトの強さは毎年強くなっており、上位ソフトの強さは拮抗しており決勝に残るだけでも難しい状況でした。 優勝の可能性はあると考えていましたが、決勝に残るチームでの勝率の差は10%程度だと考えていたので、1回勝負では運で決まる要素も大きいと思っていました

    第32回世界コンピュータ将棋選手権 結果報告 - TadaoYamaokaの開発日記
    sugyan
    sugyan 2022/05/06
  • S.Lightweight-EFについて - 死ぬこと以外かすり傷

    第32回世界コンピュータ将棋選手権が終わりましたが、そちらに出場していた「S.Lightweight-EF」について記載します。 どちらにしろ後からアピール文書としても出し直しますが、主にそちらには書かない部分について言及しようと思います。 ■概要 dlshogiをベースとしたライブラリ勢のソフトで、Lightweightシリーズの最新版にあたります。 コンセプトは「ローカルPC環境でもCPU系/GPU系に限らず、高級スリッパやつよつよインスタンス勢と戦うこと」であり、末尾のEFはモデルに採用しているEfficientNetが由来です。 ■第2回電竜戦時からの改良点とdlshogi家との差異 大きく①②③④⑤の特徴がありますが、家との差異は以下①②です。 ①モデルアーキテクチャ 家ではResNetを使っていますが、S.Lightweight-EFでは「EfficientNet」にて構

    S.Lightweight-EFについて - 死ぬこと以外かすり傷
    sugyan
    sugyan 2022/05/06
  • [Rust] モジュールのベストプラクティス

    Rust のモジュールシステムは私の知る中でもトップクラスによくできた仕組みだと思います。特にリファクタリングによってモジュールを再構成するときのやりやすさは他の言語では経験できないものです。例えばそれなりの規模の Python プロジェクトを回帰バグを導入せずにモジュール構造のリファクタリングするのは不可能に近いですが、 Rust ではそのような不安を覚えたためしがありません。 Rust のモジュールシステムがどういうものかは、 The book にも書かれていますし、すでに大量のガイドが書かれていると思います。しかし、どのように使うべきかについては意外なほど情報が少なく感じます。 ベストプラクティスというのもおこがましいですが、数年使ってきて Rust のモジュールシステムを使う上でスムーズに感じる方法をまとめておきたいと思います。 Rust のモジュールシステム 稿の主題はモジュー

    [Rust] モジュールのベストプラクティス
  • 詰将棋探索における簡易的な二重カウント対策

    #証明数/反証数の二重カウント問題を回避するためには、局面グラフの合流を検出ができなければならない。 合流を検出するためには、以下の追加情報のいずれかを置換表に保存する必要がある。 直前手親局面の置換表エントリへのポインタこれらの情報があれば、次回以降に同じ局面に到達したときに局面の合流を検出することができる。なお、直前手だけでは取った駒がわからないので、厳密な合流検出のためには親局面へのポインタも必ず必要になる。 局面の合流検出 長井歩, and 今井浩. “df-pn アルゴリズムの詰将棋を解くプログラムへの応用.”  情報処理学会論文誌  43.6 (2002): 1769-1777. Fig. 3 探索中に局面の合流を見つけたとき、探索経路および置換表に書かれた親局面をたどり、それらの手順が分岐した局面を特定する。このようにして、二重カウント問題が発生しそうな分岐局面を特定すること

    詰将棋探索における簡易的な二重カウント対策
  • はじめに — マンガと学ぶデータビジュアライゼーション

    はじめに# データビジュアライゼーションとは,数値や文章などのデータに基づいた情報を,人間が理解しやすい形に視覚化する技術を指します. このサイトは,文化庁のメディア芸術データベース・ラボ(MADB Lab)で公開されている四大少年誌( 週刊少年サンデー, 週刊少年ジャンプ, 週刊少年チャンピオン, 週刊少年マガジン )のデータを用いて,データビジュアライゼーションの学習を手助けすることを目指しています. データビジュアライゼーション(に限らずデータ分析全般)の学習において重要なのは,分析対象のデータに興味を持てるかどうかです. 書では約47年の四大少年誌のマンガ作品データを採用しているため,モチベーションを保ちつつ学習を進めることが可能です.

  • コンピュータ向け超難解詰将棋作品集 - 詰将棋メモ

    [2022年6月9日最終更新] 脊尾詰でミクロコスモスが解け、長井詰でほとんどの長編が解けてしまってから、詰将棋プログラムの研究は新たな展開がほとんどない。そこで、コンピュータに挑戦!ということで、コンピュータ向けのベンチマークとして超難解詰将棋作品集を作ってみようと思いついた。10作ぐらい揃えたいので超難解作をご存知の方はコメントやトラックバック、またはおもちゃ箱掲示板で教えてください。また、これらの作品がコンピュータで解けた場合は、プログラム、環境(CPUやメモリ設定)、時間をレポートしていただければ、随時掲載したいと思います。 作品集はこちら(現在13作品) ===> コンピュータ向け超難解詰将棋作品集 関連情報(詰将棋メモ): コンピュータで詰将棋  コンピュータ詰将棋の課題  コンピュータによる詰将棋創作 関連情報(おもちゃ箱): 将棋ソフト・コンピュータ将棋  超長編作品のプロ

    コンピュータ向け超難解詰将棋作品集 - 詰将棋メモ
  • WebGPUとRustでネコチャンを点描した話

    はじめに 昨年12月にこんなツイートを見かけました。 かわいいですね。幸いにして論文と実装が公開されていたので、自分でもやってみようと思って、その結果を書いたのが前回の記事です。 読んでいただければわかるとおり、前回の記事の中ではGPUを使わずにアルゴリズムやデータ構造を工夫して近似的に計算しています。結果の画像についてはそんなに悪くないと思っていますが、限界もありました。パーティクルの数も少ないし、一部の画像ではうまく行きませんでした。 やっぱり、もっとちゃんとネコチャンを点描してみたいですよね。 なので、今回の記事ではGPUを使ってアルゴリズムを再現し、よりヴィヴィッドなネコチャンの点描を作成しようと思います。GPUを使って計算するために、WebGPURust実装であるwgpuを使用します。ネコチャンの画像を点描にしたい人と、WebGPUに入門してcompute shaderで何か計

    WebGPUとRustでネコチャンを点描した話
  • Crypko

    High-quality Anime Character Generation and Design powered by GAN (Generative Adversarial Networks).

    Crypko
  • CLI で 𝙈𝙮 𝙣𝙚𝙬 𝙜𝙚𝙖𝙧... する

    新しく買ったものの画像と一緒に「𝙈𝙮 𝙣𝙚𝙬 𝙜𝙚𝙖𝙧...」とツイートする人が Twitter にはたくさんいます. この「𝙈𝙮 𝙣𝙚𝙬 𝙜𝙚𝙖𝙧...」のような装飾文字は Unicode で定義された文字なのですが,簡単には入力できないと思います.そのため,こういったサイトなどで変換して使うことになります. このサイトは文字を入力してボタンを押すだけで変換できて便利なのですが,毎回このサイトにアクセスする必要があります. ターミナルで作業しているときにいますぐ「𝙈𝙮 𝙣𝙚𝙬 𝙜𝙚𝙖𝙧...」したくなったり,100万行のテキストファイルをすべて 𝒃𝒐𝒍𝒅 𝒊𝒕𝒂𝒍𝒊𝒄 にしたいときはこのサイトでは難しいです. そこで CLI で「𝙈𝙮 𝙣𝙚𝙬 𝙜𝙚𝙖𝙧...」するべく omekasy というツール

    CLI で 𝙈𝙮 𝙣𝙚𝙬 𝙜𝙚𝙖𝙧... する
  • Rustで設定値を持つにはどうしたらいいですか | κeenのHappy Hacκing Blog

    κeenです。Rustではじめてアプリケーションを書くときに困りがちなことの1つにグローバルな値を持つにはどうしたらいいか分からないというのがあるようです。 その書き方を何パターンか紹介しできたらなと。 一応この記事には元ネタというかインスパイア元があり、以下のリポジトリも見ながら書かれています。 https://github.com/paulkernfeld/global-data-in-rust let にする 一番よくあるケースだとCLIや起動時に読み込んだ設定ファイルの値をどうするかでしょう。データの性格として起動時に一度だけ生成してあとは(ほとんど)いじらないようなものです。そういうものは main 関数内で let して、あとは借用で持ち回ればよいです。 起動時にファイルかろ設定値を読み込んで動くアプリケーションを雰囲気で書くとこんな感じです。 use std::io; str

    Rustで設定値を持つにはどうしたらいいですか | κeenのHappy Hacκing Blog
    sugyan
    sugyan 2022/04/25
  • 多腕バンディット問題に触れてみる - Platinum Data Blog by BrainPad

    記事は、当社オウンドメディア「Doors」に移転しました。 約5秒後に自動的にリダイレクトします。 当社自社開発プロダクト「Rtoaster」のAI機能「conomi-optimize」にも考え方を利用したアルゴリズムが使われている、多腕バンディッド問題。今回のブログでは、多腕バンディッド問題の内容と基的な解法についてご紹介します! こんにちは、アナリティクスサービス部の小野川です。 今回は多腕バンディット問題と呼ばれる問題の内容とその基的な解法についてご紹介したいと思います。 多腕バンディット問題概要 多腕バンディット問題とは強化学習に含まれるもので、複数の選択肢のなかからよりよい選択肢、つまりより報酬を得られやすい選択肢を選ぶという問題です。 ビジネス現場でもWeb広告最適化やレコメンドなどで活用しうるもので、活用範囲は幅広くあります。(実は弊社の製品であるRtoasterでもこ

    多腕バンディット問題に触れてみる - Platinum Data Blog by BrainPad
  • Node.js の原罪 - from scratch

    Intro ちょうどタコピーの原罪が流行ってるのでこのタイトルにしたけど結構気に入ってる。 d.potato4d.me この話を読んでの感想とここまで大きくなった Node.js の振り返りをしようと思う。 どんなプログラミング言語であってもみんなから使ってもらって開発者をハッピーにしたいと思ってる。ただ最初は良かったと思ってた機能がなんか古臭くなったり、他にクールな機能を持ったものが登場したことによって徐々に飽きられていき、最終的に他の言語に乗り換えられる。 まぁどんな言語も同じだと思う。C言語だって生まれた当初はすごくクールでみんなをハッピーにしてた。今丁度「戦うプログラマー」を読んでるが、C++が出てきて、周りのエンジニアC++ を使おうとするシーンが出てくる。そこで、「あんなの使って何が良いんだ、Cで十分だろ」とWindows NT 開発リーダーのデーブカトラーが言ってたりする

    Node.js の原罪 - from scratch