DummyWittyのブックマーク (1,271)

  • PythonでのUnion-Find(素集合データ構造)の実装と使い方 | note.nkmk.me

    PythonでのUnion Findデータ構造(素集合データ構造)の実装とその使い方を説明する。 まずはじめに最終形のクラスとその使い方のサンプルコードを示し、後半で素朴な実装からいくつかの工夫を加えて最終形に至るまでを説明する。 Union Find(素集合データ構造)の概要 PythonでのUnion Findの実装例 サンプルコードのクラスの使い方 文字列やタプルなどを要素とする場合 素朴な実装 実装の効率化 経路圧縮(Path Compression) ランク(Union by Rank) サイズ(Union by Size) 根の値にサイズ、ランクを格納 AtCoderおよびAOJのUnion Findに関する問題の解答コードを参考にした。 AtCoder Typical Contest 001 B - Union Find 互いに素な集合 Union Find| データ構造ライ

    PythonでのUnion-Find(素集合データ構造)の実装と使い方 | note.nkmk.me
  • 競技プログラミングで解法を思いつくための典型的な考え方 | アルゴリズムロジック

    競技プログラミングの問題を解くためには2つのステップがあります。 問題で要求されていることを言い換える知っているアルゴリズムやデータ構造を組み合わせて解く 必要な(知っておくべき)アルゴリズムやデータ構造は色々なところで学ぶことができます。 しかし、「問題の言い換え」や「アルゴリズムを思いつく」というのは、非常に様々なバリエーションがあり、問題をたくさん解かないとなかなか身につきません。 そこで、この記事は以下のことを言語化し、練習のための例題を提示することを目標とします。 問われていることを、計算しやすい同値なことに置き換える方法アルゴリズムを思いつくための考え方競技プログラミングで「典型的」と思われる考え方 ※一部問題のネタバレを含むので注意 ※良く用いられるアルゴリズムやデータ構造については競技プログラミングでの典型アルゴリズムとデータ構造 を参考にして下さい。 入力の大きさ(制約)

    競技プログラミングで解法を思いつくための典型的な考え方 | アルゴリズムロジック
  • Z-algorithm詳解と具体例 - Senの競技プログラミング備忘録

    新ABCになって、6問制になってから、2020/1/6現在まで、Z-algorithmは二回(500, 600)出題されてます。これからも継続して出そうな「文字列照合」で強力なツールとなるZ-algorithmですが、既存資料たちは非常によく説明されていますが、どこか筆足らずのような印象を受けました。 そこで、この記事でZ-algorithmに絞った説明、実際の挙動の説明、実装例を紹介します。 以下のページ、PDFを参考にしてます。 snuke.hatenablog.com 文字列アルゴリズム from HCPC: 北海道大学競技プログラミングサークル www.slideshare.net Z-algorithmで何ができるか? 文字列Sに対して、S[i : j]という記号を、Sのi番目からj番目(いずれも0-idx)までの連続部分文字列とします。 例えば、S="abcde"で S[1 :

    Z-algorithm詳解と具体例 - Senの競技プログラミング備忘録
  • 文字列アルゴリズム [いかたこのたこつぼ]

    文字列に関連したアルゴリズムをメモしていく。 1つ1つはリンクを参照し詳しくは解説しないが、イメージ的なものと実装例は(なるべく)自分用に書いておく。 長くなりすぎたら分けるかも。 文字列と言いつつプログラム上は文字コードの数列なので、元から数列であるデータを処理する際にもアルゴリズムは適用できる。 文字列に関するアルゴリズムは、主に「検索」や「汎用的なデータ構造を構築」するものが多い。

  • EditorConfig

    What is EditorConfig? EditorConfig helps maintain consistent coding styles for multiple developers working on the same project across various editors and IDEs. The EditorConfig project consists of a file format for defining coding styles and a collection of text editor plugins that enable editors to read the file format and adhere to defined styles. EditorConfig files are easily readable and they

  • マッチングアプリにおける推薦システム

    2023年2月16日開催、サイバーエージェント メディア事業部主催のデータ活用に関する勉強会「メディアサービスにおけるデータ・AIの活用事例 #2」登壇資料です。 https://cyberagent.connpass.com/event/270224/

    マッチングアプリにおける推薦システム
  • 統計的因果推論の理論と実装「潜在的結果変数の枠組み」

    社内勉強会の発表資料です。高橋先生の「統計的因果推論の理論と実装」のChapter1と2の内容についてまとめています。 参考リンク(マイメディア) - 相関関係と因果関係と疑似相関 https://zenn.dev/s1ok69oo/articles/3d748c399da774 - 反実仮想と因果効果 https://zenn.dev/s1ok69oo/articles/c3404a184d2203

    統計的因果推論の理論と実装「潜在的結果変数の枠組み」
  • ASCIIコード表

    ASCIIコード表 10進16進文字 0 0x00 NUL(null文字) 1 0x01 SOH(ヘッダ開始) 2 0x02 STX(テキスト開始) 3 0x03 ETX(テキスト終了) 4 0x04 EOT(転送終了) 5 0x05 ENQ(照会) 6 0x06 ACK(受信OK) 7 0x07 BEL(警告) 8 0x08 BS(後退) 9 0x09 HT(水平タブ) 10 0x0a LF(改行) 11 0x0b VT(垂直タブ) 12 0x0c FF(改頁) 13 0x0d CR(復帰) 14 0x0e SO(シフトアウト) 15 0x0f SI(シフトイン) 16 0x10 DLE(データリンクエスケープ) 17 0x11 DC1(装置制御1) 18 0x12 DC2(装置制御2) 19 0x13 DC3(装置制御3) 20 0x14 DC4(装置制御4) 21 0x15 NAK(

    DummyWitty
    DummyWitty 2022/12/29
    “0x1f”
  • Mozilla Developer Center

    オープンなウェブは、開発者に素晴らしい機会をもたらします。これらの技術を最大限に活用するには、それらの使い方を知る必要があります。以下に、ウェブ技術のドキュメントへのリンクがあります。 ウェブ開発者ガイド ウェブ開発者ガイドは、ウェブ技術を実際に使用して、やりたいことや必要なことを実現するために役立つハウツーコンテンツを提供しています。 ウェブ開発者向けチュートリアル HTMLCSSJavaScript、Web API の学習を段階的に進めるためのチュートリアルです。 アクセシビリティ ウェブサイトを使用する人に何らかの制約があっても、できるだけ多くの人が使用できるようにすることです。 パフォーマンス コンテンツをできるだけ早く利用できるように、操作できるようにすることです。 セキュリティ データ漏洩やデータ盗難、サイドチャンネル攻撃、クロスサイトスクリプティング、コンテンツインジェク

    Mozilla Developer Center
  • HTTP | MDN

    HTTP ガイド リソースと URI ウェブ上のリソースの識別 データ URL MIME タイプ入門 よくある MIME タイプ www 付きと www なしの URL の選択 HTTP ガイド HTTP の基 HTTP の概要 HTTP の進化 HTTP メッセージ 典型的な HTTP セッション HTTP/1.x のコネクション管理 プロトコルのアップグレードの仕組み HTTP セキュリティ Content Security Policy (CSP) HTTP Strict Transport Security (HSTS) X-Content-Type-Options X-Frame-Options X-XSS-Protection Mozilla web security guidelines Mozilla Observatory HTTP アクセス制御 (CORS) HTTP

    HTTP | MDN
  • HTTP の進化 - HTTP | MDN

    HTTP ガイド リソースと URI ウェブ上のリソースの識別 データ URL MIME タイプ入門 よくある MIME タイプ www 付きと www なしの URL の選択 HTTP ガイド HTTP の基 HTTP の概要 HTTP の進化 HTTP メッセージ 典型的な HTTP セッション HTTP/1.x のコネクション管理 プロトコルのアップグレードの仕組み HTTP セキュリティ Content Security Policy (CSP) HTTP Strict Transport Security (HSTS) X-Content-Type-Options X-Frame-Options X-XSS-Protection Mozilla web security guidelines Mozilla Observatory HTTP アクセス制御 (CORS) HTTP

    HTTP の進化 - HTTP | MDN
  • HTTPセッションとTCP接続

    ここで、HTTPのセッションとTCP接続との関係について簡単に説明する。TCPはもともと「接続」の概念の無いIPプロトコルの上に、高品質なデータの転送と「接続」という概念を組入れたプロトコルである。クライアントはサーバに対して80や8080といった受け付けポート番号で接続を開始する。いったん両者間の接続が確立されると、その接続のもとで各種のデータの交換が可能となる。データ交換が終了するとどちらかからこのTCP接続の開放をかける。TCP接続の確立と開放には複雑な両者間のIPによる手続きと時間を要する。 HTTP/1.0では通常下図のように要求/応答ごとにTCP接続がなされる。従って多くの要素からなるHTMLページをダウンロードするにはこれが相当のオーバヘッドとなる。 HTTP/1.1ではこれが改善され、どちらかがConnection: CloseをHTTPヘッダで指定しない限りHTTP応答の

  • 推薦システムにおいて線形モデルがまだまだ有用な話 | CyberAgent Developers Blog

    記事は、CyberAgent Advent Calendar 2022 19日目の記事です。 目次 はじめに 問題設定 協調フィルタリングのための線形モデル iALS EASE 関連する非線形モデル 実務活用 おわりに はじめに メディア DSC所属の機械学習エンジニアで、タップルの推薦システムを担当している橋爪 (@runnlp)です。 最近、推薦システムを触り始めました。推薦手法は、協調フィルタリング、コンテンツベース、ハイブリッドなど様々ですが、今回は昔から今に至るまで長く使われている協調フィルタリングについてです。 協調フィルタリングではDeep系のモデルがたくさん出る中で、RecSys2022で発表された論文では10年以上前から使用されている線形モデル(iALS)がDeep系のモデルに匹敵する結果であると報告されており興味深いです。また、推薦システムを開発するにあたって、問題設

    推薦システムにおいて線形モデルがまだまだ有用な話 | CyberAgent Developers Blog
  • Django Channels でチャットアプリ作成(Python) - Qiita

    はじめに Djangoを使ったチャットアプリを作ってみました。 その中でChannelsと呼ばれるライブラリを使用したのですが、 まだまだ記事が少なく、構築が非常に大変だと感じました。 今回は振り返りの意味も込めて、記事を残します。 不備や、間違った記載があればご指摘いただけると幸いです。 また記事の最後に今回作成したものを Githubに上げておりますので、参考にどうぞ! ローカル用に構築していく 構成 Docker Compose を使用して、開発環境を準備いたします。 今回は下記のような環境でローカルサーバーを立てていきたいと思います。 名称 内容 ポート番号

    Django Channels でチャットアプリ作成(Python) - Qiita
  • Webチャットアプリを作る ( Django + Channels )

    Django と Channels を用いて、Webチャットアプリを作成する方法を解説します。 Django は、Pythonで実装されたWebアプリケーションフレームワークです。Django を利用するとWebアプリケーションを簡単に作成することができます。 Channelsは、DjangoでWebSocketの送受信を可能とするPythonパッケージです。Channelsを利用するとWebSocketを使用したWebアプリケーションを簡単に作成することができます。 使用開発環境は、以下です。 Python : version 3.8.6 Django : version 3.1.4 Channels : version 3.0.2 channels-redis : version 3.2.0

  • 制御構文 | Go言語入門 - Leben

  • ブログ記事「Go言語(Golang) はまりどころと解決策」についてのコメント · hnakamur's blog

    2016-08-02 Go言語(Golang) はまりどころと解決策の記事についてのコメント記事を誰かが書くだろうと思ってスルーしてましたが、見かけないので書いてみます。 ただし私はGo言語を使って開発していますが、言語自体を詳細に知るエキスパートでは無いです。Go言語にかぎらず個人的にはややこしいところにはなるべく近づかないスタンスなので、詳しい方から見ると物足りないかもしれません。そう感じた方は是非ブログ記事なりを書いていただけると嬉しいです。 interface とnil (Goのinterfaceは単なる参照ではない) 特にコメントはなくてそのとおりだと思います。 Frequently Asked Questions (FAQ)に加えて Effective Goも早めに読んでおいたほうが良いと思います。 またnilに関する文献としては Understanding Nil // Sp

  • Top down operator precedence(再帰下降構文解析 Pratt Parser)におけるExpression(式)の解析、AST(抽象構文木)構築 処理を追う

    Top down operator precedence(再帰下降構文解析 Pratt Parser)におけるExpression(式)の解析、AST(抽象構文木)構築 処理を追うGoで作る インタプリタGo言語でつくるインタプリタ | Thorsten Ball, 設樂 洋爾 | | 通販 | AmazonAmazonでThorsten Ball, 設樂 洋爾のGo言語でつくるインタプリタ。アマゾンならポイント還元が多数。Thorsten Ball, 設樂 洋爾作品ほか、お急ぎ便対象商品は当日お届けも可能。またGo言語でつくるインタプリタもアマゾン配送商品なら通常配送無料。AmazonThorsten Ball 死ぬほどおすすめなので是非、 Goの基礎とTDDの基礎、簡単なデザインパターンの理解があるとよりよい。むしろそれらを知っている人にかなりおすすめのである。 このに出てくる

    Top down operator precedence(再帰下降構文解析 Pratt Parser)におけるExpression(式)の解析、AST(抽象構文木)構築 処理を追う
  • デザインパターンを Python で

    複雑なオブジェクトを段階的に構築できます。 このパターンを使用すると、 同じ構築コードを使用して異なる型と表現のオブジェクトを生成することが可能です。

  • Front-End Performance Checklist 2021 (PDF, Apple Pages, MS Word) — Smashing Magazine

    Let’s make 2021… fast! An annual front-end performance checklist (available as PDF, Apple Pages, MS Word), with everything you need to know to create fast experiences on the web today, from metrics to tooling and front-end techniques. Updated since 2016. Ah, you can also get useful front-end tips in our email newsletter. This guide has been kindly supported by our friends at LogRocket, a service t

    Front-End Performance Checklist 2021 (PDF, Apple Pages, MS Word) — Smashing Magazine