# Matsubo Tech Blog > Ruby on Rails, Web Services, Software Development, Startups — A technical blog by Yuki Matsukura covering web development, infrastructure, and technology topics. Written primarily in Japanese. This blog has been running since the early 2000s, originally on WordPress, and migrated to Astro in 2025. It contains 646+ articles on software engineering, networking, DevOps, and technology reviews. ## Topics - Ruby on Rails and Ruby programming - Web application development and architecture - Network and infrastructure (YAMAHA routers, VPN, DNS) - Cloud services (AWS, GCP, Cloudflare) - macOS, Linux, and development environments - Mobile development (iOS, Android) - Tech news and industry commentary - Hardware and gadget reviews ## Author - Name: Yuki Matsukura - GitHub: https://github.com/matsubo - X (Twitter): https://x.com/matsubokkuri ## License Content is licensed under CC BY-NC-SA 4.0. ## Posts - [固定費0円!0 SIMとYAMAHA RTX1200で回線を冗長化してみる](https://blog.teraren.com/posts/0sim-rtx1200/): So-netの0 SIMとFS01BU USBドングルをYAMAHA RTX1200に接続し、月額固定費0円でインターネット回線を冗長化する手順と設定例 - [17013 Generating access token for the SP failed](https://blog.teraren.com/posts/17013-generating-access-token-for-the-sp-failed/) - [2020/11/27 Minedia Tech Talk 今週のニュース](https://blog.teraren.com/posts/2020-11-27-minedia-tech-talk/): 2020年11月のテックニュースまとめ。PHP8リリース、Apple M1プロセッサへのLinus氏の反応、AWS Graviton2のコスパ、weworkのコワーキング動向などを紹介。 - [2020/12/11 Minedia Tech Talk 今週のニュース](https://blog.teraren.com/posts/2020-12-11-minedia-tech-talk-weekly-news/) - [2020/12/18 Minedia Tech Talk 今週のニュース](https://blog.teraren.com/posts/2020-12-18-minedia-tech-talk/): Docker Desktop 3リリース・M1向けDocker Tech Preview・ブラウザ拡張マルウェア300万人感染・Smoozのデータ送信問題など2020年12月のテックニュースまとめ。 - [2020/12/25 Minedia Tech Talk 今週のニュース](https://blog.teraren.com/posts/2020-12-25-minedia-tech-talk/): IQbuds2 MAX・作業環境リノベ事例・Smoozブラウザ終了・Ruby 3.0リリース(型システム・VM37%高速化)・HHKB Pro BT購入レポートなど2020年末のテックニュースまとめ。 - [2020/12/4 Minedia Tech Talk 今週のニュース](https://blog.teraren.com/posts/2020-12-4-minedia-tech-talk/): ahamoサービス開始・iPhone 12の5G制限、Apple M1でのDocker動作、Kubernetes 1.20のcontainerd移行、PHP8の互換性変更、AWS re:Invent 2020まとめ。 - [Amazonで2020年に購入した商品を軽く見てみる](https://blog.teraren.com/posts/2020-amazon-purchase/): コロナ禍で在宅時間が増えた2020年のAmazon購入履歴を振り返り。モニターアーム・加湿器など良かったものと、未開封のランニングシューズなど失敗した買い物を公開。 - [2021/1/15 Minedia Tech Talk 今週のニュース](https://blog.teraren.com/posts/2021-1-15-minedia-tech-talk/): Parlerデータ流出・電気代高騰・devise-two-factorによる2FA実装・AWSへのシステム移行など2021年1月のテックニュースと個人的な考察まとめ。 - [2021/1/29 Minedia Tech Talk 今週のニュース](https://blog.teraren.com/posts/2021-1-29-minedia-tech-talk/) - [2021/1/8 Minedia Tech Talk 今週のニュース](https://blog.teraren.com/posts/2021-1-8-minedia-tech-talk/) - [3香港のeSIMをマカオ、香港、中国、日本で使ってみた](https://blog.teraren.com/posts/3hongkong-esim/): iPhone XSを使って3香港のeSIMをアクティベートし、マカオ・香港・中国・日本でデュアルSIM運用した実体験レポート - [AASMでステータス変更と同じクリティカルセクションで実行](https://blog.teraren.com/posts/aasm-execute-within-transaction/): RailsのAASMでステータス変更と別テーブルの更新を同一トランザクション内で行うには、after_commitではなくafterコールバックを使うべき理由と実装方法を解説。 - [APOPはプロトコルでは無い。POP3の1つの命令](https://blog.teraren.com/posts/about-apop/) - [ActiveRecordでネストされたトランザクションのRollback方法](https://blog.teraren.com/posts/activerecord-transaction-nest/): ActiveRecordでトランザクションをネストした際にRollbackが意図通りに動作しない原因と、requires_new オプションを使った正しい排他制御の実装方法を解説します。 - [広告配信精度とプライバシー保護に関する法律と技術のまとめ](https://blog.teraren.com/posts/ad-accuracy-and-3rd-party-cookie/): GDPR・改正個人情報保護法などプライバシー規制の動向と、3rd party cookieに代わるFLoCなど広告ターゲティング技術の変遷を解説します。 - [lvm管理しているファイルシステムにディスクを追加](https://blog.teraren.com/posts/add-hdd-to-lvm-managed-fs/): 稼働中のLVM管理ファイルシステムにオンラインのままHDDを追加する手順。vgextend・resize2fsコマンドでディスク容量を拡張する方法と、Free PEを使い切るlvresizeの設定を解説。 - [AirPi Kit v1.4 - Raspberry Pi weather station shield](https://blog.teraren.com/posts/airpi-kit-v1-4-raspberry-pi-weather-station-shield/): Raspberry Pi用の気象センサーシールドAirPi Kit v1.4を組み立て、温度・気圧・湿度・一酸化炭素などのデータを取得した実験記録 - [ALB+WAF配下でredashのクエリーが実行できない問題を解決](https://blog.teraren.com/posts/alb-waf-redash/): AWS WAFのFortinet OWASPルールがRedashのAPIリクエストを403ブロックする問題を、特定パスのallow設定で解決した方法 - [Amazon Lightsailは初期立ち上げは楽だけど運用が辛い](https://blog.teraren.com/posts/amazon-lightsail-os-upgrade-failure/): Amazon LightsailのWordPress環境でdo-release-upgradeを実行後にSSH接続不能になった失敗談。bitnamiとOSの密結合が原因で、OSアップグレードは不可能と判断しインスタンス再構築で対処。 - [Amazon Linux 2にtigをインストール](https://blog.teraren.com/posts/amazon-linux-2-tig/) - [andLinuxの起動が恐ろしく速い](https://blog.teraren.com/posts/andlinux-incredibly-fast-startup/) - [Nexus 7にAndroid 9 Pieをインストール(失敗)](https://blog.teraren.com/posts/android9-on-nexus7/): Nexus 7 (2013) LTEにAndroid 9 Pieを導入しようとしたが、GAppsの容量不足エラーなどに阻まれ断念した試行錯誤の記録 - [Android版 FirefoxのUser-Agent](https://blog.teraren.com/posts/android-firefox/) - [Android カスタムROM 導入手順 HT-03a](https://blog.teraren.com/posts/android-ht-03a-root/): HT-03aにCyanogenMod 6.0のカスタムROMを導入する手順。root取得からflash_image設置、ROMのフラッシュまでの一連の作業を手順書形式で解説。 - [Nexus S(Android 4.1)でスクリーンショット](https://blog.teraren.com/posts/android-screenshot/) - [AndroidのSlideScreen](https://blog.teraren.com/posts/android-slidescreen/) - [an unknown error occurred 54→新品交換](https://blog.teraren.com/posts/an-unknown-error-occurred-54/) - [複数台で運用しているサーバのアクセスログを1つに統合する](https://blog.teraren.com/posts/apaceh-integrate-logs/): 複数台のApacheサーバに分散したアクセスログをawstatsのlogresolvemerge.plで時系列順に統合し、一括解析する方法 - [ApacheのKeepAliveTimeout](https://blog.teraren.com/posts/apache-keepalive-timeout/) - [携帯ページで使うapacheのリダイレクト](https://blog.teraren.com/posts/apache-redirect-mobile/) - [APCのapc.include_once_override=1は危険・・・](https://blog.teraren.com/posts/apc-include-once-override1-is-dangerous/) - [apc.optimization=1 止まる。](https://blog.teraren.com/posts/apc-optimization1-stops/) - [APCとmemcachedの速度比較](https://blog.teraren.com/posts/apc-vs-memcached-speed-comparison/) - [郵便番号検索APIサービスをGraphQL対応しました](https://blog.teraren.com/posts/api-graphql-postcode/) - [armとintelのdocker-compose共通化へ向けて(mysql編)](https://blog.teraren.com/posts/arm-intel-docker-compose-in-the-same-file/): Apple M1(ARM)とIntelで同じdocker-compose.ymlを使いMySQLを動かす方法。mysql/mysql-serverイメージを使ったマルチアーキテクチャ対応の設定手順を解説。 - [AtermBR-745F68](https://blog.teraren.com/posts/atermbr-745f68/) - [NECレンタルルータが辛すぎ](https://blog.teraren.com/posts/aterm-shit/): VDSLレンタルルータATERM-0A1129の発熱・不安定・DHCP64台制限・パケット詰まりなど多数の問題点を実体験から解説 - [作業がはかどるヘッドフォン - ATH-ANC9](https://blog.teraren.com/posts/ath-anc9/): ATH-ANC7の後継としてaudio-technica ATH-ANC9を購入。95%ノイズカットの実力、ATH-ANC7との比較、飛行機での使用感、イヤーパッド交換のメンテナンス体験談。 - [AtlassianをSP、Google WorkspaceをIdPとしてSAMLを設定する方法](https://blog.teraren.com/posts/atlassian-saml-google-workspace/): AtlassianとGoogle WorkspaceのSAML連携で証明書が切れた際の更新手順。Google管理コンソール側2箇所とAtlassian管理画面の3箇所を設定する方法を解説 - [電子おもちゃ設計論の最終課題が完成!](https://blog.teraren.com/posts/atmel/) - [MySQLのカラムにYEAR型は使うべきではない](https://blog.teraren.com/posts/avoid-mysql-year-type/) - [awkでアクセスログ集計](https://blog.teraren.com/posts/awk/) - [コマンドラインで合計、平均などの集計処理 ](https://blog.teraren.com/posts/awk-sum-average/): awkコマンドを使ってコマンドラインでデータの合計・平均・最大値などを集計する方法。Apacheアクセスログの平均レスポンスサイズ計算など実用例も紹介。 - [AWS EC2 IP address range](https://blog.teraren.com/posts/aws-ec2-ip-address-range/): 米国東西・EU・アジア太平洋・南米など各リージョンのAWS EC2 IPアドレスレンジ一覧(2014年時点のCIDRブロック参照用まとめ) - [Instance Schedulerを使ってEC2, RDSの定期停止](https://blog.teraren.com/posts/aws-instance-scheduler/): AWSのInstance SchedulerをCloudFormationでデプロイし、EC2・RDSを平日昼間のみ稼働させてコストを削減する設定手順を詳しく解説。 - [AWS Organizationを導入した後にAWS IDを作る手順](https://blog.teraren.com/posts/aws-organization-account-creation/) - [AWS QuickSight関連メモ](https://blog.teraren.com/posts/aws-quicksight-business-intelligence/) - [AWS session managerのクライアント設定](https://blog.teraren.com/posts/aws-session-manager/): AWS Session Managerで踏み台サーバ不要のSSH接続を実現するクライアント設定手順。ssh-over-ssmとssm-toolを使い、EC2インスタンスIDをわかりやすい名前でアクセスできるように設定。 - [basic認証をGETパラメータでスキップするサービス作った](https://blog.teraren.com/posts/basic-auth-skip-by-get-parameter/): Google CalendarなどBasic認証非対応のHTTPクライアント向けに、GETパラメータで認証情報を渡してBasic認証を通過させるOSSプロキシサービスの作成経緯と使い方。 - [Beckyのスプラッシュ画像を消す](https://blog.teraren.com/posts/becky-remove-splash-image/) - [Benchmarking ActiveRecord and mysql2](https://blog.teraren.com/posts/benchmarking-activerecord-and-mysql2/): RubyのActiveRecordとmysql2ドライバの速度を実測比較。1万回のクエリでActiveRecordは6.6秒、mysql2直接使用は3.5秒と約2倍の差を計測。 - [Doctrine2はPDOの3倍以上遅い - Benchmarking PDO, mysqli, Doctrine2](https://blog.teraren.com/posts/benchmarking-pdo-mysqli-doctrine2/): PHP+MySQLのデータアクセス層としてPDO・mysqli・Doctrine2のSELECT速度をベンチマークし、Doctrine2がPDOより3倍以上遅いことを実測で確認 - [blackbox using cygwin](https://blog.teraren.com/posts/blackbox-using-cygwin/): CygwinのデフォルトウィンドウマネージャをBlackboxに変更する手順。ソースからのコンパイルと.xinitrcの設定方法を解説。 - [生成系AIサービスから自分のサイトをブロックする方法](https://blog.teraren.com/posts/block-llm-crawler/) - [Web系エンジニアなら必ず読むべき技術書5冊](https://blog.teraren.com/posts/book-recommendation/): Code Complete、詳解TCP/IP、デザインパターン入門など、5〜20年使える普遍的な知識を習得できるWeb系エンジニア向け技術書5冊を厳選紹介。 - [Bose QuietComfort 35が予想以上に良い!](https://blog.teraren.com/posts/bose-quietcomfort-35/): ATH-ANC9からBose QuietComfort 35へ乗り換えた2ヶ月使用レビュー。軽量・長時間バッテリー・ワイヤレスの快適さを絶賛。コード断線リスクからの解放も評価。 - [Webページの最下部へのスクロールを判定するjQuery](https://blog.teraren.com/posts/bottom-scroll-detection-jquery/) - [小規模(5〜20人)ベンチャーオフィスのネットワーク構築例](https://blog.teraren.com/posts/building-small-office-network/): 5〜20人規模のオフィス移転に際し、VLAN分離・VPN・WiFi冗長化などネットワーク設計から機器選定・設置まで実例を詳しく紹介します。 - [過去に立ち上げたサービスのまとめ](https://blog.teraren.com/posts/built-services/): 駅・路線API、銀行コードAPI、郵便番号APIなど、個人で開発・公開してきたREST APIサービスの一覧と現在の稼働状況をまとめた記事 - [c5d.18xlargeを使ってみた](https://blog.teraren.com/posts/c5d-18xlarge/) - [CakePHP1.2でPaginate](https://blog.teraren.com/posts/cakephp12-paginate/): CakePHP 1.2でページネーションを実装する方法。ControllerとViewのコードスニペットを使ったシンプルなPaginatorの導入手順を解説。 - [CGI benchmarking](https://blog.teraren.com/posts/cgi-benchmarking/) - [Chrome 70からExtension無しでスクリーンキャストができます](https://blog.teraren.com/posts/chrome-70-screen-sharing/) - [Chromeの広告ブロッカー](https://blog.teraren.com/posts/chrome-ad-block/) - [chromedriverのインストールをarmとintelのDockerfileで共通化](https://blog.teraren.com/posts/chromedriver-on-arm/) - [CHUWI HeroBox 2023 (Intel N100搭載) を買ってみたのでベンチマーク](https://blog.teraren.com/posts/chuwi-herobox-2023/): 2万円台のミニPC CHUWI HeroBox 2023をCINEBENCHやCrystalDiskMarkで計測し、温度特性や用途適性を検証 - [CircleCIでRAMを節約](https://blog.teraren.com/posts/circleci-reduce-ram/): CircleCIのコンテナでデフォルト起動する不要なサービス(MongoDB、PostgreSQLなど)を停止してメモリを節約する方法。circle.ymlの設定例付き。 - [docker-composeでvolume含めて作り直し](https://blog.teraren.com/posts/cleanup-current-docker-compose/) - [CloudFrontにてCORSを利用する際の設定方法](https://blog.teraren.com/posts/cloudfront-cors-s3/): CloudFrontとS3でCORSリクエストが成功したり失敗したりする原因と、Originヘッダのキャッシュ設定を正しく行う具体的な解決方法 - [CloudWatchのlog insightでの調査例](https://blog.teraren.com/posts/cloudwatch-log-insight/) - [CloudWatchにrubyアプリケーションからログを投げる](https://blog.teraren.com/posts/cloudwatch-ruby/) - [CloudWatchからSNS経由でSlackへ通知](https://blog.teraren.com/posts/cloudwatch-to-slack/) - [shellでmatrix](https://blog.teraren.com/posts/cmatrix/) - [二酸化炭素濃度を測定して集中力アップ](https://blog.teraren.com/posts/co2-consentration/): CO2センサを3台用意し、車・オフィス・寝室など様々な場所でCO2濃度を実測して集中力や眠気との関係を調べた記録 - [CG-HDC4EU3500所感](https://blog.teraren.com/posts/comments-for-cg-hdc4eu3500/): コレガ製4ベイRAIDケースCG-HDC4EU3500を5年運用した結果、RAID5の極端な低速さとデータ消失リスクを実体験から総括 - [合同会社を作ってみたけど事務処理が複雑だったので流れまとめておく](https://blog.teraren.com/posts/company/): freeeを使って合同会社を設立した体験記。総コスト約7万円+資本金、シーケンス図で手続きの全体像を整理。行政手続きの煩雑さとハマりどころを解説。 - [Compiling subversion from source distribution.](https://blog.teraren.com/posts/compiling-subversion-from-source-distribution/) - [コピペで出来るComposer導入](https://blog.teraren.com/posts/composer/): PHPのパッケージ管理ツールComposerをコピペだけで導入できるよう、インストールからライブラリの追加まで手順をステップごとに解説します。 - [Vagrant + Core OS + docker-compose](https://blog.teraren.com/posts/coreos-docker-compose/): boot2dockerのファイルシステムが遅い問題をVagrant+CoreOS+docker-composeで解決し、各構成のI/Oベンチマーク結果を比較・解説します。 - [エンジニア視点のコストコのおすすめベスト10](https://blog.teraren.com/posts/costco/): 7年間のコストコ会員歴を持つエンジニアが、実際に買い続けて殿堂入りしたコスパ抜群の商品をランキング形式で紹介 - [新型コロナウィルス陽性者グラフのFeed](https://blog.teraren.com/posts/covid19-japan-graph-feed/) - [CPAN初期設定](https://blog.teraren.com/posts/cpan-setting/) - [CPIの稼働率低い。SLA返金してくれない。](https://blog.teraren.com/posts/cpi-sla/) - [テレカンするとCPU利用率が高くなる→熱暴走の保護機能が発動している](https://blog.teraren.com/posts/cpu-high-load-caused-by-heat-issue/): MacBook ProでテレカンのたびにCPU負荷が急上昇する原因を追究し、熱による保護機能の発動と冷却グリス劣化が原因と特定した調査記録 - [Minedia社の技術ブログを立ち上げました](https://blog.teraren.com/posts/creating-a-tech-blog/): Next.js SSGとOSSのblog hubをForkし、Vercelと独自ドメインで会社の技術ブログを10分で構築した手順を紹介 - [クレジットカード番号 BINコード](https://blog.teraren.com/posts/credit-card-bin-code/) - [cronによるコマンド実行順番](https://blog.teraren.com/posts/cron-command-execution/): crontabに同時刻のコマンドを複数登録した場合、同期実行か非同期実行かを実験で検証し、セミコロンを使った同期実行の方法も紹介します。 - [CSVデータをActiveRecordにimportする際における各手法のベンチマーク](https://blog.teraren.com/posts/csv-activerecord-import/): RailsでCSVをDBへインポートするActiveRecord・Hash・insert・bulk insertの4パターンを12万件の郵便番号データで速度比較し最適解を導出 - [オンライン消費者調査の現在と未来:LLMがもたらすパラダイムシフト](https://blog.teraren.com/posts/customer-research/): 日本のマーケティングリサーチ市場の変遷を振り返り、LLMが定量・定性調査の各工程をどう変革し、リサーチャーの役割をどう変えるかを考察します。 - [cyta.jpサービス終了に先立ち魚拓](https://blog.teraren.com/posts/cyta-jp-gyotaku/): 2007年から開発に携わったC2C教育プラットフォームcyta.jpのサービス終了を前に、開発史と技術的チャレンジを振り返る記録 - [科学における情報の上手な権利化と共有化メモ](https://blog.teraren.com/posts/data-sharing-in-science/): Lawrence Lessigら登壇の東大シンポジウムを聴講したメモ。音楽と科学でのコピーライトの違い、Creative Commonsの意義、デジタル時代の著作権とイノベーションについて。 - [Debian console](https://blog.teraren.com/posts/debian-console/) - [Debian 複数 IPアドレス](https://blog.teraren.com/posts/debian-ip-alias/): Debian 5でeth0:0のIPエイリアスを使い、1枚のNICに複数のIPアドレスを/etc/network/interfacesで静的割り当てする設定例 - [debian sparc kernel compile](https://blog.teraren.com/posts/debian-sparc-kernel-compile/): Debian SPARC環境でカーネルをビルドする際に発生するsparc64-linux-gccコマンド未発見エラーの解決方法。egcs64パッケージの導入とカーネルビルド手順。 - [Debian Squeeze 6.0 (Ubuntu12)でPHP5.4やMySQL5.5](https://blog.teraren.com/posts/debian-squeeze-php54-mysql/): Debian安定版にdotdebリポジトリを追加することでPHP 5.4やMySQL 5.5など最新サーバアプリケーションをインストールする手順 - [UbuntuやDebianにおいて古いKernelイメージの削除方法](https://blog.teraren.com/posts/debian-ubuntu-remove-old-kernels/): UbuntuやDebianで蓄積した古いカーネルイメージをdpkgコマンドで確認・削除する手順とディスク容量を節約するための実践メモ - [DELL POWEREDGE T320資料写真](https://blog.teraren.com/posts/dell-poweredge-t320/) - [PCが1時間に1回ハングアップする](https://blog.teraren.com/posts/development-speed-part2/) - [deviseチュートリアル作りました](https://blog.teraren.com/posts/devise-tutorial/): Rails用認証gemのdeviseを使ってシンプルなログイン機能を実装するチュートリアル。公式ドキュメントを補完する形で手順ごとにコミットを分けて解説します。 - [Web魚拓: 「研究」と「勉強」の違い](https://blog.teraren.com/posts/diff-study-research/): 慶應SFCの井庭崇教授による「研究とは知のフロンティアを開拓すること、勉強とはフロンティアまで辿り着くこと」という名解説の魚拓 - [Railsでsessionを無効化する方法](https://blog.teraren.com/posts/disable-session-on-rails/) - [UbuntuにてIPv6のtemporary addressを使わないようにする。サーバ運用なので。](https://blog.teraren.com/posts/disable-temporary-address-of-ipv6-on-ubuntu/): RFC3041のIPv6プライバシー拡張による一時アドレス自動変更の仕組みを解説し、サーバ運用向けにUbuntuで固定アドレスのみ使用する設定手順を紹介します。 - [Disabling local timemachine cache](https://blog.teraren.com/posts/disabling-local-timemachine-cache/) - [DMM Affiliate APIをPHPから呼び出すライブラリ作りました](https://blog.teraren.com/posts/dmm-affiliate-api-php/) - [DNSレコードのリグレッションテスト](https://blog.teraren.com/posts/dns-regression-test/): DNSゾーンサーバ移行時の設定ミスや漏れを検出するRuby製リグレッションテストツールを作成。成功・失敗時のスクリーンショット付きで使い方を解説。 - [docker-composeでEC2上に開発環境を作る上でのメモ](https://blog.teraren.com/posts/docker-compose-ec2/): EC2でdocker-composeを使ったプレビュー環境構築時のAMI選択・インスタンスタイプ・ディスク容量・セキュリティグループ設定のハマりどころまとめ - [docker-compose経由でMySQLのデータをバックアップとリストア](https://blog.teraren.com/posts/docker-compose-mysql-backup-and-restore/) - [docker-composeでzabbixを立ち上げ](https://blog.teraren.com/posts/docker-compose-zabbix/): docker-composeを使ってZabbixを9コンテナ構成で立ち上げ、自宅のYAMAHA RTXルーターのリソースをSNMP経由で監視する設定手順。公式テンプレートを使った初期設定方法を解説。 - [Dockerで開発環境管理](https://blog.teraren.com/posts/docker-dev-server/): EC-CUBEの複数バージョン動作確認を目的にDockerfileで開発環境を構築し、Docker Hubで管理する方法を解説 - [docker-compose で Error processing tar file(exit status 1): unexpected EOF](https://blog.teraren.com/posts/docker-error-processing-tar-file/): docker-composeビルド時に発生する「Error processing tar file: unexpected EOF」の原因と対処法。ワークディレクトリのパーミッション問題が根本原因。 - [armとintelのdocker-compose共通化へ向けて(Ruby on Rails編)](https://blog.teraren.com/posts/docker-m1-arm-glibc-error-on-nokogiri/): M1 MacのDockerでnokogiriのGLIBC_2.29エラーが発生する原因と、ARM・Intel両対応のdocker-compose設定で解決する方法 - [DockerのMySQL5.7でエラー Unix socket lock file is empty /var/run/mysqld/mysqld.sock.lock](https://blog.teraren.com/posts/docker-mysql-unix-socket-lock-file-is-empty/) - [dockerでno space left on deviceが出た時の対処法](https://blog.teraren.com/posts/docker-no-space-left-on-device/): Dockerで「no space left on device」が表示されたときに、不要なイメージやボリュームを段階的に削除してディスク容量を回収する手順を解説 - [手っ取り早くDockerを動かしてみる方法](https://blog.teraren.com/posts/docker-quick/): Mac OS XでVagrantとCore OSを使ってboot2dockerなしでDockerを動かす最短手順。コマンド数回でUbuntuコンテナを起動しnginxまで立ち上げる入門チュートリアル。 - [Dockerを使って、vagrant upするだけで面倒なRailsの開発環境を瞬時に構築](https://blog.teraren.com/posts/docker-rails-vagrant/): VagrantとDockerを組み合わせてRuby on Rails開発環境を自動構築し、2回目以降は30秒で起動できる仕組みを解説 - [スタートアップのためのドキュメントSaaS比較](https://blog.teraren.com/posts/document-tool-comparison/): スタートアップがドキュメント管理に使えるSaaSツールを実際に試して比較した一覧表。料金・階層構造・多言語対応・画像アップロードなどの機能を網羅的に評価しています。 - [日本なら超速!dotdebのミラーサイト](https://blog.teraren.com/posts/dotdeb-mirror-site/) - [dot-qmailハマった。。。](https://blog.teraren.com/posts/dot-qmail-no-such-file-or-directory/) - [Beoplay E8 VS Bose SoundSport Free](https://blog.teraren.com/posts/e8-vs-soundsport/): ジムや通勤用に完全ワイヤレスイヤホンを比較。B&O Beoplay E8とBose SoundSport Freeの音質・フィット感・価格を実際に使って徹底比較。 - [EC2ホストのログをCloudWatch Logsに集約](https://blog.teraren.com/posts/ec2-cloudwatch-logs/): Amazon Linux 2とUbuntuのEC2インスタンスで、OSログやApacheログをCloudWatch Logsへ集約するawslogsの設定手順をまとめています。 - [EC2で運用しているWebサイトをIPv6対応した時の設定](https://blog.teraren.com/posts/ec2-ipv6/): VPC・EC2・ALB・Route 53を使ったWebサイトをIPv6対応させるための設定手順をステップごとに解説した実践ガイド - [Eclipse java comm error](https://blog.teraren.com/posts/eclipse-java-comm-error/) - [中小企業共通EDI標準あたりをまとめてみる](https://blog.teraren.com/posts/edi/): 政府の「未来投資戦略2018」を背景に、商流EDIと金融EDIの標準化動向や関連団体・規格をエンジニア視点で整理した解説記事 - [EIZO EV2736W-FSBK修理(2回目)](https://blog.teraren.com/posts/eizo-ev2736w-fsbk/) - [路線情報・駅情報のREST APIサービスを作りました](https://blog.teraren.com/posts/ekidata-api/): Ruby on Rails 7とTailwindを使って日本全国の路線・駅情報をJSONやCSVで取得できるREST APIサービスを自作した際の概要とAPI呼び出し例を紹介します。 - [AWSのElastiCacheはPCI DSS非対応](https://blog.teraren.com/posts/elasticache-pci-dss/) - [e-learning系参考サイト](https://blog.teraren.com/posts/e-learning-reference-sites/) - [コマンドラインで集合演算](https://blog.teraren.com/posts/element-calculation/): sortとuniqコマンドを組み合わせてCSVファイルの積集合・和集合・差集合をコマンドラインで手軽に計算する方法 - [embody chairの肘掛けのねじはT30](https://blog.teraren.com/posts/embody-chair-t30/) - [エンジニア不足を解消するソリューションの仮説](https://blog.teraren.com/posts/engineer-oss/): エンジニア採用難の解決策として、ソースコードをOSSとして公開し全世界のエンジニアがPull Requestで貢献できる仕組みを提案する考察記事です。 - [20年前に恐れていたことが現実になってきている](https://blog.teraren.com/posts/engineer-pricing/): 大学時代に抱いた中国・インドへの技術格差縮小の懸念が20年後に現実となり、日本エンジニアの国際競争力低下を考察 - [英語の勉強を始める前に読む話](https://blog.teraren.com/posts/english-learning/): UCLA留学経験をもとに英語習得のピラミッド理論を紹介し、社会人が効率よく英語力を伸ばすための考え方と実体験をまとめた記事 - [Envoy(受付アプリ)のSlack通知が遅いので自作](https://blog.teraren.com/posts/envoy-slack-notification/): オフィス受付アプリEnvoyのSlack連携が4〜5分遅延する問題を解消するため、webhookを直接受け取るPHPスクリプトを自作した実装例 - [エストニアのe-Reidency(電子国民)取得方法](https://blog.teraren.com/posts/e-residency/): エストニアのe-Residency申請に必要な書類・費用・手順を実体験をもとに解説。日本にいながら欧州で法人設立・銀行口座開設が可能な制度の概要も紹介 - [[ERROR] Got error 134 when reading table './データベース名/テーブル名'](https://blog.teraren.com/posts/error-got-error-134-when-reading-table/): MySQLでError 134が発生してMyISAMテーブルがクラッシュした際、repairやrestartでは解決せずダンプ・drop・recreateで復旧した手順を紹介。 - [Error response from daemon: network xxxxxxxx not foundエラーが出たけど解決](https://blog.teraren.com/posts/error-response-from-daemon-network-not-found/): docker-compose.ymlからサービスを削除した後にnetwork not foundエラーが発生する原因と、設定を戻してdownしてから再起動する解決方法 - [見積もり手法](https://blog.teraren.com/posts/estimation-methods/) - [エストニアのe-Residency(電子国民)を更新してみた](https://blog.teraren.com/posts/estonia-e-residency-update/): エストニアe-ResidencyカードをDigiDoc4クライアントで更新する手順とPIN変更の注意点、その後の活用実態を報告 - [Ethereum動かしてみた](https://blog.teraren.com/posts/ethereum-survey/): gethを使ってEthereumのプライベートネットワークをローカルで構築し、アカウント作成やマイニング、送金などの基本操作を試したハンズオン記録です。 - [シングルトンが邪悪な理由](https://blog.teraren.com/posts/evil-singleton/): グローバル変数化・単一責務違反・テスト困難という3つの観点からSingletonパターンが設計上有害な理由を解説 - [Syntax Error出て欲しいけど出ない](https://blog.teraren.com/posts/expecting-syntax-error-but-not/) - [ext3ってinode増えすぎると壊れるくさい](https://blog.teraren.com/posts/ext3-inode-overflow-corruption/) - [Amazon Linux AMI 2018.03でEBS拡張](https://blog.teraren.com/posts/extend-ebs-amazon-linux-ami-2018-03/): Amazon Linux AMI 2018.03でEBSボリュームが99%になった際、growpartとresize2fsコマンドでオンラインのまま容量を拡張する手順をコマンド実行例付きで紹介。 - [自分のグローバルIPアドレスを1秒で求める方法 (IPv4, IPv6対応)](https://blog.teraren.com/posts/external-ip-address/): curlコマンド一発でグローバルIPアドレスを取得できるサービスの紹介と、PHP・Ruby・Python・Shellなど各言語からの利用サンプルコードをまとめています。 - [F5 BIG-IP 1500 と Link Controllerの組み合わせで不具合](https://blog.teraren.com/posts/f5-big-ip-1500-link-controller/) - [位置情報付きFacebook Likeボタン](https://blog.teraren.com/posts/facebook-like-button-with-location/) - [Facebook pageのlike数をトラッキングするサービス](https://blog.teraren.com/posts/facebook-page-like-tracking/): Facebook公式が公開しないLike数の推移を記録するトラッキングサービスを自作。Redis・Slim・Twigで構築し5年間運営した後、アクセス伸び悩みで2018年に停止。 - [Face ID Is Not Available](https://blog.teraren.com/posts/face-id-is-not-available/) - [fail2banを運用するにあたっての設定](https://blog.teraren.com/posts/fail2ban-operation/): SSHの踏み台サーバでfail2banを運用し、24時間8998件のBANを記録。bantime1年に設定してMackerelでグラフ化する運用ノウハウ - [fastCGI用のPHPインストール](https://blog.teraren.com/posts/fastcgi-php-installation/) - [Fatal error: Exception thrown without a stack frame in Unknown on line 0](https://blog.teraren.com/posts/fatal-error-exception-thrown-without-a-stack-frame-in-unknown-on-line-0/) - [Ferdiのエラー対処法 Grrr! A pop-up blocker may be preventing the application fro opening the page. If you have a pop-up blocker, try disabling it to open the window.](https://blog.teraren.com/posts/ferdi-grrr-a-pop-up-blocker-may-be-preventing-the-application-fro-opening-the-page-if-you-have-a-pop-up-blocker-try-disabling-it-to-open-the-window/) - [Firewall解放ポート一覧](https://blog.teraren.com/posts/firewall-open-ports-list/) - [関東の花火大会をTweetするBotを作りました](https://blog.teraren.com/posts/fireworks/) - [ファーストサーバー報告書から考えるエンジニアの仕事のあり方](https://blog.teraren.com/posts/first-server-accident/): ファーストサーバー大規模障害の報告書を読んで考察。優秀なエンジニアほど起こしやすいミスのパターン、安全性とパフォーマンスのバランス、防御的プログラミングの重要性を論じる。 - [fixcrioのプロセスが残る](https://blog.teraren.com/posts/fixcrio-process-remains/) - [Win, Mac対応のソフトウェアでブルーライト対策](https://blog.teraren.com/posts/flux/) - [freeコマンド](https://blog.teraren.com/posts/free-command/) - [全国駅データの無料版!](https://blog.teraren.com/posts/free-japan-station-data/) - [FS01BUをMac OS X El Capitanで使う方法](https://blog.teraren.com/posts/fs01bu-mac/) - [FS01BUからSIMカードが外せなかったので、分解して取り出す](https://blog.teraren.com/posts/fs01bu-sim/): USB型3GドングルFS01BUでNano SIMアダプターが引っかかり取り出せなくなった際に、トルクスドライバーで分解してSIMを救出した手順 - [超お手軽ネットワークモニタリングコマンド](https://blog.teraren.com/posts/ftop-network-monitoring/): Linux/macでリアルタイムにホストごとのネットワークトラフィックを可視化するiftopのインストール方法と主要オプションを解説 - [Fujitsu PRIMERGY TX1310 M3にOSインストール断念](https://blog.teraren.com/posts/fujitsu-primergy-tx1310-m3-quit-installation/): Fujitsu PRIMERGY TX1310 M3へのDebianやUbuntuインストールを試みたがソフトウェアRAIDの挙動が不安定で断念した経緯と知見メモ - [FULCRUM RACING QUATTROを買った](https://blog.teraren.com/posts/fulcrum-racing-quattro/): デュアスロン出場のためFULCRUM RACING QUATTRO 2013モデルを購入。直進安定性と剛性の高さ、走り出しの重さの評価と1年後のメンテナンス記録。 - [ゲームプログラミング](https://blog.teraren.com/posts/game-programming/) - [gangliaをMac OS X Serverにインストール](https://blog.teraren.com/posts/ganglia-mac/): HomebrewでGangliaをMac OS X Serverにインストールし、gmetadとgmondを自動起動させるまでの手順をコマンド付きで解説 - [GClientGeocoder](https://blog.teraren.com/posts/gclientgeocoder/): Google Maps APIのGClientGeocoderを使って地名や住所から緯度経度を取得するJavaScript実装例。jQueryを使ったサンプルコードとデモリンク付き。 - [Webサイトの更新を逐一知るためのスクリプト](https://blog.teraren.com/posts/gem/): RubyのWebサイト更新チェッカーgemを自作・公開。指定URLの変化を検知してメール通知するツールの作成方法とgem公開手順を解説。 - [Generate URL for password reset manually using devise](https://blog.teraren.com/posts/generate-url-for-password-reset-manually-using-devise/) - [GMTとUTCは違う](https://blog.teraren.com/posts/get-utc/) - [git1.6 install](https://blog.teraren.com/posts/git1-6-install/): git 1.6をソースからビルドする際にGUI関連のTcl/Tkコンパイルエラーが発生する場合の--without-tcltk オプションを使った回避方法 - [git-archive使い方](https://blog.teraren.com/posts/git-archive/) - [git config --global push.default tracking](https://blog.teraren.com/posts/git-config-global-push-default-tracking/) - [gitでハイフンから始まるブランチ名を削除](https://blog.teraren.com/posts/git-delete-branch-starting-with-hyphen/) - [gitにて公開したbranchでrebaseしちゃダメ](https://blog.teraren.com/posts/git-do-not-rebase/) - [GitHub ActionsからS3へデプロイ](https://blog.teraren.com/posts/github-actions-deploy-to-s3/) - [静的サイトの自動デプロイ github -> CircleCI -> S3 -> CloudFront](https://blog.teraren.com/posts/github-circleci-s3-cloudfront-deploy/): GitHubへのpushを契機にCircleCIが自動でS3デプロイとCloudFrontキャッシュ削除を行うCI/CD設定。config.ymlの具体例とAWSアクセスキーの環境変数設定方法を解説。 - [githubのissueやpull requestをCSVで出力するスクリプトを書きました](https://blog.teraren.com/posts/github-issues-prs-csv-export/) - [githubでmentionされたらslackへ通知する設定 (所要時間約10分)](https://blog.teraren.com/posts/github-mention-slack/): GitHub Actionsの「github-mention-to-slack」を使い、GitHubでmentionされたらSlackへ即通知する設定方法。既読管理やリマインダーも活用できる快適な開発ワークフローを構築。 - [GitHubのPull Requestにプレビュー用URLを自動でコメント](https://blog.teraren.com/posts/github-pull-request-comment/): CircleCI 2.1とS3を使った静的サイトの自動デプロイ環境で、デプロイ先URLをGitHub Pull Requestのコメントに自動投稿するCircleCIの設定方法を解説します。 - [githubのrepositoryを一括でバックアップする](https://blog.teraren.com/posts/github-repository-backup/) - [git memo](https://blog.teraren.com/posts/git-memo/): Subversionから移行したgitの設定ファイルやよく使うサブコマンドを体系的にまとめたチートシート集 - [gitにて大容量のファイルを探して履歴から消す](https://blog.teraren.com/posts/git-remove-large-files/): GitHubへのpushを妨げる100MB超ファイルをgit_find_big.shで特定し、git filter-branchコマンドでリポジトリ履歴から完全に削除する手順を解説。 - [gitでSSLエラーが出たときの対処法](https://blog.teraren.com/posts/git-ssl/) - [git's weekly number of commits graph](https://blog.teraren.com/posts/gits-weekly-number-of-commits-graph/) - [git の便利なサブコマンド](https://blog.teraren.com/posts/git-usuful-subcommand/): git-extrasで追加されるgit undo・git obliterate・git changelogなど、生のgitを拡張する便利なサブコマンドを紹介 - [gitv便利](https://blog.teraren.com/posts/gitv/) - [GMOBBが遅いのでSo-netの固定IPアドレスへ変更](https://blog.teraren.com/posts/gmobb-to-sonet/): GMOBBの夜間平均350kbpsという劣悪な速度をspeedtest-cliで可視化し、So-net固定IPへ変更後に150Mbpsに改善した比較レポート - [GNU screen, byobu, tmux benchmark](https://blog.teraren.com/posts/gnu-screen-byobu-tmux-benchmark/) - [GNU screenのウィンドウタイトル変更](https://blog.teraren.com/posts/gnu-screen-window-title-change/) - [Google APIのOAuth2に関連したトークンの扱い方法とシーケンス](https://blog.teraren.com/posts/google-api-oauth2-sequence/): Google APIのOAuth2認証フローをシーケンス図で解説し、authorization code・access token・refresh tokenの取得タイミングと安全な管理方法をまとめた記事 - [Google::Apis::GmailV1の主要オブジェクト図](https://blog.teraren.com/posts/google-apis-gmailv1-object/) - [GoogleのCloud Identityでエンドポイント管理](https://blog.teraren.com/posts/google-cloud-identity/): Google Cloud Identity Premiumで社内端末を一元管理し、BYODや紛失端末のリモートワイプをGoogle Workspaceと連携して実現する方法 - [Google driveのマイドライブに共有フォルダへのショートカットを作る方法](https://blog.teraren.com/posts/google-docs-my-drive-shortcut/) - [Google Domainsへ移管して無料でカスタムドメインをGmailで使う](https://blog.teraren.com/posts/google-domains-custom-domain-gmail/): Google Domainsの無料メール転送機能を使い、カスタムドメインのメールをGmailで送受信する設定手順を解説 - [Google Domainsのドメインでメール送信ができなくなったけど解決](https://blog.teraren.com/posts/google-domains-send-failure/) - [Google OSSのTsunamiを試してみた](https://blog.teraren.com/posts/google-oss-tsunami/) - [Google Pixel 3を買ってiPhone XSと比較](https://blog.teraren.com/posts/google-pixel3-vs-iphone-xs/): Google Pixel 3とiPhone XSを実際に使い比較。夜景撮影の明るさ差異、車載クレードル利用時のアンロック方式の優劣、Android 9のUX改善など個人的視点でレビュー。 - [Googleの検索結果にアイコンを表示する方法](https://blog.teraren.com/posts/google-result-icon/) - [Google Spreadsheetで特定の日の為替レートを表示](https://blog.teraren.com/posts/google-spreadsheet-fx/) - [Google SpreadsheetからGoogle Calendarへ一括登録](https://blog.teraren.com/posts/google-spreadsheet-to-google-calendar/): Google Apps Scriptを使ってスプレッドシートの予定一覧をGoogle Calendarへ一括インポートする方法。テンプレートとスクリプト例付きで手順を解説。 - [Google WorkspaceからOffice 365へのユーザ同期が年1回ぐらい止まる問題の対処方法](https://blog.teraren.com/posts/google-workspace-office-365/): Google WorkspaceのユーザをAzure ADへ自動同期する設定が定期的に止まる問題の対処法。トークン期限切れや証明書失効など3つの障害事例と再認証手順を解説。 - [gooshすごい。。。](https://blog.teraren.com/posts/goosh-is-amazing/) - [グラフィックスプログラミング 最終課題](https://blog.teraren.com/posts/graphics-programming-final-assignment/) - [unixコマンドでgrepの否定条件](https://blog.teraren.com/posts/grep-invert/) - [グレシャム(Gresham)の法則](https://blog.teraren.com/posts/gresham-law/) - [GrowthForecastでOS監視](https://blog.teraren.com/posts/growthforecast-macos/): kazeburo製のグラフ描画ツールGrowthForecastをMac OS X MavericksにインストールしてCPUやメモリ使用率を可視化する手順 - [hanami - The web, with simplicity](https://blog.teraren.com/posts/hanami-new-ruby-web-framework/) - [HHKB Proをオキシクリーンで掃除してルビング](https://blog.teraren.com/posts/happy-hacking-keyboard-pro-clean-up/): 2年間使い続けたHHKB Pro Hybrid Type-Sのキーキャップをオキシ漬けで洗浄し、スイッチにグリスを塗布して打鍵感を改善した実践レポート - [hbstudy 第75回: 「SRE大全: メルカリ編」 個人的なログ](https://blog.teraren.com/posts/hbstudy75-summary/): hbstudy第75回メルカリSRE講演のメモ。PHP7移行でCPU負荷半減、mackerel/PagerDutyによる監視体制、CDNキャッシュ制御、GKE+gRPCの活用事例などをまとめた。 - [herokuでPostGIS](https://blog.teraren.com/posts/heroku-postgis/): HerokuでPostGISを使うにはStandardプラン以上が必要。エクステンションの有効化から空間クエリの実行まで、公式ドキュメントに載っていない手順を補足 - [このブログのヒストリー](https://blog.teraren.com/posts/history-of-this-blog/): 2003年の慶應SFC開設からMovableType、Nucleus、WordPress、Astroへと変遷した22年間のブログ運用史。自宅サーバ、EC2、Lightsailなどインフラの移り変わりも記録。 - [homebrew-file使い出した](https://blog.teraren.com/posts/homebrew-file/) - [自宅もIPv6対応 (GMO BB フレッツ光 固定IP)](https://blog.teraren.com/posts/home-ipv6-gmo-bb/) - [自宅サーバ環境](https://blog.teraren.com/posts/home-server/): Dell PowerEdge T320を中古2.6万円で購入し、Xeon 8コア・16GB RAM・RAID1構成でDocker運用する自宅サーバ環境の詳細 - [hostコマンドが信頼出来ない場合がある](https://blog.teraren.com/posts/host-d-option/): hostコマンドで-dオプションの有無によってDNSの問い合わせ結果が変わる原因を調査。TCPとUDPの違いやDNSパケットサイズが挙動に影響することを解説します。 - [最新版GNU Screenインストール方法](https://blog.teraren.com/posts/how-to-install-the-newest-screen/) - [HSTS (Http Strict Transport Security)を設定](https://blog.teraren.com/posts/hsts-http-strict-transport-security/): NginxとApacheでHSTSヘッダを設定しpreloadリストへ登録する方法。includeSubdomains・1年以上の有効期限・preload指定の3条件と登録後の反映待ちについて解説。 - [HT-03aテザリング可能](https://blog.teraren.com/posts/ht-03a-tethering/) - [HTML5のcanvasでランキング描画](https://blog.teraren.com/posts/html5-canvas/) - [htopコマンドで見やすいリソースモニタリング](https://blog.teraren.com/posts/htop/) - [ガートナー、先進テクノロジーのハイプサイクル2018年版](https://blog.teraren.com/posts/hype-cycle/) - [ID3タグをUNICODEへ変換](https://blog.teraren.com/posts/id3-convert/) - [IDC Frontierのクラウドを使ってみた](https://blog.teraren.com/posts/idc-frontier-cloud/): IDC FrontierのIaaS/PaaSサービスを実際に試し、Nginxを使ったHTTPベンチマーク結果やDockerを使った環境構築の所感をレポートします。 - [Google ReaderのstarredをInstapaperに自動送信](https://blog.teraren.com/posts/ifttt/) - [Enable \"Ignore ownership on this volume\"](https://blog.teraren.com/posts/ignore-ownership/) - [スマートフォン用画像チェックプログラム](https://blog.teraren.com/posts/image-check/): Android・iPhone・iPadなど異なる解像度のスマートフォン向けに、GIF画像のファイルサイズと色数を様々な書き出し条件で比較検討できるWebアプリを作成。 - [IMAP web client](https://blog.teraren.com/posts/imap-web-client/) - [innodb_log_file_sizeを変更する方法](https://blog.teraren.com/posts/innodb-log-file-size/): MySQLのinnodb_log_file_sizeを安全に変更する手順。ib_logfileの移動が必要な理由と、変更しないまま再起動した場合に起きる.frmエラーの原因と対策を解説。 - [ioniceとniceでもっとも優先度を下げて実行](https://blog.teraren.com/posts/ionice-nice/) - [iOSで使えるsshターミナル](https://blog.teraren.com/posts/ios-terminal/) - [IPアドレスから位置情報への変換](https://blog.teraren.com/posts/ip-address-to-geolocation/) - [iPhone6 au SIMロック付を格安SIMで使う](https://blog.teraren.com/posts/iphone6-au-sim/): auのSIMロック付きiPhone 6でmineoのau回線SIMを使い4G通信に成功した検証結果と1年利用後の料金比較レポート - [auのiPhone6をSIM unlockしてみた→失敗](https://blog.teraren.com/posts/iphone-au-sim-unlock/): myimeiunlock.comにau iPhone 6のSIMロック解除を約2万円で依頼したが解除できず、PayPal経由で返金を受けるまでの顛末記 - [iPhone8電池無償交換→データが完全に消える。](https://blog.teraren.com/posts/iphone-battery-replacement/) - [iPhone Pro 新大久保駅前店で修理→壊された](https://blog.teraren.com/posts/iphone-pro-broken/): iPhone6のガラス・電池交換を非認定業者に依頼したら、Siri無効化・寒冷時電源断・充電不能と次々と不具合が発生。修理のたびに症状が悪化した体験談と業者の対応を詳述。 - [iPhoneの高画質カメラをWebカメラとして使う(無料)](https://blog.teraren.com/posts/iphone-web-camera/): NDIツールを使いiPhone 11 Proの高解像度カメラをMacのWebカメラ入力として無料で活用する設定とZoom・OBSへの適用方法 - [iPhone XSの深度情報テスト](https://blog.teraren.com/posts/iphone-xs-portrait/): iPhone XSが記録する深度情報をFocosアプリで活用し、購入後に絞りを自由に調整したポートレート写真のサンプルを紹介 - [livedoor providorからGMOとくとくBBへ乗り換え](https://blog.teraren.com/posts/isp-gmo-bb/): 7年使ったlivedoorプロバイダのサービス終了に伴いGMOとくとくBBへ移行。固定IP月1100円で夜間11Mbpsの速度と朝の100Mbps台を実測レポート - [iterm2でDeleteを押したらBackSpaceを送信](https://blog.teraren.com/posts/iterm2-delete-backspac/) - [iTP SA2 Eluma (2xAA)](https://blog.teraren.com/posts/itp-sa2-eluma-2xaa/) - [IX2015設定ファイルダンプ](https://blog.teraren.com/posts/ix2015-backup-file/) - [NEC IX2015設定要点と設定サンプル](https://blog.teraren.com/posts/ix2015-setting/): NEC IX2015ルーターの時刻設定・NTP・ホスト名・保存など主要コマンドのリファレンスと設定サンプル集 - [銀行コード、支店コードをAPIで取得](https://blog.teraren.com/posts/japanese-bank-code-branch-code-api/): 金融機関コードと支店コードをJSON形式で検索できるREST APIをRailsで自作し、公開するまでの背景と使い方を紹介 - [Java2D](https://blog.teraren.com/posts/java2d/) - [JavascriptのsetTimeout](https://blog.teraren.com/posts/javascript-settimeout/) - [Java SWF](https://blog.teraren.com/posts/java-swf/) - [JCOM CATVインターネット回線ベンチマーク](https://blog.teraren.com/posts/jcom-catv-internet/) - [Jet Profiler for MySQL](https://blog.teraren.com/posts/jet-profiler-for-mysql/) - [転職プラットフォームの理想を思考してみる](https://blog.teraren.com/posts/job-change-platform/): 乱立する50以上のエンジニア転職サイトに対する問題提起。採用する側・される側双方の視点からプラットフォームの理想モデルとゲーミフィケーション活用の可能性を考察。 - [jQueryによるチェックボックス一括チェック](https://blog.teraren.com/posts/jquery-check-all/) - [jQuery-UIのデフォルトパラメータを設定](https://blog.teraren.com/posts/jquery-ui-default-parameters/): jQuery-UIのdialogウィジェットでモーダル・幅・ボタンなどのデフォルト値をJQuery.ui.dialog.defaultsで一括設定する方法。毎回パラメータを書く冗長なコードをシンプルにするテクニック。 - [JSON-RPC 2.0のススメ](https://blog.teraren.com/posts/json-rpc/) - [ワンライナーでJSONをCSVに変換](https://blog.teraren.com/posts/json-to-csv/) - [JSONのvalidation](https://blog.teraren.com/posts/json-validatio/) - [KDDIが利用を強要するホームゲートウェイ(NEC製)の機能がショボすぎるのでAU光を契約する際は要注意](https://blog.teraren.com/posts/kddi-aterm-875ae1/): KDDI au光で強制使用されるNEC製ATERM-875AE1の問題点。DHCP最大64台制限、発熱、NAT不具合など実際の運用で発覚した欠陥を詳細にレポート。 - [kernel < 2.4.16](https://blog.teraren.com/posts/kernel-2416/) - [Webアプリケーションでのパスワード保存方法](https://blog.teraren.com/posts/key-streatching/) - [king of timeのgemを作りました](https://blog.teraren.com/posts/king-of-time-gem/) - [kmemsize](https://blog.teraren.com/posts/kmemsize/): VPS上でkmemsizeの上限に達してOSが停止した事例を解説。CPIの制限値32MBと使用率確認コマンド、muninグラフを用いた監視方法を紹介 - [kmemsizeをnagiosで監視](https://blog.teraren.com/posts/kmemsize-nagios/): VPSのOpenVZ環境でkmemsizeオーバーによるOSダウンを防ぐため、/proc/user_beancountersをPerlスクリプトでnagios監視する方法 - [SQLで先月という表現](https://blog.teraren.com/posts/last-month/): MySQLでBETWEENとdate_format、last_dayを使って「先月」の日付範囲を正確に指定するSQLの書き方を解説 - [launchctlでCould not find domain forエラー](https://blog.teraren.com/posts/launchctl-could-not-find-domain-for-error/) - [certbotを使ってSSL証明書を自動更新](https://blog.teraren.com/posts/lets-encrypt-certbot/) - [Let's Encryptを使って簡単0円でサーバ証明書を取得](https://blog.teraren.com/posts/lets-encrypt-free-ssl-certificate/): Let's Encryptを使ってNginxサーバに無料のSSL証明書を10分で取得・設置する手順を解説。Qualys SSLテストでの評価確認まで含めて紹介 - [libaio.so.1: cannot open shared object file](https://blog.teraren.com/posts/libaio-so-1-cannot-open-shared-object-file/) - [Facebookのブロックチェーン\"Libra\"を動かしてみました](https://blog.teraren.com/posts/libra-test-on-ubuntu/): FacebookのブロックチェーンプロジェクトLibraをUbuntu上のDockerでチュートリアル実行。ホワイトペーパーの考察とDockerfileの課題も紹介。 - [AWS LightsailでWordPressをホスティング](https://blog.teraren.com/posts/lightsail-wordpress/): AWS LightsailにWordPressを構築。EC2との違いや月約2,200円の運用コスト、ACMによるHTTPS設定、ロードバランサの制限など実際の構築記録をまとめた。 - [lighttpdベンチマーク](https://blog.teraren.com/posts/lighttpd-benchmark/) - [Lighttpd installation](https://blog.teraren.com/posts/lighttpd-installation/) - [LINE会話データ復元](https://blog.teraren.com/posts/line-chat-data-recovery/): MacのTimeMachineバックアップとLANケーブルを使い、削除したLINEの会話データを復元する具体的な手順を解説 - [LINEのWebMoney詐欺師のIPアドレス判明。なんと日本!](https://blog.teraren.com/posts/line-fraud/): 知人のLINEアカウントを乗っ取りWebMoneyを要求してきた詐欺師に対し、偽のURLを踏ませてIPアドレスを特定した経緯と、驚きの結果を公開します。 - [LINEのWebMoney詐欺師のIPアドレスを割り出してみた【その2】](https://blog.teraren.com/posts/line-webmoney-fraud-part2/): LINEアカウント乗っ取り詐欺師と実際にやり取りし、天安門事件のURLを踏ませてIPアドレスを特定。グレートファイアウォールで中国発とほぼ確定した調査録その2。 - [linux 2.6.0](https://blog.teraren.com/posts/linux-260/): Linux Kernel 2.6.0の正式リリース直後にインストールし、BYTE Benchmarkで2.4系との性能を比較した実験記録 - [linuxコンソールのバイナリエディタ](https://blog.teraren.com/posts/linux-console-binary-editor/) - [Ubuntu 20のサーバにWiFi6導入→なぜか遅い](https://blog.teraren.com/posts/linux-wifi6/): Ubuntu 20.04サーバにIntel製WiFi6アダプター(Archer TX3000e)をPCIe増設した際の設定手順と、速度が期待値に達しなかった原因の調査記録 - [LinuxでWiFiと有線LANのmac addressが同じに見える問題](https://blog.teraren.com/posts/linux-wifi-ethernet/): LinuxでWiFiと有線LANのMACアドレスが重複して見えARPテーブルが混乱する問題をarp_ignoreとarp_announceで解決した記録 - [ロリポップでWordPress文字化け](https://blog.teraren.com/posts/lolipop-wordpress-encoding/) - [長いSQL](https://blog.teraren.com/posts/long-sql/) - [LPIC Level2](https://blog.teraren.com/posts/lpic-level2/) - [Ubuntu 19にてLVMでディスクを追加](https://blog.teraren.com/posts/lvm-add-disk/): Ubuntu 19に新しいディスクを物理追加した後、fdiskでパーティション作成からpvcreate・vgextend・lvextendまでLVMでの容量拡張手順をコマンド付きで解説します。 - [LVMのファイルシステムをいきなりlvreduceして壊しかけた](https://blog.teraren.com/posts/lvm-lvreduce/): マウント中のLVMボリュームをlvreduceしてファイルシステムを破損させた失敗談と、umount→resize2fs→lvreduceの正しい縮小手順を解説します。 - [手元のMacBook Pro 16inchでGeekBench5してみた結果](https://blog.teraren.com/posts/macbook-pro-16inch-geekbench5/) - [Macでcrontab -e がエラーになる](https://blog.teraren.com/posts/mac-crontab/) - [Mac OS Xでファイルを転送する方法](https://blog.teraren.com/posts/mac-cyber-duc/) - [Macのサルベージソフト](https://blog.teraren.com/posts/mac-data-recovery-software/) - [Mac Book Airのディスク容量をお手軽に増やす](https://blog.teraren.com/posts/mac-disk/) - [mac eclipseでタブ切替](https://blog.teraren.com/posts/mac-eclipse-tab-shortcut/) - [MacでEvernoteにテキストファイルを一括インポート](https://blog.teraren.com/posts/mac-evernote-import/): AppleScriptを使ってMacのテキストファイルをEvernoteへ一括移行する手順。ノートブック名やファイル作成日を維持しつつ、Shift-JISファイルのUTF-8変換方法も解説。 - [Macで無料スクリーンキャスト](https://blog.teraren.com/posts/mac-free-screen-capture/) - [Macでionice](https://blog.teraren.com/posts/mac-ionice/) - [macosでsshfs](https://blog.teraren.com/posts/macos-sshfs/) - [macOSでSDカードやUSBメモリをフォーマットする方法](https://blog.teraren.com/posts/macos-usb-memory-format/): Linux用に変更したパーティションテーブルのSDカードやUSBメモリをmacOSでフォーマットする方法。ディスクユーティリティが使えない場合にdiskutilコマンドで解決する手順を解説。 - [Mac OS X Serverデフォルトシェル変更](https://blog.teraren.com/posts/mac-os-x-server-default-shell/) - [Mac OS X Serverのnamedが起動しない](https://blog.teraren.com/posts/mac-os-x-server-named-not-starting/) - [Mac Ports](https://blog.teraren.com/posts/mac-ports/): MacPortsの日常的なアップデートコマンドと古いパッケージ削除方法、さらにRuby 1.9とRails 3.xをインストールする手順をまとめたメモ - [【Mac】SSH経由でディスクをマウント](https://blog.teraren.com/posts/mac-sshfs/): MacでSSHFS+Macfusionを使いリモートサーバのディスクをローカルのようにマウントする方法。Xcode・FUSE・homebrew・sshfsのインストール手順を丁寧に解説。 - [Railsの404エラーページをコマンド1発でクールにする](https://blog.teraren.com/posts/make-rails-404-page-fancy/) - [MegaRAIDの節電機能](https://blog.teraren.com/posts/megaraid-eco/): 自宅サーバのHDD4台をstorcli経由でスピンダウンして節電を試みたが、MegaRAIDカードがPower savings非対応だった実験記録 - [MegaRAIDのパフォーマンスチューニング](https://blog.teraren.com/posts/megaraid-parameter-set/): DellサーバのMegaRAID SASコントローラーでWriteBackキャッシュやRead Aheadを設定し、MySQL起因のディスクI/Oノイズを軽減したチューニング手順 - [Memcached Object Cache+batcache](https://blog.teraren.com/posts/memcached-object-cache-batcache/): WordPressにMemcached Object CacheとBatcacheを導入してページ表示速度を35倍に高速化。キャリア別キャッシュのカスタマイズ方法とベンチマーク結果を紹介。 - [Linux kernel 2.4 コンパイル方法](https://blog.teraren.com/posts/memo/) - [mercariファミリーデー](https://blog.teraren.com/posts/mercari-family-day/) - [Mercari Tech Conf 2018 自分用メモ](https://blog.teraren.com/posts/mercari-tech-conf-2018-memo/): Mercari Tech Conf 2018に参加してマイクロサービスアーキテクチャの実例やSREの取り組み、グローバル展開の技術的課題などの発表から印象に残った点をまとめたメモです。 - [microsformats](https://blog.teraren.com/posts/microsformats/) - [Minecraft Server (統合版) をsystemdによる自動起動設定](https://blog.teraren.com/posts/minecraft-bedrock-server-setup/) - [mineoを解約してワイモバイル(Y! mobile)へ](https://blog.teraren.com/posts/mineo-to-yahoo/) - [Missing trailing-' in remote-shell command.](https://blog.teraren.com/posts/missing-trailing-in-remote-shell-command/): rsyncでSSHポート変更時に発生する「Missing trailing-' in remote-shell command」エラーをRSYNC_RSH環境変数で解決する方法 - [mixi日記をRSS配信するサービスを作りました →廃止](https://blog.teraren.com/posts/mixi-diary-feed/): mixi日記をRSS2.0で配信するサービス「mixidiary2feed」の仕様を紹介。mixi IDをURLに指定するだけで12時間キャッシュ・最大30件のフィードが取得可能(現在廃止済み)。 - [村井純教授の1月16日最終講義全文書き起こし](https://blog.teraren.com/posts/mj-last-clsas-text/): 「日本のインターネットの父」慶応大・村井純教授の定年退官最終講義を人力で全文書き起こし。インターネットと国境・自由・SFCの未来への提言を収録。 - [.zshrcを4年ぶりにメンテナンス。モダンなzsh環境にしてみた。](https://blog.teraren.com/posts/modern-zsh-setting/): zplugをプラグイン管理に採用し、iTerm2のSolarizedカラースキーマも刷新して高速で快適なモダンzsh環境を構築した記録 - [並列に、再帰的に、EXIF情報を消すコマンド](https://blog.teraren.com/posts/mogrify-imagemagick-recursive/) - [tmuxとtmux-powerlineの設定でかっこよくする](https://blog.teraren.com/posts/moteru-tmux-powerline/): tmuxにtmux-powerlineとPowerlineフォントを導入してステータスバーをおしゃれにカスタマイズするインストール手順と設定ガイド - [Raspberry Piで動体検知録画](https://blog.teraren.com/posts/motion-on-raspberry-pi/): Raspberry Pi 4とUSBカメラを使ってmotionで動体検知録画システムを構築する手順。発熱対策やカメラデバイスの設定方法も含めて解説 - [スクリーンキャプチャ動画を適当にgifアニにするコマンド](https://blog.teraren.com/posts/mov-to-gif-animation/) - [Mozilla Thunderbirdを使うとIMAPサーバ暴走](https://blog.teraren.com/posts/mozilla-thunderbird-imap-server-runaway/): Thunderbirdでメール削除時にIMAPサーバのロードアベレージが70に達する問題の原因と解決法。Trashフォルダに数万件のMaildirファイルが溜まりIO待ちプロセスが大量発生。ディレクトリ再作成で解消。 - [MTX ConnectのeSIMをヨーロッパで使ってみました](https://blog.teraren.com/posts/mtx-connect-esim/): スロベニア・クロアチア・ハンガリー旅行でMTX ConnectのeSIMを使い、登録手順・料金・テザリング可否・現地での使用感をレポート - [1つのWordPressで、複数のブログを運用する設定(10行追加するだけ)](https://blog.teraren.com/posts/multiple-wordpress-blog-one-install/): 1つのWordPressインストールで複数ブログを運用するためにwp-config.phpを数行変更してテーブルプレフィックスを動的に切り替えるApache向け設定方法を解説します。 - [multitailコマンド使ってみた](https://blog.teraren.com/posts/multitail-command-usage/) - [マルチスレッド○○画像ダウンローダー](https://blog.teraren.com/posts/multithread-image-downloader/) - [munin plugin - MySQL query cache usage](https://blog.teraren.com/posts/munin-plugin-mysql-query-cache-usage/) - [MySQL5.5をportでインストール](https://blog.teraren.com/posts/mysql5-5-port/): MacPortsを使ってMySQL5.5をmacOSにインストールする手順。シンボリックリンクの作成から初期DB設定、launchctlによるサービス起動管理まで解説。 - [MySQL 5.6 minor query optimizer tips](https://blog.teraren.com/posts/mysql-5-6-minor-query-optimizer-tips/) - [mysqlにてユーザを追加するときのクエリーテンプレ](https://blog.teraren.com/posts/mysql-add-user-query-template/) - [mysql_config](https://blog.teraren.com/posts/mysql-config/) - [MySQLのデータ復元,チェック,修復コマンド](https://blog.teraren.com/posts/mysql-data-recovery-check-repair/) - [MySQLの日付(Date)型を比較する際の注意](https://blog.teraren.com/posts/mysql-date-string/): MySQLでBETWEENを使う際にDATETIME型と文字列を混在させると比較結果が狂う落とし穴をSQL実行例で解説 - [MySQLで直前にinsertしたレコードの取得。](https://blog.teraren.com/posts/mysql-get-last-inserted-record/) - [MySQL InnoDB, Linux and SSD tuning](https://blog.teraren.com/posts/mysql-innodb-linux-and-ssd-tuning/) - [mysql nullと0](https://blog.teraren.com/posts/mysql-null-and-zero/) - [MySQLでindexが効いていないクエリーを調査](https://blog.teraren.com/posts/mysql-optimize-query/) - [末尾の半角スペースで困惑:ActiveModelとMySQLの連携問題](https://blog.teraren.com/posts/mysql-pad-space-and-active-record/): MySQLのPAD SPACEルールによりuniqueness検証で末尾スペース違いの値が重複扱いになる原因と、ActiveRecordとRSpecでの検証・回避策を解説します。 - [MySQLPHPGridを使ってみた](https://blog.teraren.com/posts/mysqlphpgrid-usage/) - [MySQLクイックチューニング](https://blog.teraren.com/posts/mysql-quick-tuning/) - [mysqlのtimezone変更方法](https://blog.teraren.com/posts/mysql-timezone-change/) - [MySQLはデータベースをまたぐトランザクションを行える](https://blog.teraren.com/posts/mysql-transaction/): MySQLでBEGIN〜ROLLBACKを使い、異なるデータベース(test・test2)をまたいだトランザクションが正常に動作することをSQL実行例で検証 - [久しぶりにmysqltuner](https://blog.teraren.com/posts/mysqltuner/): MySQLTunerでパフォーマンスとセキュリティを診断し、innodb_buffer_poolの過剰割り当てによるOOM問題の実例も紹介 - [MySQLチューニング](https://blog.teraren.com/posts/mysql-tuning/) - [MySQLで郵便番号を保持するスキーマ](https://blog.teraren.com/posts/mysql-zip-code-table/): 郵便局提供データを月次で一括置換してMySQLに保管するスキーマ設計とトランザクション戦略を解説。住所補完フォームの実装例として活用できる - [WordPressの高クオリティテーマ、Mystiqueの日本語版作りました](https://blog.teraren.com/posts/mystique-wordpress-japanese/) - [NEC IX2015 初期設定](https://blog.teraren.com/posts/nec-ix2015-initial-setup/): 企業向けルータNEC IX2015をヤフオクで5000円以下で入手し、IPSec確認やインターフェース番号など初期設定時に必要な基礎知識をまとめたメモ - [NECルータ自動再起動](https://blog.teraren.com/posts/nec-router-auto-reboot/): NATテーブルオーバーフローで頻繁にハングするNECルータをdaemontoolsで自動監視・再起動するシェルスクリプトの実装例 - [neofetchが終了してfastfetchが引き継ぎ](https://blog.teraren.com/posts/neofetch-fastfetch/): neofetch開発終了に伴いfastfetchへの移行を解説。高速動作・低リソース消費・豊富なカスタマイズ性などfastfetchの特徴とneofetchとの詳細比較、Ubuntuへのインストール手順を紹介。 - [Netgear GS108Eで自宅VLAN](https://blog.teraren.com/posts/netgear-gs108e/): Netgear GS108Eスマートスイッチを使って自宅ネットワークにVLANを構築。初期不良品交換の経緯と管理画面へのアクセス、iperfによるスループット測定結果を記録。 - [Netgear GS108E 繋がらない](https://blog.teraren.com/posts/netgear-gs108e-unable-to-setup/) - [新版Perl言語プログラミングレッスン](https://blog.teraren.com/posts/new-edition-perl-programming-lesson/) - [15分でNew Relicを用いてMac OS Xを監視する設定](https://blog.teraren.com/posts/newrelic-on-mac-os-x/): 公式非対応のMac OS XにnewRelic-unix-pluginを導入し、CPU・メモリ・ネットワークをNew Relicで監視する設定手順 - [2020/11/13 Minedia Tech Talk 今週のニュース](https://blog.teraren.com/posts/news/) - [2020/11/16 Minedia Tech Talk 今週のニュース](https://blog.teraren.com/posts/news-of-week/) - [nexus7 (2013)のタッチ不具合を紙で直す](https://blog.teraren.com/posts/nexus7-2013-touch-panel/): Nexus 7 (2013)のタッチパネルが勝手に反応する不具合を、分解して紙1枚を挟むだけで修正できたアーシング対策のDIY修理記録 - [Nexus S テザリング](https://blog.teraren.com/posts/nexus-s-tethering-2/) - [Nexus Sテザリング](https://blog.teraren.com/posts/nexus-s-tethering/) - [爆速!nginxを1分でHTTP2対応](https://blog.teraren.com/posts/nginx-http2/): 既存のSSL対応nginxにhttp2フラグとssl_ciphers設定を2行追加するだけでHTTP/2化できる最速セットアップ手順を解説 - [Dockerを使ってHTTP3対応のnginxでホスティングしてみる手順](https://blog.teraren.com/posts/nginx-http3/): DockerでHTTP3(QUIC)対応のnginxを動かし、Let's Encrypt証明書とUDP443ポートを使った実際の設定ファイルや動作確認方法をステップごとに紹介します。 - [nginxでサイトメンテナンスの設定](https://blog.teraren.com/posts/nginx-site-maintenance-setting/): ALB+EC2構成でnginxにreturn 503を追加したメンテナンス用インスタンスを立て、ポチポチするだけで切り替える方法を解説 - [node 18 upgrade error](https://blog.teraren.com/posts/node-18-upgrade-error/): Node.js v18へのアップグレード時に発生するERR_OSSL_EVP_UNSUPPORTEDエラーの原因と、NODE_OPTIONSで回避する方法を解説 - [nodejs (express) benchmark](https://blog.teraren.com/posts/nodejs-4-1-2-benchmark/) - [NURO Wireless 5G注意報:レンタルモデムの不安定さを知っておこう!](https://blog.teraren.com/posts/nuro-wireless-5g/): 基地局20m圏内でNURO Wireless 5Gを実測。屋外と屋内での速度差や発熱・IPv6対応など、レンタルルーターの実態を詳しくレポートします。 - [oEmbed](https://blog.teraren.com/posts/oembed/) - [スタートアップにお勧めのコーヒーメーカー](https://blog.teraren.com/posts/office-coffee/) - [omega-rpg](https://blog.teraren.com/posts/omega-rpg/) - [OpenSSLコマンドメモ](https://blog.teraren.com/posts/openssl-command-memo/): ApacheでSSLサーバを構築する際に必要な秘密鍵・CSR生成からサーバ証明書の確認まで、OpenSSLコマンドをまとめたリファレンス - [SSLサイト運営者は一度確認した方がいい事](https://blog.teraren.com/posts/openssl-sha1-csr-hash/): opensslのCSRハッシュアルゴリズムがSHA1になっていないか確認する方法と、SHA-256でCSRを安全に作り直す手順を解説 - [OWASP TOP 10のトップ3を解説](https://blog.teraren.com/posts/owasp-top10/): OWASP Top 10のうちInjection・Broken Authentication・Sensitive Data Exposureの3大脆弱性を具体的なコード例と対策付きで解説 - [Packfire Framework](https://blog.teraren.com/posts/packfire-framework/) - [効率の良いテスト手法の1つを紹介します - Pairwise testing](https://blog.teraren.com/posts/pairwise-testing/): テストパターンの組合せ爆発を防ぐPairwise(All-pairs)テストの概念と、Javaツール・HEXAWISEを使った直交表生成の実践方法を紹介。 - [panamaxを使ってみた](https://blog.teraren.com/posts/panamax-usage/): DockerコンテナをGUI管理できるPanamaxをMacにインストールし、WordPressをワンクリックで構築するまでの手順を紹介 - [Partition Magicに代わるパーティション分割アプリ](https://blog.teraren.com/posts/partition-magic-alternative/) - [決済代行会社を選ぶときのKPIベスト10](https://blog.teraren.com/posts/payment-gateway-kpi-best-10/): 手数料・API提供・セキュリティ・サポートなど決済代行会社を選定する際に確認すべき10項目のKPIをエンジニア兼事業者の視点で解説 - [PayPal Tech Meetup #2で発表してきました](https://blog.teraren.com/posts/paypal-tech-meetup-2/) - [PC版GREEの魚拓](https://blog.teraren.com/posts/pc-gree/) - [PCI DSSの管理システムアイディア](https://blog.teraren.com/posts/pci-dss-management-web-service/): Excel管理からの脱却を目指し、PCI DSS準拠項目をキーにしたSaaS型管理ツールのビジネスモデルと機能要件を公開するアイデア記事 - [PCI DSS v3.2 セキュリティ基準の内容を構造化してみた](https://blog.teraren.com/posts/pci-dss-v3-strucure-in-yaml/): PCI DSS v3.2の準拠要件PDFをYAML形式で構造化したデータを公開。ファイアウォール設定から暗号化、アクセス管理まで12要件の全チェック項目を検索しやすい形式にまとめています。 - [PEARのMailにて、persist有効時のパフォーマンス](https://blog.teraren.com/posts/pear-mail-persist-performance/): PHPのPEAR::MailでSMTP接続のpersistオプションを有効にした場合の速度差を計測。100通送信でpersistあり・なしの比較結果とテストコードを公開。 - [Perl shellでコマンド一発でモジュールをインストール](https://blog.teraren.com/posts/perl-shell/) - [4万枚400GBの写真を自動で安全にバックアップ。AWS Glacierで6ドル/年](https://blog.teraren.com/posts/photo-backup/): NASに保存した4万枚400GBの写真をrcloneとAWS Glacierを使い年間6ドルで自動バックアップする仕組みを、ワークフローと設定手順を交えて解説します。 - [PHP5.0.5 bug](https://blog.teraren.com/posts/php505-bug/) - [PHP 5.2.10 configure error](https://blog.teraren.com/posts/php-5-2-10-configure-error/): Debian 5.0環境でPHP 5.2.10をconfigureした際にlibcurlのヘッダーファイル不足で発生するエラーの解決方法と、5.2.10固有のFatal errorバグについて。 - [PHP 5.2.5 と nucleus](https://blog.teraren.com/posts/php525/) - [本当だった!PHP 5.5.30 から PHP 7.0.1 に上げて約2.4倍の高速化](https://blog.teraren.com/posts/php7-benchmark/): WordPress環境でPHP5からPHP7へ移行した実測ベンチマーク。ApacheBenchによる計測でOpcache有効時に約2.4倍の高速化を確認。 - [やっと公式コーディングルールができた!PHPのコーディングルール](https://blog.teraren.com/posts/php-coding-rule/): PHP-FIGが定めたPSR標準コーディング規約と、自動修正ツールPHP-CS-Fixerの使い方を解説。composerでインストールしてドライランで差分確認、Vimプラグインとの連携も紹介。 - [PHPでWindowsかどうかを判定](https://blog.teraren.com/posts/php-coding-tips/) - [PHPの日時に関連する関数の制限](https://blog.teraren.com/posts/php-date-function/): PHPのdate関数とstrtotime関数が32ビット環境で1901〜2038年の範囲しか扱えない制限を実験で確認し、1800〜2500年を表現する代替方法を検討した調査メモ - [PHPのDeployerをCircleCI上で実行して自動デプロイ](https://blog.teraren.com/posts/php-deployer/): PHPアプリのデプロイをDeployerとCircleCI 2.0で完全自動化する設定例をサンプルリポジトリ付きで解説。1分以内にデプロイ完了する構成を紹介 - [PHPでFizzBuzz](https://blog.teraren.com/posts/php-fizzbuzz/) - [PHPで先月の求め方](https://blog.teraren.com/posts/php-get-previous-month/) - [PHPでアップロードしたファイルタイプ取得](https://blog.teraren.com/posts/php-get-uploaded-file-type/): ブラウザ依存の$_FILES['type']では不正確なため、finfofやmime_content_typeでサーバ側からファイルタイプを安全に判定する方法を解説 - [PHPで2GB以上のファイルを扱う](https://blog.teraren.com/posts/php-handle-files-over-2gb/) - [phpideのファイルオープン時の文字コード](https://blog.teraren.com/posts/phpide-file-open-encoding/) - [PHPでIPv6か判定](https://blog.teraren.com/posts/php-ipv6-ipv4/) - [PHP5の新機能が発表されました](https://blog.teraren.com/posts/php/) - [PHPのmicrotimeの精度によるmt_srandへの影響](https://blog.teraren.com/posts/php-mt-rand-microtime/): PHP5.3以下でmicrotime()を乱数シードに使う公式サンプルコードには重大な欠陥があり、シードが固定値になってしまう問題の原因と正しい実装方法を解説します。 - [PHP 複数ファイルアップロード](https://blog.teraren.com/posts/php-multiple-file-upload/) - [PHPのPDO::mysql。prepared statementはquery cacheを使っている!](https://blog.teraren.com/posts/php-pdo-mysql/): PHPのPDO::mysqlでprepared statementがクエリキャッシュを活用するか実験。キャッシュON/OFFの速度差が最大823倍になる検証結果を紹介。 - [PHP preg_matchで中括弧が引っかからない。](https://blog.teraren.com/posts/php-preg-match-curly-braces-not-matching/) - [PHPでQRCode](https://blog.teraren.com/posts/php-qrcode/): PHPのqr拡張モジュールをソースからインストールし、GIF形式のQRコード画像を生成して出力するコード例を紹介 - [PHPで標準入力読み込み](https://blog.teraren.com/posts/php-read-stdin/) - [PHPセッションのGCを非同期にする](https://blog.teraren.com/posts/php-session-gc/): PHPセッションのGCがHTTPリクエストと同期で走る問題を、gc_probabilityを0にしてcronで代替する非同期化の方法を解説 - [PHPのsleepとusleepのメモ](https://blog.teraren.com/posts/php-sleep-and-usleep-memo/) - [PHP's MessageFormatter benchmark](https://blog.teraren.com/posts/phps-messageformatter-benchmark/) - [PHPソースコードのスペルチェッカ](https://blog.teraren.com/posts/php-source-code-spell-checker/) - [[PHP]変数vs文字列](https://blog.teraren.com/posts/php-variable-vs-static/): PHPでdefineによる定数と文字列直書きのパフォーマンスを100万回実行して比較した結果、約2割程度の差しかなかった検証記録 - [PHPでXML-RPC](https://blog.teraren.com/posts/php-xml-rpc/): ブログ更新をGoogleやBingなどの検索エンジンにXML-RPCで通知するPHPコードをPEAR XML_RPC2で実装する方法 - [広告をネットワークレイヤでブロックするPi-holeを動かしてみた](https://blog.teraren.com/posts/pi-hole/): DNSブラックリストで広告をネットワーク全体でブロックするPi-holeをDockerで構築する方法と、Ubuntu環境でのポート競合回避など実際のセットアップ手順を紹介します。 - [Xperiaでpalceholder使っちゃだめ](https://blog.teraren.com/posts/placeholder/) - [有効期限付きポイントシステムの要求定義と設計](https://blog.teraren.com/posts/point-system-design-rdb/): 航空会社マイルのような有効期限付きポイントの加算・消費・取り消しを正確に処理するRDBスキーマ設計とシステム要件の公開解説 - [Polymorphism(ポリモーフィズム)がよくわからない](https://blog.teraren.com/posts/polymorphism/) - [読み物系記事のおすすめ15本ピックアップ](https://blog.teraren.com/posts/popular-story-article/): 開設から19年で埋もれた人気記事をセレクト。技術・ビジネス・ガジェット・ライフスタイルにまたがるおすすめ15本を紹介 - [おすすめの技術記事15本ピックアップ](https://blog.teraren.com/posts/popular-tech-article/): ネットワーク設計・データベース・タイムゾーン処理・CI/CDなど、エンジニアが知っておくべき実践的な技術記事を15本厳選して紹介 - [dotdebのミラーリングを開始](https://blog.teraren.com/posts/post-0/) - [プロダクト開発のEngagement Model](https://blog.teraren.com/posts/post-12638/) - [Minecraft Server(統合版)をUbuntu上で起動する](https://blog.teraren.com/posts/post-14986/): Ubuntu 22でMinecraft Bedrock版(統合版)サーバを無料で立ち上げる手順を解説。ダウンロードから起動、外部公開のためのポート設定まで3分でセットアップできます。 - [Automatically delete head branchesの宗教論争](https://blog.teraren.com/posts/post-15243/): GitHubの「Automatically delete head branches」をONにすべきかOFFにすべきかをChatGPTの見解と個人考察を交えて議論。古いブランチを定期削除するGitHub Actionsで折衷案も紹介。 - [gatsbyセットアップメモ](https://blog.teraren.com/posts/post-15683/): Gatsby.jsをゼロからセットアップし、Tailwind CSS・Google Analytics・MDX対応などを設定する手順をまとめたメモ - [MySQL Workbenchの後継であるMySQL Shell for VS Codeを使ってみる](https://blog.teraren.com/posts/post-15714/) - [Keychron K8 Proの初期化方法(factory reset)](https://blog.teraren.com/posts/post-15875/) - [Windows上でAPRSを試してみた](https://blog.teraren.com/posts/post-2920/) - [郵便番号APIサイトのデータソースをzipcloudに変更](https://blog.teraren.com/posts/postcode-api-master-change/): 運営中の郵便番号検索APIで、郵便局公式データからzipcloudのデータソースへ切り替えた理由と差分比較。京都府の正規化や丁目表記の変更点をvimdiffで解説。 - [郵便番号から住所をAPIで取得](https://blog.teraren.com/posts/postcode-api/) - [ExcelやGoogle Spreadsheetで郵便番号から住所を補完](https://blog.teraren.com/posts/postcode-auto-fill/): 郵便番号を入力するだけで住所を自動補完できるAPIを自作。Google SpreadsheetやExcelのIMPORTDATA関数から呼び出せ、都道府県・市区町村・町域などパート指定での部分取得にも対応。 - [都道府県マスタ・地域マスタ](https://blog.teraren.com/posts/prefecture-area-master-data/) - [都道府県コードの仕様](https://blog.teraren.com/posts/prefecture-code-specification/): JIS X 0401で規定された都道府県コードの一覧と、システム開発でこの標準コードを使うべき理由を紹介 - [PRIMERGY TX1310 M3 4GB にUbuntu 16.04.6を入れようとするけど失敗](https://blog.teraren.com/posts/primergy-tx1310-m3-4gb-ubuntu-16-04-6/): 富士通PRIMERGY TX1310 M3にUbuntu 16.04.6 Serverをインストール試みた記録。サポート対象のはずがAHCIモードでもSSDを認識しないインストーラーの挙動をスクリーンショット付きで報告。 - [PRIMERGY TX1310 M3 4GB にUbuntu 18.04.3を入れようとするけど失敗](https://blog.teraren.com/posts/primergy-tx1310-m3/): 富士通PRIMERGY TX1310 M3にUbuntu 18.04.3 Serverをインストールしようとした記録。BIOSのAHCIモード変更から始まりインストール手順を写真付きで記録した試行ログ。 - [プライバシーポリシー](https://blog.teraren.com/posts/privacy-policy/) - [本質を理解して、一緒にスタート地点に立つ](https://blog.teraren.com/posts/proposal/) - [物理メモリが不足したらpumaを自動で再起動](https://blog.teraren.com/posts/puma-auto-restart/) - [マルチバイトサブドメインを使うときの設定](https://blog.teraren.com/posts/punycode/): 日本語ドメインをApacheで運用する際のPunycode・UTF-8・URLエンコードの3形式対応設定方法。ブラウザや掲示板の互換性問題への対処法を解説。 - [NetgearのPVID(Port VLAN ID)とは](https://blog.teraren.com/posts/pvid/): NetgearスイッチのTag VLAN設定時に必要なPVID(Port VLAN ID)の意味を解説。Native VLANとの関係や、タグなしパケットをどのVLANに送るかの動作原理をまとめた調査メモ。 - [qmail-0.0.0.0.patch](https://blog.teraren.com/posts/qmail-0000patch/) - [qmail-date-localtime.patch](https://blog.teraren.com/posts/qmail-date-localtimepatch/) - [qmailの日本ミラーサーバを提供し始めました。](https://blog.teraren.com/posts/qmail-japan-mirror/) - [qmail log](https://blog.teraren.com/posts/qmail-log/) - [qmail](https://blog.teraren.com/posts/qmail/) - [Qmail patch for using IP alias or Multiple NIC.](https://blog.teraren.com/posts/qmail-patch-for-using-ip-alias-or-multiple-nic/) - [qmailのqueueがバグったときの対処法](https://blog.teraren.com/posts/qmail-rebuild-queue/): サーバ障害でqmailのキューの整合性が壊れた際に、queueディレクトリを削除・再構築して正常状態に戻すrootコマンド手順 - [qmail+vpopmailで存在しないアカウントをSMTPで拒否する方法](https://blog.teraren.com/posts/qmail-vpopmail-reject-unknown-accoun/): qmail+vpopmailにchkuserパッチを適用し、存在しない宛先へのメールをSMTP段階で拒否する設定方法。スパムによるバウンスメール大量発生を防ぐパッチ適用手順と注意点を解説。 - [QNAP TS-431Pを調達してNAS運用を始めました](https://blog.teraren.com/posts/qnap-ts-431p/): 省電力化を目的にDELL PowerEdgeからQNAP TS-431Pへ移行し、RAID・ポートトランキング・ディスクスタンバイを設定した記録 - [WordPressを5分で5倍速くするQuick Cacheの設定](https://blog.teraren.com/posts/quick-cache/): WP Super Cacheに代わるWordPressキャッシュプラグイン「Quick Cache」の導入手順と設定方法。5分の作業でリクエスト処理速度が4.5倍に向上したベンチマーク結果も紹介。 - [Raid1のディスクを抜いて挿してみる](https://blog.teraren.com/posts/raid1-hot-remove-add/): MegaRAID環境でRAID1のディスクをホットリムーブ・ホットアドした際の挙動を検証。抜いて挿したドライブがUnconfigured Badになる動作を確認した実録 - [Rail7の推奨になったimportmap+ dartsassを使ってサービスを構築してみました](https://blog.teraren.com/posts/rail7-importmap-service/): Rails 7で標準採用されたimportmapとdart-sassを使い、西暦和暦変換サービス「元号くん」を実際に開発して公開した経験をもとに、importmapの仕組みと実践的な使い方を解説します。 - [最短でRails4をherokuで動かす方法](https://blog.teraren.com/posts/rails4-heroku/) - [Rails 6.1.5でdb:migrationのときにreference周りでエラー](https://blog.teraren.com/posts/rails-6-1-5-reference-error/): Rails 6.1.5でdb:migrate時に外部キーのbigint型不一致エラーが発生する問題。6.1.6にアップグレードで解消するが原因は不明という調査記録。 - [Rails7 + importmap + dartsass-rails](https://blog.teraren.com/posts/rails7-importmap-dartsass-rails/): Rails 7のrails newで生成されるimportmap+dartsass-railsのデフォルト構成を調査。Docker Compose対応サンプルと西暦・和暦変換サービスを用いた実装例を公開。 - [Ruby on RailsでER図をモデルから生成](https://blog.teraren.com/posts/rails-app-erd/) - [railsをdockerで構築して、Host '172.18.0.5' is not allowed to connect to this MySQL server](https://blog.teraren.com/posts/rails-docker-host-is-not-allowed-to-connect-to-this-mysql-server/) - [Railsでcontroller名、action名に対応したjsファイルを読み込む](https://blog.teraren.com/posts/rails-javascript-corresponding-to-controller-action/) - [Rails + MySQL 8でngramを用いたfulltext index](https://blog.teraren.com/posts/rails-mysql-ngram-fulltext/): RailsのmigrationでMySQL 8のngramパーサを使った日本語全文検索インデックスを作成する方法とパフォーマンス測定結果 - [RailsのアクターがN:Mのシステムを作るときの権限モデル](https://blog.teraren.com/posts/rails-permission-metrics/) - [Railsのroutesのshallowは安易に使わないで欲しい](https://blog.teraren.com/posts/rails-routes-shallow-not-recommend/): RailsルーティングのshallowオプションはRESTの思想に反し、権限チェックや実装コストで多くの問題を生じるため使用を避けるべき理由を解説 - [Railsで作ったREST APIをSwagger対応](https://blog.teraren.com/posts/rails-swagger-postcode-api/): swagger-docsを使いRailsの郵便番号検索APIをSwagger UIで可視化する手順。ControllerへのAPI仕様記述からJSONファイル生成・デモ公開までの実装例を解説。 - [RailsにおけるTimezoneの扱い方](https://blog.teraren.com/posts/rails-timezone/) - [楽天モバイルはメイン携帯にもおすすめ(でした)](https://blog.teraren.com/posts/rakuten-mobile/): 楽天モバイルUnlimitをサブ回線で1年試用した結果レポート。自社アンテナエリアでのパケット使い放題・ピーク時の速度実測値・IPv6対応など利点を詳しく紹介。 - [Raspberry Piで24時間録音機](https://blog.teraren.com/posts/raspberry-pi-audio-recording/): Raspberry Piとarecord+lameでいびき・寝言を24時間MP3録音する方法。systemdでデーモン化して自動起動する設定手順も解説。 - [Raspberry PiのWiFiと有線LANに静的IPを振る](https://blog.teraren.com/posts/raspberry-pi-static-ip/): Raspberry Pi OS (Bullseye) でdhcpcd.confを編集して有線LANと無線LANそれぞれに静的IPを設定する手順。設定ファイルのdiff付きで解説。 - [室内外の温度温度の変化を記録](https://blog.teraren.com/posts/raspberry-pi-thumostat-humid-sensor/): Raspberry Pi 4とDHT11センサを使い、室内外の温度・湿度を定期取得してMackerelでグラフ可視化するIoT環境モニタリングシステムの構築手順を紹介します。 - [rbenvインストール](https://blog.teraren.com/posts/rbenv/) - [RCSの罠](https://blog.teraren.com/posts/rcs-pitfalls/): RCSでチェックインした後にviで強制保存したファイルをチェックアウトしてもアラートが出ない落とし穴を解説。wq!は使わずq!にすべき理由を紹介。 - [present in INFORMATION_SCHEMA's INNODB_SYS_TABLES table but missing from TABLES table](https://blog.teraren.com/posts/rds-mysql8-upgrade/): RDSをMySQL 8.0にアップグレードする際に発生するInnoDB一時テーブル残留エラーの解決方法。innodb_sys_tablesに残った孤立テーブルをDROPする手順を解説。 - [文字コードを再帰で置換](https://blog.teraren.com/posts/recursive-file-encoding-chang/) - [rawler - 再帰リンクチェッカー](https://blog.teraren.com/posts/recursive-link-checker/) - [再帰置換するシェルスクリプト - ファイル名 と 中身](https://blog.teraren.com/posts/recursive-replace-shell-script-filename-and-content/): ディレクトリを再帰的に処理してファイルの中身とファイル名を一括置換できるシェルスクリプト2本を紹介 - [Redashでログインしてしまったユーザを削除](https://blog.teraren.com/posts/redash-delete-user/): Redashで一度ログイン済みのユーザを管理画面から削除できない場合に、PostgreSQLに直接アクセスして外部キー制約を考慮しながら物理削除する手順 - [RedashとG SuiteのSAML設定](https://blog.teraren.com/posts/redash-gsuite-saml/): Google WorkspaceとRedashをSAML連携させてSSO環境を構築するための詳細手順と、8時間かけて調べた設定値のポイントを解説 - [redashでMySQL自体の見える化](https://blog.teraren.com/posts/redash-mysql-visualization/): redashでshow table statusとINNODB_BUFFER_POOL_STATSクエリを使い、MySQLの統計情報をダッシュボードで可視化する方法と活用例 - [AMIのredashでPythonをデータソースとして追加する](https://blog.teraren.com/posts/redash-python-datasouce/) - [Redisのランキング管理API作りました](https://blog.teraren.com/posts/redis-ranking-api/): RedisのSorted Setをラップしてソーシャルゲームのユースケースに特化したランキング管理PHPライブラリを作成。ComposerとAPIの使い方を解説 - [RedisのSortedSetベンチマーク](https://blog.teraren.com/posts/redis-sortedset-benchmark/) - [リモートホストのIPアドレスを表示](https://blog.teraren.com/posts/remote-host-ip/) - [webpackerを削除してcssbundling-rails+jsbundling-rails+propshaftに移行](https://blog.teraren.com/posts/removing-webpacker/): Rails 7でwebpackerを廃止し、cssbundling-rails・jsbundling-rails・propshaftへ移行する手順をGemfileやpackage.jsonの差分を交えて詳しく解説します。 - [REPLACE INTOとINSERT ON DUPLICATE KEY UPDATEの違い](https://blog.teraren.com/posts/replace-into-insert-on-duplicate-key-update/): MySQLのREPLACE INTOとINSERT ... ON DUPLICATE KEY UPDATEはどう違うのか、実際のSQL実行例でAUTO_INCREMENTの挙動の違いなどを詳しく比較・検証します。 - [要求定義 (Request Definition)](https://blog.teraren.com/posts/request-definition/): 要求定義の目的・進め方とユースケース図・シーケンス図・要求定義書などのアウトプット例をソフトウェア開発の上流工程として解説 - [RequireJSってどうなん?](https://blog.teraren.com/posts/requirejs-thoughts/) - [収支計画テンプレ](https://blog.teraren.com/posts/revenue-plan-template/) - [rm -rf / を実行してみる](https://blog.teraren.com/posts/rm-rf-linux/) - [ロードバイクメンテナンス](https://blog.teraren.com/posts/road-bike-maintenance/): タイヤ・ブレーキシュー交換から変速機調整まで、ロードバイクのメンテナンス作業とパーツ選びの実体験レポート - [カジノのルーレットシミュレータを書いてみました](https://blog.teraren.com/posts/roulett-strategy-simulator/): ダズンベット法やマーチンゲール法を組み合わせたルーレット戦略をRubyでシミュレーターとして実装し、本当に勝てるのかを統計的に検証した記事 - [Route 53を使ってDynamic DNS設定(ipv4, ipv6対応)](https://blog.teraren.com/posts/route-53-dynamic-dns/): 自宅サーバのIPv4/IPv6アドレスをAWS Route 53で自動更新するDynamic DNSをddns-route53ツールで構築する手順をIAM設定から解説 - [RPM <-> dpkg 変換表](https://blog.teraren.com/posts/rpm-dpkg-conversion-table/): RHELのRPM/yumとDebianのdpkg/aptitudeコマンドを対応させた変換表。インストール・削除・検索・アップグレードなどの操作を両パッケージシステムで比較できます。 - [RSA Encryption not supported - caching_sha2_password plugin was built with GnuTLS support がでたときの対処法](https://blog.teraren.com/posts/rsa-encryption-not-supported/): MySQL 8のcaching_sha2_passwordに対応していないクライアントで発生するRSA Encryption not supportedエラーを2種類の方法で解決する手順 - [FakerやGimeiのseedをrspecのseedと一致させる](https://blog.teraren.com/posts/rspec-seed-unstable-result/): RSpecの--seedを指定してもFakerやGimeiが不安定になる原因と、乱数生成器を統一して再現性を確保する設定方法 - [rsyncで帯域制限!ネットワークに負荷をかけないbwlimitオプション](https://blog.teraren.com/posts/rsync-bwlimit/): rsyncのbwlimitオプションでKBPS単位の帯域制限をかける方法と、Mbps換算表およびniceと組み合わせた低負荷バックアップ設定 - [rsync error - failed: Permission denied (13) rsync error: errors selecting input/output files, dirs](https://blog.teraren.com/posts/rsync-error/) - [rsync over sshをAWS Session manager経由で使う設定方法](https://blog.teraren.com/posts/rsync-over-ssh-on-aws-session-manager/): パブリックIPなしのEC2にAWS Session Manager経由でrsyncを実行するためのIAMポリシーとSSH設定の手順を詳解 - [rsyncのスラッシュの扱い](https://blog.teraren.com/posts/rsync-slash/): rsyncのコピー元パスにスラッシュを付けるか否かでディレクトリ構造がどう変わるか、実行例を交えてわかりやすく解説 - [家庭用ルータを業務用のYAMAHA RTX1200に置き換えて快適生活!](https://blog.teraren.com/posts/rtx1200-deployment/): 頻繁に再起動する家庭用WiFiルータをYAMAHA RTX1200に置き換え、PPPoE・静的NAT・VPNなどを設定し自宅ネットワークを安定化させた体験レポート - [RTX1200 ファームウェアアップデート](https://blog.teraren.com/posts/rtx1200-firmware/): YAMAHA RTX1200のファームウェアをブラウザ経由でなくtelnetコンソールからアップデートする手順と注意点のまとめ - [RTX1200でVPN(L2TP)設定](https://blog.teraren.com/posts/rtx1200-l2tp/): YAMAHA RTX1200のWebインターフェイスからL2TP/IPsec VPNを設定してリモートから自宅ネットワークに接続する手順と設定ファイルを公開 - [RTX830のNAPTテーブル、ARPテーブル、DHCPの使用状況をコマンドで取得](https://blog.teraren.com/posts/rtx830-napt-arp-dhcp/) - [RTX830でv6プラスを設定 (IPoE MAP-E)](https://blog.teraren.com/posts/rtx830-v6-plus-mape/): YAMAHA RTX830にIPoE MAP-E(v6プラス)を設定してPPPoEからの乗り換えでレイテンシーを20ms→10ms以下に改善した手順と速度比較 - [コピペでredmineサーバセットアップ](https://blog.teraren.com/posts/ruby-for-redmine/): Debian上でRuby・RubyGems・Passangerをソースからインストールし、SQLite3を使ってRedmineを動かすコピペ対応手順 - [Rubyで半角カナへ変換](https://blog.teraren.com/posts/ruby-hankaku-kana/) - [Rubyでマルチスレッドプログラミング](https://blog.teraren.com/posts/ruby-multi-thread-programming/) - [Ruby on Rails 3 アプリケーションプログラミング 書評](https://blog.teraren.com/posts/ruby-on-rails3/): 「Ruby on Rails 3 アプリケーションプログラミング」書評。MVC・ORM・テスト・国際化まで網羅した内容の濃さを高評価。Ruby初心者がRoRアプリを正しく構築できる知識を体系的に習得できる一冊。 - [rubyでsprintfするときに注意!](https://blog.teraren.com/posts/ruby-sprintf-caution/): Rubyのsprintfにゼロ埋め文字列を渡すと8以降で例外や予期しない値が返る落とし穴を実験で確認。原因と安全な文字列フォーマットの書き方を解説します。 - [さくらVPSから1TBディスクをマウント](https://blog.teraren.com/posts/sakura-vps-sshfs-1tb/): CentOS 6のさくらVPSから外部の1TBディスクをsshfsで5分でマウントする手順。fuse-sshfsのインストールから自動マウント設定まで、コピペで使えるコマンドで解説。 - [sambaが遅い原因がわかった](https://blog.teraren.com/posts/samba-slow-cause-found/) - [URL一覧からタイトルタグを抜き出すツール](https://blog.teraren.com/posts/scrape-title-tag/) - [メーカーによって20%違う。SDカードベンチマーク](https://blog.teraren.com/posts/sd-benchmark-32gb/) - [I found a vulnerability related to the potential of Zoom Bomb](https://blog.teraren.com/posts/security-vulnerability-related-to-the-potential-of-zoom-bomb/): A security vulnerability discovered in Zoom where password authentication is case-insensitive despite appearing case-sensitive, reducing cryptographic strength by 10^30 times. CVSS score 6.5. - [和暦や休日情報をREST APIで提供するサービスを公開](https://blog.teraren.com/posts/seireki-wareki-api/): 西暦↔和暦変換・年齢計算・日本の祝日一覧をJSON形式で取得できるREST APIサービスの公開を発表し、curlを使った具体的な利用例を紹介します。 - [テレカン環境のセルフチェックポイント](https://blog.teraren.com/posts/self-check-online-meeting/): ZoomやTeamsなどのテレビ会議で映像・音声を高品質に届けるためのPC性能・マイク・カメラ・照明・背景のセルフチェック項目集 - [Senna インストールメモ](https://blog.teraren.com/posts/senna-installation-memo/): MySQLで日本語全文検索を実現するSennaをMeCabと共にソースからビルドしてインストールするコピペ用手順メモ - [Sentryでreleaseと紐付けたエラートラッキング](https://blog.teraren.com/posts/sentry-release-circleci/): CircleCIのWorkflowでデプロイ完了後にSentryへリリース情報を自動通知し、エラーとデプロイバージョンを紐付けて追跡できるよう設定する方法 - [サーファス(SERFAS) ライト SL-30WP フロント 3LED](https://blog.teraren.com/posts/serfas-light-sl-30wp-front-3led/) - [ServerMan@DTIにやられたこと](https://blog.teraren.com/posts/serversman/): ServerMan@DTIのメンテナンスでSSHポート変更だけでなくapache・ajaxterm等が無断インストールされ、対象外のサーバにも10時間超のダウンタイムが発生した障害報告。 - [ポート番号からサービス名](https://blog.teraren.com/posts/service-name-from-port-number/) - [SES -> SNS -> SQS -> Lambda -> DynamoDB](https://blog.teraren.com/posts/ses-sns-sqs-lambda-dynamodb/): AWSでSESのバウンス・クレームメールを適切に処理するアーキテクチャ。SES→SNS→SQS→Lambda→DynamoDBのパイプライン設定とLambdaコードを紹介。 - [SFCのNTPサーバ](https://blog.teraren.com/posts/sfc-ntp-server/) - [シェルスクリプトで排他処理](https://blog.teraren.com/posts/shell-script-exclusive-processing/) - [シェルスクリプトでIPアドレスを求める方法](https://blog.teraren.com/posts/shell-script-get-ip-address/) - [Shinjuku.rb #40で発表してきました](https://blog.teraren.com/posts/shinjuku-rb-40/) - [Shinjuku.rb #38で発表してきました](https://blog.teraren.com/posts/shinjuku-rb-line-bot/) - [新生銀行自動ログイン用Greasemonkey](https://blog.teraren.com/posts/shinsei-bank-greasemonkey/) - [slackのステータスアイコンを自動で更新(家かオフィスかをアイコンで表示)](https://blog.teraren.com/posts/show-current-location-icon/): WiFiのSSIDが変わるたびにSlackのステータスアイコンを自動更新し、在宅・オフィスを周囲に知らせるツールの設定方法 - [計画停電の時に実行すべきLinuxコマンド](https://blog.teraren.com/posts/shutdown-at/): Linuxのatコマンドとshutdownコマンドを使って計画停電前に時刻指定でサーバをシャットダウンする方法。時間フォーマットの違いとリモート接続での注意点を解説。 - [Skypeが重くなる問題を解決!会話ログを最適化](https://blog.teraren.com/posts/skype-sqlite-optimization/): SkypeのSQLiteデータベースにVACUUMコマンドを実行するだけで会話ログを最適化し動作を軽くする方法。Macでのコマンド一発実行手順とテーブル構造も紹介。 - [slackで最終営業日にリマインダーを設定する方法](https://blog.teraren.com/posts/slack-reminder-last-weekday/) - [WordPress 最強アクセスロガー Slimstat EX](https://blog.teraren.com/posts/slimstat-ex/) - [営業利益÷従業員](https://blog.teraren.com/posts/sns-profit-per-employee/): GREE・DeNA・mixi・Googleなど主要IT企業の従業員1人当たり営業利益を比較。任天堂1億円以上、Appleが4400万円など各社の生産性の違いを数字で可視化。 - [@softbank.ne.jpと@i.softbank.jp](https://blog.teraren.com/posts/softbank-ne-jp-i-softbank-jp/) - [ソフトウェア開発プロセス](https://blog.teraren.com/posts/software-development-flow/): ウォーターフォール的なスケジュール管理とアジャイルのプラクティスを組み合わせた理想的なソフトウェア開発プロセスを、要求定義からリリースまで体系的に整理した独自フレームワークを解説します。 - [so-net 光を契約。実測下り400Mbps, 上り800Mbps](https://blog.teraren.com/posts/sonet-benchmark/): So-net光コラボレーションを契約し、YAMAHA RTX1200で運用した際の実測ベンチマーク結果と回線品質を詳細レポート - [sonetから配られたDNSサーバがAAAAレコードを返してくれない](https://blog.teraren.com/posts/so-net-ipv6/): So-netのIPv6回線でAAAAレコードが返らない問題の調査記録。プロバイダ配布のDNSサーバがAAAA問い合わせに対応していない原因を特定し、DNSサーバ変更で解決した手順を紹介。 - [テラレンの実測値](https://blog.teraren.com/posts/speed/) - [回線速度を定期的にベンチマーク](https://blog.teraren.com/posts/speedtest-benchmark-mackerel/): OOKLAの公式speedtestコマンドをcronで定期実行し、Mackerelのカスタムメトリクスとして上り下りの回線速度をグラフ化する手順 - [sshの接続を高速化](https://blog.teraren.com/posts/speedup-ssh-connect/) - [SPIKE API (SPIKE Checkout)を使ってみる](https://blog.teraren.com/posts/spike-api-spike-checkout/): 決済サービスSPIKE CheckoutのサンドボックスAPIを使って仮売上・実売上・キャンセルを実装。PHPサンプルコードとシーケンス図付きで決済フローを解説。 - [SPIKE API (Token API)を使ってみる](https://blog.teraren.com/posts/spike-api-token-api/): 決済サービスSPIKEのToken APIを使い、マーチャントのページでクレジットカード番号を入力する方式の実装方法。サンドボックスでのデモコードと決済フローのシーケンス図を解説。 - [SPIKE REST APIで受注管理をしてみる](https://blog.teraren.com/posts/spike-rest-api-order-management/): SPIKE REST APIを使って仮売上・実売上・キャンセルの受注管理をPHPで実装し、サンドボックスでテストする手順を紹介 - [SPIKE REST APIのWebhookを受信してみる](https://blog.teraren.com/posts/spike-rest-api-webhook/): SPIKE決済サービスのWebhookエンドポイントをPHPで実装する方法。チャージバックや強制キャンセル時の通知受信、秘密鍵によるリクエスト検証手順をシーケンス図付きで解説。 - [進化したSPIKEで、10分でECを始める方法](https://blog.teraren.com/posts/spike-shop/): 決済手数料無料のSPIKEを使って個人・小規模事業者がECショップを最短10分で開設する手順とコスト感を紹介 - [分割されていない電話番号から市外局番と市内局番の求め方](https://blog.teraren.com/posts/split-area-code/) - [SQLにおけるBETWEENの境界とカラムの小数精度に注意](https://blog.teraren.com/posts/sql-between-boundary/): SQLのBETWEEN句は両端の値を含む仕様と、DATETIMEカラムの小数秒精度を考慮しないと期待と異なる結果になる落とし穴を実行例で詳しく解説します。 - [SQLで期間の重複チェック](https://blog.teraren.com/posts/sql-term-duplicate-check/) - [SSHのキーペアを安全な暗号アルゴリズムで作る](https://blog.teraren.com/posts/ssh-keypair-ed25519/) - [SSH login is refused after upgrading to Mac OS X Mavericks (10.9)](https://blog.teraren.com/posts/ssh-login-is-refused-after-upgraded-to-mac-marvericks/) - [SSHトンネルが切れる](https://blog.teraren.com/posts/ssh-tunnel/) - [SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed](https://blog.teraren.com/posts/ssl-connect-returned1/): Rails newコマンド実行時にSSL証明書検証エラーが発生する原因と、opensslの設定やCA証明書を更新して解決する方法 - [STOP: 0x0000007f (0×00000000, 0×00000000, 0×00000000, 0×00000000)](https://blog.teraren.com/posts/stop-0x0000007f-0x00000000-0x00000000-0x00000000-0x00000000/) - [ミラーサーバの取りやめの連絡](https://blog.teraren.com/posts/stop-mirrorring/) - [短縮URLサービスの利用を再考する:Bitlyの変更を機に探る最適な選択肢](https://blog.teraren.com/posts/stop-using-url-shortener-services/): Bitlyの無料プラン大幅縮小を受け、SMS送信コスト削減に使っていた短縮URLサービスの代替を調査し、自前実装も含めた移行先を検討した記録 - [storcliでraid5からraid6にmigrateできない](https://blog.teraren.com/posts/storcli-raid5-raid6-migrate/): MegaRAIDコントローラーでstorcliを使いRAID5からRAID6へのオンラインマイグレーションを試みた際に発生したエラーの内容と対処記録をログとともに公開します。 - [Subversion1.5になってからエラーが頻発・・・](https://blog.teraren.com/posts/subversion15-frequent-errors/) - [Subversionで$Id:$をCVSのように置換する方法](https://blog.teraren.com/posts/subversion-id-keyword-substitution-like-cvs/) - [svnコマンドでロールバック](https://blog.teraren.com/posts/svn-command-rollback/): svn mergeコマンドで特定リビジョンの変更を取り消してコミットする、TortoiseSVNのRevert相当のロールバック手順を解説 - [Symbios Logic MegaRAID SAS 2108をOSから管理](https://blog.teraren.com/posts/symbios-logic-megaraid-sas-2108-ubuntu/): Dell PowerEdgeに搭載されたLSI MegaRAID SAS 2108をStorCLIツールでUbuntuから操作し、RAIDコントローラをOS上で管理するセットアップ手順を解説します。 - [SYN FLOOD のテスト](https://blog.teraren.com/posts/syn-flood-test/) - [SYN_RECVが大量発生](https://blog.teraren.com/posts/syn-recv-mass-occurrence/) - [tableau serverのホスト名が変わってしまったときの対処法](https://blog.teraren.com/posts/tableau-server-certificate-error/): AWS EC2でTableau Serverをサブネットをまたいでインスタンスをリプレースするとホスト名変更でSSL証明書エラーが発生する問題の回避策。hostnamectl set-hostnameで旧ホスト名を強制設定して解消。 - [tableau serverをrpmでアップグレードする方法メモ](https://blog.teraren.com/posts/tableau-server-rpm-upgrade/): Tableau ServerをLinux環境でRPMパッケージを使ってアップグレードする手順と、毎回発生しがちなエラーへの対処法をまとめた実践メモ - [tcmgr copyの環境変数](https://blog.teraren.com/posts/tcmgr-copy/) - [2020/11/20 Minedia Tech Talk 今週のニュース](https://blog.teraren.com/posts/tech-news/) - [TELECOM 0570-099-922](https://blog.teraren.com/posts/telecom-0570-099-922/) - [The Share-Nothing Architecture](https://blog.teraren.com/posts/the-share-nothing-architecture/) - [ThinkStation S20でFF14ベンチマーク](https://blog.teraren.com/posts/thinkstation-s20-ff14-benchmark/): Xeon W3540搭載のThinkStation S20でFF14ベンチマークと3DMark 06を計測し、拡張性や使い勝手をレビュー - [ThinkStation S20でMySQLベンチマーク](https://blog.teraren.com/posts/thinkstation-s20-mysql-benchmark/): ThinkStation S20を使いMySQL 5.1と5.5のトランザクション処理数を比較。InnoDBはコネクション込みで6倍・クエリのみで80%の性能向上を確認。mysqlbenchで128スレッド実測。 - [[Thu Dec 17 22:56:22 2009] [notice] child pid 2121 exit signal Segmentation fault (11)](https://blog.teraren.com/posts/thu-dec-17-225622-2009-notice-child-pid-2121-exit-signal-segmentation-fault-11/) - [tig = gitをaptitudeのように使えるラッパー](https://blog.teraren.com/posts/tig-git/): Gitの操作をVimライクなTUIで行えるtigのインストール方法と基本操作を紹介。ログ閲覧・cherry-pickなどをキー操作で素早く実行できる使い方を解説 - [Time Sinkでアプリケーション利用時間計測](https://blog.teraren.com/posts/time-sink/) - [tloadコマンド](https://blog.teraren.com/posts/tload-command/) - [このサイトをTLS1.3に対応しました](https://blog.teraren.com/posts/tls-13/): nginxのssl_protocolsにTLSv1.3を追加してHSTSも設定、QualysのSSL Labsでスコアを確認するまでの手順を解説 - [TLS 1.1以下の対応を無くし、TLS 1.2と1.3だけを有効化](https://blog.teraren.com/posts/tls-1-3-support/): PCI DSS 3.2への準拠を目的にnginxでTLS 1.1以下を無効化し、TLS 1.2と1.3のみを有効にするssl_protocols設定の方法とssllabsでの検証結果を解説します。 - [tmuxinator使い始めてみた](https://blog.teraren.com/posts/tmuxinator/) - [tokboxのwebRTC録画機能の概要](https://blog.teraren.com/posts/tokbox-webrtc-archive/): TokBox(OpenTok)のWebRTC録画APIの仕様を日本語で解説。最大90分・S3/Azure保存・個別または結合録画などの機能まとめ - [東京都のCOVID-19新規陽性者をTweetするBot](https://blog.teraren.com/posts/tokyo-covid19-graph/) - [Tokyo Promenadeインスコしてみた](https://blog.teraren.com/posts/tokyo-promenade/) - [tokyotyrantをdaemontoolsで管理](https://blog.teraren.com/posts/tokyotyrant-daemontools/) - [Toonesの残高をチェックして少なかったらSlackへアラート](https://blog.teraren.com/posts/toones-balance/) - [Toonesの利用料を取得するスクリプト](https://blog.teraren.com/posts/toones-usage-automation/) - [TOPPING D10 USB DACのチップをOPA627AUに交換](https://blog.teraren.com/posts/topping-d10-usb-dac-opa627au/): TOPPING D10 USB DACのデフォルトオペアンプOPA2134PAをBurr-Brown製OPA627AUに換装した手順と注意点。逆向き装着で発熱した失敗談も紹介。 - [torのリレーnodeセットアップ](https://blog.teraren.com/posts/tor-relay-node/): Torネットワークの仕組みと多段暗号化プロキシとしての特徴を解説し、Mac OS XでHomebrewを使ったTorリレーノードのセットアップ手順をまとめています。 - [Travis CIでPHP Extensionをインストールする方法](https://blog.teraren.com/posts/travis-ci-php-extension/): Travis CIのビルド環境にデフォルト未搭載のPHP拡張(例:redis.so)をbefore_installでソースからビルドしてインストールする.travis.yml設定方法。 - [TTSとTTBを取得するrubygem作った](https://blog.teraren.com/posts/tts-ttb-rubygem/): 経理処理で必要な三菱UFJ銀行のTTS・TTB為替レートをスクレイピングで取得するRuby gemを作成。CodeCoverage 100%・GitHub Actionsでの自動リリース設定も解説。 - [オススメしないLinuxディストリビューション→Turbolinux](https://blog.teraren.com/posts/turbolinux-frustration/) - [Meeting with Twitter engineer](https://blog.teraren.com/posts/twitter-meeting/) - [Ubiquiti Networks Edgerouter ER-X設定](https://blog.teraren.com/posts/ubiquiti-networks-edgerouter/) - [Ubuntu 19.04でrtl88x2buをインストール](https://blog.teraren.com/posts/ubuntu-19-04-rtl88x2bu/): Ubuntu 19.04のLinuxサーバにRealtek RTL88x2BU搭載USB WiFiアダプタのドライバをgitから取得しコンパイルしてインストールする手順 - [Ubuntu 20.04.2 LTSにWiFiドングルを設定](https://blog.teraren.com/posts/ubuntu-20-04-2-lts-tplink-wifi/): Ubuntu 20.04にTP-Link製USBWifiドングル(Realtek RTL8812BU)を接続してドライバをビルド・インストールし、無線LANを使えるようにする手順 - [Ubuntu 21.10で複数NICを1つのネットワークに繋げる設定](https://blog.teraren.com/posts/ubuntu-21-10-multiple-nic/) - [Ubuntu 21.10にアップグレードしましたが2つ問題が発生](https://blog.teraren.com/posts/ubuntu-21-10-upgrade/): Ubuntu 21.10へのアップグレード後にX Window systemが勝手に起動した問題とlvm2削除によるブート不能を順に解決した記録 - [Ubuntu 8.10](https://blog.teraren.com/posts/ubuntu-810/) - [Ubuntu live patchを導入してみた](https://blog.teraren.com/posts/ubuntu-live-patch/): Ubuntuカーネルパッチを再起動なしに適用できるLivepatchの仕組みと、Ubuntu Proアカウントでのトークン取得から有効化コマンド実行までの導入手順を解説します。 - [UbuntuでMySQLを8.0.34から8.1.0へアップグレード。Innovation Releaseを使う設定。](https://blog.teraren.com/posts/ubuntu-mysql-8-1/): MySQL 8.1.0のInnovation Releaseとは何かを解説し、UbuntuでMySQL 8.0からaptリポジトリ設定を変更してアップグレードする具体的な手順を紹介します。 - [UDP 17500ポートへのブロードキャスト](https://blog.teraren.com/posts/udp-17500-dropbox/): ルーターログに頻出するUDP 17500番ポートへのブロードキャストはDropboxのLAN Sync機能によるもの。設定で無効化できる原因と対処法を紹介。 - [qmailがhotmailのメールを受信しなくなった](https://blog.teraren.com/posts/unable-to-deliver-message-to-the-following-recipients/): hotmailからのメールがqmailで受信できなくなった問題をfixcrioを追加してSMTPの不正なCRLFを修正することで解決した事例 - [Center for trade facilitation and e-business (UN/CEFACT)](https://blog.teraren.com/posts/un-cefact/) - [Unexpected server respose while doing caching_sha2 authの直し方](https://blog.teraren.com/posts/unexpected-server-respose-while-doing-caching-sha2-auth/): MySQL 8.0へのアップグレード後にPHP7.2からWordPressが接続できなくなるcaching_sha2_password認証エラーをALTER USERで解決する方法 - [ファイルを保存した瞬間ユニットテストを実行](https://blog.teraren.com/posts/unit-test/) - [UnixBench (linux, unix benchmark software)](https://blog.teraren.com/posts/unixbench-linux-unix-benchmark-software/): LinuxベンチマークツールUnixBenchの使い方とXeon 3.8GHzでのCentOS・Ubuntuの実測スコアを比較 - [UNIXタイムスタンプからユーザフレンドリーな日時](https://blog.teraren.com/posts/unix-timestamp-to-human-readable-datetime/) - [手元のrvm環境を最新にする](https://blog.teraren.com/posts/update-local-rvm-environment/) - [UPS(無停電電源装置)をMac miniで設定](https://blog.teraren.com/posts/ups-mac-mini-apc-rs-400/): 計画停電に備えてAPC RS 400をMac miniと自宅サーバに接続。ドライバ不要でmacOSの省電力設定から管理でき、バッテリーは6時間半以上持続することを確認。 - [自宅LinuxサーバにUPS(無停電電源装置)導入](https://blog.teraren.com/posts/ups/): APC RS 550をLinuxサーバに接続し、apcupsdデーモンで停電時の自動シャットダウンを設定するまでの物理・ソフトウェア両面のセットアップ手順 - [URLリダイレクタ](https://blog.teraren.com/posts/url-redirector/): 2chのime.nuのようなURLリダイレクタをPHPで自作し、リンク元を隠してジャンプするサービスの実装方法を紹介 - [Vagrant + Docker provisioning](https://blog.teraren.com/posts/vagrant-docker-provisioning/) - [メールアドレスのドメイン部分をチェック](https://blog.teraren.com/posts/validate-domain-using-dns/): PHPでユーザ入力のメールアドレスのドメイン部分をDNSのMXレコード照会で検証するMailAddressValidatorクラスの実装例 - [Qit(Vectant)が不安定なので調査してみた](https://blog.teraren.com/posts/vectant-qit-unstable/): ISPのQit(Vectant)でパケットロスが頻発する問題をtracerouteとpingで調査し、原因箇所を特定して1ヶ月以上対応が遅れたサポートとのやり取りを記録 - [vim compile](https://blog.teraren.com/posts/vim-compile/) - [vim 置換](https://blog.teraren.com/posts/vim-replacement/) - [vimの最近見つけた便利コマンド](https://blog.teraren.com/posts/vim-save-and-open/): vimで別名保存と同時に開く:saveasコマンドと、全バッファを一括で閉じる:qaコマンドの使い方を紹介 - [vmware server 2.0 on Ubuntu Linux](https://blog.teraren.com/posts/vmware-server-20-on-ubuntu-linux/): VMware Server 2.0をUbuntu 8.10にインストールしてWindowsゲストを動かすまでの手順を、実際のコマンドログとともに紹介します。 - [vmwareの時間がものすごくずれる](https://blog.teraren.com/posts/vmware-time-drift/) - [Vonage (TokBox)のドキュメントに載っていないこと](https://blog.teraren.com/posts/vonage-tokbox/) - [VPS契約時に確認すべき重要なこと](https://blog.teraren.com/posts/vps-contract/) - [VPS HTTP benchmark (YMC vs KDDI)](https://blog.teraren.com/posts/vps-http-benchmark-ymc-vs-kddi/) - [VPSのHTTP速度](https://blog.teraren.com/posts/vps-speed-test/) - [Webアプリケーションの認証ロジック](https://blog.teraren.com/posts/web-app-auth-logic/): 開発・本番DBが分離した環境で、セッションのみで認証するWebアプリの脆弱点と、メール誤送信リスクを防ぐ認証ロジックの実装方法 - [webp画像をMicrosoft Wordに貼り付ける](https://blog.teraren.com/posts/webp-paste-into-word/) - [WebRTC概論](https://blog.teraren.com/posts/webrtc/) - [個人開発のWebサービスをCloudflareに載せてみた【無料でここまでできる】](https://blog.teraren.com/posts/web-service-on-cloudflare/): 個人開発のWebサービスにCloudflareの無料プランを導入し、CDN・DDoS対策・WAF・自宅サーバのポート隠蔽まで実現する方法とその設定事例を紹介します。 - [とある上場企業にてITコンサルとしてやったことまとめ](https://blog.teraren.com/posts/what-i-have-done-as-it-consulting/) - [Wi-Fi6を導入してみたら590Mbpsしか出ない](https://blog.teraren.com/posts/wifi6/): TP-LinkのWi-Fi 6アクセスポイントを導入しiPhone 11でiperf3ベンチマーク実施。上り246Mbps・下り492Mbpsの実測値と有線LAN・5GHz Wi-Fiとの速度比較結果を公開。 - [Windows Updateの履歴を消すbatch](https://blog.teraren.com/posts/windows-update-log-cleanup/) - [このBlogのホスティングを自宅サーバからLightsailに移行しました](https://blog.teraren.com/posts/wordpess-lightsail-php8/): RAIDカード故障を機に自宅サーバからAWS Lightsail(月5ドル)へWordPressブログを移行。PHP8対応とLet's Encryptの設定、実際の運用負荷とベンチマークも公開。 - [WordPress 4.0 にアップグレードしてベンチマーク](https://blog.teraren.com/posts/wordpress-24-behcmark/): WordPress 4.0とPHP 5.5にアップグレードしApacheBenchで計測した結果、Quick Cacheと合わせて122req/secを達成 - [WordPress 2.7-Beta2にしてみた](https://blog.teraren.com/posts/wordpress-27-beta2/) - [WordPress 3.4.1にしてからDBが刺さる](https://blog.teraren.com/posts/wordpress-3-4-1-database-lock/) - [WordPress 4.0に送ったpatchがmergeされました](https://blog.teraren.com/posts/wordpress4-patch-merged/) - [WordPressのページキャッシュを一括で作る](https://blog.teraren.com/posts/wordpress-bulk-page-cache/): WordPressのComet Cacheプラグインで全記事のページキャッシュをwp-cliとcurlを組み合わせて一括生成するシェルコマンドを紹介。 - [WordPressをDockerizedしました](https://blog.teraren.com/posts/wordpress-dockerized/): LightsailからGMKtec自宅サーバへ移行し、WordPress10サイトをDocker化。MySQLコンテナ共有化やRAM32GBでの運用状況、起動負荷の課題も含めて報告。 - [facebookのlikeボタン](https://blog.teraren.com/posts/wordpress-facebook-like/) - [WordPressのコメント数を正常化](https://blog.teraren.com/posts/wordpress-normalize-comment-count/) - [WordPressのoptions.phpページで保存できないときの対処法](https://blog.teraren.com/posts/wordpress-options/): WordPressのoptions.phpで「設定を保存できませんでした」が出る場合、PHPのmax_input_varsがデフォルト1000では不足するため2000以上に増やす対処法 - [WordPress → Astro移行で得たもの、失ったもの、学んだこと](https://blog.teraren.com/posts/wordpress-to-astro-migration/): 661記事・2,515画像のWordPressブログをAstro + Cloudflare Pagesに移行した技術的な記録 - [WordPressをcronで自動更新。1日おきに最新に!](https://blog.teraren.com/posts/wordpress-update-script/): クラック被害をきっかけに、wp-cliを使ってWordPress本体・プラグイン・テーマをcronで自動更新するシェルスクリプトを作成。10サイトを一括管理する方法を紹介。 - [WordPress 5.0にアップグレードしてみました](https://blog.teraren.com/posts/worespres5/): 自動更新でWordPress5.0に上がった体験談。新エディタGutenbergの使い勝手、Markdownとの相性の悪さ、wp coreコマンドのメジャーアップデート制御不可の問題を解説。 - [WorldPayのActiveMerchantサンプルコード](https://blog.teraren.com/posts/worldpay-activemerchant/) - [WP Super Cacheでマルチバイトを使うとキャッシュが表示されない](https://blog.teraren.com/posts/wp-super-cache-with-multibyte-title/) - [Wrote sample code for gioco](https://blog.teraren.com/posts/wrote-sample-code-for-gioco/) - [xargsで並列処理してCPUを100%使い切ろう](https://blog.teraren.com/posts/xargs-concurrent-execution/) - [(Xcode 4.3) Codesign operation failed Check that the identity you selected is valid](https://blog.teraren.com/posts/xcode-4-3-codesign-operation-failed-check-that-the-identity-you-selected-is-valid/) - [X-RoadにBlockchainは使われていない](https://blog.teraren.com/posts/x-road-does-not-use-blockchain/) - [Yahoo!のFastPayまとめ](https://blog.teraren.com/posts/yahoo-fastpay/): Yahoo!が2014年春にリリースしたクレジット決済サービスFastPayのビジネスモデル・API仕様・PHPサンプルコードをまとめた解説記事 - [Yahoo! ウォレット FastPayを使ってみる](https://blog.teraren.com/posts/yahoo-wallet-fastpay/): Yahoo!ウォレットFastPayの特徴と決済シーケンスを整理し、サンドボックス環境でPHP実装した動作デモを解説 - [YAMAHA RTX1200をmackerelで監視](https://blog.teraren.com/posts/yamaha-rtx1200-mackerel-monitoring/): 自宅のYAMAHA RTX1200ルーターのトラフィックやリソースをMackerelで可視化・監視する設定手順をRTX1200の設定ファイルとともに紹介 - [yarn.lockのコンフリクトを自動的に解消](https://blog.teraren.com/posts/yarn-lock-conflict/): git rebaseやgit pull --rebase後にyarn.lockが大量にコンフリクトした場合、yarn installコマンド一発で自動解消できることを実例とともに紹介します。 - [YMC VPSベンチマーク](https://blog.teraren.com/posts/ymc-vps-benchmark/): YMCのVPSサービス(カスタム10)のApache Benchによる静的HTML配信速度を測定し、表示が遅い原因を調査した記録 - [YMCのVPSサービスをフルに使う!](https://blog.teraren.com/posts/ymc-vps-full-usage/): YMC VPS(CentOS・Xen)でroot権限を活かし、不要なデーモンを削除してSubversionやGCCを導入するなどリソースを最大限に活用するセットアップ手順 - [YMC vs CPI](https://blog.teraren.com/posts/ymc-vs-cpi/): VPSサービスYMCとCPIのHTTPレスポンス性能をApache Benchで比較した結果、CPIがYMCより4.7倍高速だった検証記録 - [zend frameworkでMobilePictogramConverter](https://blog.teraren.com/posts/zend-framework-mobilepictogramconverter/): Zend FrameworkのOutput Filterを使いMobilePictogramConverterで携帯絵文字をPCブラウザ向けに自動変換する実装方法 - [Zend_Mailでマルチバイトメール](https://blog.teraren.com/posts/zend-mail-multibyte-mail/) - [zipコマンドでmacosのDSStoreやIconファイルを除外して圧縮](https://blog.teraren.com/posts/zip-macos-dsstore-icon/) - [zncをMac OS Xに入れてみた](https://blog.teraren.com/posts/znc-mac-limechat/): IRCのログを常時記録するためにZNCをMac OS XにHomebrewでインストールし、自動起動設定からLimeChatとの接続設定までをまとめた手順書 - [Zoomのパスワード強度に関する脆弱性を見つけた](https://blog.teraren.com/posts/zoom-vulnerability/): ZoomのミーティングURLに含まれるパスワードがサーバ側で大文字小文字を区別せず認証される脆弱性を発見。想定の暗号強度より10^30倍弱くなる問題を動画付きで実証報告。