Skip to content

Instantly share code, notes, and snippets.

View legokichi's full-sized avatar
😇
neary heaven

Legokichi Duckscallion legokichi

😇
neary heaven
View GitHub Profile

#NoSQLデータモデリング技法

原文:NoSQL Data Modeling Techniques « Highly Scalable Blog

I translated this article for study. contact matope[dot]ono[gmail] if any problem.

NoSQLデータベースはスケーラビリティ、パフォーマンス、一貫性といった様々な非機能要件から比較される。NoSQLのこの側面は実践と理論の両面からよく研究されている。ある種の非機能特性はNoSQLを利用する主な動機であり、NoSQLシステムによく適用されるCAP定理がそうであるように分散システムの基本的原則だからだ。一方で、NoSQLデータモデリングはあまり研究されておらず、リレーショナルデータベースに見られるようなシステマティックな理論に欠けている。本稿で、私はデータモデリングの視点からのNoSQLシステムファミリーの短い比較といくつかの共通するモデリングテクニックの要約を解説したい。

本稿をレビューして文法を清書してくれたDaniel Kirkdorfferに感謝したいと思う

@legokichi
legokichi / IRC.md
Created September 28, 2021 02:00 — forked from rain-1/IRC.md
why we use IRC nodes

Why is IRC distributed across multiple servers?

I have been wondering for a long time why IRC networks have multiple servers. Wouldn't it be simpler just to use a single server?

One of the problems of having multiple servers is that netsplits can occur. Anybody who has been on IRC for a while will have witnessed one. Hundreds of people suddenly ripped out of the chat. This can also screw up channel and user modes, and 'some people' have been known to wait for netsplits in order to takeover channels or enter password protected channels.

So lets compare situation (A) a single IRC server everyone connects to with the current setup people use (B) multiple servers. Let's say you run an IRC network with u = 40,000 users and n = 20 server nodes that people connect to via round robin DNS (meaning that when people resolve the DNS it gives them a random server from the set of 20 to connect to). These are vaguely realistic numbers modelled after libera.chat.

So in (B) you have roughly u/n = 2000 clients connected

@legokichi
legokichi / atr.md
Created May 14, 2021 04:25 — forked from Ishotihadus/atr.md
ATR503文元ネタ集

ATR 音素バランス 503 文元ネタ集

判明している音素バランス文の元ネタを集めた。

Subset A

a01: あらゆる現実をすべて自分のほうへねじ曲げたのだ。

「マルサの女 撮影日記」(伊丹十三)(文藝春秋 1987 年 2 月)(c03、g01 と同一)

PostgreSQL Type PostgreSQL Size Description Range Diesel Type Rust Type
Nullable Types nullable Nullable``
@legokichi
legokichi / Main.purs
Last active January 23, 2021 06:25
bow architecture purescript category theory yoneda
module Main where
import Prelude
import Control.Comonad
import Effect (Effect)
import Effect.Class.Console (log)
import Data.Foldable (fold)
import TryPureScript (h1, h2, p, text, list, indent, link, render, code)
main :: Effect Unit
[package]
name = "a"
version = "0.1.0"
authors = ["pi"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
v4l = "0.12"
@legokichi
legokichi / doctor.md
Created November 30, 2020 04:55 — forked from kaityo256/doctor.md
博士の話

博士の話

はじめに

アニメや映画などを見ていると、「博士」と呼ばれる人が出てくることがあります。ポケモンにもオーキド博士がいますね。多くの場合物語に登場する「博士」は一人だけで、たんに「はかせ」と呼ばれます。物語に出てくる博士はだいたい物知りで、年配であることが多く、「○○じゃよ」みたいな話し方をしたりします。この「博士」、実際にはどうやってなるのでしょうか?本稿では、「博士」にあまり馴染みのない人向けに博士の仕組みを説明してみようと思います。なお、博士号のとり方は分野によりかなり違います。以下は筆者の知る理工系、特に工学系に限った話だと思ってください。

博士とは

物語では「博士」を「はかせ」と呼ぶことが多いですが、称号としての「博士」は「はくし」と呼ばれます。大学などの高等教育機関は、学術上の知識、能力が十分にあると認めたものに対して学位(degree)を授与することができます。学位にはいろいろありますが、その最高位に位置づけられるのが「博士号」です。戦前は博士号を授与できる機関が帝国大学に限られていたために希少性が高かったようですが、現在は学校教育法により、大学院を置く大学は課程修了者に修士または博士の学位を授与できることが定められています。他にも学位授与機構という、大学以外で学位を授与できる機関があります。

@legokichi
legokichi / re_howto.md
Created November 30, 2020 04:54 — forked from kaityo256/re_howto.md
Re:研究者として生きていくコツ

Re:研究者として生きていくコツ

これは以前書いた研究者として生きていくコツへの補足のようなものです。主にはてブ等でついたコメントへの返事です。

誰に向けて書いたか?

Twitter等で偶然見かけた、顔も名前も知らないポスドクさんたちの言動を見て、これから研究者を目指す学生さんに向けて書きました。そのポスドクさんたちは分野も違うので、私とは直接の知り合いではありません。何年も前のつぶやきに対する反応で、最近の投稿へのエアリプではありません。

研究者も人間です。長くポスドクをしていると、いつも任期に追われ、かつ自分の望むテーマとは必ずしも合致しないプロジェクトをわたり歩くことで、だんだん「自分は何屋さんなのか」がぼやけてくるなか、同期、後輩がポストを取っていくのを見て焦り、「もっとがんばらなきゃ」と自分を追い込んだり、社会や身近な人に呪詛を吐いたり、ということがありがちです。そんな人たちの言動を見て、将来ある若い人が負の影響を受けないといいな、と思って書いたものです。なので、現在ポスドクをやっている人に向けて書いたものではありません。

@legokichi
legokichi / gist:4e4d051f4d77a817a700614049f81092
Created November 30, 2020 04:52 — forked from shyouhei/gist:266178ffedab5767a5b69b972c76f88a
優秀なプログラマーになるためのコツ

優秀なプログラマーになるためのコツ

重要な順で

優秀なプログラマーになるには非常に長い時間がかかるという現実を直視すべし

優秀なプログラマーというのは寝ている間に異世界に召喚されて無双するのとはわけが違うんですよ。

自分の例で言うとプログラミングを始めた中学生の時から優秀なプログラマだったかって、そんなわけない。みんなヘッポコからスタートしているに決まってるわけです。以来二十余年、地道に生き恥を晒し続けてきた結果として、現在いちおう業界の末席を汚すところまで来ている。このプロセスから目を背けるべきではないです。優秀なプログラマーに生まれる人間なんかいない。優秀なプログラマーに「育つ」んだし、それには時間が必要。今日から無双したいと思うな。