201907

sublime text

  • sublimeでtab打った時に日本語が消える問題

    // Find panel key bindings
    // { "keys": ["enter"], "command": "find_next", "context":
    //  [{"key": "panel", "operand": "find"}, {"key": "panel_has_focus"}]
    // },
    
    // Replace panel key bindings
    // { "keys": ["enter"], "command": "find_next", "context":
    //  [{"key": "panel", "operand": "replace"}, {"key": "panel_has_focus"}]
    // },
    
    // Incremental find panel key bindings
    // { "keys": ["enter"], "command": "hide_panel", "context":
    //  [{"key": "panel", "operand": "incremental_find"}, {"key": "panel_has_focus"}]
    // },
    
  • shortcut

    • cmd + d: 一致するものを複数選択できる.
    • cmd + u: cmd + d で選択しすぎた場合に1コ戻る.
  • plugin

    • Increment Selection: インクリメントをしてくれる.

      • コピペした時とかに同一データが入ってるところをcmd + dとかで選択しておく.
      • cmd + shift + p からの Increment Selection
      • ex.)
      set interface xe-0/0/1 unit 0 description hoge
      set interface xe-0/0/1 unit 0 description hoge
      set interface xe-0/0/1 unit 0 description hoge
      set interface xe-0/0/1 unit 0 description hoge
      set interface xe-0/0/1 unit 0 description hoge
      // ここでunit 0 の0を全部選択.範囲指定してcmd + shift + lとか使ってうまいこと.
      // からの cmd + shift + p して Increment Selectionする.
      set interface xe-0/0/1 unit 0 description hoge
      set interface xe-0/0/1 unit 1 description hoge
      set interface xe-0/0/1 unit 2 description hoge
      set interface xe-0/0/1 unit 3 description hoge
      set interface xe-0/0/1 unit 4 description hoge
      

RTBH - Remote Triggered Black Bole Filtering

  • http://irs.ietf.to/past/docs_20071011/20071011-irs14-rtbh.pdf

ケーブルタグ

sheck sum

  • shasum を使う
echo "ea6ccb5b57813908c006f42f7ac8eaa4fc603883a2d07876cf9ed74610ba2f53 *ubuntu-18.04.2-live-server-amd64.iso" | shasum -a 256 --check
ubuntu-18.04.2-live-server-amd64.iso: OK
[jp7fkf] ~/Downloads
% man shasum
[jp7fkf] ~/Downloads
% shasum -a 256 ubuntu-18.04.2-live-server-amd64.iso
ea6ccb5b57813908c006f42f7ac8eaa4fc603883a2d07876cf9ed74610ba2f53  ubuntu-18.04.2-live-server-amd64.iso
  • echo "<sha256_hash> <checkfile>" | shasum -a 256 --check でチェックできる.
  • もちろん単純に shasum -a 256 <filename> でsha256を得れる. -aはアルゴリズム指定.今回は256.

logrotate

  • /etc/logrotate.conf
  • /etc/logrotate.d/test
  • ex. /etc/logrotate.d/test
/var/log/test.log {
    weekly
    rotate 5
    compress
    delaycompress
    missingok
    notifempty
}

onys

today's articles

note

  • 法務局で登記されていないうんぬんを取得するときは住民票住所を知っておくとよい.
  • 住民票住所はマイナンバーカードに記載の通り.

web職人のためのPHPフレームワーク

GraphQL

  • スキーマがおもろくできる.

MetalLB

EULA(End User License Agreement)

filesystem

  • btrfs
  • zfs

curlでhttp statusだけとる

  • curl -LI www.google.com -o /dev/null -w '%{http_code}\n' -s

Prezi

mariadb mysql

rootユーザーにはプラグインにunix_socketが設定してあり、システムのログインユーザーとmariadbのユーザーが一致しないと認証できません。(PostgreSQLのpeerみたいな感じですね)そこでrootユーザーになって初期設定を行っていきます。

WebAudioでブラウザで動くSDRをつくる

dns

memo

  • PGP鍵
  • ps -p 1
  • sudo update-rc.d

istio

  • Pilio

Google Cloud Next'19 Tokyo

merpay

  • SpannerとGKEでマイクロサービスを構成.40以上のマイクロサービスが稼働.
  • 基本的には1つ1つのマイクロサービスを各チームが集中して開発できる環境を構築したかったので,フルマイクロサービスで初めからつくった.
  • マイクロサービス間はgRPCでやりとりしている.たぶん各チームが各マイクロサービスを個別集中開発になるので,疎結合になる.そこをgRPCでinterface formatを統一したかったのではないか.

cloud strageベストプラクティス

  • cdn: akamai, cloudflare, fastly, highwinos, level3, liomewight,

