Generated by All in One SEO v4.9.1.1, this is an llms.txt file, used by LLMs to index the site. # thilog フルスタックエンジニアの技術ブログ ## Sitemaps - [XML Sitemap](https://thilog.com/sitemap.xml): Contains all public & indexable URLs for this website. ## 投稿 - [一回もできなかった懸垂ができるようになって、次は逆立ちを目指す筋トレメニューの変遷](https://thilog.com/my-pullup-handstand-challenge/) - 【ジム筋トレメニュー公開】自重トレの限界を克服!懸垂ゼロから「ネガティブ」で5回達成した秘訣と、次の目標「逆立ち」に向けた1年間のキャリステニクス中心の上半身トレーニング内容と成果を紹介します。 - [汎用人工知能(AGI)は実現するのか?感情を持ちそう?何を期待する?](https://thilog.com/column-agi/) - 汎用人工知能(AGI)はいつ誕生する? 人間のシナプス150兆個に匹敵するパラメータ数が鍵? 現在のAIは賢いが部分的な知能。感情や意識を持つAGIは相棒か、厄介者か? 夢と現実を交錯させながら考察! - [DevinとGitHub Copilotエージェントで1人エンジニアチームを作りたい - もう少し使ってみた編](https://thilog.com/devin-github-copilot-agemt-2/) - AIエージェントを用いた開発体験について紹介します。DevinはCIの結果を参照するがCopilotは予測で修正するなど挙動に差が見られた。プロンプトが曖昧では意図が伝わらないのでGoのバージョンやCloud Functions対応でも誤認識が見られた。意図を明示し、AIへのコンテキスト共有を徹底することが重要。 - [DevinとGitHub Copilotエージェントを一緒に使ってみた - 1人エンジニアチームを目指して](https://thilog.com/devin-github-copilot-agemt-1/) - 話題のAIエンジニアのDevinとGitHub Copilotエージェントを使うと、1人エンジニアチームでプロダクト開発ができるのか考えてみます。DevinとGitHub Copilotエージェントの開発効率や導入手順、コストなどを実体験をもとにした感想や注意点を書いています。 - [firebase hostingでdeploy済の複数Webサイトの一つを停止(disable)する](https://thilog.com/firebase-hosting-disabled-website/) - 今回はfirebase Hostingで公開していたWebサイトが複数あるときに、その中でも 特定のWebサイトだけ停止(disable)して他は停止せずに残しておき、あとで復旧(deploy)もしたい 。それにはDeploy Targetsのコマンドを使うことで解決できます。もちろん狙って復旧も可能です。 - [アクセス制限付き静的ウェブサイトを楽にホスティングしたい - GCPとAWS S3とGitHubを調査](https://thilog.com/compare-static-site-hosting-service/) - アクセス制限を入れた静的サイトを作りたくて調べていました。 重要なのは静的サイトをできるだけ簡単かつ安くアクセス制限も入れてやりたいというところ。AWS S3, GitHub Pages, GCP Cloud Storage, Firebase Hosting, Cloud Runといった選択肢を比較しました。 - [Vue.jsとMoment.jsで日付フォーマットのやり方 - Vue3での使い方も紹介](https://thilog.com/vue-filter-moment/) - Vue.jsで日付をキレイにフォーマットして表示したい!そんなときにVue,jsの備えるフィルター機能とMoment.jsを組み合わせた使い方で日付フォーマットを簡単に書けます!しかしVue3ではフィルター機能はなくなってしまいました。でもその書き換え方は非常に簡単。フィルターがなくなった代わりになる書き方も紹介します - [もう大規模開発で詳細設計書は作れない。単体テストコードを詳細設計と再定義しよう](https://thilog.com/redefined-unittest/) - 大規模ソフトウェア開発の品質を考える第二弾です。今回は特にどうすれば大規模開発においてデグレを防いだ開発を進めることができるか?という課題について現実的な話を考えていきたいと思います。結果として詳細設計と単体テストの作り方や定義を更新するべきだ、という結論に至りました。その議論の経緯をご覧いただければと思います。 - [WindowsとMacとPS5を一つのディスプレイで気持ちよく使って楽しみたいエンジニアのデスクツアー - 音にもこだわってます](https://thilog.com/desktour-windows-mac-ps5/) - WindowsとMacとPS5を1つのディスプレイで使いたいところから初めてデスクに様々な工夫を凝らして仕事しやすくゲームもしやすいデスク環境を作っています。特に初代M1 Macの3画面化やMixAmpの接続、遅延なしのBloutooth接続など快適なデスクワークライフを送るコツをその背景といっしょにご紹介します! - [S3からファイルをダウンロードするAWS CLIコマンド : Tipsメモ](https://thilog.com/awscli-s3-download/) - こんにちは。てぃろです。 今回はただのコマンドメモです。 対象のAWS CLIのバージョン aws-cli/2 - [Go言語の共通モジュールをGitHubのPrivate Repoからimportしたい - コンテナ編](https://thilog.com/go-private-module-import-conta/) - GolangでGitHubのプライベートリポジトリをimportする際、ローカル環境では認証情報が自動で使えますが、コンテナ環境では設定が必要です。環境変数にトークンを定義し、Dockerfileに適切な設定を加えることで、コンテナビルド時にも認証を通じてプライベートリポジトリのモジュールを取得できます。 - [Go言語の共通モジュールをGitHubのPrivate Repoからimportしたい - ローカル編](https://thilog.com/go-private-module-import/) - 本記事はGo言語で共通モジュールをプライベートリポジトリから開発中の別のリポジトリへインポートする方法を紹介します。GOPRIVATEの環境変数やghコマンドを使用します。更にバージョン付けや変更方法を紹介します。本記事はプライベートリポジトリ導入とローカル開発にフォーカスしています。コンテナ等は別記事で紹介します。 - [8年ぶりにPCを組みなおしてWindows 11に乗り換えました - できるだけ安く長く使えるように](https://thilog.com/rebuild-my-pc-2023/) - 今回は自作PCの話です。今プライベートで使っているPCは8年ほど前に自作したPCなので、そろそろ新しくしたいしWindows 11が使いたいのもあり新たにPCを組みなおすことにしました。今回は自作PCパーツで選んだものとなぜそれを選んだのかを紹介します。主にCPU、マザボ、メモリ、ストレージを紹介しています。 - [AWS Lambdaの一歩進んだ使い方を考える - re:Invent2020のセッションを参考に](https://thilog.com/aws-lambda-reinvent2020/) - AWS Lambdaを使いこなしていますか?本記事ではre:Invent2020のセッションを参考にしながらLambdaを使いこなす使い方やその特徴について解説していきます。あなたもこの記事を読んでLambdaを使いこなして、コストパフォーマンスの高く管理しやすい最高のサーバーレスアプリケーションを開発しましょう。 - [Wordpressで画像フォーマット「WebP」を使う - Xserverの設定も解説](https://thilog.com/wordpress-webp/) - ブログのSEO評価を上げたいですか?この記事ではSEO評価に大切なページの読み込みスピードを上げるために次世代画像フォーマットWebPをWordpressで使う方法を解説します。WebPを簡単に扱うためのおすすめのプラグインからサーバーの設定方法まで画像付きで解説していきます。SEO評価に効くWebPを使いましょう! - [AngularでDateオブジェクトを変更検知するときは新しいDateオブジェクトを使う](https://thilog.com/angular-dateobject/) - モダンJavaScriptで変数の変更検知が意図せず動かないことがありませんか?この記事では特にAngularの場合の変数の変更検知について、Dateオブジェクトを変更検知させようとしたときのことをTipsとして記載しています。Dateがオブジェトであることをしっかり理解しながら実装してみましょう。 - [Worpress記事の見出しを「追加CSS」を組んで見やすくする - CSSのサンプルもあります](https://thilog.com/wordpress_additionalcss/) - WordPressの投稿スタイルをCSSでカスタマイズ!追加CSS機能で見出しや段落をおしゃれに変更。h2・h3のデザイン調整、タイトルの背景色除去など解説。ユーザーの見やすさ向上におすすめ!CSS学習にはcolissや書籍も活用しよう! - [TP-Link Deco X60のハマりどころ - 失敗から学ぶ安定運用のため設定](https://thilog.com/tp-link-deco-x60/) - TP-Link Deco X60 メッシュWiFi 6ルーターで通信速度向上!中継器不要で安定接続。でも、本当に安定運用するにはいくつか設定にポイントが有りました。高速ローミングは古い機器で不具合発生の可能性あり無効化を推奨します。所有者設定時の就寝時間制限に注意です。 - [正しく理解できる日本語を書くことが何よりも大事](https://thilog.com/japanese-is-important/) - こんにちは。てぃろです。 今回はコラムです。 2012年に会社に入って12年が経ちましたが、この12年の経験の - ["Done is better than perfect"をプロダクト開発で実践する](https://thilog.com/done-is-better-than-perfectをプロダクト開発で実践する/) - " Done is better than perfect "は私の好きな言葉。ないないづくしの開発だからこそこの言葉を頼りに日々のタスクを完了させていくことが重要です。しかし完璧を目指さないとは言わない。完璧を目指すためには完了と同時に残課題を明確にすることが大事。必ずやらなければならないことを管理することが重要です - [Cloud Buildのビルド結果をSlack通知するためのポイント紹介 - Block kitのカスタマイズ例も](https://thilog.com/cloud-build-to-slack/) - Cloud Buildのビルド結果を通知するために調べたことのまとめとSlack通知メッセージのカスタマイズを紹介します。Cloud Buildの通知は公式のソースを少しカスタマイズしSlack通知メッセージはBlock Kitを使ってカスタマイズしています。Pub/Subやデプロイ時のエラーについても紹介しています。 - [表のセルに記入がないことは「いいえ」という選択肢を表すとは限らない](https://thilog.com/must-fill-out-cells/) - 今回はちょっとした表の書き方についてのコラムです。 よく仕事で「表を埋めてください」と言われることがありますし、自分でも依頼することやドキュメントで書いていくこともあります。 この表を埋めるときに、記入しないセルを残していないでしょうか? 表を埋めていないところは曖昧になってしまうので、 - [OpenAIのVison APIとAWS CDKを使って航空券の情報を読み取るAPIをつくってみた](https://thilog.com/openai-visual-input-api/) - 今回はNRIハッカソン2023で開発したAPIにOpenAIの画像入力のAPIを使った航空券の情報を抽出するAPIを追加したので紹介します。もともとはGoogle Maps PlatformのDirections APIなども使い旅行者向けに飛行機が出発するまでの短い時間で行ける場所を提案するプロダクトを作りました。 - [プレゼンの上達は緊張した時の自分を知ることからはじめよう - テクニックはあとからでよし](https://thilog.com/presentation/) - 今回はハッカソンなどにおけるプレゼン(人前で話す)をどのようにしているのか自分の経験をもとに書いていきたいと思います。ポイントは緊張した時の自分を知ること。そのうえで極度に緊張しないようにするための対策を考えておくことです。テクニックはそのあとで身に着ければOK。私なりの対策を3点説明しているのでぜひ参考にしてください - [シンプルな設計が好き](https://thilog.com/simple-is-best/) - シンプル/単純というのは非常にわかりやすくてよいものだと思います。でも開発現場ではそのシンプルを作ることがなかなか難しい。抽象的な設計を具体的な設計にしたときの共通認識が足りなかったりするのかも?みんなシンプルにしたいと思っているはずだしそれを目指すためにはどうすれば?結論、私はシンプルが好きなんです。 - [文章は意味のあるかたまりで切ろう。無意味に接続詞を使ってはいけない。](https://thilog.com/break-into-meaningful-chunks/) - 報告文書で無意味に接続詞をつかって文章を長くしてしまうとわかりにくい文章になって理解してもらえなくなります。今回は「接続詞」を適切に使ったり使わなかったりして、文章を意味のあるかたまりに適切に分けることを簡単な例を挙げながら紹介します。接続詞の意味と文章の前後関係も考えて適切な文章のつなげ方と分け方を身につけましょう。 - [生活習慣を変えてうまく睡眠がとれるようになりました - ポイントはセロトニンとストレッチ](https://thilog.com/habits-for-sleep/) - 私は自他ともに認めるほどに睡眠を取るのが下手な人間でした。 今回は生活習慣として朝の散歩や筋トレ、夜のストレッチなど様々なことを取り入れてうまく睡眠がとれるようになりました。今では睡眠サプリメントをやめることもできています。そんな私の睡眠のための生活習慣について解説します。ポイントはセロトニンとストレッチです。 - [正しい論理と経験をベースに自分の違和感を信じることが正しい価値を導く](https://thilog.com/believe-in-your-discomfort/) - 今回は直感的に思ったことを少し書いてみようと思います。 仕事をしていると様々な人の話を聞くことになります。マネージャーになると特に話すのが仕事みたいな部分があります。 そんなとき、人の話を聞いて違和感を持つことがあります。 長年考えてきましたが、その違和感の正体は目的のずれにあるようなのです。 - [上司に意思決定をお願いするなら漏れなく重複のない選択肢を用意しよう](https://thilog.com/options-for-decision-making/) - 今回は会議で上司に意思決定をしてもらうときに部下として何をするべきなのかを解説しようと思います。 これは会社組織に属する人ならだれでも必要な業務遂行能力の一つですしエンジニアも例外ではありません。やるべきことは選択肢を用意することです。漏れなく重複なく正しい日本語を使った選択肢を明示することが必要なのです。 - [元同期に聞かれてみた大手SIerからキャリアチェンジした理由と意味 - 30代のうちにチャレンジしたかったんです](https://thilog.com/interviewed-career/) - 元同期で現在はキャリアコンサルタントとしてお仕事されているクライス&カンパニーの和田さんにインタビューいただいた記事の紹介です。 テーマは大手SIerから転職してスタートアップの開発責任者になったことについてです。転職理由は30代でチャレンジしたかったからでありそれをテーマに沿って話している記事です。是非ご覧ください。 - [提供サービスで発生した障害は、技術的対処と組織的対処で是正する - QAオペレーション見直しが急務](https://thilog.com/qa-for-incident/) - 今回は提供しているサービスで障害が発生した時にどのように障害を是正していけばよいかということを考えます。障害の是正には技術的な対処と組織的な対処の両面が必要です。この記事では特に組織的な対処としてQAオペレーションに注目します。異常系やデグレ検知を具体的に何に気を付けるべきなのか?をご紹介します。 - [エンジニアからマネージャーになるというキャリアを選んで3か月を振り返る](https://thilog.com/engineer-to-manager-1/) - 仕事でマネージャーになって四半期を終えましたので少し振り返りたいと思います。 いちエンジニアからマネージャーになるというキャリアの選択は思いの外自分にとっては変化が大きかったようでした。その変化がどんなものだったのか?その3か月をどのように感じてきたのかを書いていきます。 - [大企業で10年培った仕事を効率化するためのテクニックまとめ - それでも最後は気持ちが大事です](https://thilog.com/how-to-work-link/) - 大企業で10年やってきた仕事の仕方というのは意外と効率的だったと気付きました。 その過去の経験で書いてきた記事をまとめていきます。仕事や会議を効率化するためのテクニックやガジェット、ツール、デスク周りについて説明してきます。今のリモートワーク全盛時代だからこその話もあります。是非仕事の効率化のヒントとしてご覧ください。 - [約10ヶ月で品質を意識する文化醸成に成功した - 長期的な目線でソフトウェア品質を考える](https://thilog.com/fostered-culture-of-quality/) - 今回は長期的な目線でソフトウェア品質を改善するために文化醸成にまで踏み込んで活動してきた結果のまとめです。 結果としておよそ10カ月でソフトウェアの品質は改善し継続的に品質を維持向上させるための文化醸成まで成功しました。 ここまでいくためにどのようなことをしてきたのか?を少しご紹介したいと思います - [性能テストを計画実行するときによく起こりがちな問題とその解決策4選](https://thilog.com/perfomance-test-problem-solustion/) - これまで多くの開発に関わってきましたがどの開発でも最も問題になる工程が性能テストでした。ほとんどの開発現場で性能観点を十分考慮することが少なかったことで最終的に性能テスト工程になってよく問題が起きていたと思います。そこで今回は私がよく遭遇してきた性能テストの問題とその解決方法について紹介していきたいと思います。 - [Google Cloud JapanさんにMeetupに招待いただきました!](https://thilog.com/gcp-digital-native-leaders-meetup-1/) - 現在の会社ではGCPを使用していたので、GCPのカスタマーエンジニアの方とコミュニケーションさせてもらっていたのですが、その中でDigital Native Leaders Meetupという招待制のイベントに招待いただきました!これを会社のテックブログで書いたので紹介します。 - [Go言語で文字列ベースのenumを書く時には必ずバリデーションしたい : Tipsメモ](https://thilog.com/go-enum-valid/) - 今回はGo言語で文字列ベースのenumを書く時にバリデーションチェックをしなければいけない理由とバリデーションチェックをするための簡単な方法を紹介します。switch文を少し書くだけでバリデーションチェックができるようになります。規約も併用する形ですが好みの部分もあるのでGo言語でenumを書く時の参考にしてください。 - [人と一緒にやる仕事の進め方はエンジニアこそしっかり身に着けるべきだ](https://thilog.com/engineer-and-howtowork/) - 最近仕事の進め方について思うところがありました。そこで思い至ったのが仕事の進め方って習わないということ。ここでいう仕事とは「一つの目的を達成するために長期的に他者と共同作業をする」ことを指しています。実はいいプロダクトを作ろうと思うエンジニアほど共同作業が多くなります。だからこそ仕事の進め方をエンジニアは学ぶべきです。 - [Google OR toolsのVRPTWで経路計算する乗り合いバス予約システムを開発しました - 前編:要件定義編](https://thilog.com/or-tools-vrptw-bus-needs/) - 乗り合いバスの経路計算のためにOR toolsを使った例を紹介します。使用するVRPTW(Vehicle Routing Problem with Time Windows)は時間制約を含むアルゴリズムです。内容は要件定義と実装で分けており本記事は前編の要件定義。どのように要件定義しアルゴリズムを選定したか解説します。 - [Google OR toolsのVRPTWで経路計算する乗り合いバス予約システムを開発しました - 後編:実装編](https://thilog.com/or-tools-vrptw-bus-impl/) - 乗り合いバスのRouting計算のためにOR toolsを使った例を紹介します。使用するVRPTW(Vehicle Routing Problem with Time Windows)は時間制約を含むアルゴリズムです。内容は要件定義と実装で分け本記事は後編としてどのように要件を解釈し実装に落としたのか解説します。 - [AWS LambdaのProvisioned ConcurrencyをServerless Frameworkで設定する](https://thilog.com/aws-lambda-provisioned-concurrency/) - AWS LambdaはProvisioned Concurrencyでコールドスタート問題に対する対策をすることができるようになりました。これをServerless Frameworkを使って設定する方法を解説します。設定したときの注意点もあります。これを知らないといつか本番障害を起こす危険性すらあります。 - [Pythonのオーバーライド(override)をデコレータ(decorator)で作り変えたい](https://thilog.com/python-class-to-decorator/) - Pythonのデコレータ(decorator)を使ったライブラリを作るのは実は簡単です。継承やクラスメソッドのオーバーライド(override)の部分も問題なく書き換え可能です。実行速度も問題ありません。本文ではオーバーライド(override)をデコレータ(decorator)へ書き換えする実例で使い道も解説します。 - [React Datepickerで特定の日付を強調したい - styleを編集せず日付をわかりやすく表示する:Tipsメモ](https://thilog.com/react-datepicker-highlight/) - ReactでDatepickerを使っていますか?カレンダーの特定の日付に色を付けて強調する設定方法を紹介します。自分でcssを書くなどでstyleの編集はしません。非常に簡単な設定だけで鮮やかなカレンダー日付の強調表示ができます。実装にはreact-datepicker、TypeScriptを使用します。 - [AWS CDK v2を使ってReactのフロントアプリとサーバーレスなインフラを(ほぼ)1コマンドでデプロイできるアプリをつくってみた](https://thilog.com/cdk-react-app/) - AWS CDK v2とReactを使ったサーバーレスアプリを紹介します。アプリはSlackのAPIを使ったメッセージ送受信をWeb画面からできます。AWS CDK v2を使って(ほぼ)1コマンドでAPI Gateway、Cloudfront、S3とLambdaにアプリをデプロイします。ソースはGithubで公開中。 - [npmパッケージの脆弱性を自動チェックして対応する方法 - 2つの簡単な工夫を紹介](https://thilog.com/npm-security-check/) - npmパッケージの脆弱性をチェックしてますか?npmパッケージの脆弱性にいち早く対応することは重要で無視できないものです。しかしnpmパッケージの脆弱性を手動でチェックするのは大変です。本記事ではnpmパッケージの脆弱性を自動でチェックする工夫と脆弱性への対応方法をご紹介します。 - [いまさらはじめるGo言語 - 前編:Go言語を学びGoogle Cloud Functionsを実行](https://thilog.com/golang-cloudfunctions-tutorial-1/) - Go言語を学び始めていこうと思います。そこでどのようにして学んでいけば良さそうか?導入をどうしていったか?ということの備忘を残します。今回は前編としてGo言語の基本をどこで学ぶのがよいか?Go言語でCloud Functionsを実行するにはどうすればよいか?を書きます。後編はYoutube APIなどを実装します。 - [ブランチ戦略から考えるソフトウェア品質とリリース運用の安定性と開発現場の5つの事情](https://thilog.com/how-to-create-branch-strategy/) - 今回はソフトウェア品質の側面からブランチ戦略を考えます。 私の経験に基づいて、ソフトウェア品質を確保するためにどのようなブランチ戦略を考えるべきか、そのための要点として開発チームによくある5つの事情をご紹介します。ソフトウェア品質やリリース運用に困っている方々はこれでブランチ戦略を再考してみはいかがでしょうか。 - [makeでup to dateとか言われたらPHONYを使おう:Tipsメモ](https://thilog.com/make-up-to-date-phony/) - makeコマンドを使っているときに"up to date"というエラー文が出てしまったときには、PHONYを使ってコマンドをうまく使えるようになります。Go言語やマイクロサービスの利用が増えてmakeがC言語で使われた時代より注目されるようになったと思います。今だからこそmakeのTipsとして参考にしてみてください。 - [いまさらはじめるGo言語 - 後編:Cloud FunctionsでYoutubeの動画情報自動編集](https://thilog.com/golang-cloudfunctions-tutorial-2/) - Cloud FunctionsでYoutubeの動画情報を自動で編集することができる関数を作ります。動画をYoutubeにアップロードするだけで動画情報がすべて入力されるようにします。Cloud FunctionsをコールするトリガーにはIFTTTを使用しGo言語でYoutube Data API v3をコールします - [ImageMagickでUIテストの画面崩れのデグレチェックをCIで自動化するツールをつくってみた](https://thilog.com/imagemagick-uitest-diff/) - UIテスト結果のスクショをどうやってチェックしていますか?枚数が多くなるとそのチェックだけでも大変なので、今回はImageMagickを使ってUIテストの画面崩れのデグレチェックを自動化してみました。compareというコマンドを使い自動チェックツールを作りました。ツール作成のためのTipsも紹介します。 - [Go言語(Golang)で引数に渡された関数の実行タイミングは、引数があるかないかで変わる](https://thilog.com/golang-func-args-timings/) - Go言語(Golang)で引数に渡された関数の実行タイミングが引数があるかないかで変わるということを知りました。具体的にどんなコードで実行タイミングが変わるのかというのを記事内で紹介しています。可読性のよさなどを考えるとまだ考えることはありそうですが参考の一つにしてもらえるといいと思います。 - [gitignore.ioを使った簡単で設定漏れのない.gitignoreファイルのつくりかた](https://thilog.com/autocreate_gitignore/) - .gitignoreを作るのはかなりめんどくさいです。いざ作ろうとすると一つ一つ指定する必要があって手作業で作成するのはかなりの手間です。そこでgitignore.ioというサービスを使って簡単に.gitignoreファイルを自動生成してしまいましょう。丁寧なコメント付きで生成してくれる非常に便利なサービスです。 - [開発現場で使うフレームワークは、正しい問題に適用し、運用を定着させて初めて意味を持つ](https://thilog.com/how-to-use-framework-in-development-site/) - フレームワークは特定の問題にあてはめて使用すると正しく容易に解決策やそのめのヒントが得られる、というものです。ではフレームワークはただ適用すればいいのでしょうか?変化する現場でフレームワークを使うには適用可能な問題を見極めることと、変化する問題を捉え続け適用するフレームワークすら変化させる必要があるはずです - [React+TypeScript+video.jsで動画配信用クライアントを関数コンポーネントでつくる](https://thilog.com/react_typescript_videojs_function/) - 今回はReactとTypeScriptでvideo.jsを使い関数コンポーネントで動画が見れるようにしたサンプルを紹介します。React+TypeScript+video.jsで関数コンポーネントで書いてあるいい例がなかったので自分で書いてみました。Githubでソースを公開しているので是非動かしてみてください。 - [日中の生産性を上げる起床後のストレッチのススメ - 朝にやるべき動的ストレッチメニュー](https://thilog.com/stretch-after-sleep/) - 今回は私が習慣にしている起床後のストレッチを紹介。背中と骨盤をほぐすオガトレさんのストレッチ動画です。狙いは背中と骨盤の筋肉をほぐすこと。背中と腰と尻をほぐして血流を改善し目を覚ましていきます。頭痛や肩こりの改善も見込めます。ぜひ習慣化すべきストレッチです。 - [PyScriptで書いたスクリプトをGithub Pagesで動かしてみた](https://thilog.com/pyscript-sample-github-pages/) - 今回はPyScriptをGithub Pagesで試してみたいと思います。 PyScriptはWebAssemblyを活用しPythonをブラウザ上で実行できるようにするOSSです。HTML内にPythonを記述してブラウザ上でPythonアプリを実行できます。公開にはGithub Pagesを使ってみます。 - [睡眠の質を上げる就寝前のストレッチ習慣のススメ - 自律神経の乱れを整えます](https://thilog.com/stretch-before-sleep/) - 今回は私が習慣にしている就寝前のストレッチを紹介。背中をほぐすストレッチと全身をほぐすオガトレさんのストレッチ動画です。狙いは自律神経の乱れを整えること。背中と腰と尻をほぐして血流を改善し自律神経の乱れが整って睡眠の質が改善することを期待します。頭痛や肩こりやむくみの改善も見込めるので是非やるべきストレッチです。 - [Pythonで引数やオプションがつけられるCLIツールを作ったときのメモ - ソースコードも見せます](https://thilog.com/python-clitool-links/) - 今回CLIツールを作る機会があったで好きなPythonで作ろうと思ったときにどうやって作ればいいかわからなかったので調べました。主にPythonでCLIツールの作り方について引数やオプションのとり方を気にしつつsetup.pyの作り方を調べてました。 そのときに有用だった記事をまとめるだけのリンク集的な記事です。 - [宣言型か?命令型か?ではない。宣言型プログラミングも命令型プログラミングも違いを理解していい感じに使おう。](https://thilog.com/declative-or-imperative/) - 宣言型プログラミングと命令型プログラミングの違いはなんでしょうか?どちらのほうが優れているのでしょうか?どちらもいいところと悪いところがあります。宣言型プログラミングと命令型プログラミングのメリットとデメリットでその違いを知った上でそれぞれを適切に使っていくことを考えたい。今回はそんなことを考えてみるコラムです。 - [FOSSAでOSSライセンスを一覧しよう。ライセンスチェックのポイントは両立性(互換性)だ。](https://thilog.com/fossa-oss/) - こんにちは。てぃろです。 先日公開した以下の記事でOSSライセンスを調べていた話をしました。 今回はそのために - [OSSライセンスの両立性をうまくコントロールできなかったのでOSS公開ができなかった話](https://thilog.com/abandoned-release-oss/) - こんにちは。てぃろです。 今回はOSS公開をするにあたってOSSライセンスとどのように付き合っていけばよいかを - [Vue.jsのフロントをVue I18nで多言語化してみた - 実装の工夫や注意点も解説](https://thilog.com/vueslsapp-vuei18n/) - Vue.jsのフロントを多言語化したいですか?この記事ではVue I18nというモジュールを使用してVue.jsのアプリを簡単に多言語化する方法について解説します。多言語化するときの実装の工夫や注意点についても同時に解説します。この記事を読めば30分でVue.jsアプリの多言語化ができます。試してみませんか? - [Wordpress5.8 でWebPアップロードをサポート!変換は未サポートなのでプラグインで対応だ](https://thilog.com/wordpress-5-8-webp-support/) - WordPress5.8がリリースされました。新機能の中でも注目したのはWebPのサポートです。これはWebPがアップロードできるようになったという意味でWebPへの変換まではまだできないようです。そこでWebPへの変換は今はプラグインで対応しましょう。今後の対応予定についても少し調べた内容をご紹介します。 - [【iOS】複数端末のUIテストを自動化しよう - XCUITestとfastlaneとBeyond Compareで実装](https://thilog.com/xcode-xcuitest-fastlane/) - iOSアプリ開発で複数端末で自動UIテストを実行したくありませんか?SaaSも使うことなくXCUITestで構築することができます。それにはfastlaneを含めコマンドですべてのテストを実行できるようにします。最後にはXCUITest結果からUIのデグレ検知をどのようにすればよいかまで考えていきます。 - [TypeScriptの勉強メモ - 勉強になる解説記事とか本とかのまとめ](https://thilog.com/typescript-study-memo/) - ここはTypeScriptを勉強する上で参考にしている解説記事や本をまとめます。 勉強は日々行っているので内容は随時更新していきます。 - [TypeScriptでFireStoreのMap型をmapでループする](https://thilog.com/react-typescript-firestore-map-foreach/) - FireStoreのMap型をそのまま受け取るには?TypeScriptのMap型を使ってはいけません。Map型を使わずに独自にinterfaceを定義することで受け取ることができます。データをループして表示するときはforEachではなくmapを使うことができます。具体的な実装例と私のハマりポイントを解説します。 - [プラグインなし!Wordpressの記事を新しく公開したことをZapierを使って自動でツイートする](https://thilog.com/wordpress-auto-tweet/) - ブログの記事更新のツイートを Zapierを使って自動化する方法を紹介します。Zapierのプラグインを使うことなくRSSを活用して自動でTwitterにツイートを設定していきます。実際にツイートができた結果やZapierでの設定方法などを簡単に紹介します。いますぐできる設定できるくらいZapierの設定は簡単です! - [CloudFrontのキャッシュクリア(invalidation)を自動化してみた - 仕組みやCLIコマンドを解説](https://thilog.com/cloudfront-chach-invalidation/) - CloudFrontのキャッシュ(chache)は便利ですがキャッシュクリア(invalidation)しないと古いアプリを使うことになってユーザの体験を損なってしまう危険性があります。今回はリリース実行と同時にCloudFrontのキャッシュクリアも自動化する方法について仕組みとCLIコマンドを解説しました。 - [Vue2.xで配列要素の追加/削除で変更検知する - $setや$deleteをリアクティブシステムを少し解説](https://thilog.com/vue2-reactive-list/) - Vue.jsで配列要素を追加しても削除しても画面が更新されない!そんなときはVue.jsで用意されているAPI($setや$delete)を使って強制的に変更検知をさせて配列要素の追加と削除で画面を更新できるようにしましょう。 - [TypeScript + React TailWindで作るシンプルなModalコンポーネント](https://thilog.com/react-modal-sample-typescript-tailwind/) - 今回はReactでモーダルを簡単に追加する方法を紹介します。 Reactでモーダルを作るために便利なライブラリとしてreact-modalがあります。 今回はこれを使ってモーダルの実装をしてみます。CSSフレームワークとしてはTailwindを使っていきます。これらを使ってシンプルなモーダルを作ってみます。 - [M1 Macbook Pro(2021)に外部ディスプレイを2台つないで3画面表示しよう](https://thilog.com/m1mac-tripledisplay-plugable/) - M1 Macを3画面表示するための方法を紹介します。 今ではM1 Maxなどの最新のM1 Macではそのままでも2台以上のディスプレイに出力できますが、初代のM1 Macbook Proでは出力できる外部ディスプレイは1台のみでした。 しかし、あるガジェットを使うと2台の外部ディスプレイに出力できるようになります。 - [React で親子関係にないコンポーネント間の値渡しにはURLを使ってもいい(使わなかったけど):Tipsメモ](https://thilog.com/react-tips-share-parameters/) - ReactのTipsです。 Reactは親子関係にあるコンポーネント同士での値の受け渡しには Props を使うなどわかりやすい方法がしっかり用意されています。 ただ、今回は 親子関係にない コンポーネント同士での値の受け渡しをどのようにやればシンプルなのか?を考えました。React Router v5を使った方法です。 - [Arumonがアドベントカレンダーやってます](https://thilog.com/arumon-advent-calendar-2021/) - 私が所属する有志団体のArumonでアドベントカレンダー2021を実施しています! ただこのArumonのアドベントカレンダーが面白いところは、Arumonの自由な文化をそのまま反映しているところにあります。 エンジニアの集団ではあるのですが、技術の話だけではなく多岐にわたる記事を公開しています。ぜひ少し覗いてみてください。 - [テストできないなら…あと回しにしてでもちゃんとやろう](https://thilog.com/qcd-test-method/) - こんにちは。てぃろです。 今回はSI現場での「テストする時間がない」というときの話について書きます。 ソフトウ - [AWS GameDay Online ~ APN杯 vol.2 ~ で最多クエストクリアを受賞しました!](https://thilog.com/aws-gameday-online-vol2/) - 先日行われたAWS GameDay OnlineにチームArumonとして出場して見事入賞しました!今回はチームArumonとして参加し最多クエストクリアの賞をいただきました。過去の参加体験記として今後GameDayに参加したいと思っている人の参考になればと思います。 - [fastlaneで出力したiPhoneアプリのスクリーンショットのノッチ部分を自動で削除する - sipsコマンドを活用](https://thilog.com/screenshot-sips/) - fastlaneを使った自動UIテストで出力されたスクリーンショットを自動で加工する方法を紹介します。Macにもともと入っているコマンドでsipsを使っていきます。これらをfastlaneの実行完了後にシェルで実行することでノッチ部分の削除を自動化しUIのデグレ検知を効率的に可能としていきます。 - [xcodegenを入れようとしてxctestが見つからない時はXcodeでCLIの設定をしてるか確認しよう](https://thilog.com/unable-to-find-xctest/) - xcodegenを導入しようとした時にxctestが見つからないというエラーが出ました。これはXcodeのCLIを設定していないことが原因。どこから設定すれば良いのか備忘録として画像付きで簡単に解説を残しておきます。xcodegenの構築時に限らずコマンドでxctestが見つからないとなったらチェックをオススメします - [Xcode13(beta)で実機でUIテスト(XCUITest)しようとしたらBundle Identifierが勝手に書き変わってしまった](https://thilog.com/xcode13beta-bundleidentifier-xctrunner/) - XcodeでSwiftのUIテストをするときにハマった設定のメモです。なぜかBundle Identifierに”.xctrunner”と勝手にくっついてしまってビルドができなくなってしまいました。少し設定をいじることでうまくビルドができるようになりました。どのように設定すればよいか簡単に解説します。 - [”比べてわかるIaCの選び方 - クラウドネイティブストーリー”を読んで、Pulumiのすばらしさに気づきました](https://thilog.com/araiumakatsu-aws-iac/) - 比べてわかるIaCの選び方という技術書を読んだのでその書評を書きました。個人的にはTerraformとPulumiを実務上で使うメリットや注意点を知ることができた素晴らしい本だと思います。実務で使っている彼らだからこそ語れる内容が入っています。本記事では私が特に参考になった部分について少しだけ紹介したいと思います。 - [炎上寸前のソフトウェアテストの悪循環を断ち切るために押さえたい一つのこと - 原因と実践方法を解説](https://thilog.com/knowhow-test-inflames/) - 炎上寸前のプロジェクトでテストしたことありますか?炎上するということはアプリの品質が悪いということ。品質が悪いと障害が多発し忙しくなってもっと品質が悪くなる。一刻も早くこの悪循環を断ち切る必要があります。本記事ではそんな現場で私が実践する悪循環を断ち切るたった一つの考え方を背景とともにご紹介します。 - [リモート会議のためにマイクにこだわろう - おすすめはUSBで使えるコンデンサマイク](https://thilog.com/microphones-for-remotemeeting/) - こんにちは。てぃろです。 その後も同様のテレワークをずっと続けていますが、やはりこれで問題なく仕事が回るという - [失敗から学ぶAppSyncのSubscriptionとかApolloとかPostmanとか](https://thilog.com/failure-appsync-apollo-subscription/) - AppSyncでSubscriptionのクライアントを作りたいですか?僕はVueで作りたかったです!でもうまくいかず諦めました…。でも諦めるまでにやったことが個人的に学びが多かったので記事にまとめます。AppSyncのSubscriptionをVue+ApolloやPostmanでつなぐことを試して失敗した経緯です。 - [v-listの高さを固定してスクロールできるようにする - 仮想スクロールは要りません](https://thilog.com/vue-list-scroll/) - v-listのスクロールがしたいですか?リストの要素の追加と削除がある場合やリストの要素数の多さで最適な実装方法は変わってきます。CSSだけで実装できる場合もあれば仮想スクロールが必要な場合もあります。そんな使い分けの方法についてなぜそのような使い分けになるのか?仕組みの解説も交えてお答えします。 - [プラグインなし!Wordpressのホワイトリストにない外部サイトを埋め込む方法 - PHPも書きません](https://thilog.com/wordpress-embed-externalsite-iframely/) - Wordpressでブログを書く時、外部サイトをキレイに埋め込みたいことありませんか?TwitterやYoutubeならただURLを張り付けるだけでキレイに埋め込めますが埋め込めないサイトもあります。この記事ではそんなWordpressで通常埋め込めない外部サイトでも簡単にキレイに埋め込むことができる方法を紹介します。 - [AppSyncのDynamoDBリゾルバーをServerless Frameworkで書いた](https://thilog.com/appsync-dynamodb-serverless-framework/) - DynamoDBリゾルバーを使えばAppSyncをすぐ作れます。さらにServereless Frameworkと組み合わせると構築速度や再現性が高まります。記事はServerless Frameworkで書いたDynamoDBリゾルバーの定義の例を解説します。公開済のソースで今すぐAppSyncを構築してみませんか? - [AppSyncのLambdaリゾルバーをPythonとServerless Frameworkで書いた](https://thilog.com/appsync-lambda-serverless-framework/) - LambdaリゾルバーでAppSyncの可能性は無限大になります。さらにServereless Frameworkと組み合わせると構築速度や再現性が高まります。今回はPythonでLambdaを書いたソースを見ながらAppSyncの定義の例を解説します。公開済のソースを使って今すぐAppSyncを構築してみませんか? - [いいねしてくれた人をTwitter APIで表示したかったけどできなかった話](https://thilog.com/twitter-get-people-who-give-favorite/) - Twitter APIを使っていいねしてくれた人を一覧表示しようと調査した過程を記事にしました。結論から言うとTwitter APIでいいねしてくれた人の一覧表示はできませんでした。そこに至るまでどんな調査をし、何を試してきたかを見てもらえます。似たことをしたい人のヒントになればうれしいです。 - [bit.connect2020でNOW STYLE賞を受賞! - リモート猟師サービス「ヤマサチ」を開発しました](https://thilog.com/bitconnect2020-yamasachi/) - NRI主催のハッカソンbit.connect2020で受賞しました。リモート猟師サービス「ヤマサチ」を開発。深刻な猟師不足を解消するべく猟師のリモート体験からジビエへの興味を喚起し最終的に猟師そのものへ興味を誘発することを目指したサービス。課題がNewではなくNowだという理由で急遽新設されたNOWSTYLE賞を受賞。 - [AppSyncとGraphQLとは?re:Invent 2020のセッションをもとにまとめてみた](https://thilog.com/aws-appsync-reinvent2020/) - AppSyncを知ってますか?AppSyncとはAWSが提供するGraphQL実装のフルマネージドサービスです。本記事はre:Invent2020のセッション内容をフォローしながらAppSyncとGraphQLの概要をまとめていきます。この記事を読めばAppSyncとGraphQLのことについて理解できます。RESTとは違うAPIの実装に少し触れてみませんか? - [AWSで作るサーバーレスアーキテクチャ入門 - 自作Webアプリを題材に解説](https://thilog.com/vueslsapp-architecture/) - サーバーレスアーキテクチャを知ってますか?AWSなどのクラウドのマネージドサービスをフル活用したアーキテクチャを指します。AWSでは特にLamndaを中心に柔軟性の高い構成が可能です。記事では自作webアプリを事例として解説します。主にREST APIを活用した構成です。これを機にサーバーレスアーキテクチャでサービス開発してみませんか? - [VueとServerless Frameworkで本番向けアプリのフレームワークを公開しました](https://thilog.com/vueslsapp-first/) - サーバーレスアプリの作り方知ってますか?Vue.jsとServerless Frameworkを主に使用し、これまでのサーバーレス開発のノウハウを詰め込んだサーバーレスアプリのフレームワークを作りました。開発から運用まで考慮したその特徴を説明しています。公開しているソースを使ってサーバーレスアプリを作ってみましょう。 ## 固定ページ - [アフィリエイト情報開示](https://thilog.com/アフィリエイト情報開示/) - [お問い合わせ](https://thilog.com/contact/) - thiroyoshiへおお問い合わせはこちらからお願いします。 - [サイトポリシー](https://thilog.com/site-policy/) - 本ウェブサイト「thilog」(以下「当サイト」といいます)をご利用いただく前に、以下の内容をよくお読みいただ - [プライバシーポリシー](https://thilog.com/privacy-policy/) - 当サイト(以下、「当ブログ」)では、ユーザーの個人情報を適切に保護し、安心してご利用いただけるよう以下のとおり - [てぃろです。](https://thilog.com/profile/) - てぃろ(thiroyoshi)です。noteの #これからの仕事術 コンテストグランプリ受賞 本業エンジニア歴8年。在米アメリカ国旗開発経験半年。新規事業企画屋3年。デザイン思考。ハッカソン受賞歴多数。AWSとPythonとサーバーレスは至高の組み合わせ ## Auto Amazon Links - [ソフトウェア開発](https://thilog.com/amazon_auto_links/ソフトウェア開発/) ## カテゴリー - [技術](https://thilog.com/category/tech/) - [仕事術](https://thilog.com/category/work/) - [健康術](https://thilog.com/category/health/) - [VueSlsApp](https://thilog.com/category/vueslsapp/) - [雑談](https://thilog.com/category/雑談/) - [ブログ](https://thilog.com/category/ブログ/) ## タグ - [CSS](https://thilog.com/tag/css/) - [追加CSS](https://thilog.com/tag/追加css/) - [wordpress](https://thilog.com/tag/wordpress/) - [Angular](https://thilog.com/tag/angular/) - [技術メモ](https://thilog.com/tag/技術メモ/) - [wordpressプラグイン](https://thilog.com/tag/wordpressプラグイン/) - [webp](https://thilog.com/tag/webp/) - [python](https://thilog.com/tag/python/) - [AWS](https://thilog.com/tag/aws/) - [ソフトウェア技術](https://thilog.com/tag/ソフトウェア技術/) - [REST API](https://thilog.com/tag/rest-api/) - [Vue.js](https://thilog.com/tag/vue-js/) - [Serverless](https://thilog.com/tag/serverless/) - [vueslsapp](https://thilog.com/tag/vueslsapp/) - [Lambda](https://thilog.com/tag/lambda/) - [reInvent](https://thilog.com/tag/reinvent/) - [npm](https://thilog.com/tag/npm/) - [audit](https://thilog.com/tag/audit/) - [security](https://thilog.com/tag/security/) - [CI/CD](https://thilog.com/tag/ci-cd/) - [多言語化](https://thilog.com/tag/多言語化/) - [CloudFront](https://thilog.com/tag/cloudfront/) - [Cache](https://thilog.com/tag/cache/) - [AppSync](https://thilog.com/tag/appsync/) - [GraphQL](https://thilog.com/tag/graphql/) - [Twitter](https://thilog.com/tag/twitter/) - [API](https://thilog.com/tag/api/) - [Twitter API](https://thilog.com/tag/twitter-api/) - [自動化](https://thilog.com/tag/自動化/) - [ハッカソン](https://thilog.com/tag/ハッカソン/) - [ヤマサチ](https://thilog.com/tag/ヤマサチ/) - [Serverless Framework](https://thilog.com/tag/serverless-framework/) - [Vue2.x](https://thilog.com/tag/vue2-x/) - [Vue3.x](https://thilog.com/tag/vue3-x/) - [Moment.js](https://thilog.com/tag/moment-js/) - [TypeScrypt](https://thilog.com/tag/typescrypt/) - [DynamoDB](https://thilog.com/tag/dynamodb/) - [テスト](https://thilog.com/tag/テスト/) - [設計書](https://thilog.com/tag/設計書/) - [開発ノウハウ](https://thilog.com/tag/開発ノウハウ/) - [Apollo](https://thilog.com/tag/apollo/) - [Subscription](https://thilog.com/tag/subscription/) - [React](https://thilog.com/tag/react/) - [FireStore](https://thilog.com/tag/firestore/) - [Firebase](https://thilog.com/tag/firebase/) - [詳細設計](https://thilog.com/tag/詳細設計/) - [単体テスト](https://thilog.com/tag/単体テスト/) - [ウォーターフォール開発](https://thilog.com/tag/ウォーターフォール開発/) - [アジャイル](https://thilog.com/tag/アジャイル/) - [マイク](https://thilog.com/tag/マイク/) - [リモート会議](https://thilog.com/tag/リモート会議/) - [大規模ソフトウェア開発の品質を考える](https://thilog.com/tag/大規模ソフトウェア開発の品質を考える/) - [swift](https://thilog.com/tag/swift/) - [XCUITest](https://thilog.com/tag/xcuitest/) - [UIテスト](https://thilog.com/tag/uiテスト/) - [IaC](https://thilog.com/tag/iac/) - [書評](https://thilog.com/tag/書評/) - [iOS](https://thilog.com/tag/ios/) - [Xcode](https://thilog.com/tag/xcode/) - [Mac](https://thilog.com/tag/mac/) - [sips](https://thilog.com/tag/sips/) - [画像加工](https://thilog.com/tag/画像加工/) - [fastlane](https://thilog.com/tag/fastlane/) - [fastname](https://thilog.com/tag/fastname/) - [GameDay](https://thilog.com/tag/gameday/) - [Arumon](https://thilog.com/tag/arumon/) - [OR](https://thilog.com/tag/or/) - [OR tools](https://thilog.com/tag/or-tools/) - [OSS](https://thilog.com/tag/oss/) - [経路最適化](https://thilog.com/tag/経路最適化/) - [Datepicker](https://thilog.com/tag/datepicker/) - [SIer](https://thilog.com/tag/sier/) - [品質保証](https://thilog.com/tag/品質保証/) - [S3](https://thilog.com/tag/s3/) - [CLI](https://thilog.com/tag/cli/) - [Advent calendar](https://thilog.com/tag/advent-calendar/) - [Tips](https://thilog.com/tag/tips/) - [宣言的プログラミング](https://thilog.com/tag/宣言的プログラミング/) - [コラム](https://thilog.com/tag/コラム/) - [M1 Mac](https://thilog.com/tag/m1-mac/) - [GCP](https://thilog.com/tag/gcp/) - [hosting](https://thilog.com/tag/hosting/) - [Tailwind](https://thilog.com/tag/tailwind/) - [AWS CDK](https://thilog.com/tag/aws-cdk/) - [ImageMagick](https://thilog.com/tag/imagemagick/) - [FOSSA](https://thilog.com/tag/fossa/) - [Zapier](https://thilog.com/tag/zapier/) - [ガジェット](https://thilog.com/tag/ガジェット/) - [デスクツアー](https://thilog.com/tag/デスクツアー/) - [Game](https://thilog.com/tag/game/) - [ストレッチ](https://thilog.com/tag/ストレッチ/) - [健康術](https://thilog.com/tag/健康術/) - [自律神経](https://thilog.com/tag/自律神経/) - [睡眠](https://thilog.com/tag/睡眠/) - [WebAssembly](https://thilog.com/tag/webassembly/) - [HTML](https://thilog.com/tag/html/) - [PyScript](https://thilog.com/tag/pyscript/) - [video.js](https://thilog.com/tag/video-js/) - [Go](https://thilog.com/tag/go/) - [Cloud functions](https://thilog.com/tag/cloud-functions/) - [Google Cloud](https://thilog.com/tag/google-cloud/) - [フレームワーク](https://thilog.com/tag/フレームワーク/) - [問題解決](https://thilog.com/tag/問題解決/) - [問題発見](https://thilog.com/tag/問題発見/) - [Git](https://thilog.com/tag/git/) - [WiFi](https://thilog.com/tag/wifi/) - [ネットワーク](https://thilog.com/tag/ネットワーク/) - [Youtube](https://thilog.com/tag/youtube/) - [IFTTT](https://thilog.com/tag/ifttt/) - [make](https://thilog.com/tag/make/) - [ブランチ戦略](https://thilog.com/tag/ブランチ戦略/) - [仕事](https://thilog.com/tag/仕事/) - [性能テスト](https://thilog.com/tag/性能テスト/) - [マネジメント](https://thilog.com/tag/マネジメント/) - [QA](https://thilog.com/tag/qa/) - [記事紹介](https://thilog.com/tag/記事紹介/) - [インタビュー記事](https://thilog.com/tag/インタビュー記事/) - [自作PC](https://thilog.com/tag/自作pc/) - [文章作成](https://thilog.com/tag/文章作成/) - [日本語](https://thilog.com/tag/日本語/) - [プレゼン](https://thilog.com/tag/プレゼン/) - [仕事術](https://thilog.com/tag/仕事術/) - [OpenAI](https://thilog.com/tag/openai/) - [生成AI](https://thilog.com/tag/生成ai/) - [GitHub](https://thilog.com/tag/github/) - [静的サイト](https://thilog.com/tag/静的サイト/) - [表](https://thilog.com/tag/表/) - [Cloud Build](https://thilog.com/tag/cloud-build/) - [Slack](https://thilog.com/tag/slack/) - [Devin](https://thilog.com/tag/devin/) - [汎用人工知能](https://thilog.com/tag/汎用人工知能/)