t.marcusの外部記憶装置

忘備録とかちょっとした考えとかをつらつらと...

nginx mirror module の罠?の話

注意 nginx v1.24.0で確認しています。 ソースコードを呼んだとかではないので、利用する際には十分検証を行ってください。 内容 Nginx には、ミラーモジュール ( ngx_http_mirror_module ) というモジュールがあり、 server { listen :80; location /mirror…

HTTP/gRPCハイブリッドなアプリ

gRPCはHTTP/1.1で受けれないのでHTTP/2としてリクエストをハンドリングできるようにしてやって、HTTP/2かつapplication/grpcの場合にgrpc側で処理してやるようにすればOK addr := ":8080" if v, ok := os.LookupEnv("BIND"); ok { addr = v } grpcServer = g…

M1Mac で gvm+arm版goを利用する

ローカル環境のGoバージョン管理方法としてgvmを利用しているがM1 Macに変えたタイミングでgvm経由でインストールしたGoのdelveがうまく動かなかったりが発生していたので、rosetta2経由でintelバイナリを利用するのではなく、arm版バイナリを利用することで…

自分用 PC環境メモ

ゲーミングPC(自作) Motherboard B550M Pro4 CPU Ryzen5 5600x (3.7-4.6GHz / 6C/12T/ Zen3 / AM4 / 65W) Memory CFD CX1 (DDR4-3200 16G x2) VGA Inno3D GEFORCE RTX 3070 ICHILL X3 Storage SDSSDHII-480G-J26C CT525MX300SSD1 SP240GBSS3S70S25 Keyboar…

Spring + Webauthn4jでWebAuthnやってみる

年末年始の時間を使ってYubicoのWebAuthnServer使ってWebAuthnのサンプルアプリを作ろうといろいろ試行錯誤してたら、 Web+DB PRESS Vol.114でWebAuthnの特集やってたので、成果物としてはただ写経しただけになってしまった。 今度Yubico/WebAuthnServer使っ…

【メモ】SpringOne2019報告会スライドまとめ

SpringOne Platform 2019概要 + Resilience4j + LTした話speakerdeck.comSpring Initializrをハックする// todoLet's イベント駆動 on Spring Cloud Stream// todo Spring Cloud Stream - Spring One Platform 2019 - from mosh16 www.slideshare.net Spring…

GKEからPubsubへの接続でタイムアウトが発生する件

このアプリをビルド&AlpineのDockerイメージ化したものをGKEで動かして、Topicを取得するときに(内部的にはPubSubに接続する時)タイムアウトエラーで落ちてしまう現象が発生した $ cat Dockerfile FROM alpine:3.8 RUN apk add bash tree pstree ENTRYPOI…

Terraformでstateと実環境がずれてどうにもならなかった時

結論:stateから消してしまう terraform state list terraform state rm ${address}

GooglePubsubEmulatorに任意のデータを書く(改)

tmarcus.hatenablog.com前回のエントリだとGolangの開発環境や、GCPのサンプルプログラム取ってきたり、pip実行したりと、準備するものが多かったので、実行ファイル化したものを作りました。github.com 実行方法はREADMEに

GooglePubsubEmulatorに任意のデータを書く(/w golang)

GCPのドキュメントサンプルでは任意のメッセージをpubsub(emulator)にpublishできなかったのでユーティリティコマンドを作ってみたgithub.com 実行方法は以下の通りDockerでpubsub emulatorを起動 $ docker run --rm -p '8085;8085' pubsub別コンソールでtop…

Google Cloud bigtable(emulator)をgoから

ローカルでbigtable-emulator動かして、goでCRUDしてみるテスト // Bigtable example by go. // // Install library // $ go get cloud.google.com/go/bigtable // // Start bigtable emulator by docker // $ docker run -it -p 8080:8080 spotify/bigtable…

やりかけメモ

func injectEnv(c AppConfig) AppConfig { injectEnv2(&c) return c } func injectEnv2(c interface{}) { fmt.Println(">>") tmpC := c if reflect.TypeOf(c).Kind() == reflect.Ptr { tmpC = reflect.Indirect(reflect.ValueOf(c)).Interface() } t := refl…

gRPC over SSL/TLS with ClientCertification

gRPCを利用したサービスを作ることになったので、その際に調べた認証・認可周りのメモ キーワード:grpc, grpcs, client認証 gRPCにおける認証方法 gRPCの認証は公式サイトによると以下の方式がビルトインされてるらしい SSL/TLS Token-based authentication…

MySQL8を入れて、memcached pluginを使うための忘備録

$ yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm $ yum install -y mysql-community-server mysql-community-client $ systemctl start mysqld $ grep "password" /var/log/mysqld.log $ mysql -uroot -p rootで入…

Spring + JUnitでParameterized実行する

qiita.com上記のQiita記事通りにやっても動かなかったので…以下のような感じで、@ClassRuleと@Ruleを宣言してやれば無事動いた package org.tmarcus import org.junit.ClassRule; import org.junit.Rule; import org.junit.runner.RunWith; import org.junit…

Angular.js (v1系) vs textarea

Angular.jsでtextareaの高さを自動で可変するやつ。 gist.github.comもうちょっといいやり方無いかなぁ…

RabbitMQでHAを利用したときにClientで例外を吐いてしまう問題

RabbitMQでClusterを組み、ミラーリングを設定して、いざクライアントからデータを流そうとしたら、下記のようなエラーが出てキューを開けなかったので、その対応方法の覚書。 Caused by: com.rabbitmq.client.ShutdownSignalException: channel error; prot…

SpringMVCのMockMvcでurlVariablesを使う方法

SpringMVCのテストを書くときによく使うMockMvcで指定するgetやらpostやらでurlTemplate内でurlVarsをどう指定すればドキュメントが見当たらなかったので、ソースに潜った結果、どうすればいいかの覚書第2引数をindex=0として{index}という形で書いてやれば…

Javaライブラリ覚書

MVC Framework github.com github.com github.com DI github.com Http github.com github.com Utilities github.com github.com github.com github.com JMX github.com

Nexus Repository Managerにファイルを直接アップロードする

こんな感じで、個別にアップロードできるらしい。 $ curl -v \ -u ${NEXUS_USER}:${NEXUS_PASS} \ --upload-file hoge-api-server-sources.jar \ http://nexus.example.com/content/repositories/releases/com/example/hoge-api-server/1.10.0/hoge-api-serv…

maven-release-pluginでReceived fatal alert: bad_record_macが出た話

リリース作業中に問題発生したので、自戒録がてら書き連ねておく。結果としては、Java7だったので、MAVEN_OPTS="-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2"を環境変数にぶち込んで走らせれば解決しました。 (Java8は試してませんが、おそらく-Dhttps.protoc…

Zombie.js試してみた(仮設)

最近Zombie.jsでフロントエンドのテストをすることが多くなってきたので、よく使いそうなところを書き出してみた。github.com// TODO 主要どころのBrowserのメソッドとかそのうち書きたい

忘備録)IntelliJ Maven Error

IntelliJでmvn clean compileを実行した時に以下のメッセージが出た時の対応方法 -Dmaven.multiModuleProjectDirectory system property is not set.以下の設定を行う -Dmaven.multiModuleProjectDirectory=$M2_HOME

NginxをL7 LBとして使う

名だたるメーカーのLBは数百万してしまうので、個人で使うには高過ぎる。 個人用途だと十分すぎる?のでnginxをアクティブスタンバイ構成のLBとして使う方法やりたいことをまとめると /path1もしくは/path2以下のでアクセスが来た場合はweb2にproxyする 上記…

Node.jsでカスタムエラー(メモ)

Node.jsでカスタムエラーをつくろうと思って、 Errorをinheritsしただけでは、error.stackが利用できなかったので、色々試行錯誤した結果をメモ。ちなみに環境は Node.js 0.10.29 // lib/error/base.js 'use strict'; var util = require('util'); function …

Vagrant VirtualBox NICアダプター追加に関する覚書

VirtualBoxから作ったVagrant BaseBoxにNicを追加する設定を追加するVagrantfileの忘備録 config.vm.provider :virtualbox do |vb| vb.customize ["modifyvm", :id, "--nic2", "hostonly"] vb.customize ["modifyvm", :id, "--nictype2", "82540EM"] vb.cust…

Xmemcache + TimeUnitの組み合わせでミリ秒を利用して嵌った

実験環境: xmemcached : 1.3.8 memcached : 1.4.11作ろうとしていた機能は以下の様なものです。 キャッシュを探してデータがあればそれを返す。なければ次の処理を実行する。 別システムからデイリーで変更されるIDのリストを取得する それぞれのデータにプ…

Vagrantを試してみる

諸般の事情でCentOS5.4を使ったテストをする必要があって、今更感はあるがどうせならということでVagrantを使って環境構築を試してみる。これを書いている時点ではCentOS5.4のboxが無いので、それを作っていく。基本的には Vagrant の VirtualBox 用 Base Bo…

Apache HttpClient4.3でSSLの証明書とホスト名のチェックを回避する

Hostsファイルにローカルアドレスを書いて、httpsでしか口が開いていないサーバにリクエストを投げると、 javax.net.ssl.SSLException: hostname in certificate didn't match↑みたいな例外を投げられて(´A`)ってなるので、 オレオレ証明書をjavaに登録する…

Mac + Eclipse + Subclipseの環境構築 その2

Eclipse4.3に乗り換えてSVNのレポジトリが参照できなくなったので、またJavaHL周りの問題かと思いbrew unlinkして再インストールしたところ以下の様なエラーが出たので、忘備録として書いておく Incompatible library version svn: ra_serf was compiled for…