Organizations

amazonconnect amazonpolly appflow aws books camp childcare client vpn cloudfront cloudwatch codebuild daily datadog docker ec2 ecs eventbridge fargate gas homeserver iot jamf lambda life hack linux mac movie music php program python rds ruby running s3 tech terraform vpc windows wordpress 10km 2016 2018 2ブロック alfred amazonconnect amazones amazonpolly ansible apache api atcoder aws aws認定資格 backlog balmuda band bind boss box brew cakephp centos centos6 chef-solo ci circleci circlecijp cloud cloud sql cloud storage command crkbd cron css database diet digdag disney dlna dns docker docker-compose dockerfile dockertokyo ecr ecs edy eks elasticcloud elasticsearch em embulk ena evernote ezmlm fabric fargate fluentd font found fuzz galeracluster garageband gce gcp geek gem git github goo google google map googlemap gr-citrus gsuite happynewyear hatenatech helix homebrew html ikea infrataster iphone itamae iterm jamf k8s kinesis kintone knife-solo knowledge kpt kubernetes l2tp lancers lenovo let'ssplit linux live lolipop mac macos macアドレス mail mariadb mediatomb memory mfa midi mint60 ml mta mysql namazu nas nginx notion onedrive openssl peco pepabo perl php pixar pmf post python qiita qmail raspberrypi raycast redmine roland route53 rsync ruby ruby on rails salesforce sendgrid_jp sfdc sha2 shakeshack slack so-01j sony split sql sre srelounge srenext ssd ssh ssml stationery team terastation terminal terraform typescript ubuntu22.04 unix vagrant virtualbox visualstudiocode vm vpc vpn vpngate vscode vuls windows windows10 windows8 windowsserver2012 wordpress xperia xtechjaws xtechjaws07 zsh おサイフケータイ たからばこセッティング としまえん はてな アイアムアヒーロー アイアンマン アウトドアアンバサダー アプリ アレクサ インスタンスタイプ インターン インフラ ウィンドウズ ウェディング エフェクター エヴァ オープンソース カンバン キス キーキャップ キーボード ギター コキア コマンドプロンプト コンタクトセンター コース サーバーオペレーション サーバー移行 シェイクシャック シェルスクリプト スクラム スタジオ ステラタウン ストレージ スマホ セキュリティ タスク管理 ターミナル ダイエット チャリティー テックカンファレンス デスクトップ トライダガー ノートpc ハイレゾ ハゼ ハワイ ハンバーガー バイク バックアップ バンド バージョン管理 パスワード管理 パソコン パパ ピアノ ピクサー ピック ファン プロトレックスマート プロビジョニング ペイジェント ペパボ ポストモーテム ミニ四駆 メンタリング メンター メーリングリスト メール ヤフオク ヤマダ電機 ヤマダ電機モバイルドリーム館 ライブ ランニング リモートワーク レアジョブ レジン レツプリ レビュー ログ ロジカルシンキング 上尾 二段階認証 伊那市 会社 保育園 優しい世界 入門 全文検索 分割キーボード 初心者 勉強会 名前解決 外苑前 天キー 太陽 子供 学習リモコン 実写映画 家具 家族 家計簿 家電 小松菜奈 引っ越し 息子 成人式 技術書典 振り返り 新年 新幹線 新海誠 新米 旅行 日帰り旅行 映画 書評 東京湾 東京都知事 東野圭吾 桜台 検証 気分転換 水タバコ 池上彰 海釣り 温泉 漫画 炭酸泉 生産性 登山 監視 目標 確定申告 福島 立会川駅 組立て 経済学 結婚 練習音源 練馬 考える 育児 脆弱性 自作 自作エフェクター 自作キーボード 自宅サーバー 自宅鯖 花見 蕎麦 言葉 誕生日 読書 豊島園 貸し切り 赤外線 趣味プログラマー 転職 退職 選挙 釣り 釣り堀 銭湯 録音 長野県 障害報告 電動アシスト自転車 電動自転車 電子工作 電気工事士 電気工事士2種 電気風呂 露天風呂 養命酒 1歳
  • 概要 tmuxとはターミナルマルチプレクサの略で、主にターミナルで複数のセッション管理ができるツールである。 セッション管理以外にも画面分割をしたり、Vimのキーバインドでターミナル内の文字列をコピー&ペーストができる。 10年以上前に教えてもらって長らくターミナルと組み合わせて使っていたのだけど、最近ではSSHをすることも少なくなり、セッション管理としての用途はほぼ使わなくなってきたものの、画面の分割やコピペはまだまだ重要な機能として使っている。 特に、証跡としてterraform plan結果をガッとコピーしてSlackのテキストスニペットに貼り付けるなどで多用しているし、ターミナルを遡るスクロールにもVimキーバインドが便利なので活用していた。 課題 先述の通り、セッション管理としてはほぼ使っておらず、無くても困らなくなってきた。 なので画面分割とコピペができれば十分なのである。 また、tmuxはどうしても重くなりがちで、zshのcompletion系も相まって、起動が遅かったりする。 他にもVSCodeのターミナルとtmuxの相性が悪かったりするので、VSCodeのターミナルモードをやめることにもなった。 長らくiTerm2+tmuxを使っていたが、数年前にやめてVSCode+tmuxにしつつ、バグったりするのが嫌でこの間までAlactritty+tmuxを使っていた。 AlacrittyもRustで書かれていて動作は軽快だったが、複数ウィンドウを作成できないことからtmuxを抜け出せずにいた。 そこで、Weztermにたどり着いた。 要件 複数ウィンドウを管理できる Vimキーバインドでコピー&ペースト、移動ができる Vimキーバインドで画面の分割ができる 使ってみて まず、WeztermはAlactittyと異なり、アプリケーション側で複数のウィンドウをタブで管理ができる。 つぎに設定ファイルをLuaで記述することができ、かなり柔軟に対応することができる。 結果、下記の設定で、tmuxの画面分割、およびVimキーバインドでコピー&ペーストができるようになった。 $HOME 直下にある ~/.wezterm.lua が設定ファイルなので修正すればOK. -- Pull in the wezterm API local wezterm = require 'wezterm' -- This will hold the configuration. local config = wezterm.config_builder() local config = { -- Font font = wezterm.font { family = 'Hack Nerd Font Mono', weight = 'Bold', }, font_size = 16.
    Created Thu, 01 Aug 2024 22:50:49 +0900
  • 納車 先週の日曜日、ついに待ちにまったCX-30 20s Retro Sports Editionが納車だった。 納車はいつもの打ち合わせスペースではなく、3階の特別スペースで行われた。 保険の契約や最終納車手続きをiPadで実施するもので、全てシステム化されていたのは流石というところ。 煩雑な手続きにひたすらボールペンで文字を書くというのは、終わりを迎えつつあるのかもしれない。 20s Retro Sports Edition これはノーマルのエディションよりも価格が高い。 その代わりに革張りだったり、ブラックのホイールやフロントパネル、サイドミラーに加えて、BOSEのスピーカーが標準搭載されている。 車で音楽やラジオを聴くのが好きなので、これは嬉しいオプションである。 HONDAのヴェゼルと比較検討したところ、価格が30万くらいヴェゼルのほうが高かったというのはあるものの、最終的にこのオプションで決定したと言っても過言ではない。 ジルコンサンドメタリックというちょっと変わったカラーではあるものの、この渋い色がとても気に入っていて、これにブラックなポイントがついているのが最高にカッコいい。 新車を手に入れたのは人生で初めて。大事に長いこと乗っていきたいと思う。 なお、子供には謎に五右衛門という命名がされている。
    Created Mon, 08 Jul 2024 23:35:27 +0900
  • 概要 なんとなく思うところがあり、WordPressで運用するメリットもなくなってきたので思い切ってHugoへ移行した。 やはり静的サイトになって軽くなるのが一番良いかなと思っている。 その分使い勝手はわるくなるかもしれないが、Markdown使えるしまぁよいかなと。 静的サイトにしておけば、最悪VPSをやめるもできると思うのでとりあえず満足。 ただ、唯一意味がわからなかったのがGitHub Actionsでデプロイしたときにhugo --minifyでUnable to locate config file or config directoryと出てしまう点だけよくわからず、最終的には hugo --minify --config hugo.toml で指定して回避してる。 これだけは謎い。
    Created Fri, 05 Jul 2024 02:37:01 +0900
  • 6月8日 10時〜12時 副業先のElastiCacheのアップデート対応と、SendGridの新しいアカウントでSenderAuthenticationの設定を追加。 本業でElastiCache関連は色々対応していたものもあり、余裕を持ってできたし、SendGridの認証は何度も何度もやってきた。なんなら前職でも前々職でも副業でもやってきたので流石に慣れた。 13時〜18時 カーシェアで借りた車で練馬と新宿のショールームに行って、キッチンを見たり玄関扉とかリビング用の扉を見るなどした。結構面白い。 あと、ショールームのお姉さんから、普段気にもしていなかったようなオプションの提案をされて、気づきを与えることで売上に貢献するという手法を学んだ。 18時〜21時 ジムに行って筋トレとランニングと風呂。ベンチプレスを真剣にやろうと思い、とりあえず40kgから始めてみることにした。ランニングは5km走った。 22時〜23時 Meetを使ってメンタリング。某プログラミングスクールの課題が難しいとのことで復習の相手として少しお高めの個別プランで対応。 いろいろな例えを使って説明するのはなかなか骨が折れるが、自分自身の振り返りにもなり、良い体験となっている。 6月9日 10時〜12時 MAZDAに行って書類の手続き。あとは納車待ちだ。楽しみ。 納車日についてはまだ連絡が無いので、いまかいまかと連絡待ちしている。 13時〜18時 電車で移動して、住宅の打ち合わせ。インテリアコーディネーターの人がいるとだいぶ話が早いしイメージもしやすくて助かる。 3色くらいで部屋のコーディネートをするとか、気になった1色が別の1色にも少し含まれていると印象が統一しやすいということを学んだ。 21時〜22時 DBのアップグレードメンテ、RDSのMySQL8移行を実施した。 スナップショットを取得して、取得したスナップショットからアップグレードができることは別のお客さんで実施済みだったのでスムーズに移行できたので良かった。 この土日は一日で3つくらいの大物を対応していった。 お陰で諸々の話がだいぶスムーズに進むことができたので、疲れることは疲れたものの、焦りのようなものが無くなったので終わってはいないものもあるがそれなりの達成感を得る事ができた。 とはいうものの、落ち着いたらどこかで何もしないDayとかは作りたい。
    Created Tue, 11 Jun 2024 16:40:15 +0000
  • 1/16 (火) 開催!Incident Response Meetup vol.1 @Sansanさんオフィス 前半はいつもの気になった点のメモです。後半が感想。 ハッシュタグは #障害対応 木村 誠明さん(「システム障害対応の教科書」著者) 障害対応→ダメージコントロールの世界 障害対応教育 暗黙知が殆んど、有識者はいつもいるわけではない 教育が難しい 障害対応の目的 システムを直すことではない ユーザ影響の回避、低減 インシデントコマンダーとは 必要な作業を各担当へ割り振り、実施指示を行い全体をリード 復旧要件、復旧仕様を決める システムの復旧が最善の道とは限らない ICと作業担当者は分ける 機械的な判断で人を巻き込む(人の判断をなるべくいれないことで心理的負荷を下げる) 情報をフローとストックにわける フローはタイムライン ストックは障害レベル、事象など WarRoom 障害対応の専用の部屋 物理、仮想は文化による 不慣れなツールは使えない インシデントコマンダーになるには インシデントコマンダーを育てる 作業担当としてオンコール参加、書記、窓口を経て Q&A 体系的に軍事が参考になることも 障害ランクの定義により、報告ラインを定義 ICをスイッチするはある(宣言する) あんどうさん @integrated1453(株式会社ユーザベース) グループ 1200名 エンジニア 70名 オンコールシフト、PagerDuty 記者等に話をすることもあるので、横文字は日本語にしている(ポストモーテム→障害撲滅委員会) BizメンバーのSOSはSlackからPagerDuty→運用当番 SRE Bookの信頼性の階層 monitoringが一番下 検知してからエンジニアのアサインに時間がかかると障害復旧までの時間がかかる 運用当番が手を動かそうとする
    Created Tue, 16 Jan 2024 16:43:49 +0000
  • まず、最初に今年掲げた目標の振り返りをやっていく。 ダイエット: (1/1開始72.3kg, 目標65kg) 1月: 70.1kg(-2.2kg) 2月: 71.1kg(-1.2kg, 前月比+1.0kg) 3月: 68.4kg(-3.9kg, 前月比-2.7kg) 4月: 69.0kg(-3.3kg, 前月比+0.6kg) 5月: 68.9kg(-3.4kg, 前月比-0.1kg) 6月: 67.8kg(-4.5kg, 前月比-1.1kg) 7月: 67.5kg(-4.8kg, 前月比-0.3kg) 8月: 67.1kg(-5.2kg, 前月比-0.4kg) 9月: 65.4kg(-6.9kg, 前月比-1.7kg) 10月: 66.0kg(-6.3kg, 前月比+0.6kg) 11月: 66.5kg(-5.8kg, 前月比+0.5kg) 12月: 66.2kg(-6.1kg, 前月比-0.3kg) 達成率: 83% 65kgに到達したこともありつつ、65kg〜66kgの間を推移していた月だった。 惜しかったなぁという気持ちもありつつ、6〜7kg落とせたので上々だったということにしておく。 読書量年間50冊 1月: 4冊 2月: 3冊, 7 3月: 1冊, 8 4月: 3冊, 11 5月: 1冊, 12 6月: 2冊, 14 7月: 7冊, 21 8月: 2冊, 23 9月: 3冊, 26
    Created Sun, 31 Dec 2023 09:06:33 +0000
  • 概要 最近、Aurora2(MySQL5.7)だったクラスターをAurora3(MySQL8.0)にアップグレードしたところ、特定のクエリだけが失敗するという事象があった。 ClowdWatchLogsに出力していたerrorログには /tmp/xxx is full! と出力されていた。 Aurora2(MySQL5.7)の時代にはなかったことだったので、Aurora3(MySQL8.0)によるものであることはわかり、それが新しく採用されたTempTableストレージエンジンによるものであることがわかった。 TempTableストレージエンジンとはどういったものか、Aurora3の仕様もあわせて色々わかったので記録をしておこうと思います。 最初に結論 Aurora2からAurora3にアップグレードする際には temptable_max_ram と temptable_max_mmap の値を必ず確認して、必要に応じて調整したほうが良い。 TempTableストレージエンジンとは 詳細な説明は下記を参照してもらうとして、ざっくり説明すると内部一時テーブルを使うようなクエリを実行した場合に、MySQL5.7のときにつかっていたInnoDBテーブルではなくメモリを利用したストレージエンジンとなり、5.7のときよりも効率的にクエリを処理することができるようになったストレージエンジンのことを指す。 https://dev.mysql.com/doc/refman/8.0/ja/internal-temporary-tables.html TempTableストレージエンジンでは temptable_max_ram を上限としてオンメモリで処理されて、それを超えると、temptable_max_mmap を上限として、mmap()システムコールにより、ローカルストレージにファイルを作成して、仮想メモリにマッピングを行う。 ページサイズ単位(Linuxではデフォルト4KiB)でメモリ上にデータがロードされるので、InnoDBテーブルに変換される場合よりも、効率的(可変長)で高速に処理される。 では、temptable_max_mmap を超えたサイズのデータをクエリするような場合はどのような挙動になるか。 MySQL8.0の挙動 Aurora3に関わらず、MySQL8.0の仕様では、temptable_max_mmap を超えると、InnoDBテーブルに書き込むようになる。 つまり、遅くはなるけど処理は継続される。 Aurora3の挙動 Aurora3ではどうなるかというと、ライターとリーダーで挙動が異なる。 ライターはMySQL8のデフォルトの挙動と同じになるが、リーダーの場合は temptable_max_mmap の値を超えると /tmp/xxx is full!とエラーが出力されてクエリが失敗する。 temptable_max_ram と temptable_max_mmap はデフォルト1GiBなので、合計2GiBを超えるようなクエリは失敗して終了してしまう。 原因についてはAWSサポートにも確認してわかっているが、まずAuroraは共有ストレージを採用しており、 そして、リーダーインスタンスは共有ストレージを参照は可能だが、書き込みはできない。 内部一時テーブルを作成するのにあたり、ライターは問題にならないがリーダーインスタンスで、MySQL5.7のときは共有ストレージではなく、ローカルストレージにMyISAMとして書き込みを行う仕様だった。 リーダーインスタンスでは、オンディスク一時テーブルはローカルストレージを使用する MyISAM ストレージエンジンを使用します。これは、読み取り専用インスタンスでは Aurora クラスターボリュームにデータを保存できないためです。 https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.CompareMySQL57.html MySQL8.0.16以降、内部一時テーブルのストレージエンジンを指定していた internal_tmp_disk_storage_engine が廃止されて、デフォルト InnoDB となった。 Auroraでもこの仕様に則り、Aurora2では internal_tmp_disk_storage_engine が適用され、Aurora3では internal_tmp_mem_storage_engineが適用されるようになった。 パラメータグループをみても、Aurora2のときにあった internal_tmp_disk_storage_engine は Aurora3では見当たらず、かわりに internal_tmp_mem_storage_engine のみが存在する。 https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Reference.ParameterGroups.html internal_tmp_mem_storage_engine はメモリを使った内部一時テーブルの処理のみとなり、デフォルトが TempTable で、MEMORY にも変更は可能である。
    MySQL Created Thu, 28 Dec 2023 15:02:12 +0000
  • 概要 MySQLのLIMITを使ったクエリでは、ORDER BYの結果が変わるというものがある。 https://dev.mysql.com/doc/refman/8.0/ja/limit-optimization.html それについて手元で検証した。 使用する環境 MySQL8.0のDocker。ただし、MySQL5.7でも同様の事象が確認できると思われる。 FROM --platform=linux/x86_64 mysql:8-debian ENV LANG ja_JP.UTF-8 ENV LANGUAGE ja_JP:ja ENV LC_ALL ja_JP.UTF-8 ENV MYSQL_ALLOW_EMPTY_PASSWORD=yes RUN useradd mysqld COPY mysqld_charset.cnf /etc/mysql/conf.d/mysqld_charset.cnf ADD world-db.tar.gz /docker-entrypoint-initdb.d/ CMD ["mysqld"] テストデータ 下記のようなテストデータを作成した。 mysql> select * from item order by created_at limit 20; +----+------+---------------------+ | id | name | created_at | +----+------+---------------------+ | 68 | 0 | 2023-12-20 18:00:00 | | 64 | 0 | 2023-12-20 18:00:00 | | 65 | 0 | 2023-12-20 18:00:00 | | 66 | 0 | 2023-12-20 18:00:00 | | 67 | 0 | 2023-12-20 18:00:00 | | 60 | 0 | 2023-12-20 19:00:00 | | 63 | 0 | 2023-12-20 19:00:00 | | 62 | 0 | 2023-12-20 19:00:00 | | 61 | 0 | 2023-12-20 19:00:00 | | 59 | 0 | 2023-12-20 19:00:00 | | 52 | 0 | 2023-12-20 20:00:00 | | 46 | 0 | 2023-12-20 20:00:00 | | 44 | 0 | 2023-12-20 20:00:00 | | 47 | 0 | 2023-12-20 20:00:00 | | 53 | 0 | 2023-12-20 20:00:00 | | 43 | 0 | 2023-12-20 20:00:00 | | 45 | 0 | 2023-12-20 20:00:00 | | 51 | 0 | 2023-12-20 20:00:00 | | 49 | 0 | 2023-12-20 20:00:00 | | 33 | 0 | 2023-12-20 20:00:00 | +----+------+---------------------+ 20 rows in set (0.
    Created Wed, 20 Dec 2023 14:03:31 +0000
  • はじめに これは株式会社マクアケのアドベントカレンダー2023の17日目の記事です。 SREチームに所属する稲村です。 最近は久しぶりにランニングを再開して、よく走るようになったものの体力の衰えを実感しているもうすぐ四十路のおじさんです。 さて、今回はスクラム関連の記事です。 スクラムについては、私は完全なスクラム開発自体はほぼ未経験で、前職でもスクラム風な一部を省略する形でスクラムを実践してきました。 通常、スクラムのプラクティスを省略するのはアンチパターンと言われてスクラムバットと言うそうですが、まずはやってみる精神で進めていた状況でした。 スクラムについては、過去に下記の書籍を読んではいました。 <div class="naaa-product naaa-product-h"> <div class="naaa-product-thumb"> <img decoding="async" class="naaa-product-img-h" src="https://i0.wp.com/m.media-amazon.com/images/I/51YUJzbRtwL._AC_AC_SR250,250_.jpg?w=750&#038;ssl=1" alt="いちばんやさしいアジャイル開発の教本 人気講師が教えるDXを支える開発手法 「いちばんやさしい教本」シリーズ" data-recalc-dims="1" /> </div> <div class="naaa-product-title naaa-product-title-h"> いちばんやさしいアジャイル開発の教本 人気講師が教えるDXを支える開発手法 「いちばんやさしい教本」シリーズ </div> <div class="naaa-product-price"> <div class="naaa-product-price-h"> </div> </div> <div> <div class="naaa-product-action"> <div class="naaa-product-button naaa-product-button-border"> 見てみる </div> </div> </div> <div class="naaa-rating-and-review-h"> <span class="naaa-product-rating"> <fieldset class="naaa-rating" id="6686b532c1057"> <input type="radio" class="naaa-input-star" name="6686b532c1057" value="10" /><label class="naaa-full naaa-label-star" title="3.9 de 5"></label><input type="radio" class="naaa-input-star" name="6686b532c1057" value="9" /><label class="naaa-half naaa-label-star" title="3.
    Created Sun, 17 Dec 2023 00:00:44 +0000
  • ダイエット: (1/1開始72.3kg, 目標65kg) 1月: 70.1kg(-2.2kg) 2月: 71.1kg(-1.2kg, 前月比+1.0kg) 3月: 68.4kg(-3.9kg, 前月比-2.7kg) 4月: 69.0kg(-3.3kg, 前月比+0.6kg) 5月: 68.9kg(-3.4kg, 前月比-0.1kg) 6月: 67.8kg(-4.5kg, 前月比-1.1kg) 7月: 67.5kg(-4.8kg, 前月比-0.3kg) 8月: 67.1kg(-5.2kg, 前月比-0.4kg) 9月: 65.4kg(-6.9kg, 前月比-1.7kg) 10月: 66.0kg(-6.3kg, 前月比+0.6kg) 11月: 66.5kg(-5.8kg, 前月比+0.5kg) 達成率: 79% 読書量年間50冊 1月: 4冊 2月: 3冊, 7 3月: 1冊, 8 4月: 3冊, 11 5月: 1冊, 12 6月: 2冊, 14 7月: 7冊, 21 8月: 2冊, 23 9月: 3冊, 26 10月: 3冊, 29 11月: 1冊, 30
    Created Tue, 05 Dec 2023 14:34:38 +0000
Next