タグ

tanakamaのブックマーク (1,115)

  • 『初等整数論講義 第2版』目次

    『初等整数論講義 第 $2$ 版』高木 貞治 著高木貞治プロジェクトとして『初等整数論講義 第 $2$ 版』を転載しました。 共立出版より許諾を頂きました。 著作権について、ブログ:高木貞治プロジェクトを顧みる。 誤植と思われる箇所はこちらにまとめてあります。 推奨環境:PC。(スマホ:Chrome、Firefox。) JavaScript有効。 現在も共立出版から初等整数論講義 第 $2$ 版が出版されています。 転載元:『初等整数論講義 第 $2$ 版』高(たか)木(ぎ)貞(てい)治(じ)著、共立出版、2019年刊(第2版44刷) $\blacktriangleright$ 評判

    tanakama
    tanakama 2020/07/26
  • Ruby で png 画像を自力で生成する - まめめも

    「png のフォーマットは gif に比べて難しい」などと聞いたことがありましたが、zlib が使える処理系なら、簡単な png 画像はそこそこ簡単に (ビット演算など不要で) 作れるみたいです。 2015/03/12追記:この記事は単なる知的好奇心で自力 png 生成しているに過ぎません。以下のサンプルコードもデモに過ぎないので、実用目的で使うことはおすすめしません。Ruby でベタデータの png 化をしたい人は chunky_png を、綺麗な絵を書きたい人は rcairo を使うといいと思います。 まずはサンプルコード 黒から赤へのグラデーション画像を作るプログラム。 # coding: UTF-8 require "zlib" width, height = 100, 20 depth, color_type = 8, 2 # グラデーションのベタデータ line = (0...

  • NASA Announces New James Webb Space Telescope Target Launch Date - NASA

    tanakama
    tanakama 2020/07/18
  • アプリケーション開発において重要なロックを掘り下げ、ORM における楽観的ロックの実現例を紹介する - Qiita

    導入 アプリケーション開発においてデータを扱う時にロックを行うことはデータ保全性の観点から重要です。 一般的な話としてアプリケーションの「ロック」について掘り下げ、ロック方法の種類や DB のトランザクションとの関連性を紹介します。 ロックとは まず、ロックとはデータに対して読み書きの処理を同時に行うことを排除する仕組みです。 ロックを行わない場合、同じデータに対して複数の処理を実行すると、結果に整合性が取れなくなったりします。 例えば、商品カテゴリごとの売上の合計を計算する処理が実行されている間に、商品カテゴリが変更されると、商品カテゴリごとの売上の合計は総売り上げと違う値となってしまいます。 そこでロックを用いることで、一方の処理が完了するまでもう一方の処理の読み書きを禁止させることができ、結果の整合性を取ることが出来ます。 ロックを掘り下げる システムの「どのレベル」でロックを行うか

    アプリケーション開発において重要なロックを掘り下げ、ORM における楽観的ロックの実現例を紹介する - Qiita
    tanakama
    tanakama 2020/06/26
  • 翻訳:Paxos Made Simple - minghaiの日記

    Paxos made simple (PDF) Leslie Lamport 01 Nov 2001 簡単にしたPaxos レスリー・ランポート 2001年11月1日 注:誤訳、誤字、その他ご指摘歓迎。翻訳者は誤訳に関して一切の責任を取りません:-) Abstract The Paxos algorithm, when presented in plain English, is very simple. 要約 Paxosアルゴリズムは、普通の言葉で語ればとても簡単だ。 1 Introduction The Paxos algorithm for implementing a fault-tolerant distributed system has been regarded as difficult to understand, perhaps because the original

    翻訳:Paxos Made Simple - minghaiの日記
    tanakama
    tanakama 2020/06/25
  • ざっくり理解するPaxos - 小野マトペの納豆ペペロンチーノ日記

    ゴールデンウィーク中、Appleがオープンソースとしてリリースした分散データベース FoundationDB のドキュメントを読んでいました。なかなか面白いデータベースだと思うのでこれについては別途書きたいですが、それはそれとしてFoundationDBでは、分散環境下でACIDトランザクションを実現するために、分散合意プロトコルとして有名なPaxosを採用しているようでした。 PaxosはGoogleのChubbyやCassandraのLight Weight Transactionなどで使われていますが、僕はいまだにPaxosがどのように動作するのかあまりよく分かっていませんでした。良い機会だと思い、FoundationDB技術を理解するためにも連休の後半でLeslie LamportによるPaxosの論文の一つ Paxos Made Simple を読み、何となくわかった気持ちにな

    ざっくり理解するPaxos - 小野マトペの納豆ペペロンチーノ日記
    tanakama
    tanakama 2020/06/25
  • 『ケーブルについて。』

    カンザキのブログ サイクルショップカンザキ上新庄店です。 スポーツ自転車(ロードバイク・クロスバイク)およびパーツ専門店 営業時間/10:00~7:30 定休日:水曜日 最近はDI2・EPS・eTap等の電動変速や油圧ブレーキが増えてきていますが 今回はの変速機やブレーキに使われているケーブルについて少しご紹介。 メーカによってケーブルのサイズや規格が違うのでSHIMANOのケーブルに注目したいと思います、 ●スチール ●ステンレススチール ●OPTISLICK ●Polymer Coated Cable ●OT-RS900 この5種類のケーブルを見てみましょう。 現在SHIMANOでは大きく分けてコーティングワイヤーとコーティング無しの2つに 分けれます。 コーティングなし:スチール・ステンレススチール コーティングあり:OPTISLICK・Polymer Coated Cable ■ス

    『ケーブルについて。』
  • A critique of ansi sql isolation levels 解説公開用

    1. A Critique of ANSI SQL Isolation Levels 再読 〜もう一度TX処理の基礎を見直す 2012// 株式会社ノーチラス・テクノロジーズ @okachimachiorz http://www.nautilus-technologies.com/ mailto:contact@nautilus-technologies.com Tel: 03-6712-0636 Fax: 03-6712-0664 Copyright © 2011-2012 Nautilus Technologies, Inc. All rights reserved. NAUTILUS Proprietary & Confidential 2. A Critique of ANSI SQL Isolation Levels  1995年の論文 – Phil Bernstein, Ji

    A critique of ansi sql isolation levels 解説公開用
    tanakama
    tanakama 2020/06/20
  • PostgreSQL のトランザクション & MVCC & スナップショットの仕組み

    このページでは PostgreSQL のトランザクション(Transaction)、Multi Version Concurrency Control(MVCC)、スナップショット(Snapshot)の仕組みを説明する。 PostgreSQL の他の記事へのインデックスはここ。 更新履歴 (2016.04.30) 作成。 (2016.09.16) データ定義言語(DDL)のトランザクションを追加。 (2016.09.28) データ定義言語(DDL)の MVCC アンセーフ動作を追加。 (2017.04.07) Combo Command ID の説明が間違っているのを修正。 目次 1. はじめに 2. トランザクション分離レベル(Transaction Isolation Level) 3. Serializable 以外の分離レベルの実現方法 3.1 トランザクションとと可視性(Visi

    tanakama
    tanakama 2020/06/19
  • 初心者が学ぶP,NP,NP困難(Hard),NP完全(Complete)とは(わかりやすく解説) - MotoJapan's Tech-Memo

    (※訂正のため更新 18/4/23) 論文を読んでいると言葉だけ出会うが、見なかったことにしている言葉なのでちゃんと知りたい。 スタート:全く意味がわかっていないレベル ゴール:論文でその言葉の意味が掴めている状態 言葉の一般的な説明 P NP NP困難 (NP-Hard) NP完全 (NP-Complete) 分かりやすく説明 関係図 問題の難易度 Pの解説 判定問題とは 決定性チューリングマシン(機械)とは 多項式とは 「多項式時間で解ける」とは P読み直し NPの解説 非決定性チューリングマシンとは 「その証拠が当に正しいかどうかを多項式時間で判定できる」とは NP読み直し NP困難 (NP-Hard)の解説 NP完全 (NP-Complete)の解説 多項式時間還元(polynomial-time reduction)とは 決定性、非決定性チューリングマシンの違い P, NPの違

    初心者が学ぶP,NP,NP困難(Hard),NP完全(Complete)とは(わかりやすく解説) - MotoJapan's Tech-Memo
    tanakama
    tanakama 2020/06/16
  • MLOps: Continuous delivery and automation pipelines in machine learning  |  Cloud Architecture Center  |  Google Cloud

    Accelerate your digital transformation Whether your business is early in its journey or well on its way to digital transformation, Google Cloud can help solve your toughest challenges.

    MLOps: Continuous delivery and automation pipelines in machine learning  |  Cloud Architecture Center  |  Google Cloud
    tanakama
    tanakama 2020/06/16
  • DBTS2017「次世代DB / 分散OLTP(MVCC系)を可能な限り全力で解説」聴講メモ - ぱと隊長日誌

    前書き db tech showcase Tokyo 2017 (db tech showcase Tokyo 2017 | db tech showcase) C31:次世代分散OLTP 次世代DB / 分散OLTP(MVCC系)を可能な限り全力で解説 の聴講メモです。 スピーカーはノーチラステクノロジーズの神林さん(@okachimachiorz1)です。 原則として自分のメモをベースに、Twitterのつぶやきを参考にしながら見直しを行いました。メモしきれなかった内容がTwitterに記録されている場合もありましたので、併せてご参照ください。 #dbts2017 since:2017-09-07 until:2017-09-08 - Twitter Search 9:18~10:27あたり。並行したセッションがあるため、つぶやきは混在しています。 メモは口頭説明を中心にまとめています

    DBTS2017「次世代DB / 分散OLTP(MVCC系)を可能な限り全力で解説」聴講メモ - ぱと隊長日誌
  • Serial Safety Net 再考 - 急がば回れ、選ぶなら近道

    SSN Serial Safty Net 原論文は以下 https://pdfs.semanticscholar.org/ecf9/821e0c4f1f28fb7eb42c5eaa8a92cf16ade9.pdf Txのserializabilityを判断する、いわゆるcertifierになる。実際はDBのTx処理のvalidatorの実装として組み込まれることが通常だと思う。ERMIA( http://www.cs.sfu.ca/~tzwang/ermia.pdf )ではそうなっている。想定としては下位レイヤーにSI(Snapshot Isolation)またはRC(Read Committed)な実装を想定している。 原理はTxのdependencyをトラックして、コミット時点でvalidationを行い、dependency cycleが発生する可能性が高いかどうか判断する。リードが

    Serial Safety Net 再考 - 急がば回れ、選ぶなら近道
  • 論文紹介: An empirical evaluation of in-memory multi-version concurrency control · the weekly paper

    論文紹介: An empirical evaluation of in-memory multi-version concurrency control 書いた人: @nikezono 追記 この解説記事はあまりに内容が粗雑だった. 別の機会に作成したスライドを貼っておく. これを読めばこの記事の文を読む必要はそれほどない. (そもそも論文を読めば解説記事など読む必要はないのだが) 要約 マルチバージョン同時実行制御(MVCC) は昨今のDBMSにおいて最も使われている同時実行制御手法である. OracleMySQL, PostgreSQLといった多くのデータベースがトランザクション処理の実装にMVCCを採用している. しかし,MVCCという言葉は「マルチバージョンで実装すること」以上の意味を持っていない.MVCCという概念が包含するコンポーネントは非常に多く,その種類と組み合わせも膨

  • 最近よく聞くQuorumは過半数(多数決)よりも一般的でパワフルな概念だった - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 最近では珍しくもなくなった"Quorum"という言葉。Zookeeper, etcd, Serfといったクラスタ中でデータのレプリケーションを行ってくれるようなツールや、Cassandra, Riakといった分散データベース(NoSQL系)のようなツールにおいても、データの複製に一貫性を持たせる仕組みとしてよく聞かれます。 しかしながら、多くのスライドやWebの記事を読んでも、"Quorum"という語が意味するところは要するに「過半数ノードによる多数決」というような説明が多いように感じていました。 にも関わらず、"Quorum"と呼ばれ

    最近よく聞くQuorumは過半数(多数決)よりも一般的でパワフルな概念だった - Qiita
    tanakama
    tanakama 2020/06/10
  • データ処理ライブラリーの並列化/高速化をRustによって実装したWeld

    今回は、Mozilla Foundationが開発をリードするオープンソースのメモリーセーフを実現した低レベルプログラミング言語、Rustのユースケースを紹介する。Stanford大学の研究室で開発されているWeldというデータ解析ライブラリーが、Rustで開発されたことを解説するプレゼンテーションを取り上げて、解説していく。こちらのプレゼンテーションは、RustCon 2019のセッションの一つとして行われたもので、プレゼンターはStanford大学のShoumik Palkar氏だ。 Palkar氏は、最初にこの研究の背景を紹介する。最新のデータ分析アプリケーションでは、多くのライブラリーを利用してデータの集計や解析が行われている。そしてその多くがオープンソースソフトウェアとして実装されており、開発に利用される言語もさまざまである。そのため、高速に実行するための最適化が行われておらず、

    データ処理ライブラリーの並列化/高速化をRustによって実装したWeld
    tanakama
    tanakama 2020/06/10
  • 宇宙のフワフワな塵が有機化合物の生成に大きな役割を果たしている?

    有機化合物は生命が息づく地球だけでなく、彗星や星間分子雲といった宇宙のさまざまな場所で見つかっています。こうした有機化合物が生成されるうえで、隙間が多いフワフワな塵が重要だとする研究成果が発表されています。 ■表面積が広くて氷が厚くなりにくく、塵を触媒とした反応が起きやすい可能性フワフワな塵(灰色)の表面には場所によって厚さが異なる氷(青色)が層を成していて、熱や紫外線の影響を受けることで化学反応が起こると考えられている(Credit: A. M. Quetz / MPIA)Alexey Potapov氏(イエナ大学)らの研究チームは、星間空間や原始惑星系円盤などで生じる化学反応において塵がどのような役割を果たしているのかを知るために、人工的に作り出した塵を利用した実験を行いました。低温な環境にある塵の表面にはさまざまな物質が付着しつつ、水や一酸化炭素などの氷の層を形成するとみられています

    宇宙のフワフワな塵が有機化合物の生成に大きな役割を果たしている?
    tanakama
    tanakama 2020/06/09
  • 江添亮のC++入門

    書はプログラミングの経験はあるがC++は知らない読者を対象にしたC++を学ぶためのである。書はすでに学んだことのみを使って次の知識を説明する手法で書かれた。C++コンパイラーをC++で書く場合、C++コンパイラーのソースコードをコンパイルする最初のC++コンパイラーをどうするかというブートストラップ問題がある。書はいわばC++における知識のブートストラップを目指しただ。これにより読者はを先頭から読んでいけば、まだ学んでいない概念が突如として無説明のまま使われて混乱することなく読み進むことができるだろう。 C++知識のブートストラップを意識した入門書の執筆はなかなかに難しかった。ある機能Xを教えたいが、そのためには機能Yを知っていなければならず、機能Yを理解するためには機能Zの理解が必要といった具合に、C++の機能の依存関係の解決をしなければならなかったからだ。著者自身も苦し

    tanakama
    tanakama 2020/06/08
  • etags の使い方メモ - My Emaps

    概要 emacs では, あらかじめ関数定義をタグテーブルにまとめておくことで, 関数定義元ファイルの検索を容易にすることがきる. この機能は etags.el で実装されている. 以下, emacs manual の内容を適当に要約して, 少し加筆したものをメモしておく. 参考サイト http://www.geocities.co.jp/SiliconValley-Bay/9285/EMACS-JA/emacs_270.html#SEC271 http://www.gnu.org/software/emacs/manual/html_node/emacs/Tags.html#Tags タグテーブルの作成 etags コマンドを使うことで TAGS という名前のタグテーブルが生成される. $ etags *.eletags コマンドに複数のファイル名を渡せば, すべてのファイルの情報をもっ

    etags の使い方メモ - My Emaps
    tanakama
    tanakama 2020/06/05
  • 第18回 ロックについて | Oracle 日本

    この分離レベルはトランザクション開始前に以下のSQL文で設定します。 SQL> SET TRANSACTION ISOLATION LEVEL <分離レベル> ; これによりトランザクション毎に発生させたくない矛盾を排除することが可能となります(トランザクションが「REPEATABLE READ」で実行している場合は、ダーティ・リードと非リピータブル・リードは排除されますが、ファントム・リードは発生することになります)。良く聞くデータベース・ベンチマーク「TPC-C」は、この分離レベルの「SERIALIZABLE」が正しく動作しないと認定されないようになっています。 分離レベルの矛盾について ご存知ない方のために、ここで分離レベルで定義されている3つの矛盾について簡単に説明します。 ・Dirty Read(ダーティ・リード) 別のトランザクションで更新されているデータ(書込みロックされたデ

    tanakama
    tanakama 2020/06/05