gcpの高速ネットワーク

  • 弾力性のある設計.弾力性のある運用.クラウドにより適したインターネット googleでさえも現在のBGPハイジャックにはある程度の対策しかできていないっぽい.コミュニティの強化や,IRRフィルタとかで頑張っている.dots的な感じでBGPハイジャックもなんとかできないものか.こればっかりはフィルタの世界になってしまう気もする.ddosとは味が違う. 昔からdatacenter, wan, edgeとsdnを投入し続けてきた.google のswe力が生きている. perfkit benchmaarker. opensourceなクラウド製品のベンチマーカ.50項目くらいのテストがある.デファクトスタンダードになりつつある. andromedaと呼ばれるネットワーク. googleはグローバルにvpcやってる.リージョンをまたいでL2接続性があるんだっけ?そういえば調べてなかった. CPU効率の進化 1.0 : kernelデータパス 1.5: パイプライン最適化 2.0: OSバイパス,1スレッドホップ 2.1: スレッドホップの除去 2.2: memcpyのオフロード

モニタリング 到達性,接続性テスト,ネットワークトポロジーグラフ. 内部インフラのモニタ. 外部エンドユーザのモニタリング. 正直全部やっていると言っても良い気がする.

包括的なモニタリングを実施している. ネットワークの協調動作だ. メトリクスとか監視データをフィードバックして動的に協調動作するネットワーク.面白そう. ただの自動化じゃない. ダイナミックに,自律的に動くネットワークのアルゴリズムは面白いかもしれない. splunk, sumologic, opsgenieとか使っている?stackdriverももろん使っている. snmp引っ張って可視化するフレームワークほしい.作る?javascript地獄. 人間ができるだけ何も考えなくていいようにできるだけ自律動作するように,そういうことをgoogleは考えている.ソフトウェアの力でそれらを解決しようとしている.

NOCのミッション: ネットワークのトラブル対応時間を削減すること.ネットワークの設定や運用の改善,最適化. モニタリングおよびトラブル対応のツール. ネットワークの障害を予測.改善とその影響をレコメンドしてくれる仕組み.改善の自動デプロイを目指した.(pillars) ネットワークインテリジェンスセンターと呼んでいる. ネットワーク停止や性能問題の75%は設定ミスが原因であるらしい.設定ミスを実装段階で発見したい.(顧客が欲しいのは設定を変更する前に,その変更に伴う影響の分析を求めいている) 5タプルを使ってパケットの到達性をシミュレートして提供するソリューションを実施した.これはすでにGcpで利用できる. ちゃんとしたしくみが裏でできているからできることだな...ふつうのクラウドではこれむずかしそう.データベースのアクセス管理とかが,すでにgcpで提供されているサービスを活用してできることが見える.普通のdbとか使ってたらそれは結構難しい.googleのすごいところはバックエンドがしっかりしているから種々の情報を活用することができる点にありそう.これを凌駕するにはバックエンドのしくみでまず超えなくてはならないから,だからgoogleはつよい. ちゃんと考えた根本的にあるべきしくみのうえに,統一してデータをのっけているからこういうことができる.これがつよい.

slastalert beatいれてfilebeatするか各サーバは... /bin/sh: bourne shell, ksh:komshell #!/bin/bashの件

keepalived for bfd, vrrp ファイルシステムお勉強したい. 分散システムとかのgoogleオススメ本読みたい. sshuttleでトンネルした時のスループットあげるにはどうすればいいんだろう. ネットワークトラフィックの実際の値(トンネルとかもろもろ全部含めて)をモニタしたいときはどうするか.

改行コードを素でだしやがって.

  • sed 's/\\n/\'$'\n/g': 魔法
