Category:

Elasticsearchの使い方

業務で Elasticsearch を触ることになったので、多少今更感ありますが、環境構築・データ登録・マッピング定義・検索など、一通りのユースケースを試してみようと思います。 環境構築 以下のドキュメントを元に、Dockerを使ってElasticsearchをインストールしようと思います。 https://www.elastic.co/guide/en/elasticsearch/reference/7.11/docker.html docker-compose.ymlを作成 まずは、docker-compose.ymlを作成します。 とりあえずはドキュメントの内容をそのままコピーでOKだと思います。 version: '2.2' services: es01: image: docker.elastic.co/elasticsearch/elasticsearch: Continue Reading

Posted On :
Category:

UbuntuにJenkinsをインストールして初期設定を行うまで

Ubuntuにjenkinsをインストールする手順を記載します。 基本的には こちら にしたがって作業を進めます。 バージョン Ubuntu: 18.04 Jenkins: 2.190 Javaランタイム: 11 Javaランタイムのインストール Jenkins 2.164 よりJava 11をサポートしているらしいので、Java11をインストールします。 それ以前のバージョンの場合は、Java8をインストールします。 sudo apt-get update sudo apt-get install openjdk-11-jre java –version > openjdk 11.0.4 2019-07-16 Jenkinsインストール wget -q -O – https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key ad Continue Reading

Posted On :
Category:

ssh_exchange_identification: Connection closed by remote host エラーの対処

ssh_exchange_identification: Connection closed by remote hostエラーが発生した場合の対処方法をメモっておきます。 まず、ググると以下がヒットしたので、それを試してみました。 ~/.ssh/known_hosts から関連しそうな設定を消す /etc/hosts.allow に接続元IPアドレスを記載する /etc/ssh/sshd_config の MaxStartups の設定をデフォルト値の 10:30:100 から増やす host名やipアドレスが本当にあっているか確認する しかしいずれも解決にはつながらず、途方にくれた私を救ってくれたのは、上司からの Host test-* みたいな共通設定が入ってません?? というエスパー指摘でした。まさにその設定が入っています!! 踏み台サーバ経由で各サーバにsshする必要があるため、 Continue Reading

Posted On :
Category:

Google Apps Script(GAS)のTips

Google Apps Script(GAS)に関するTipsを書きためていきます。 実行中の関数を強制停止する https://script.google.com/home/executions にアクセスして、対象の実行をキャンセルします。 ログ確認 Logger.log()で出力したログはstackdriverに出力されますが、 https://script.google.com/home/executions から確認することができます。 スプレッドシートから値を取得する 1〜最大行数まで2〜3列目の値を取得するケースについて書いてあります。 対象データが多い場合は、getValues()で二次元配列として一括で値を取得するのが鉄則です。 var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var sheet = spr Continue Reading

Posted On :
Category:

たまに使うLinuxコマンドやbashスクリプトメモ

たまに使うLinuxコマンドやスクリプトを随時メモしていく予定です。 ターミナルからログアウトしてもコマンドを動かし続ける とても処理時間がかかる処理を実行する際に、ネットワークが切れたりして処理が停止するのを避けたいときに使います。 # nohupでhangupシグナルを無視し、バックグラウンドで実行させる nohup コマンド & nohup pg_dump -h localhost -p 5432 -U admin -Fc -f hoge.dmp hoge & # ジョブの確認・停止・再開などは通常と同じ バックグラウンド実行、フォアグラウンド実行 # バックグラウンドで実行する コマンド & sar 5 555 & > [2] 9095 > Linux 5.4.0-1025-gcp (stg-scraper01) 2020年10月01日 _x86_6 Continue Reading

Posted On :
Category:

ローカル環境で開発中の複数アプリサーバのドメインをNginxで統一する

