地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

2021-03-01から1ヶ月間の記事一覧

【Solr】Apache Solrへ入門する

概要 今更ながらApache Solrへ入門してみたのでその辺の情報の取りまとめ記事。 目次 概要 目次 Apache Solrとは 触ってみる Dockerを使って環境構築 Dockerfile docker-compose.yml コアを生成する サンプルデータを投入する 検索APIを使う サンプルクエリ …

【HTTP】キャッシュあたりを整理してみる

概要 HTTPのキャッシュについて色々調べてみたのでメモ的な意味も兼ねて書いた。 動機としては以下の本を読む上で先に事前知識を入れておきたかったなというのがあります。キャッシュだけで400ページ超え。とても楽しみです。 gihyo.jp 目次 概要 目次 それ…

【Linux】IOバウンドの処理はどの程度まで並列数を上げればよいかの考察(ちょっと修正版)

概要 IOバウンドについて考える機会があったのでその辺の話についてまとめてみた。ちなみにブロッキングIOしか出てきません。以下の本が大体の参考になってます。 https://www.amazon.co.jp/exec/obidos/ASIN/4774143073/hatena-blog-22/www.amazon.co.jp 忙…

【Linux】agメモ

# ディレクトリ階層の深さ指定 --depth NUM Search up to NUM directories deep (Default: 25) # (マッチした)ファイル名のみを出力 -l --files-with-matches Only print filenames that contain matches (dont print the matching lines) # マッチしなかっ…

【Bash】sedの最短一致

$ echo "<aaa>b<ccc> <ddd>e<ccc>" という文が会った時にbというのを取り出したいケースで以下のようにsedを使おうとするとb以外の不要な部分まで取れてしまう。 $ echo "<aaa>b<ccc> <ddd>e<ccc>" | sed -r 's/<aaa>(.*)<ccc>/\1/' b<ccc> <ddd>e これはsedが最短一致ではなく最長一致がデフォルトで機能するためでそして</ddd></ccc></ccc></aaa></ccc></ddd></ccc></aaa></ccc></ddd></ccc></aaa>…

【Linux】O_LARGEFILEフラグ

linuxjm.osdn.jp O_LARGEFILEというフラグを見つけ気になったのでメモ。 O_LARGEFILE (LFS) off_t ではサイズを表せない (だだし off64_t ではサイズを表せる)ファ イルをオープン可能にする。この定義を有効にするためには、(どのヘッダーファイ ルをインク…

【Apache】http/2を試す

httpd.apache.org この辺を参考に入れていく。CentOS7なら何もせずにビルドも成功したしモジュールも問題なく動いた。 <VirtualHost *:443> SSLEngine on <IfModule http2_module> ProtocolsHonorOrder On Protocols h2 http/1.1 </IfModule> DocumentRoot "/var/https/example.com/htdocs/" …(省略)… </VirtualHost>

【Linux】ポートフォワードを使ってローカルのサービスを外部へ公開してみる

sshのリモートフォワードを使ってローカルで起動したサービスを外部からフォーワードする # 以下を修正 $ vi /etc/ssh/sshd_config GatewayPorts yes # 再起動 $ systemctl restart sshd 以下のようにsshを起動することで192.168.1.1:8433へのアクセスが全て…

【HTTP】http/2におけるConnectionヘッダーの扱い

概要 http/2を喋る環境でバックエンドがConnectionヘッダーやらの取り扱いがどんな感じなのか気になって調べた。RFCとかみてもきちんと定められていて無視するなり不正リクエストにするべきであるというのが決まりの模様。 Connection や Keep-Alive などの…

【Python】bit探索

>>> a = 777 >>> len(bin(a)) - 2 10 >>> bin(a) '0b1100001001' >>> for i in range(len(bin(a)) -2): ... print(a >> i & 1)

【Go】ビルド時に情報を埋め込む

Go

goでビルド時に動的に値を入れてバイナリを生成するやり方です。ビルドの引数に -ldflags "-X main.version=バージョン" をつけることで実現できます。 package main var version string func main() { println("version: " + version) } makeでビルド時に動…

【Solr】Apache Solrへ入門する

概要 今更ながらApache Solrへ入門してみたのでその辺の情報の取りまとめ記事。 目次 概要 目次 Apache Solrとは 触ってみる(Docker) Dockerfile docker-compose.yml コアを生成する サンプルデータを投入する 検索APIを使う スキーマの話 configの書き方 高…

【Linux】curlが使うルート証明書

この辺にある。 /etc/pki/tls/certs/ca-bundle.crt curlをverboseモードで打つと確かにそのパスを読んでるような出力がある [root@worker001 ~]# curl -sv https://www.google.com -o /dev/null * About to connect() to www.google.com port 443 (#0) * Try…

【Go】workerプールのテンプレを書く

Go

大容量ファイルのダウンロードだったりnasへの大量並列アクセスだったりをgoroutineで書くなら使えそうなワーカープール。サンプルはstring と worker id を受け取って、文字列のハッシュを計算というCPUリソースを食うやつだが色々と応用できるはず。 書い…

【Linux】エラーナンバー

システムコールや標準ライブラリで、エラー原因を教えてくれる errno の値。 忘れた頃になって値の定義を見たくなり、毎回調べているような気もするので、今回はQiitaにメモしておく。 手繰る手繰る include ファイルたち CentOS7 の上で、"fgrep errno.h /u…

【Solr】Apache Solrへ入門する

概要 今更ながらApache Solrへ入門してみたのでその辺の情報の取りまとめ記事。 目次 概要 目次 Apache Solrとは 触ってみる(Docker) Dockerfile docker-compose.yml コアを生成する サンプルデータを投入する 検索APIを使う スキーマの話 configの書き方 高…

【Linux】procfsメモ

cmdline プロセスを開始したコマンド cwd プロセスのカレントワーキングディレクトリ(CWD)へのシンボリックリンク exe プロセスの実行ファイルへのシンボリックリンク root ルートディレクトリへのシンボリックリンク cpu 各cpuでのCPUタイムと統計情報 en…

【Fluentd】copyモジュール

fluentdで複数のシステムへログを転送したいときのTips。copyモジュールを使うという話。 docs.fluentd.org <source> type tail path /var/log/myapp/nginx/access.log ... tag myapp.nginx.access </source> # Output <match myapp.nginx.access> type norikra norikra xxx.xxx.xxx.xxx:xxxxx ... </match> <match myapp.nginx.access> typ</match>…

【Solr】Apache Solrへ入門する

概要 今更ながらApache Solrへ入門してみたのでその辺の情報の取りまとめ記事。 目次 概要 目次 Apache Solrとは 触ってみる(Docker) Dockerfile docker-compose.yml コアを生成する サンプルデータを投入する 検索APIを使う スキーマの話 configの書き方 高…

【Linux】systemd

100回ぐらいググってやるやつ。実行ユーザとか指定したい場合は以下になる。 User=ユーザ Group=グループ [Unit] Description=My Daemon [Service] ExecStart=/myhome/scripts/run.sh ExecStop=/bin/kill ${MAINPID} Restart=always Type=forking User=myuse…