haikikyouのブックマーク (159)

  • hashアルゴリズムとハッシュ値の長さ一覧

    「ハッシュ値の衝突」(コリジョン)や「データの改ざん防止」など、複数のハッシュ・アルゴリムを組み合わせるために、ハッシュ値の「長さ」と「速度の目安」一覧が欲しい。 ... ってか、ハッシュって、そんなにおいしいの?圧縮された暗号とちゃうん? TL; DR (今北産業) この記事はハッシュ関数の出力結果を桁数ごとに、まとめたものです。 ハッシュ関数の各々の「アルゴリズムが最大何文字・・の 16 進数で返してくるか」の事前確認に利用ください。 マスター、一番強いヤツをくれ。 バランス優先 👉 sha3-512(64 Byte, 128桁, 2020/12/22 現在) OS やプログラム言語間の互換性・強度・速度で、一番バランスが取れているハッシュ・アルゴリズム。使いやすさなら、SHA3-256。 互換性?ここでいう互換性とは「どの言語でも標準・・で大抵は実装しているアルゴリズム」のことです

    hashアルゴリズムとハッシュ値の長さ一覧
    haikikyou
    haikikyou 2022/10/29
  • MySQLでプライマリキーをUUIDにする前に知っておいて欲しいこと | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]

    株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。 bashパフォーマンスMySQLInnoDBDB設計インデックス こんにちは、羽山です。 今回は MySQL のプライマリキーに UUID を採用する場合に起きるパフォーマンスの問題を仕組みから解説します。 MySQL(InnoDB) & UUID のパフォーマンスについては各所でさんざん議論・検証されていますが、論理的に解説した記事が少なかったり一部には誤解を招くようなものもあるため、しっかりと理由から理解するための情報として役立つことができればと思っています。 UUID と比較される古き良き昇順/降順のプライマリキーはというと、 MySQL の InnoDB において良いパフォーマンスを出すために縁の下の力持ちのような働きをしてくれているケースが実は少な

    MySQLでプライマリキーをUUIDにする前に知っておいて欲しいこと | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]
    haikikyou
    haikikyou 2022/10/29
  • HashiCorp Nomad で作るコンテナ実行基盤 - Qiita

    2019年3月から、さくらインターネットで働いている、自称「構成管理おじさん」です。 チームでの役割としては下記のようなことをやっています。 コンテナ実行基盤の構築 メトリクス管理、監視基盤の構築 ログ管理、監視基盤の構築 今回は、コンテナ実行基盤の構築について少しだけお話しさせていただきます。 内容 世の流れは Kubernetes だけど、 Docker + Nomad + Consul + Traefik を組み合わせるとこんなことができ、この構成に至るまでにどのように思考していったのかについて書いています。 Nomad + Consul を利用したコンテナオーケストレーションを行っている国内の企業がここにもいますよということをアピールしておきます。(いつか対面でお話できる日がくるとよいなと思っています。) LINEの金融系サービスを支えるサーバーエンジニア仕事 Consul・No

    HashiCorp Nomad で作るコンテナ実行基盤 - Qiita
    haikikyou
    haikikyou 2020/07/16
    コンテナ実行基盤の例
  • コンテナ仮想、その裏側 〜user namespaceとrootlessコンテナ〜 - Retrieva TECH BLOG

    レトリバのCTO 武井です。 やあ (´・ω・`) うん、「また」コンテナの記事なんだ。済まない。 技術ブログの開設と新セミナー運用の開始にあたって、「前に話した内容をブログにしつつ、新しい差分をセミナーにすれば、一回の調べ物でどっちのネタもできて一石二鳥じゃないか」と思っていたのですが、 前のセミナーが情報詰め込みすぎでブログの文量がとんでもないことになって、 → それが前提条件になってしまっているのでセミナー資料の文量も膨れ上がって、 → 差分だけと思っていたUser名前空間も思った以上のボリュームで、 → やっと一息かと思ったら、フォローアップ記事が残っていることを思い出すなど ←いまここ 一石二鳥作戦のはずが、どうしてこうなった……。 計画大事。 そんなわけで、今回は4/17にお話ししました「コンテナ仮想、その裏側 〜user namespaceとrootlessコンテナ〜」という

    コンテナ仮想、その裏側 〜user namespaceとrootlessコンテナ〜 - Retrieva TECH BLOG
    haikikyou
    haikikyou 2020/07/16
    とても分かりやすい
  • 多分あなたにKubernetesは必要ない | Yakst

    trivago社の小規模な開発チームがコンテナオーケストレーターとしてKubernetesではなくNomadを採用することになった経緯と理由について、両プロダクトの特徴やユースケースに言及しつつ紹介されています。 [HashiCorp][Kubernetes]原文 Maybe You Don't Need Kubernetes (English) 原文著者 Matthias Endler 原文公開日 2019-03-21 翻訳依頼者 翻訳者 msh5 翻訳レビュアー doublemarket 原著者への翻訳報告 1673日前 Twitterで報告済み 1672日前 原著者承諾済み 編集 スクーターに乗った女性(イラスト画像の作成元はfreepik、NomadロゴはHashiCorp) Kubernetesはコンテナオーケストレーションの巨人です。世界中で巨大なデプロイメントを動かしています

    haikikyou
    haikikyou 2020/07/16
    判断は慎重にする必要あり
  • マルチコア時代に備えて本気でメモリモデルを理解しておこう - メモリバリア編 - - じゅんいち☆かとうの技術日誌

    このエントリを読む前提条件として、マルチコア時代に備えて気でメモリモデルを理解しておこう - リオーダー & finalフィールド 編 - - じゅんいち☆かとうの技術日誌を読んで、リオーダーとは何かを理解していることとします。 前回のおさらいをすると、 プログラムの実行順序は、リオーダーが許可される場合と禁止される場合がある。並行処理ではリオーダーを想定しなければ、処理結果の整合性が確保できない。(特にマルチプロセッサ環境) リオーダーを禁止して、可視性を保証する。(finalフィールドはコンストラクト時に完全に初期化され、コンストラクト後はスレッドから見えるようになる) でした。 リオーダーについて理解できたら、今度はメモリバリア命令でスレッド毎に扱うメモリと、大域のメインメモリとのメモリI/Oについて見ていきたいと思います。メモリバリアが理解できれば、以下のソース*1のスレッドがな

    マルチコア時代に備えて本気でメモリモデルを理解しておこう - メモリバリア編 - - じゅんいち☆かとうの技術日誌
    haikikyou
    haikikyou 2018/01/08
  • 英語の句読点 - トップ

    はじめに 「英単語や表現を覚えるだけで必死なのに、句読点にまで気を配っている余裕はありません。テキトーにやっておきたい」というのではなく、ちょっとしたメールの文章でもあまりに句読点の使い方が煩雑というのでは、その人の英語教養が疑われてしまいます。ひいては、文章自体も大丈夫なのかな?という疑問を持たれることもあるかもしれません。というわけで、いろんな句読点の基的な使い方をおさえておきましょう。 句読点のいろいろ

    haikikyou
    haikikyou 2017/10/08
    英語のカンマの使い方
  • Unix Shells: Bash, Fish, Ksh, Tcsh, Zsh - Hyperpolyglot

    Shells read input up to an unquoted newline and then execute it. An unquoted backslash followed by a newline are discarded and cause the shell to wait for more input. The backslash and newline are discarded before the shell tokenizes the string, so long lines can be split anywhere outside of single quotes, even in the middle of command names and variable names. In the shell grammar, lists contain

    haikikyou
    haikikyou 2017/08/24
  • SANとは、FC-SANとIP-SANの違い

    FC-SANでは「高い導入費用とFCの専門知識が必要」ということもあり、SANの導入を控えていた企業も サーバの高性能化、イーサネット高速化(10G)、IP-SANの標準化により最近はSAN導入が進んでいます。 iSCSI:ストレージとサーバとの通信に使用するSCSIコマンドをカプセル化して、IPネットワーク上で送受信するプロトコル。 FCIP、iFCP:SANで流れるFCフレーム(ファイバチャネルコマンド)をカプセル化し、IPネットワークで送受信するプロトコル。 ◆ FC-SAN と IP-SAN のプロトコルスタック ファイバーチャネルではTCP/IPプロトコルを使用せず、ファイバチャネルプロトコル(FCP)を使用します。 ◆ FC-SANとは FC-SANの「FC」は“Fiber Channel”の略称です。ファイバチャネルとは、高速データ伝送方式の1つであり 1Gbps、2Gbps

    haikikyou
    haikikyou 2017/08/15
    SAN
  • GNU make 日本語訳(Coop編) - 目次

    著者 :リチャード・M・ストールマン, ローランド・マグラス (GNU プロジェクト) 訳者 : いのまた みつひろ / ecoop.net(技術メモ公開中) 翻訳文更新日:May 20, 2002(翻訳終了・未校正) Linux 標準搭載の make コマンド, 別名 gmake の日語版です。 この資料の著作権は Richard.M.Stallman & Roland.McGrath と Free Software Foundation にあり、また翻訳版には前述の著作者に加えて ecoop.net に著作権があります。再配布・転載等される方はこちらを見て下さい。 GNU Project についてはgnu.org(日語)を参照のこと。 序文はこちら GNU makeユーティリティは大きいプログラムのどの断片が再コンパイルされる必要が あるかという事と,それらを再コンパイルする発行コ

    haikikyou
    haikikyou 2017/07/11
  • トリビアなmakefile入門

    make/makefileは,大きいプログラムのどの断片が再コンパイルされる必要があるかという事と,それらを再コンパイルする発行コマンドを自動的に決定するユーティリティ/設定ファイルです. コンピュータサイエンスの基的な考え方のひとつに冗長性をなくして効率化する構成を追及するというのがあります. 情報理論(bitの理論),HTMLとブラウザ,高級言語と機械語など,ひとつの仕様(表現)から環境や状況にあわせて実装(記述)をつくりだす構成が好まれます. ひとつのファイルでさまざまなコマンドを制御するmake/makefileを制することはコンピュータサイエンスを制することになります. makeのあれこれ もっとも単純な例 Makefile は以下のようなルールからなる.

    haikikyou
    haikikyou 2017/07/11
  • TCPを(少しは)理解しておくべきその理由 | POSTD

    この記事はTCPの 全て を理解する、あるいは 『TCP/IP Illustrated』 (訳注:日語版: 『詳解TCP/IP〈Vol.1〉プロトコル』 )を読破しようとか、そういうことではありません。ほんの少しのTCPの知識がどれほど欠かせないものなのかについてお話します。まずはその理由をお話しましょう。 私が Recurse Center で働いているとき、PythonでTCPスタックを書きました( またPythonでTCPスタックを書いたらどうなるかについても書きました )。それはとても楽しく、ためになる経験でした。またそれでいいと思っていたんです。 そこから1年ぐらい経って、仕事で、誰かが「NSQへメッセージを送ったんだが、毎回40ミリ秒かかる」とSlackに投稿しているのを見つけました。私はこの問題についてすでに1週間ほど考え込んでいましたが、さっぱり答えがでませんでした。 こ

    TCPを(少しは)理解しておくべきその理由 | POSTD
    haikikyou
    haikikyou 2017/07/09
  • PostgreSQL のテーブルとブロックのデータ構造

    このページでは PostgreSQL のエクステンション(extension)を開発する人向けに、PostgreSQL のテーブルやインデックスを構成するブロックまたはページの内部構造について紹介する。 PostgreSQL の他の記事へのインデックスはここ。 更新履歴 (2017.03.01) 作成。 (2017.03.04) ヒープ操作、システムカタログ、Relation cache entry の説明を追加。 目次 1. はじめに 1.1 PostgreSQL データの構成要素 1.2 Object Identifier (OID) 1.3 データディレクトリ 2. リレーション(Relation) 2.1 リレーションの概要 2.2 データディレクトリ中のリレーションの実体 2.3 リレーションの構造 2.4 API を使った操作 2.4.1 Relation Cache Entr

    haikikyou
    haikikyou 2017/05/13
  • なぜUber EngineeringはPostgresからMySQLに切り替えたのか | POSTD

    はじめに Uberの初期のアーキテクチャは、Pythonで書かれたモノリシックなバックエンドアプリで構成されており、データの永続性のために Postgres を使っていました。当時から比べて今のUberのアーキテクチャはかなり変わっており、 マイクロサービス のモデルや新しいデータプラットフォームになりました。特に、以前Postgresを使っていたケースの多くで、今は Schemaless 、つまりMySQLの上で構築された新しいデータベースのシャーディングレイヤを使います。今回の投稿では、私たちが見つけたPostgresの欠点を探り、MySQLの上でSchemalessと他のバックエンドサービスを構築するに至った経緯について説明していきます。 Postgresのアーキテクチャ 私たちはPostgresで以下のような多くの制約に直面しました。 書き込みでの非能率的なアーキテクチャ 非能率的

    なぜUber EngineeringはPostgresからMySQLに切り替えたのか | POSTD
    haikikyou
    haikikyou 2017/04/09
  • 'コピー | Programming Place Plus C++編【言語解説】 第17章'

    C++編で扱っている C++ は 2003年に登場した C++03 という、とても古いバージョンのものです。C++ はその後、C++11 -> C++14 -> C++17 -> C++20 -> C++23 と更新されています。 なかでも C++11 での更新は非常に大きなものであり、これから C++ の学習を始めるのなら、C++11 よりも古いバージョンを対象にするべきではありません。特に事情がないなら、新しい C++ を学んでください。 当サイトでは、C++14 をベースにした新C++編を作成中です。

    'コピー | Programming Place Plus C++編【言語解説】 第17章'
    haikikyou
    haikikyou 2017/04/09
  • Super Technique 講座~m4 チュートリアル

    m4 はUNIXの標準コマンドの1つであり、古い歴史を持つマクロプロセッサである。しかし、やや使い方が難しく、しかも古典度が高く専門的なために、どうしても紹介のプライオリティが下がる傾向があって、日語でマトモに書かれた解説にお目にかかったことがない。そこで、m4 に多少の経験値がある筆者があえて m4 のチュートリアルを書いて見せる。基的な情報は m4 の info から仕入れており、それにいろいろな実例を加えて書いている。 マクロプロセッサ m4 とは? m4 の使い方 m4 のディレクティブ マクロ定義に関するディレクティブ マクロ置換の原則 マクロ引数 undefine と include 条件分岐 ループ メタ文字の入れ換え 組み込み文字列処理関数 その他 マクロプロセッサ m4 とは? m4 はマクロプロセッサである。つまり、Cプリプロセッサ cpp (今時だと gcc -E

    haikikyou
    haikikyou 2017/04/08
  • Autotools Tutorial

    ChangeLog 2010-05-16 (162 slides = 556 pages) Update to Libtool 2.2.6b and use LT_INIT instead of AC_PROG_LIBTOOL. Update to Autoconf 2.65 and Automake 1.11.1. Replace the obsolete AC_TRY_COMPILE by AC_COMPILE_IFELSE in the mkdir() macro example. Jack Kelly suggested using foreign -Wall -Werror instead of -Wall -Werror foreign because the foreign option may alter the -W settings. Lorenzo Bettini p

    haikikyou
    haikikyou 2017/04/07
  • maemo Application Development

    haikikyou
    haikikyou 2017/04/07
  • Chapter 05 - GNU Autotools

    haikikyou
    haikikyou 2017/04/07
  • pkg-configに対応する - デー

    libpngのconfigure.acを見るとpkgconfigという単語がちょこちょこ出ていたので、これも対応すべきなのかな? と思い調べた。 実際どれくらい使われているのかはよく分からないけれど、『pkg-config --list-all』を見ると有名なライブラリでは結構使われているようなので、便利そうだしうちも対応しときましょうかーとかいう感じ。 pkg-configとは? pkg-configとはアプリケーションやライブラリのコンパイル時に使うヘルパーツール。特定のライブラリを使うときにコンパラに渡すべきオプションを出力してくれる。 例えばこんな感じで使う。 [user@sakuraki ~]$ pkg-config --cflags --libs libpng -I/usr/include/libpng12 -lpng12 [user@sakuraki ~]$ gcc -o p

    pkg-configに対応する - デー
    haikikyou
    haikikyou 2017/04/07