[email protected]:~$ curl -X POST -H "Content-Type: application/json" -d '{ "command": "build-report", "service": [ "dhcp4" ] }' http:///localhost:8080/
[ { "result": 0, "text": " \n        Kea source configure results:\n     -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n \n Package:\n   Name:              kea\n   Version:           1.5.0\n   Extended version:  1.5.0 (tarball)\n   OS Family:         Linux\n \n   Hooks directory:   /usr/local/lib/hooks\n   Premium hooks:     no\n \n C++ Compiler:\n   CXX:             g++\n   CXX_VERSION:     g++ (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0\n   CXX_STANDARD:    201402\n   DEFS:            -DHAVE_CONFIG_H\n   CPPFLAGS:         -DOS_LINUX  -DBOOST_ASIO_HEADER_ONLY\n   CXXFLAGS:        -g -O2\n   LDFLAGS:          -lpthread\n   KEA_CXXFLAGS:     -Wall -Wextra -Wnon-virtual-dtor -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -pthread -Wno-missing-field-initializers -fPIC\n \n Python:\n   PYTHON_VERSION:  not needed (because kea-shell is disabled)\n \n Boost:\n   BOOST_VERSION:   1.65.1\n   BOOST_INCLUDES:  -I/usr/include/boost\n   BOOST_LIBS:       -lboost_system\n \n OpenSSL:\n   CRYPTO_VERSION:  OpenSSL 1.1.1  11 Sep 2018\n   CRYPTO_CFLAGS:   \n   CRYPTO_INCLUDES: \n   CRYPTO_LDFLAGS:  \n   CRYPTO_LIBS:     -lcrypto\n \n Botan: no\n \n Log4cplus:\n   LOG4CPLUS_VERSION:  1.1.2\n   LOG4CPLUS_INCLUDES: -I/usr/include\n   LOG4CPLUS_LIBS:     -L/usr/lib -L/usr/lib64 -llog4cplus\n \n Flex/bison:\n   FLEX:  :\n   BISON: yacc\n \n MySQL:\n   MYSQL_VERSION:   10.4.6\n   MYSQL_CPPFLAGS:  -I/usr/include/mariadb -I/usr/include/mariadb/mysql\n   MYSQL_LIBS:      -L/usr/lib/x86_64-linux-gnu/ -lmariadb -lz -ldl -lm -lpthread -lssl -lcrypto\n \n PostgreSQL:\n   no\n \n Cassandra CQL:\n   no\n \n Sysrepo:\n   no\n \n Google Test:\n   no\n \n Google Benchmark:\n   no\n \n Developer:\n   Enable Debugging:       no\n   Google Tests:           no\n   Valgrind:               not found\n   C++ Code Coverage:      no\n   Logger checks:          no\n   Generate Documentation: no\n   Parser Generation:      no\n   Kea-shell:              no\n \n" } ][email protected]:~$

[email protected]:~$ curl -X POST -H "Content-Type: application/json" -d '{ "command": "build-report", "service": [ "dhcp4" ] }' http:///localhost:8080/ | sed 's/\\n/\'$'\n/g'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1999  100  1946  100    53   271k   7571 --:--:-- --:--:-- --:--:--  278k
[ { "result": 0, "text": "
        Kea source configure results:
     -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

 Package:
   Name:              kea
   Version:           1.5.0
   Extended version:  1.5.0 (tarball)
   OS Family:         Linux

   Hooks directory:   /usr/local/lib/hooks
   Premium hooks:     no

 C++ Compiler:
   CXX:             g++
   CXX_VERSION:     g++ (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0
   CXX_STANDARD:    201402
   DEFS:            -DHAVE_CONFIG_H
   CPPFLAGS:         -DOS_LINUX  -DBOOST_ASIO_HEADER_ONLY
   CXXFLAGS:        -g -O2
   LDFLAGS:          -lpthread
   KEA_CXXFLAGS:     -Wall -Wextra -Wnon-virtual-dtor -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -pthread -Wno-missing-field-initializers -fPIC

 Python:
   PYTHON_VERSION:  not needed (because kea-shell is disabled)

 Boost:
   BOOST_VERSION:   1.65.1
   BOOST_INCLUDES:  -I/usr/include/boost
   BOOST_LIBS:       -lboost_system

 OpenSSL:
   CRYPTO_VERSION:  OpenSSL 1.1.1  11 Sep 2018
   CRYPTO_CFLAGS:
   CRYPTO_INCLUDES:
   CRYPTO_LDFLAGS:
   CRYPTO_LIBS:     -lcrypto

 Botan: no

 Log4cplus:
   LOG4CPLUS_VERSION:  1.1.2
   LOG4CPLUS_INCLUDES: -I/usr/include
   LOG4CPLUS_LIBS:     -L/usr/lib -L/usr/lib64 -llog4cplus

 Flex/bison:
   FLEX:  :
   BISON: yacc

 MySQL:
   MYSQL_VERSION:   10.4.6
   MYSQL_CPPFLAGS:  -I/usr/include/mariadb -I/usr/include/mariadb/mysql
   MYSQL_LIBS:      -L/usr/lib/x86_64-linux-gnu/ -lmariadb -lz -ldl -lm -lpthread -lssl -lcrypto

 PostgreSQL:
   no

 Cassandra CQL:
   no

 Sysrepo:
   no

 Google Test:
   no

 Google Benchmark:
   no

 Developer:
   Enable Debugging:       no
   Google Tests:           no
   Valgrind:               not found
   C++ Code Coverage:      no
   Logger checks:          no
   Generate Documentation: no
   Parser Generation:      no
   Kea-shell:              no

" } ]

不正DHCP server, 不正RAを検知するソフトウェア

  • 実装したい