タグ

2019年10月20日のブックマーク (53件)

  • スロークエリの分析 | Let's POSTGRES

    NTT オープンソースソフトウェアセンタ 板垣 貴裕 スロークエリ (時間のかかるSQL) を発見するまでの手順を解説します。スロークエリ分析と改善は以下の流れで行うことになります。この記事では主に 1. のスロークエリの特定方法について解説します。2.については『スロークエリの改善』を参考にしてください。 どのSQLが遅いのかを見つける。 そのSQLがなぜ時間がかかるのかを判断する。 設定パラメータ、SQL、スキーマなどを改善する。 着目したSQLの性能を再測定し、2. から繰り返す。 着目したSQLのチューニングが完了したら、他のボトルネックを探すため 1. から繰り返す。 スロークエリの見つけ方 スロークエリを見つけるには、大きく分けて統計情報ビューを使う方法と、サーバログを使う方法の2つがあります。統計情報ビューを使う方法は PostgreSQL 8.4 以降でしか利用できませんが

  • Gradient Boosting と XGBoost

    Gradient Boosting や XGBoostについて調べたことをまとめました. Gradient Descent や Newton法と絡めて説明していきたいと思います. 目次 Boosting Gradient Descent (Steepest Descent) Gradient Boosting Regression Tree Gradient Tree Boosting Learning rate Newton Boosting XGBoost Generalization Error Conclusion Reference Boosting Boostingとは,ランダムより少し良い程度の”弱い”学習アルゴリズムを使って, そのアルゴリズムよりも”強い”学習アルゴリズムをつくることです. イメージとしては,弱い学習アルゴリズムを”boost”してあげる感じでしょうか.

    Gradient Boosting と XGBoost
  • Adaptive Simpson's method - Wikipedia

    matsu7874
    matsu7874 2019/10/20
    積分のアルゴリズム
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Node.js : exports と module.exports の違い(解説編) - ぼちぼち日記

    JavaScript Advent Calendar 2011 (Node.js/WebSocketsコース) : ATNDも皆さんのご協力で25日間終わり、無事新しい年が迎えられそうです。参加された方、ご苦労様でした。もしアドカレに穴が空きそうだったら書いてみようと思ってたネタを作っていましたので、アドカレ終了記念の番外編で書いてみます。 ちょっと前のブログになりますが、Node.js Module – exports vs module.exportsな記事が掲載されていました。 Node.js のモジュールを作成する際に使用する exports 変数と module.exports 変数の違いについての記事です。私も以前から「 module や exports って変数はいったい何だろう?」とか、「require()関数って突然どこから現れてくるのだろうか?」など実際その仕組みはどう

    Node.js : exports と module.exports の違い(解説編) - ぼちぼち日記
  • TAK / Web Creator.|note

    僕がCSSを書く際に必ず意識している CSSのコーディングルール30条 初の有料noteです。 僕個人が厳守しているCSSコーディングのルールから、特に守っておいた方が良いと感じたものを「どうしてそれが良いのか・悪いのか」といった解説も含めて30点ほどピックアップしました。 文字数は全部で28,000字オーバーと卒論レベルですが、それだけコンテンツは詰まってます。価格は相場をよく知らないのでワンコインで買える500円にしました。 (※2019.12.22追記)こちらのnoteですが、リリースから一週間経たずして売り上げが1000部に届きまし

    TAK / Web Creator.|note
  • 数理最適化: Optimization Night #1 - ぱたへね

    15日に行われた数理最適化の勉強会に行ってきました。 会場はブレインパッド様の部屋をお借りしました。いつもありがとうございます。 動画はこちらから見ることができます。素晴らしい。 www.youtube.com 技術書典を支える最適化技術 sfujiwaraさんの発表です。 発表資料はこちらで見れます。 speakerdeck.com 技術書典というイベントでのブースの配置を最適化する話です。最適化の余地を残すところと、ハイパーパラメータの調整はやりたくないのバランスを取るところが面白そうでした。 ブースの分類にRuby機械学習の両方タグがあった場合、Rubyの島に入れるのか、機械学習の島にいれるのか自動で判別するのが難しい問題。会場から上がったRubyの方が愛を感じるからRubyでしょに対して、sfujiwaraさんがそれが人間の判断じゃんと返したところが面白かったです。愛をどう特徴量

    数理最適化: Optimization Night #1 - ぱたへね
  • GitHub - awesomedata/awesome-public-datasets: A topic-centric list of HQ open datasets.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - awesomedata/awesome-public-datasets: A topic-centric list of HQ open datasets.
  • 【webデザインの学習】XDでwebサイトの模写をしてみる|ちづみ

    こんにちは!ちづみ です!(ブログはこちら)(^_^) 以前このようなツイートをして、少し反響があったので、私がいつもXDでwebデザインの模写する時に行っている手順をnoteにまとめました😊 ✅拡張を駆使した速い模写の準備(XD) クロームの拡張Window Resizer で予定のカンプの幅にブラウザを変更 ↓ クロームの拡張Full Page Screen Captureでスクショ ↓ XDの拡張Mimicにurlをコピペ ↓ スクショを複製し1枚はトレース用に薄くひく ↓ サイトの検証も見ながら数値等を確かめつつ模写 pic.twitter.com/BSV8KPnBNM — ちづみ (@098ra0209) October 6, 2019

    【webデザインの学習】XDでwebサイトの模写をしてみる|ちづみ
    matsu7874
    matsu7874 2019/10/20
  • Lucene #Kuromoji のコードを読む会 (辞書ビルダー編) - Speaker Deck

    Transcript Lucene Kuromoji のコードを読む会 (辞書ビルダー編) 2019/10/3 @moco_beta 自己紹介  打田智子  twitter : @moco_beta  所属 : 株式会社 LegalForce R&D チーム / ソフトウェアエンジニア  検索システムに興味があります  趣味でOSS開発をしています  Janome https://github.com/mocobeta/janome  Apache Lucene committer () 趣旨など 主催者 (@moco_beta) が Lucene / Kuromoji のソースコード(辞書周り)を読むうえで,調 べたことをまとめておきたい 素のままで触る機会は少ないかもしれないけれ ど, Lucene のコードを読んでみるのも楽しい よ!というのを伝えたい 仕事ではブラック

    Lucene #Kuromoji のコードを読む会 (辞書ビルダー編) - Speaker Deck
  • 次に何を勉強するかを決めるための作戦 - はこべにっき ♨

    Webエンジニアが学ぶべき技術範囲はとても広く、いったい何をどこから勉強していくかは難しい問題です。僕も試行錯誤を繰り返しています。 そんな試行錯誤の中で、新しく何を勉強するか決めるときに使ってる作戦がいくつかありそうだなと思うようになりました。そこでこの記事では、僕が次に勉強すべきテーマに困ったときに使っている作戦を紹介してみようと思います。 各作戦の例のコーナーでは実際に僕がその作戦を使って勉強したトピックなどを紹介しています。 このエントリは、はてなエンジニアアドベントカレンダー2016の20日目の記事で、担当はid:hakobe932です。昨日の担当は id:masayoshi さんでLinuxのARPとL2スイッチのお話という記事でした。 作戦1: 新しいプログラミング言語を学ぶ 新しいプログラミング言語を学ぶのは、比較的手を出しやすい作戦です。プログラミング言語を学ぶことで自分

    次に何を勉強するかを決めるための作戦 - はこべにっき ♨
  • Kaggle Blog – Medium

    Kaggle BlogOfficial Kaggle Blog ft. interviews from top data science competitors and more!

    Kaggle Blog – Medium
  • 200行のコードへのブロックチェーンの実装 | プログラミング | POSTD

    ブロックチェーン の基的な概念は非常にシンプルです。分散型データベースで、順序付けられたレコードのリストが連続的に増加していきます。しかしシンプルとは言え、ブロックチェーンやそれを使うことで解決しようとしている問題について話をする際に、頭を悩まされることがよくあります。これは、 ビットコイン や イーサリアム といった、一般にもよく知られているブロックチェーンベースのプロジェクトでよく聞かれる話です。「ブロックチェーン」は、 取引 や スマートコントラクト 、または 暗号通貨 といったコンセプトと強い結びつきがあります。 そのため、来シンプルであるべきブロックチェーンの理解がより困難になってしまっています。抜け目のないソースコードであれば尚更です。 そこで、 NaiveChain という、200行のJavascripitに実装した、非常にシンプルなブロックチェーンを紹介したいと思います

    200行のコードへのブロックチェーンの実装 | プログラミング | POSTD
  • 確率的データ構造・ブルームフィルタについてのまとめ - kakts-log

    概要 特定のデータが、ある集合やリストに含まれるかどうかを判定するために線形探索や二分探索などいくつかのサーチアルゴリズムが使われますが、 稿ではメモリの使用効率、探索の際の計算量が優れているブルームフィルタを用いたアルゴリズムについてまとめます。 ブルームフィルタとは ブルームフィルタとは確率的データ構造の一種で、あるデータが集合に属するかどうかを判定する際に使われます。 特徴としては、メモリの空間消費が少なくすみ、非常に効率的にデータの存在判定ができます。 デメリットとしては、false-positive(偽陽性)によるデータの誤判定の可能性があり、集合に存在しないデータを存在すると誤判定してしまう場合があります。このような誤判定が許されないような状況においては、ブルームフィルタは使えません。 逆に、false-negative(偽陰性)による誤判定はないため、データは実際にあるのに

    確率的データ構造・ブルームフィルタについてのまとめ - kakts-log
  • 高速なハッシュテーブルを設計する | POSTD

    (訳注:2016/9/28、頂きましたフィードバックを元に記事を修正いたしました。) はじめに 稿では、高速で汎用的なハッシュテーブルを作るために行う、設計についての多くの意思決定事項を紹介します。最終的に、私の emilib::HashSet とC++11の std::unordered_set の間のベンチマークが出来上がりました。もし、ハッシュテーブルに興味があって、自分で設計したいなら(どのプログラミング言語かに関わらず)、稿がヒントになるかもしれません。 ハッシュテーブル は、素晴らしい発明です。 ならし計算量O(1) ( O(√N)時間 )で、挿入、削除、検索を行うことができます。ならし計算量とは、ハッシュテーブルの計算に平均でO(1)の計算量がかかることを意味しますが、時々、これよりも多くの時間がかかる場合があります。具体的には、ハッシュテーブルに空きがない場合で、挿入の

    高速なハッシュテーブルを設計する | POSTD
  • 確率的データ構造の比較:カッコウフィルタ対ブルームフィルタ | POSTD

    確率的データ構造は少ないメモリでデータをコンパクトに保存し、保存されたデータに関するクエリに対し、おおよその答えを提供してくれます。クエリに対し空間効率の良い方法で答えるように設計されており、それはつまり、正確さを犠牲にするということにもなります。しかし、これらは一般的に、問われているデータ構造の仕様にもよりますが、誤差率の保証と境界を提供してくれます。メモリ使用量が少ないため、確率的データ構造はストリーミングや低出力の設定に特に有用なのです。ですから、動画の視聴回数を数えたり、過去に投稿された一意となるツイートのリストを維持したりするなど、ビッグデータの環境下では非常に有用です。例えば、 HyperLogLog++ 構造 は、2.56KBのメモリで最大790億の一意のアイテムを数えることができるのですが、誤差率はわずか1.65パーセントです。 Fast Forward Labsのチームは

    確率的データ構造の比較:カッコウフィルタ対ブルームフィルタ | POSTD
  • 時系列データベースに関する基礎知識と時系列データの符号化方式について - クックパッド開発者ブログ

    こんにちは。インフラストラクチャー部 SRE グループの吉川 ( @rrreeeyyy ) です。今期オススメのアニメはツインエンジェル BREAK です。 普段の業務並びに趣味の一環として、サーバのモニタリング環境の調査や改善に取り組んでいます。 そこで稿では、モニタリングのコンポーネントの一つとして外すことが出来ない、時系列データベースの基礎知識に関して紹介します。 そもそも時系列データ・時系列データベースとは? 時系列データというのは、特定の時間ごとに何らかの値を取得した際の、取得した一連の値を指します。 例えば、以下のようなフォーマットをしたデータなどは時系列データにあたるでしょう。 timestamp1,key,value1 timestamp2,key,value2 timestamp3,key,value3 : 時系列データベースとは、上記のような時系列データの保存・処理に

    時系列データベースに関する基礎知識と時系列データの符号化方式について - クックパッド開発者ブログ
  • HeteroTSDB: 異種混合キーバリューストアを用いた自動階層化のための 時系列データベースアーキテクチャ / HeteroTSDB: A Time Series Database Architecture for Automatically Tiering on Heterogeneous Key-Value Stores - Speaker Deck

    第11回インターネットと運用技術の研究会 (IOTS2018)。 論文: https://yuuk.io/papers/heterotsdb_iots2018.pdf システム管理者からの需要の増加に伴い,システムの状態を時系列データとして収集するためのモ ニタリングシステムがサービスとして提供されるようになってきている.モニタリングサービスの時系列 データベースには,高解像度な時系列データ,時系列データの長期間保存,高い書き込みスケーラビリティ と高可用性が求められている.一方で,これまでサービスの機能追加のためにデータ構造の拡張性を考慮 した時系列データベースは提案されていない.研究では,インメモリのキーバリューストア (KVS) とオ ンディスクの KVS を組み合わせた異種混合 KVS により自動階層化する時系列データベースアーキテク

    HeteroTSDB: 異種混合キーバリューストアを用いた自動階層化のための 時系列データベースアーキテクチャ / HeteroTSDB: A Time Series Database Architecture for Automatically Tiering on Heterogeneous Key-Value Stores - Speaker Deck
  • Mackerelで開発した時系列データベースについての論文がIEEEの国際会議「COMPSAC 2019」で発表されました - Hatena Developer Blog

    Mackerel チームのWebアプリケーションエンジニア id:astj です。 さくらインターネットさんのプレスリリースにある通り、はてなMackerelチームより、私 id:astjと、同じくWebアプリケーションエンジニアの id:itchynyも執筆に参加した論文「HeteroTSDB: An Extensible Time Series Database for Automatically Tiering on Heterogeneous Key-Value Stores(HeteroTSDB: 異種混合キーバリューストアを用いた自動階層化のための時系列データベースアーキテクチャ)」が、IEEEの国際会議「COMPSAC 2019」に採択されました。 論文は、2019年7月15日~19日(現地時間)にアメリカ合衆国ウィスコンシン州で開催された「COMPSAC 2019」にて、

    Mackerelで開発した時系列データベースについての論文がIEEEの国際会議「COMPSAC 2019」で発表されました - Hatena Developer Blog
  • PostgreSQL のコーディングスタイル

    PostgreSQL で C 言語を使ったエクステンション(Extension)を作成する際に必要なコーディングスタイルのメモを残す。 ここで述べているコーディングスタイルは PostgreSQL のソースコードをサンプリングしてこういうルールだろうと類推したものである。 PostgreSQL ソースコード自体にもブレがあり、このルールに沿っていない箇所も多いので、参考までにして欲しい。 PostgreSQL の他の記事へのインデックスはここ。 更新履歴 (2017.01.26) 作成。 目次 1. 公式のコーディング規約 2. 構文 2.1 .c ファイルのヘッダー 2.2 .h ファイルのヘッダー 2.3 コメント 3. 構文 3.1 関数の定義 3.2 ローカル変数の定義 3.3 ステートメント 3.4 if 文のぶら下がり構文 3.5 スペーシング 3.6 可変長構造体 3.7 そ

  • SymSpell対BK木:100倍速い文字列のあいまい検索とスペルチェック | POSTD

    注釈:500,000単語収録の辞書内における1,000単語の検索時間 X:最大編集距離 Y:検索時間/ms 従来、スペル修正や文字列のあいまい検索には、 BK木 が適していると言われてきました。しかし、これは当でしょうか。 また、 スペル修正に関する私のブログ に寄せられたコメントには、BK木が、あいまい検索のためのデータ構造として優れていると言及されていました。 そのような経緯から、今回、BK木と他の選択肢のベンチマークを取って比較してみようと思い立ったわけです。 近似文字列検索アルゴリズム 近似文字列検索では、文字列リスト内の文字列を検索し、特定の 文字列メトリック に従って、それに近い文字列を返します。 文字列メトリックは多数あり、例えば レーベンシュタイン距離 、 Damerau-Levenshtein距離 、 ハミング距離 、 ジャロ・ウィンクラー距離 、 Strike a m

    SymSpell対BK木:100倍速い文字列のあいまい検索とスペルチェック | POSTD
  • Labeled Tab-separated Values (LTSV)

    Description Labeled Tab-separated Values (LTSV) format is a variant of Tab-separated Values (TSV). Each record in a LTSV file is represented as a single line. Each field is separated by TAB and has a label and a value. The label and the value have been separated by ':'. With the LTSV format, you can parse each line by spliting with TAB (like original TSV format) easily, and extend any fields with

    Labeled Tab-separated Values (LTSV)
  • Google Chromeが採用した、擬似乱数生成アルゴリズム「xorshift」の数理

    2015年12月17日、Google ChromeJavaScript エンジン(処理系)である V8 の公式ブログにて、 JavaScript の標準的な乱数生成APIである Math.random() の背後で使われているアルゴリズムの変更がアナウンスされました。 Math.random() 関数は JavaScript を利用する際には比較的よく使われる関数ですので、親しみのある方も多いのではないかと思います。 新たなバグの発見や、従来より優秀なアルゴリズムの発見によってアルゴリズムが変更されること自体はそれほど珍しくはないものの、 技術的には枯れていると思われる Math.random() のような基的な処理の背後のアルゴリズムが変更されたことに驚きを感じる方も少なくないかと思いますが、 それ以上に注目すべきはその変更後のアルゴリズムです。 実際に採用されたアルゴリズムの原

    Google Chromeが採用した、擬似乱数生成アルゴリズム「xorshift」の数理
  • Skymind AI - Enterprise Platform | Profile

    Enterprise ML Platform for the team and infrastructure you already have. Ship Machine Learning into enterprise applications faster, reduce overhead, automate decisions, and bridge data science with software engineering. Learn about the benefits of the Skymind platform for your team, industry, department, or use case.

  • TF-IDFで文書内の単語の重み付け

    『いくつかの文書があったとき、それぞれの文書を特徴付ける単語はどれだろう?』こんなときに使われるのがTF-IDFという値。 TFはTerm Frequencyで、それぞれの単語の文書内での出現頻度を表します。たくさん出てくる単語ほど重要! $\textrm{tf}(t,d)$ 文書 $d$ 内のある単語 $t$ のTF値 $n_{t,d}$ ある単語 $t$ の文書 $d$ 内での出現回数 $\sum_{s \in d} n_{s,d}$ 文書$d$内のすべての単語の出現回数の和 IDFはInverse Document Frequencyで、それぞれの単語がいくつの文書内で共通して使われているかを表します。いくつもの文書で横断的に使われている単語はそんなに重要じゃない! $\textrm{idf}(t)$ ある単語 $t$ のIDF値 $N$ 全文書数 $\textrm{df}(t)$

    TF-IDFで文書内の単語の重み付け
  • TF-IDFでタグ付け

    TF-IDFでタグ付け 03 Nov 2013 Kaggleで挑戦できそうな問題があったのでチャレンジしてみた。 http://www.kaggle.com/c/facebook-recruiting-iii-keyword-extraction Stack Exchange(Stack Overflowみたいなもの)にあるテキストとそのタグデータを訓練データとして 同様にStack Exchangeにあるページからタグを類推せよという問題。 多分キーワード抽出を行う方法がうまく行くんじゃないかと思いやってみた。 TF-IDFアルゴリズム 基的にはTF-IDFを使ってみる。これは文書中のtokenの重要度をその頻度と、他の文書にどれくらいないかの指標 の積として表すアルゴリズム。コードで書くと下のような感じ。 import numpy as np term = <Target Term>

    TF-IDFでタグ付け
  • Information Knowledge Network Special Lecture / IKN Laboratory

    Lecture / 授業 Information Knowledge Network Special Lecture 情報知識ネットワーク特論 Semester / 開講 Tuesday, 3rd hour (13:00-14:30), Winter, Graduate School of IST, Hokkaido University 後期火3限, 大学院情報科学研究科,北海道大学 The URL of this page: http://www-ikn.ist.hokudai.ac.jp/ikn-tokuron/ News / 新着情報 Updated on 30 Nov. 2016. Description of This Lecture / この授業の説明 Purpose / 目的 情報検索とデータマイニングについて,基的な考え方とアルゴリズムを学びます. Learning b

  • 文字列探索スターターキット - シリコンの谷のゾンビ

    最近重点的に勉強しているので,これまで集めた教科書情報,資料等へのリンクをまとめてみる.紹介している教科書はほとんど読んでいないので妄言注意. この他にお薦め教科書,勉強法があればぜひ教えてください. 文字列探索は検索対象テキストの中から転置インデクスのような外部データ構造を利用せずに目的の文字列を探索する課題です.文字列探索,文字列照合,パターンマッチなどとも呼ばれています(一番オーソドックスな呼び方はなんでしょう?) 教科書 和書で文字列探索だけを取り扱っているを見かけたことがない.アルゴリズムの探索の章にKMP法,BM法が紹介されているだけのケースが多い.注意してみるとAC法を扱っているが意外と少ないことに気がつく... (文字列探索でよい和書の情報募集中) 追記 (2009-04-02) Thanks to cubicdaiyaさん! 情報検索アルゴリズムにKMP法, BM法

    文字列探索スターターキット - シリコンの谷のゾンビ
  • 情報検索ことはじめ〜研究者編〜 - シリコンの谷のゾンビ

    昨年書いた教科書編が(僕にとっては)嬉しくて跳ね上がるほどブックマークされたので,調子に乗って第二弾を書いてみました.皆様ありがとうございます(ブックマークにがんばってくださいというコメントがあったのがめちゃくちゃ嬉しかったです).今回は研究寄りですが,少しでも誰かの役に立てば幸いです. 僕は網羅的にサーベイを,キーワード検索以外に主に二つの方法で行っています. 会議毎にサーベイ 研究者毎にサーベイ 1.はさておき,2.ですが,僕は研究者のDBLPをチェックしています.気になる論文の著者のDBLPを眺めると,知らなかった要チェックや!論文を拾うことができます. なので,一線で活躍する研究者の論文は定期的にチェックする必要があります. 今回はIR研究者の中でも,戦闘力が高く,この人は常にウォッチせねばという研究者の一部を紹介したいと思います. 下記は若輩の独断と偏見に基づくものです.一線で活

    情報検索ことはじめ〜研究者編〜 - シリコンの谷のゾンビ
  • アルゴリズムの簡単なまとめ Wiki - yukicoder

    アルゴリズムの簡単なまとめ 運営者が昔、メモ程度にどこかに書いてたものです。間違っている箇所がありましたら教えて下さい。 順次追加・修正中(ページごとに分けてもいいし、良いページができたら削除したい) 計算手段 再帰呼び出し 自分自身の関数を呼び出すこと、forやwhileのループでもできることが、再帰呼び出しのほうが記述しやすいこともある。 末尾再帰 return に再帰関数を呼び出すこと、return以外に再帰呼び出しがないこと 注意としては再帰の結果をすぐにreturnすること(再帰の結果を更に演算したりなどはNGのはず) 動き的には末尾の再帰のreturnをすると、それ以降returnの処理しかないような動き。 これをする理由は、(言語によってはしてくれない)末尾呼び出し最適化が働き、スタックを定数量しか消費しないようにしてくれる。 数学的アルゴリズム 最大公約数 (GCD) ユー

  • RustのWebフロントエンドフレームワーク「Kagura」をElectron上で動かしてみる - Qiita

    RustでもWebAssembly出力ができるようになっているんですが、いつか触ろうと思いつつずっと触る機会がありませんでした。 ちょうど自身の周りでもElectronの利用事案が増えて来て(例えばPostludium/Peridotでパイプラインの設計エディタのためにElectron使おうと思ったこともありました......)、良い機会なので入門として件名のライブラリを触ってみることにしました。 Kaguraとは Rust製のWebフロントエンドフレームワークです。端的に言ってしまえばReactVueなどの仲間です。 仮想DOMを用いて差分レンダリングを行う点は既存のフレームワーク同様ですが、アーキテクチャ的にはHalogenやElmが近いです (いわゆるTEAの形をとっています)。 RustWebAssemblyを出力する、動かす Rustにはwasm-bindgenという便利ツー

    RustのWebフロントエンドフレームワーク「Kagura」をElectron上で動かしてみる - Qiita
  • 競技プログラミングのライブラリ - beet's soil

    作ったもの/これから作るもののリストをまとめる(つもり) もう更新していません(2020/02/04) こっちを見て beet-aizu.github.io GitHub - beet-aizu/library: ライブラリ群 【作ったもの】 biconnectedgraph.cpp 二重辺連結成分分解+橋の列挙 binaryindexedtree.cpp BIT bipartitematching.cpp 二部マッチング dinic.cpp 最大流(dinic) fordfulkerson.cpp 最大流(fordfulkerson) gaussjordan.cpp 連立方程式の求解 geometry.cpp 幾何色々 kdtree.cpp 領域探索 kruskal.cpp 最小全域木(kruskal) longestcommonsubstring.cpp 最長共通部分列 longest

    競技プログラミングのライブラリ - beet's soil
  • MeCab ソースコードリーディング私的メモ(形態素解析編)

    先日、次のエントリーを書きました。 日形態素解析の裏側を覗く!MeCab はどのように形態素解析しているか - クックパッド開発者ブログ このエントリーを書く際に MeCab のソースコードをそれなりに読んだので、記憶が薄れないうちにメモっておきます。とりあえず形態素解析部分です。コスト算出部分は気が向いたら書きます・・・。 勘違いしている箇所もあるかと思うので、気付いたら指摘してもらえると嬉しいです! 形態素解析時の主要クラス 形態素解析時に関連するクラスとして特に意識しないといけないのは以下のクラスかと思います。メソッドも主要なものしか表示していません。 Show the source 形態素解析時のシーケンス図 主要クラスを把握したら、次は解析の流れです。クラス図のとおり model が viterbi を所有していますが、model()->viterbi()->analyze(

    MeCab ソースコードリーディング私的メモ(形態素解析編)
  • Groonga - カラムストア機能付き全文検索エンジン

    Groongaについて Groongaはオープンソースのカラムストア機能付き全文検索エンジンです。Groongaを使うと全文検索機能付き高性能アプリケーションを開発することができます。 特徴 最新リリース 2024-05-09にリリースされた14.0.3が最新リリースです。 インストール ソース 最新記事 Groonga 14.0.3リリース (2024-05-09) Groonga 14.0.2リリース (2024-03-29) Groonga 14.0.1リリース (2024-03-14) Groonga 14.0.0リリース (2024-02-29) PostgreSQL用高速日語全文検索モジュールPGroonga(ぴーじーるんが) 3.1.6リリース (2024-01-10) Groonga 13.1.1リリース (2024-01-09) Groonga 13.1.0リリース (

    Groonga - カラムストア機能付き全文検索エンジン
  • library_20140330

    Shared with Dropbox

    library_20140330
  • ブラウザでビジュアルテストをするreftest-runnerを作った

    概要 reftest-runnerというブラウザで描画内容やレイアウトといった表示結果をテストするためのライブラリを作りました。 要素技術としてはブラウザ、WebDriver API、レンダリングキャプチャ、画像Diffという感じです。 azu/reftest-runner 時間が無い人向け 以下のスライドに簡単にreftest-runnerやreftestとはなにか、どういうユースケースがあるのかが書いてあります。 reftest-runner-overview.pdf reftestとは reftest(Referrence Test)とは、2つのHTMLの表示結果(スクリーンショット)を比較することで表示結果が意図したものかをテストする方法です。 用意するHTMLとして以下の2種類を1セットとして用意して利用します。 テスト用HTML テストしたい機能を使って実装したHTML リファ

    ブラウザでビジュアルテストをするreftest-runnerを作った
  • GitHub - murawaki/lebyr: Automatic acquisition of Japanese unknown morphemes from text

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - murawaki/lebyr: Automatic acquisition of Japanese unknown morphemes from text
  • KWDLC - LANGUAGE MEDIA PROCESSING LAB

    京都大学ウェブ文書リードコーパス † コーパスは、さまざまなウェブ文書のリード(冒頭)3文に各種言語情報を人手で付与したテキストコーパスです。ウェブ文書のリード3文を収集することによって、ニュース記事、百科事典記事、ブログ、商用ページなど多様なジャンル、文体の文書を含んでいます。コーパスの規模は約5,000文書です。 言語情報としては、形態素・固有表現・構文・格関係、照応・省略関係、共参照、談話関係の情報を付与しています。言語情報の付与は、形態素解析システムJUMAN、構文・格・照応解析システムKNPで自動解析し、その結果を専門家が修正することによって行いました。談話関係については、専門家によって付与した小規模なコーパスに加え、クラウドソーシングによって付与した大規模なコーパスが含まれます。 ↑

  • 京都大学テキストコーパス - LANGUAGE MEDIA PROCESSING LAB

    京都大学テキストコーパス † 毎日新聞の記事に各種言語情報を人手で付与したテキストコーパスです。95年1月1日から17日までの全記事、約2万文、1月から12月までの社説記事、約2万文、計約4万文に対して、形態素・構文情報を付与しています。これらの情報は、形態素解析システムJUMAN、構文解析システムKNPで自動解析を行い、その結果を人手で修正したものです。 さらに、社説記事を除く約2万文に対しては、格関係、照応・省略関係、共参照の情報を付与しています。 ↑ ダウンロード † GitHubリポジトリ: https://github.com/ku-nlp/KyotoCorpus 過去のバージョン 京都大学テキストコーパス Version 4.0 (7,990,765 bytes) 形態素・構文情報のタグ付け基準マニュアル 格関係、照応・省略関係、共参照情報のタグ付け基準マニュアル ※ これらの

  • GitHub - gfx/ruby-regexp_trie: Fast keyword matching with the Trie algorithm (a Ruby port of Perl's Regexp::Trie)

  • 「高速文字列解析の世界」を読む前に知っておくと良いこと - EchizenBlog-Zwei

    「高速文字列解析の世界」という大変すばらしいが発売された。わりと敷居が高いではあるので読む前に知っておくとよさそうなことを書いておく。 「高速文字列解析」とは 書でいう高速文字列解析というのは主に2つのことを指している。ひとつはデータを圧縮して小さくしてディスクよりメモリ、メモリよりキャッシュというようにより高速な記憶装置で扱いましょう、という話。もうひとつはデータ構造を工夫することで複雑な操作もそこそこ高速に扱えますよ、という話。つまり「圧縮」の話と「効率的なデータ構造」の話があると考えておくと良い。 キーワードは3つ オビにも書いてあるけれど、書が主に扱うのは「BWT」「簡潔データ構造」「ウェーブレット木」の3つ。具体的には「BWT」が「圧縮」に関わっていて「ウェーブレット木」が「効率的なデータ構造」に関わっている。「簡潔データ構造」は基的な道具として書の色々なところで出て

    「高速文字列解析の世界」を読む前に知っておくと良いこと - EchizenBlog-Zwei
  • ISUCON7予選1日目にチーム「ババウ」で参加して最終スコアは205148でした - このブログはURLが変更になりました

    Webサービスをいい感じにパフォーマンスチューニングするコンテスト ISUCON7予選1日目に @netmarkjp, @ishikawa84g, @matsuu でチーム「ババウ」にとして参加しました。最終スコアは 205148 でした。 考察 netmarkjp 例年通りの役割分担がしっかり機能して気持ちよくできた 視点を変えたり休憩とったりがいい感じにできた 去年の何もできなかった無念は多少供養できた 練習をきちんと活かせた ベンチが安定しててすごくよかった BGMは東京スカパラダイスオーケストラでした matsuu トラフィックがボトルネックになる問題をなかなか解決できずにいたが、Cache-Controlにpublicを入れることを思いつけた 304応答が安定して発生しない理由が生成される画像の更新日時がサーバ毎に異なるためであることに気づけた自分を褒めてあげたい tcpdump

    ISUCON7予選1日目にチーム「ババウ」で参加して最終スコアは205148でした - このブログはURLが変更になりました
  • GitHub - google/styleguide: Style guides for Google-originated open-source projects

    Every major open-source project has its own style guide: a set of conventions (sometimes arbitrary) about how to write code for that project. It is much easier to understand a large codebase when all the code in it is in a consistent style. “Style” covers a lot of ground, from “use camelCase for variable names” to “never use global variables” to “never use exceptions.” This project (google/stylegu

    GitHub - google/styleguide: Style guides for Google-originated open-source projects
  • SQLスタイルガイド · SQL style guide by Simon Holywell

    概要 全般 推奨 非推奨 命名規則 通則 表 列 別名、相関名 ストアド・プロシージャ 統一的接尾辞 問合せ文 予約語 空白類 インデント 望ましい形式 Create文 データ型の選択 デフォルト値の指定 制約とキー 非推奨設計 付録 予約語リファレンス SQLスタイルガイド(日語訳) 日語訳について 日語訳は誤訳や原文の最新版に追随していない恐れがあります。誤訳や改善点があれば、GitHubのissueまたはpull requestを使用するか、Twitterでお知らせください。 翻訳: 久利史之 @nkuritw 概要 このガイドラインは利用の他、forkしたり、自分自身のものに改変したりすることができます。ここで大事なのはスタイルを選択しそれを踏襲することです。変更の提案やバグの修正にはGitHubのissueまたはpull requestを使用してください。 このガイドライン

  • 結城浩の心がけ

    結城浩 私は、でたらめに行動しているわけではありません。 自分の行動の「心がけ」をまとめてみました。 パターン・ランゲージ 絵を読むときのパターン・ランゲージ 技術系メーリングリストで質問するときのパターン・ランゲージ 文章を書く心がけ 文章を書く心がけ 文章を書く心がけ2 —— 書き始めれば、書ける 文章を書く心がけ3 —— 校正の実例 文章を書く心がけ4 —— 書籍執筆とオンラインレビュー 文章を書く心がけ5 —— 校正の実例2 インターネットの心がけ Webページを作る心がけ メールを書く心がけ チャットの心がけ 仕事の心がけ 仕事の心がけ 仕事の心がけ2 —— 仕事のトラブル・ケーススタディ その他の心がけ 教えるときの心がけ 祈りの心がけ 翻訳の心がけ 絵を読む心がけ 家事手伝いの心がけ 女性とおつきあいをするときの心がけ Web日記を書く心がけ ちらかった部屋を片づける心が

    結城浩の心がけ
    matsu7874
    matsu7874 2019/10/20
  • Instant-runoff voting - Wikipedia

  • Bitapアルゴリズム - 西尾泰和のScrapbox

  • 構文解析 - アルゴリズム講習会

    構文解析 再帰下降構文解析 構文解析にはいろいろな手法がありますが、プログラミングコンテストでは実装が単純かつそこそこ強力な(LL(1)文法を処理できる)再帰下降構文解析がよく使われます。 これは、関数の再帰を使って構文を小さな領域に分割していき、末端から値を確定させていく手法です。 四則演算の構文解析 例として、四則演算の構文解析を考えます。 ここでは四則演算は数字と括弧、+-*/の4つの演算子から成り立っているとします。演算子の優先順位も実際の四則演算の通り、掛け算と割り算が優先されます。ただし、全ての演算は整数だとします。以下は式の一例です。 まずは、四則演算の構文をBNF記法で表します。 BNF記法をあまり厳格に記述する必要はありませんが、演算子の優先順位はきっちり判別できるようにしておく必要があります。 最初に、式全体をexprという変数(非終端記号)で表すとします。 exprの

  • http://www-erato.ist.hokudai.ac.jp/docs/seminar/yamamuro.pdf

  • 任意modでの畳み込み演算をO(n log(n))で - math314のブログ

    http://misawa.github.io/other/fast_kitamasa_method.html を見て刺激されたので書いた. 畳み込み演算? 任意modでの畳み込み演算 中で使われてる技術c++のコード コードと原理の説明をちょっとだけ載せています. コードだけ欲しい人は https://gist.github.com/math314/6a08301b8b75b8172798 をどうぞ. fast_int32mod_convolution を使うとint32の任意のmodが取れます. 実はまだverifyしてない. 畳み込み演算? 畳み込み演算とは,プログラムで表すと z = [0] * (len(x) + len(y) - 1) for i in xrange(len(x)): for j in xrange(len(y)): z[i+j] += x[i] * y[j

    任意modでの畳み込み演算をO(n log(n))で - math314のブログ
  • 文字列アルゴリズムの学びかた - Hatena Developer Blog

    こんにちは!はてなアプリケーションエンジニアの id:takuya-a です。 みなさんは、このような疑問をもったことはありませんか? grep はどのように文字列を検索しているのか? MeCab はどうやって辞書を高速にルックアップしているのか? パーサやコンパイラを作りたいけど、何から始めればいいのか? 稿では、「文字列アルゴリズムとはどんなものなのか?」「なぜ重要なのか?」「何を知っておくべきか?」「どうやって勉強すればいいのか?」といった疑問にお答えしていこうと思います。 文字列アルゴリズムの意外な応用や、モチベーションを保ちやすい勉強のしかた、文字列アルゴリズムを勉強するために行った社内での取り組み、実装するときのコツといったトピックについても触れています。 このエントリは、はてなエンジニアアドベントカレンダー2016の22日目の記事です。昨日は id:syou6162 さんに

    文字列アルゴリズムの学びかた - Hatena Developer Blog
  • C++: 編集距離を求めるアルゴリズム

    編集距離(edit distance)とは二つの文字列がどの程度異なっているかを示す数値であり、レーベンシュタイン距離(Levenshtein distance)を指すことが多い。文字の挿入、削除、置換それぞれを一つの操作として必要な操作の最小数を求めるものだ。例えば、kittenとsittingの編集距離を求める場合、下記のように3回の操作でkittenをsittingに変更できるので編集距離は3となる。 1. sitten (k を s に置換) 2. sittin (e を i に置換) 3. sitting (g を挿入) そこで今回は編集距離を求める複数のアルゴリズムについてC++で実装してみた。 動的計画法 編集距離を求めるもっとも一般的なアルゴリズムは、動的計画法(dynamic programming)だろう。計算時間はO(mn)であり、手軽だ。C++で書いたコードを下に示

  • Human Interface Guidelines | Apple Developer Documentation

    The HIG contains guidance and best practices that can help you design a great experience for any Apple platform.

    Human Interface Guidelines | Apple Developer Documentation
    matsu7874
    matsu7874 2019/10/20