タグ

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

  • 詰将棋アルゴリズムdf-pnのすべて | やねうら王 公式サイト

    将棋AIで用いている詰将棋ルーチンにdf-pnというアルゴリズムがある。 これは、proof number(証明数)、disproof number(非証明数)を用いて効率的に探索を行い、その局面が詰むか、詰まないかを判定できるとても強力なアルゴリズムである。 将棋ファンなら『脊尾詰』と言う「ミクロコスモス」(1525手詰)を解く詰将棋専用ソフトについて一度ぐらいは聞いたことぐらいあるだろう。これは、脊尾さんが大学時代に作成されたプログラムである。そこに使われていたのが脊尾さんが考案されたdf-pnというアルゴリズムである。 df-pnに関しては、脊尾さん自身の論文(1998年)があるものの、要点しか書かれておらず、いまのようにGitHubにソースコードがあるわけでもなく、その詳細については長らく謎に包まれたままであった。(この脊尾さんの論文では、証明数のみを用いており、非証明数は陽には出

  • 【JS体操】JavaScript で頭の体操をしよう!〜第一問 44文字 解説編〜 - KAYAC engineers' blog

    こんにちは!カヤック面白プロデュース事業部のおばらです。 普段は受託案件、特にインタラクティブな WebGL や Canvas2D を駆使する案件のデザイン&実装を担当しています。 先日出題したJS体操 第一問目、挑戦してくださったみなさまありがとうございました! 早速ですが最短文字数の回答は 44文字 でした! export default x=>x-(x%=.2)+.2-(.04-x*x)**.5 みごと44文字を達成した方は、 halwhite さん koyama41 さん sugyan さん tkihira さん たつけん さん の5名!(※ Unicode コードポイント順) おめでとうございます!! 最短文字数を狙った正統派の回答以外にも、裏技的な面白アプローチがたくさんありました笑 このアプローチは面白い、ぜひ紹介したい!という回答がいくつかあったので、解説記事は2回に分けて

    【JS体操】JavaScript で頭の体操をしよう!〜第一問 44文字 解説編〜 - KAYAC engineers' blog
    sugyan
    sugyan 2024/04/26
    めっちゃ分かりやすい解説記事。自分は三日三晩考えまくってようやく44文字に辿り着いたけど `%` を整数でしか使ったことが無かったので `% 0.2` できることに気付くまでが一番時間かかって大変でした
  • builderscon 2024をやります! - builderscon::blog

    来る2024年8月10日に埼玉浦和でbuilderscon 2024をやります! 予定を空けておいてくださいね! 近々セッション公募を開始予定ですのでネタをご用意のうえお待ちください。 また、手伝ってくれる方は@nasa9084までご一報ください!

    builderscon 2024をやります! - builderscon::blog
    sugyan
    sugyan 2024/04/25
    おぉ、ビルダーズコン復活!
  • Expressに22個以上の要素の配列クエリを渡すときは気をつける - すぎゃーんメモ

    自作ライブラリを使ったBlueskyクライアントを実装していて遭遇したバグ。 ATriumからのfeed.getPostsでurisが21個までなら大丈夫だが22個以上だとエラーになることが発覚した。問題切り分け中… ここまで自作クライアント実装してようやく気付く問題があるんだから やっぱりドッグフーディング大事やな、、— すぎゃーん (@sugyan.com) Apr 21, 2024 at 10:21 AM 問題の詳細と対応は以下の通り。 `app.bsky.feed.getPosts` fails with more than a certain number of arguments `uris` · Issue #160 · sugyan/atrium · GitHub feat: Replace serde_qs to serde_html_form by sugyan · P

    Expressに22個以上の要素の配列クエリを渡すときは気をつける - すぎゃーんメモ
    sugyan
    sugyan 2024/04/22
    書いた
  • なぜ我々は GitHub Copilot Enterprise の導入を見送ったのか - 一休.com Developers Blog

    CTO 室の恩田です。 今回は GitHub Copilot Enterprise を評価してみて、現時点ではまだ採用しないことを決めた、というお話をご紹介したいと思います。 きっかけ とあるエンジニアSlack で自身の times チャネルに時雨堂さんの GitHub Copilot Enterprise のススメという記事を投稿したことが発端でした。特に感想はなく URL に 👀 だけが添えられていたので、後で見るぐらいのメモだったんだと思います。 それを見かけた別のエンジニア技術雑談チャネルにその投稿を共有して、これは凄そうと話題を向けたところ、CTO の「評価してみる?」の一言で、有志が集って評価プロジェクトが始まりました。 雑談チャネルできっかけとなる投稿が共有されてから、30分足らずの出来事でした(笑)。 この話題が出たのは金曜日でしたが、週明け早々に稟議を終え、火曜

    なぜ我々は GitHub Copilot Enterprise の導入を見送ったのか - 一休.com Developers Blog
  • MoonBit が WebAssembly 時代の理想(の原型)だった

    最近 moonbit という言語を知ったのですが、これが調べれば調べるほど好きになる言語だったので、紹介させてください。 文法的には GC 付きの Rust で、 WebAssembly にコンパイルされます。とくに CDN Edge Worker 上での実行を想定しているようです。もう好き。 注意: まだ若い言語なので、これから言語仕様がガンガン変わっていくと思われます。あくまで現時点での情報です。 tl;dr Pros だいたい GC あり Rust と捉えていい 文法面のキャッチアップが容易 ライフタイムの難しさを考えなくていい すでに vscode 拡張やパッケージマネージャ等のエコシステムが整っている Cons まだ安定していない / しばらくはソースコードが公開されない 現時点では学習リソースやパッケージ数が足りず、書き手の腕力が求められる はじめに: JS/TS/Rust

    MoonBit が WebAssembly 時代の理想(の原型)だった
  • BlueskyのDesktop Client Appを作り始めている - すぎゃーんメモ

    sugyan
    sugyan 2024/04/05
    書いた
  • XZ Utilsの脆弱性 CVE-2024-3094 についてまとめてみた - piyolog

    2024年3月29日、Linux向け圧縮ユーティリティとして広く利用されているXZ Utilsに深刻な脆弱性 CVE-2024-3094 が確認されたとして、研究者やベンダがセキュリティ情報を公開しました。この脆弱性は特定の条件下においてバックドアとして悪用される恐れがあるものとみられており、当該ソフトウエアのメンテナのアカウントにより実装されたソフトウエアサプライチェーン攻撃の可能性が指摘されています。ここでは関連する情報をまとめます。 脆弱性の概要 xzとは主要なLinuxディストリビューションに含まれる汎用的なデータ圧縮形式で、今回問題が確認されたのはその圧縮・解凍ユーティリティであるliblzma(API)を含むXZ Utils。CVE-2024-3094が採番されており、Red Hatによって評価されたCVSS基値はフルスコアの10。影響を受けたライブラリをリンクしているssh

    XZ Utilsの脆弱性 CVE-2024-3094 についてまとめてみた - piyolog
  • λ計算から始める Lazy K

    Lazy K は S, K, I の三文字 (と括弧) だけで記述することのできる難読プログラミング言語です。 Brainfuck や Whitespace などの手続き型の難読言語と異なり、 Lazy K は関数型がベースとなっており、難読言語の中でも書くのがかなり難しい言語と思われます。 一方、 Brainfuck がチューリングマシンをベースにしているように、 Lazy K もコンビネータ計算と呼ばれる計算モデルをベースにしており、ある意味「究極の関数型言語」と呼べるような美しさもあります。 書では Lazy K を書く上で必須となるλ計算の簡単なチュートリアルから、実際に Lazy K プログラムを書く (生成する) までを扱います。

    λ計算から始める Lazy K
  • なぜ、YAPCはこれほど愛されるカンファレンスになったのか。運営の裏側をHiroshima 2024スタッフたちに聞いた - Findy Engineer Lab

    YAPCは「Yet Another Perl Conference」の略称であり、Perlを軸としたITに関わる全ての人のためのカンファレンスです。このカンファレンスは、Perlのみならず参加者たちが好きな技術の話をして交流することを目的としており、毎年数多くの方々が参加する一大イベントとなっています。 2024年2月9日・10日に広島県で開催されたYAPC::Hiroshima 2024は「what you like」がテーマ。職種やロール、プログラミング言語、技術要素など、各々のさまざまな「お好み」を語る場となりました。YAPC::Hiroshima 2024の運営に携わったメンバーたちは、どのような思いで活動をしたのでしょうか。 運営チームのリーダーを務めたkobakenさんと、長きにわたり運営に参加し今回は主に広報業務を担当したpapixさん、そして開催地である広島県在住でコアスタ

    なぜ、YAPCはこれほど愛されるカンファレンスになったのか。運営の裏側をHiroshima 2024スタッフたちに聞いた - Findy Engineer Lab
    sugyan
    sugyan 2024/03/29
    いい話
  • RFC の URL はどのドメインで貼るのが良いか | blog.jxck.io

    Intro IETF の RFC は、いくつかの場所で同じものが公開されている。 どの URL が最適なのか、という話。 結論は www.rfc-editor.org だ。 RFC Hosting Site 例えば RFC 9110 - HTTP Semantics で言うと、以下の 4 つがある。 https://tools.ietf.org/html/rfc9110 https://datatracker.ietf.org/doc/html/rfc9110 https://www.rfc-editor.org/rfc/rfc9110.html https://httpwg.org/specs/rfc9110.html まずは、これらの違いを簡単に解説する。 tools.ietf.org IETFホストする RFC は、 tools.ietf.org だった。 RFC 2616: H

    RFC の URL はどのドメインで貼るのが良いか | blog.jxck.io
    sugyan
    sugyan 2024/03/28
  • Bluesky meetup in Osaka Vol.2 (2024/04/14 13:30〜)

    お知らせ connpassではさらなる価値のあるデータを提供するため、2024年5月23日(木)を以ちましてイベントサーチAPIの無料での提供の廃止を決定いたしました。 2024年5月23日(木)以降より開始予定の「connpass 有料API」の料金プランにつきましてはこちらをご覧ください。 お知らせ connpassをご利用いただく全ユーザーにおいて健全で円滑なイベントの開催や参加いただけるよう、イベント参加者向け・イベント管理者向けのガイドラインページを公開しました。内容をご理解の上、イベント内での違反行為に対応する参考としていただきますようお願いいたします。

    Bluesky meetup in Osaka Vol.2 (2024/04/14 13:30〜)
  • 鍵生成には暗号論的に安全な乱数を使おう

    SSHの鍵生成には暗号論的に安全な疑似乱数を使おうという話。 暗号論的に安全ではない疑似乱数がどれだけ危険かというのを、簡単なCTFを解くことで検証してみました。 背景 SSH公開鍵に自分の好きな文字列を入れる、という記事を読みました。 かっこいいSSH鍵が欲しい 例えばこのSSH公開鍵、末尾に私の名前(akiym)が入っています。 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFC90x6FIu8iKzJzvGOYOn2WIrCPTbUYOE+eGi/akiym そんなかっこいいssh鍵が欲しいと思いませんか? かっこいい!真似してみたい! そこまではいいんですが、問題は実装です。 秘密鍵を生成する際の乱数生成には高速化のために Goのmath/randを使っていますが、乱数が用いられるのは公開しない秘密鍵自体であり、このアルゴリズム自体はLagged Fib

  • 「YAPC::Hakodate 2024」を開催します!!! - YAPC::Japan 運営ブログ

    Japan Perl Associationの id:papix です. YAPC::Hiroshima 2024が終わって間もない時期ですが, 次のYAPC::Japanの開催が決まりましたのでお知らせいたします. 次のYAPC::Japanは, 「YAPC::Hakodate 2024」として, 2024年10月5日(土曜日) に, 公立はこだて未来大学 にて開催することとなりました!!! 北海道での開催は, 「YAPC::Hokkaido 2016 SAPPORO」以来となります. この他, 前後に前夜祭やアフターイベントなども開催する予定ですが, こちらについては決定し次第お知らせいたします. 10月の函館で皆様とお会いできることを楽しみにしています!!!

    「YAPC::Hakodate 2024」を開催します!!! - YAPC::Japan 運営ブログ
    sugyan
    sugyan 2024/03/27
    おっ!
  • Rustのserdeで、データフォーマットによって異なる型にserialize/deserializeする - すぎゃーんメモ

    背景 CidLink serde_json, serde_ipld_dagcbor 問題点: データフォーマットによって対象の型が異なる 最初の解決策: is_human_readable() による分岐 うまくいかないケース 解決策(?): Ipld を経由しデータの構造によって分岐する 汎用的? な解決策: Untagged ベンチマーク 実装結果 その後 背景 BlueskyのAT ProtocolのRust版ライブラリを作っている。 memo.sugyan.com github.com その中で最近実装した機能の話。 CidLink AT Protocolで扱うデータモデルのSpecは、以下のページで書かれている。 atproto.com この中に、Lexiconでcid-linkという名前で扱われる型がある。 https://atproto.com/specs/lexicon#c

    Rustのserdeで、データフォーマットによって異なる型にserialize/deserializeする - すぎゃーんメモ
    sugyan
    sugyan 2024/03/26
    書いた
  • RustにおけるGitHub Actionsベストプラクティス - paild tech blog

    こんにちは大櫛です。Travis CIがオープンソースプロジェクトで使いづらくなったり、Azure PipelinesからGitHub Actionsになった途端*1爆発的な流行が生まれたりと、CIサービスにおいてもここ数年で色々な動きがありました。 特に技術記事・ブログのトレンドや企業のリクルート向け資料を見ていると、GitHub Actionsの利用が進んでいるような印象を受けます。 今回はそんなGitHub Actionsについて、Rust projectで使う際に知っておいた方がいいことやactionを紹介していきます。 以下の情報は執筆時点(2023-02-19)のものに基づいています。閲覧時には無効・誤ったものになっている可能性がありますので、必ず最新の情報・状態を確認するようにしてください。 actions-rs(非推奨) まずはじめに、執筆時点では使用を控えた方がいいact

    RustにおけるGitHub Actionsベストプラクティス - paild tech blog
  • Tailwind CSS を使った ダークモード実装の効率的なアプローチ

    はじめに 現在、海外のプロダクトのほとんどがダークモードに対応しており、その普及は加速しています。ダークモード対応は単なるデザイン要素にとどまらず、プロダクトの品質や開発力の高さ、アクセシビリティへの配慮を示す効果もあります。 日ではまだまだ普及が遅れているダークモード対応ですが、効率的な実装を行えば実は少ない工数でダークモードに対応できます。この記事では Tailwind CSS におけるダークモードの効率的な実装について解説します。 記事は shadcn/uiTailwind UI のコードを参考にしており、著者の属人的アプローチではありません。 結論 CSS 変数と Tailwind CSS の色拡張を使うことでテーマごとの配色を一元管理しつつ、Tailwind CSS の直感的な DX も維持できます。 Demo 実装例を用意しました。 csstailwind.co

    Tailwind CSS を使った ダークモード実装の効率的なアプローチ
    sugyan
    sugyan 2024/03/15
    メモ
  • Bluesky’s Stackable Approach to Moderation - Bluesky

    Bluesky’s Stackable Approach to Moderation - Bluesky
  • エンジニアの強力な付加価値スキルとしての発信力 - An Epicurean

    エンジニアに限らず、BlogやTwitter、OSS、登壇など、対外発信力がキャリアにおける強力な付加価値になることは知られるようになりました。 英語力がそうであるように、発信力は必ずしも必須スキルではありません。英語ができなくても活躍しているエンジニアはいくらでもいます。同時に英語がそうであるように発信力が有力な付加価値をもたらすスキルであることは事実です。 私自身、発信力が強みになっている分バイアスがあるので、あまりそのスキルの価値を過大評価して他人に押し付けるようなことはしたくありません。それに、エンジニアだったら発信力などではなく、純粋な技術力で評価されたいよな、という青臭い気持ちもまだどこかにあります。 ですから、全員が発信すべきだとは考えません。ただ、対外発信に興味を持っている人は後押しはしたいし、そういう人が増えてほしいとは強く思っています。なぜならば、それが単純に楽しいから

    エンジニアの強力な付加価値スキルとしての発信力 - An Epicurean
    sugyan
    sugyan 2024/03/10
    いい文書。心掛けて頑張っていきたい
  • Dada | Dada

    Welcome to Dada, an experimental new programming language!Care to try our live tutorial?Wondering what the heck Dada is all about?Jump to the web playground?

    sugyan
    sugyan 2024/03/07
    こんなのあったのか、全然しらんかった