ローカル環境で開発中の複数アプリサーバのドメインを統一する必要が出てきたので、Docker Composeを使ってNginxでリバースプロキシを立てることにした。 実現したいこと http://rinoguchi.io/hoge –proxy–> http://localhost:8080 http://rinoguchi.io/fuga –proxy–> http://localhost:8081 モチベーション Dockerで立ち上げた複数アプリサーバを、Docker Composeを使ってNginxでリバースプロキシする話は結構あるのだが、Dockerを使わず立ち上げたアプリサーバの話は発見できなかった。 個人的には、開発対象のアプリケーションはAutoReloadが効かなくなるのでDockerでは立ち上げない方が良いと考えている。なので、今回Dockerを使わず Continue Reading

Posted On :
Category:

別ドメインへの302 redirectを返すAPIを呼び出すとCORSエラー

別ドメインへの302 redirectを返す別ドメインのAPIを呼び出すとCORSエラーが発生することがわかった。 説明が難しいのだが、自分の具体的なケースを書くと、 ドメインA(フロントエンドサーバ)からドメインB(バックエンドAPIサーバ)のAPIを呼び出す APIがGoogle OAuth認証のためにドメインC(account.google.com)への302 Redirectを返す CORSエラー発生 という流れで、以下のエラーが発生した。 Access to XMLHttpRequest at 'https://accounts.google.com/o/oauth2/auth?client_id=**********.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2F Continue Reading

Posted On :
Category:

はてなブログのMarkdown記法のTips

はてなブログのMarkdown記法はだいたい直感的で特に苦労することもないのですが、たまにわからないものがありますので、メモっていきます。 Markdown記法のリスト内にコードブロック挿入 結論、Markdown記法やはてな記法では、Markdown記法のリスト内でコードブロックを書くことはできません。 しょうがないので、HTMLのpreタグで記載します。 OKパターン:HTMLのpreタグを使います。シンタックス・ハイライトはできません。 このように書くと、 * 項目1 * 項目2 <pre> hoge fuga </pre> 以下のようになります。 項目1 項目2 hoge fuga NGパターン:Markdown記法のコードブロック このように書くと、 * 項目1 * 項目2 “` hoge fuga “` 以下のように、1行コード扱いになってしまいます Continue Reading

Posted On :
Category:

使ったことのあるツール

使ったことのあるツールについて、気付いた時にメモっていく予定。 DB Client 汎用系 Table Plus https://tableplus.io/ GUIツール いろんなDBに対応している 現在も開発がストップしてない。 あまり深く使い込んでないのでよくわからないが、とりあえず、シンプルで使いやすくはある。 無料版だと2タブしかひらけないのでそこが辛い Eclipse DB Viewer GUIツール postgresql / oracle もいける クエリキャンセルができない DBのメタ情報もある程度見れる 検索結果をinsert文に変換してcopyしたりできる transctionあり/なしのモードを選べる だいぶ前に開発が止まっているので、再起SQLとか集計関数とかWith句とか、うまく動かないケースあり PostgreSQL psql コマンドラインツール クエリキャンセ Continue Reading

Posted On :
Category:

業務改善の進め方

考え方 「利用者が困っていることだけを解決する」という対応を何年にも渡って続けていると、ツギハギだらけのメンテナンス困難なシステムが出来上がってしまう。できるだけ業務の本質(やりたいこと)を捉えて、それを実現するシンプルな業務フローとシステムを提供するという考え方で対応する。 進め方 該当業務の目的を聞く やってる本人も良く分かってないことも多いので、ヒアリングしながら一緒に考えるイメージ 業務フロー全体を聞く とりあえずヒアリングしながら箇条書きで エッジケース(特殊なケース)を聞く エッジケースを拾えていないと、〇〇のケースでは前のシステムを使う、といったダブルスタンダードが発生する可能性あり エッジケース専用の機能は複雑になるので作りたくない エッジケースもカバーできる、汎用的な機能の提供を検討する 多少使いにくくても、エッジケースは発生頻度が低いので、問題になりにくい 利用者の困っ Continue Reading

Posted On :