FujitsuのFMVモバイルキーボード(FMV-NKBUD)が良さそうで気になってました。 www.fmworld.net Ubuntu22.04(Linux)で動くか不明だったので買って試してみました。キーボードとトラックパッドが一体になっていて薄型でAppleのMagic Keyboardっぽい感じです。 …
2022年9月からJenkinsはJava11以上が必須になるようなので、/usr/local/java17以下にJava17を入れてそちらでJenkinsを動かすことにした。 AmazonLinux2やUbuntu20.04, 22.04などパッケージで入れたJenkinsはたぶんsystemdで管理されているはず。今回はsystem…
問題の現象 今回の環境は非常にレアケースのため世界中でこの問題に直面したのは自分だけかもしれない。。 今回の問題の最初の挙動は、Ubuntu22.04とPHP8.1、pdo_pgsqlで古いDB(PostgreSQLと互換性のあるインターフェースを持つ)に接続すると下記のエラーが…
Larvelに限らずCakePHPや他のフレームワーク/言語でも関係ある話かもしれません。 結論から書くと、テストデータの投入時にUserテーブルのパスワードカラムがあるとパスワードの値をハッシュ化してデータが入る箇所があり、そのハッシュの処理によってテスト…
コンピュータは中で何をしているのか、AND/OR回路、加算器、プログラム、その歴史が短くわかりやすくまとめられてる書籍「コンピュータ、どうやってつくったんですか?」と、もう少し内容を多めにコンピュータの歴史、インターネット、OSの話が書かれた「痛…
数年前に40歳を超えてました。人生の折り返し地点っぽいのでまとめておきます。 (自分がこうすればよかったという話で、読んだ方にこうした方が良いですよという記事ではありません) 自分にとっての幸せとは何か、何が嬉しいかを40歳超えてからよく考える…
Ubuntuでアップデートしたら画面が表示されなくなった件が解決した。 他のUbuntuのバージョンやNVIDIAのGPUであってもLinuxカーネルアップデートが行われると同じ問題が起こる可能性があるのでメモを残す。 症状は、アップデート後にOS再起動するとOSは起動…
今回遭遇した条件 公式AMIから新規でEC2インスタンス構築 アクセス可能なメタデータを無効 これで構築したインスタンスにsshアクセスすると、登録した公開鍵がrootやec2-userに適用されずにsshログイン出来ずパーミッションエラーとなる。 回避策 新規EC2イ…
今回はPostgreSQLにログインするために、psql -h localhost としてた時に最初のログインまでが時間がかかり、ログイン後は問題なくクエリのレスポンスが返ってきた。psql -h 127.0.0.1では発生せず。 結論 先に結論から。PostgreSQLに限らず発生する問題でし…
軽い気持ちでポートが閉じてるのを確認するポートスキャナーを作り始めました。 blog.ichikaway.com サーバリストを渡すと指定したポートを検査して閉じてるか確認します。ポートが開いてたらアラートをあげるツールです。 TCPのポートスキャンはsyn/syn-ack…
IP制限しているTCP 22(sshd)や3306(MySQL)のようなポートが空いていないかチェックするツールを作りました。 たとえば設定ミスで22番ポートがすべてのIPを許可している状態になってしまっていたというケースがありそうで、サーバ台数が数百台になってくると…
ConoHa VPSでUbuntu20を選択しインストール。ConoHaの追加IPをコンパネから追加。追加IPはデフォルトでは許可ポートが全て拒否になっているので全て許可にする。 Ubuntuにsshログインし、/etc/netplan/10-gmovps.yamlを下記のように上書きし、OS再起動。する…
自宅は仕事用にフレッツのPPPoEのIPv4固定IPを利用していました。既存環境は空いてる時間帯は100M近く出るのですが、夕方ごろの混雑する時間帯になると15Mbpsぐらいになるためどこまで改善できるか試してみました。 結論 まずは結論から。 既存環境: IPv4固…
NScheckerというDNS改竄検知ツール(slack通知も可能)の、バージョン v1.0.3をリリースしました。 github.com 2020年の夏にメジャーバージョンをリリースして普段使う上では問題ない状態でした。今回下記の機能を追加してマイナーバージョンアップしました。 …
オンラインで開催されたPHPカンファレンス2020に登壇してきました。VAddyとしてはブロンズスポンサーで協力させて頂きました。 「DNS改ざん検知ツールの実装とDNSパケットの世界」というタイトルで、前半はドメイン名ハイジャックの仕組み、事件例、対応ツー…
子供のYoutube閲覧時間を制限したく、ただYoutube以外のアクセスは許可したいという要望が我が家では出てきたので仕組みを作ることにした。 条件例 条件は色々と追加できるようにしたいがとりあえずこんなことができたら面白そう Youtubeのみ1日30分しか閲覧…
NScheckerというDNS改竄検知ツール(slack通知も可能)を作っていて、メジャーバージョン v1.0.0をリリースしました。このリリースで使えるツールになりました。 GitHub - ichikaway/nschecker: DNS record changing detection tool with slack notification. …
1バイトを2進数で 0b00000001 のように表示 fmt.Printf("%#08b\n", message) //2進数 fmt.Printf("%#X\n", message) //16進数 #で0bや0xを付ける。08で最大8個0パディング。bで2進数。Xで16進数 バイトの配列を定義 message := byte{ 0b11011100, 0b10011010…
暑い夏2020、DNSと戯れていました。 レジストラの脆弱性でDNSが改竄されてサイトがハッキングされる事件を見て、これを防ぐ方法がなかったので7月末にDNS改ざん検知ツール NSchecker を作って公開しました。 blog.ichikaway.com 結論 忙しい方のために結論だ…
DNSのNSレコード、MXレコードの改竄を検知(変更検知)し、オプションでSlack通知もできるツールを公開しました。 https://github.com/ichikaway/nschecker Go言語で開発し、LinuxとMacのバイナリもダウンロードできます。 すぐに実行できるため、cron指定し…
Stripe Elementsはこのサイトにあるサンプルを使えば手軽に始められます。https://stripe.com/docs/stripe-js ただ、この例のバリデーションでは全項目の入力を待つことができず、例えばカード番号だけ入力した状態でも送信できてしまいます。 今回はカード…
2019年に買ったMac miniはメモリ32GでCPUも高速で最高なのですが、唯一発熱の問題があってクーラーが効いた部屋でも結構熱くなります。 定期的にMac miniに触れて温度を確かめたりしてたのですが、それに疲れてしまったので解決することにしました。検索する…
結論から書くと、 git fetch git checkout foo これでorigin/fooのブランチがローカルにチェックアウトできます。 今までは、 git fetch git checkout origin/foo git checkout -b foo というのをしていました。下記の方法の方がスタンダードかもしれません…
最近お気に入りの低レイヤーガールというYoutubeチャンネルで、アセンブリでFizzBuzzを書くというのを見て自分でも実践してみました。 Youtube: FizzBuzzをアセンブリ言語で書きたい! x86アセンブリで画面表示するには、writeのsyscallを呼び出して、標準出…
任天堂スイッチのマイクラをネットを使ってサーバに繋ぐのに苦労したため、やり方を書いておきます。親のアカウントだけであれば問題ないですが、子供の任天堂アカウントを繋ぐのに苦労した時の解決方法です。 任天堂のスイッチオンラインに加入(複数人で使…
stripe.jsを使ったフォームを構築すると、例えばVISAのカード番号を入力した時に動的に郵便番号フィールドがでてきて、そこも必須入力欄となる。 この場合、下記のようにstripe.elements()のelements.create()のオプションに、hidePostalCode trueを渡すと郵…
PHPerKaigi2019で登壇してきました。全体の感想などは後編に書きます。 カンファレンスで発表するのは3年ぶりぐらい。今回はPHPのファミコンエミュレータ実装をGolangで写経してた時の話をしてきました。 ファミコンエミュレータはPHPやGolang, Rustなどたく…
URLに含まれる#(シャープ)は、ページ内リンクアンカー、ハッシュ、フラグメントなどの名称があるが、#が入る場合のGETリクエストはどのようになっているか。 例えば http://example.com/foo/bar/#/1 というようなURLにGETリクエストする場合、ブラウザは#以…
最近、趣味でファミコンエミュレータをGo言語で実装しています。 github.com 世の中にはたくさんのファミコンエミュレータ実装があり、golangだけでもいくつもあるため何で同じ言語で実装するのかと言われると、楽しそうだからとしか言いようがありませんが…
普段はdocker-composeで操作していても、たまに使い捨てコンテナを扱いたい時がある。 そんな時にdockerコマンドだけで済ませる方法。 dockerイメージの作成、コンテナ起動、コンテナのシェル操作、コンテナ削除の説明。 Dockerfile amazonlinuxの最新を取得…