タグ

ブックマーク / dev.classmethod.jp (35)

  • ブラウザから無料で簡単に証明書を発行できる ZeroSSL | DevelopersIO

    ウィスキー、シガー、パイプをこよなく愛する大栗です。 最近ブラウザから簡単に証明書を発行できる ZeroSSL というサービスで証明書を発行したことがあったのでまとめてみます。 ZeroSSL (8月21日追記) ACME 経由であれば無制限に無料で証明書を発行できる旨を追記しました ZeroSSL 無料で SSL/TLS 証明書を発行できるサービスと言うと Let's Encrypt を利用されている方が多いと思います。2023年8月時点で Let's Encrypt が発行している有効な証明書は2億8000万を超えています1。Let’s Encrypt は素晴らしいサービスですが、単一障害点になっていることに警鐘を鳴らしているセキュリティ研究者もいます2。別の選択肢として ZeroSSL を紹介しています。 Let's Encrypt では certbot の様なコマンドを使用して S

    ブラウザから無料で簡単に証明書を発行できる ZeroSSL | DevelopersIO
    hirorock
    hirorock 2023/09/27
    ssl
  • 周りのすごい人と比較してしまう時などに良かった思考の整理法を紹介します | DevelopersIO

    「他の人と比べる必要ない」とか言われてもすぐ比較してしまいます。なんですごいと思ったのか?どんなタイプのすごさなのか?と言語化する遊びも結構楽しいですよ(たまにですけど) こんにちは。AWS事業コンサルティング部に所属している今泉(@bun76235104)です。 こんなことありませんか? 同僚が優秀で自分と比較して悩んでしまう、ストレスを感じている 常に焦りがあるが、今の自分の頑張りが正しいのかもわからない 急速的な技術の進歩に対して、なんとも表現しがたい不安に襲われる 最近だとChatGPTなどを目の当たりにして、「自分が当に必要なのか?」と悩んだり 私は頻繁にあります。 実際クラスメソッドに入社した後にも何回も思ったり、周りの人に相談したりということを繰り返しています。 しかし直近半年くらいやり続けて、自分にはとても効果があると感じた思考や悩みの整理術を共有したいと思います。

    周りのすごい人と比較してしまう時などに良かった思考の整理法を紹介します | DevelopersIO
    hirorock
    hirorock 2023/05/14
  • 英語学習は AI と行う時代がついに到来!? ChatGPT と LINE Bot でオンライン英会話アプリ「Small GPTalk」を作ってみた | DevelopersIO

    こんにちは。CX 事業部 Delivery 部のきんじょーです。 ChatGPTAPI がついに提供されたということで、チャット AI 界隈が盛り上がっていますね。 このビッグウェーブに乗り遅れてはいけないと思い、ChatGPT の優れた自然言語処理能力を活かして LINE英会話の練習をする「Small GPTalk」というサービスを作ってみました! アプリの紹介と、アプリ作成を通して感じた ChatGPT の可能性についてブログ化していきます。 Small GPTalk とは Small GPTalk は、ChatGPT から派遣された AI 英語講師と LINE 上で SmallTalk(世間話) を楽しむためのアプリです。 レッスンが始まると、講師はトピックを提示してくれます。好きなトピックを選んで講師と会話を楽しみましょう。 レッスンを終わるときは「終わります」と伝えて

    英語学習は AI と行う時代がついに到来!? ChatGPT と LINE Bot でオンライン英会話アプリ「Small GPTalk」を作ってみた | DevelopersIO
    hirorock
    hirorock 2023/03/05
  • ゲームチェンジャーと噂のCloudFlare D1を性能検証してみた | DevelopersIO

    記事はCloudflareアドベントカレンダーの10日目の記事です。 Cloudflare Advent Calendar 2022 の記事一覧 10日目は現在アルファ版として公開されているCloudflare D1についての性能検証の記事です。 Cloudflare D1は一言でいうと「エッジロケーションで利用できるSQLiteベースのリレーショナルデータベース」です。 CloudFlareのグローバルネットワークを活用して、データの読み取り専用のクローンがエッジロケーションに自動的に配置されるとのことなので、なんか凄そうです! 従来CloudFlareでのデータストアの選択肢としては、 オブジェクトストレージとしてのCloudFlare R2、 キューバリュー形式データベースとしてのCloudFlare KVなどがありましたが、 CloudFlare D1の登場によって、より多くのユ

    ゲームチェンジャーと噂のCloudFlare D1を性能検証してみた | DevelopersIO
    hirorock
    hirorock 2022/12/13
  • Cloudflare R2がGA(一般公開)されてパブリックアクセス&独自ドメイン設定が可能になりました! | DevelopersIO

    どうも、ベルリンオフィスの小西です。 今週はCloudflareのGA Weekですね。 それに伴ってこの度、ベータ版だった Cloudflare R2 もGA(一般公開)されました。 Cloudflare R2とは Cloudflare R2はAmazon S3互換のオブジェクトストレージサービスで、Cloudflare Workersから操作できるWorkers API、S3互換の(つまり CreateBucket や ListObjects などが使える)API、どちらもサポートしています。 エグレス料金はかからず、下記3つの要因のみで費用が決まる価格設定が魅力です(無料利用範囲も大きい)。 ストレージ … $0.015 / GB (月額) クラスA操作 … $4.50 / 100万回 クラスB操作 … $0.36 / 100万回 今回のGAとともに「Public Access」と「

    Cloudflare R2がGA(一般公開)されてパブリックアクセス&独自ドメイン設定が可能になりました! | DevelopersIO
    hirorock
    hirorock 2022/10/13
  • Google Tag Managerで要素のクリックをトリガーにしてタグ配信する | DevelopersIO

    こんにちは、CX事業部 IoT事業部の若槻です。 今回は、Google Tag Managerで要素のクリックをトリガーにしてタグ配信してみました。 やってみた Google Tag Managerのアカウントとウェブコンテナは作成済みとします。 トリガーの作成 どの要素をクリックした際にタグを配信するか?の条件はトリガーを作成して指定します。 [ワークスペース]-[トリガー]で[新規]をクリック。 [トリガーの設定]をクリック。 [クリック]でリンクのみを選択。 まず既定の設定としてみます。 トリガー名を指定して[保存]をクリック。 トリガーを作成できました。 タグ作成とトリガーの紐付け タグを作成して、そのタグにトリガーを設定します。これによりトリガー発火時に紐付けられたタグが配信されるようになります。 [ワークスペース]-[タグ]で[新規]をクリック。 [タグ設定]をクリック。 こ

    Google Tag Managerで要素のクリックをトリガーにしてタグ配信する | DevelopersIO
    hirorock
    hirorock 2022/09/30
  • Terraform ベストプラクティスを整理してみました。 | DevelopersIO

    こんにちは。クラメソのスジェです。 ほとんどのサービスにはベストプラクティス(=best practices)というのがあります。 そのサービスを利用する際、このベストプラクティスを守るとより効率的に性能を100%活用することができます。 もちろんterraformにもこのようなベストプラクティスがあります。 今回はこのベストプラクティスについて整理してみました。 参考資料 記事は下記の資料を参考にして作成しました。 記事ではほとんどのプロジェクトに活用できる程度の項目を紹介しています。つまり、ベストプラクティスについて軽く説明している感じなので、詳細な内容までは上記の資料をご参照ください。 また、紹介した資料以外にもベストプラクティスを調べてみたら、たくさんの資料がありますので、そちらもあわせて確認することをお勧めします。 読む前に 実際にベストプラクティスをプロジェクトに適用しよう

    Terraform ベストプラクティスを整理してみました。 | DevelopersIO
    hirorock
    hirorock 2022/08/20
  • Gatsbyの静的ページ遅延生成機能であるDSGを使ってビルド時間を短縮してみた。 | DevelopersIO

    どうも、ベルリンオフィスの小西です。 日はGatsbyのビルド時間を短縮する仕組み DSG を使ってみたので紹介します。 GatsbyのDSGってなぁに? DSG (Deferred Static Generation)はGatsbyのバージョン4から追加された機能で、一部のページの生成を、ビルド時ではなくアクセスがあって初めて行います。 自分は 静的ページ遅延生成機能 と訳すとしっくりきました。 Gatsbyは静的ページ生成フレームワークのため、基的にサイトビルド時に全ての静的ページを生成します。 これによりユーザーがどのページをリクエストしても高速なページの表示が可能になるのですが、一方でページ数が増えるに従ってビルド時間も比例して増えていくことになります。 数百ページ程度なら問題になることはないと思いますが、ヘッドレスCMSなどを使って数千ページ以上の規模になってくると、一回一回

    Gatsbyの静的ページ遅延生成機能であるDSGを使ってビルド時間を短縮してみた。 | DevelopersIO
    hirorock
    hirorock 2022/08/09
  • ブログ記事内にカード型のリンクを貼る方法3選 | DevelopersIO

    カード型のリンクを貼る方法 ブログ記事内に他のWebページのリンクを貼る際、単純な文字列だけではなくリッチなカード型のリンクを貼るケースが増えています。 このカード型のリンクを貼る方法はいくつかありますが、当ブログでよく使われている3つの方法をご紹介したいと思います。 はてなブログカード 主にはてなブログの記事のリンク向けに用意された機能ですが、はてなブログ以外からも利用できます。 コード <iframe class="hatenablogcard" style="width:100%;height:155px;max-width:680px;" title="【ブログタイトル】" src="https://hatenablog-parts.com/embed?url=【ブログURL】" width="300" height="150" frameborder="0" scrolling=

    ブログ記事内にカード型のリンクを貼る方法3選 | DevelopersIO
    hirorock
    hirorock 2022/08/02
  • AWSのマルチアカウント戦略が難しい! | DevelopersIO

    今日(2022/07/07)は弊社、Classmethodの創立記念日ということで、 AWSのマルチアカウント戦略で思ったこと をそのまま書き殴ってみました。 共感するところや他に苦労しているところ思いついた方は Twitter 等で共有いただけると嬉しいです! 思いつく限り書いた結果の目次がこちらです。 「アカウントをどう分割するのか」問題 「AWS Control Tower を活用したほうがいいのか」問題 「ユーザー管理どうするのか」問題 「最小権限とは言っても」問題 「管理アカウントでの作業が怖い」問題 「OU/SCP周りの更新が怖い」問題 「セキュリティをどう向上するか」問題 「アカウント数のスケールにどう対応するのか」問題 「ベースラインの構築/管理をどうするか」問題 「ログ集約するのか/しないのか」問題 「どのアカウントかぱっと見て分からない」問題 「Security Hub

    AWSのマルチアカウント戦略が難しい! | DevelopersIO
    hirorock
    hirorock 2022/07/08
  • GitHub Actionsを使ってGASをデプロイしてみた | DevelopersIO

    はじめに アノテーションの髙嶋です。 私は業務の中で社内ツールの作成なども行っていますが、Google Apps Script(以降、GASと記述)を使用することが多いです。 今回はGitHub Actionsを使ってGASのデプロイをやれないかな?と試してみたので、その手順を記載しています。 もっとこうした方がいい!というのもあると思うので、教えていただけると喜びます。 前提条件 ".clasprc.json"というファイルの情報を使用するため、claspを使用したGASの開発環境を構築できるスキルがある前提となります。 その辺りがわからない場合は、別途調べていただければと思います。 デプロイ準備 Secrets設定 claspを使用してローカル端末でGASの開発を行う場合、Googleにログインすることで".clasprc.json"というファイルが端末内に作成されます。 このファイル

    GitHub Actionsを使ってGASをデプロイしてみた | DevelopersIO
    hirorock
    hirorock 2022/03/16
    .clasprc.jsonの内容を、GitHubのSecretsに入れておく。GASのDeployをGitHub Actionsでおこなうアイデア
  • CloudFrontで素早くコンテンツを更新させたい場合にTTLを短くしInvalidationを行わないキャッシュ戦略を考える | DevelopersIO

    CloudFrontで素早くコンテンツを更新させたい場合にTTLを短くしInvalidationを行わないキャッシュ戦略を考える CloudFrontで頻繁に更新されるコンテンツではないため長くキャッシュさせておきたいが、更新があった場合はすぐに反映させたい、というケースではTTLを短くしておきましょう。オリジンからのデータ体の転送は更新の際にしか実施されません。 はじめに 清水です。AWSのCDNサービスであるAmazno CloudFrontを利用する場合に、頻繁に更新されるファイルではないため、なるべく長くCloudFrontにキャッシュさせオリジンへのアクセスやデータ転送の負荷などは極力少なくしたい。けれどオリジン側でファイルの更新があった場合は、なるべく早くCloudFront側でもキャッシュの反映を行いたい、といったことがあります。 このようなケースで1つ考えられる方法は、C

    CloudFrontで素早くコンテンツを更新させたい場合にTTLを短くしInvalidationを行わないキャッシュ戦略を考える | DevelopersIO
    hirorock
    hirorock 2022/02/20
  • CI/CDでnpm ciする際は ~/.npm をキャッシュしよう | DevelopersIO

    現在自分が担当しているプロジェクトでは、GitHub Acitionsを利用してデプロイを行っています。 npm ci を使ってパッケージのインストールが行われていましたが、 その際に node_modules をキャッシュしていて意味がない状態となっていました。 - name: Cache Node modules uses: actions/cache@v2 with: path: hoge/node_modules key: ${{ runner.os }}-node_modules-${{ hashFiles('**/package-lock.json') }} - name: Build hoge run: | npm ci npm run build working-directory: hoge これは修正せねば!ということで、調べると npm ci する際は ~/.npm

    CI/CDでnpm ciする際は ~/.npm をキャッシュしよう | DevelopersIO
    hirorock
    hirorock 2022/02/16
    `$ npm ci`時のキャッシュ案 → $HOME/.npmをCache https://docs.npmjs.com/cli/v7/commands/npm-ci#example
  • Google Apps ScriptをTypeScriptで書いてみた | DevelopersIO

    はじめに アノテーションの髙嶋です。 Google Apps Script(以降、GAS)を書く際、みなさんはどうやってコードを書いてますか?私はTypeScriptで書いています。 今回はGASをTypeScriptで記述して実行する手順を書いています。 なぜTypeScriptで書くのか 型があるって素敵じゃないですか? JavaScriptだと変数の宣言時や関数のパラメータや戻り値に対して型は指定せず、実行時に入っている値をもとに決定されます。(動的型付け言語) 言ってしまえば「なんでも入れられます」という状態です。なので、変数に対して誤った値を設定していても気づけず、実行しないと問題なく動作するか確認できません。 一方、TypeScriptは変数の宣言時やメソッドのパラメータや戻り値にstringやnumberなどの型を指定することができます。(静的型付け言語) 型を指定することで

    Google Apps ScriptをTypeScriptで書いてみた | DevelopersIO
    hirorock
    hirorock 2022/02/07
    GASでimport clasp
  • 法人がENSドメイン名を取得するときのプラクティス ~ classmethod.ethを取りました | DevelopersIO

    昨今、example.eth というEthereum Name Service (ENS)のドメイン名普及してきています。通常のDNSがAレコード等でサーバーのIPアドレスを登録するのに対して、ENSはEthereumのアドレスを登録して名前解決します。 .ethはIT企業などがEthereumアドレスを使ったサービスを展開する際に使われるほか、IPFSページをホストする場合の利便性が高いため、これからのWeb3の世界では必須のドメイン名になってきます。 新しいTLDが出てくるたびに企業やブランド名を先回りして取得して高値で転売するスクワッティングが横行しますが、.ethは包括的にドメイン名を管理してくれるサービスには今のところ対応しておらず、レジストラもENSに限られ、暗号通貨のethで決済を行わなければならないというIPやシステム管理者には頭の痛い存在です。実際、ENS開始時のオークシ

    法人がENSドメイン名を取得するときのプラクティス ~ classmethod.ethを取りました | DevelopersIO
    hirorock
    hirorock 2022/01/29
  • オープンソースのプロジェクト管理ツール「Taiga」を試してみた | DevelopersIO

    こんにちは!DA(データアナリティクス)事業部 サービスソリューション部の大高です。 プロジェクト管理ツールは色々ありますが、スクラム開発を実施する際には一定のお作法などもあり、より特化したツールのほうが利用しやすいかと思います。 今回はそんなプロジェクト管理ツールとして、オープンソースのプロジェクト管理ツール「Taiga」を試してみました。 Taigaとは? Taigaはアジャイルチーム向けのプロジェクト管理ツールです。直感的なユーザーインターフェイスを備えており、また多言語対応もしています。 「Basicプラン」または「Premiumプラン」の2つから、いわゆるSaaS型の利用ができますが、一方でセルフホスティングとして利用することで無償利用も可能です。 今回は、こちらのセルフホスティング型での利用を試してみたいと思います。 前提条件として、Docker環境が必要となるので私はDoc

    オープンソースのプロジェクト管理ツール「Taiga」を試してみた | DevelopersIO
    hirorock
    hirorock 2021/10/16
  • CloudFront+S3なSPAにLambda@EdgeでOGP対応する | DevelopersIO

    吉川@広島です。 案件でCloudFront+S3なSPAに対してOGP対応が必要になってきそうなため、Lambda@Edgeを使った対応について検証しました。 現状、FacebookやTwitterのBotは基的にクライアントサイドJSを解釈できず、SPA単体でのOGP対応は難しいとされています。OGPメタタグはSSRで返してあげる必要があるため、「UserAgentでBot判定し、その時だけOGPメタタグ入りのHTMLをエッジサーバでレンダリングして返す」というのが基戦略になります。 SPAをホスティングするCloudFront+S3を作成する S3バケットを作成する バケット名だけ入力し、後はデフォルト値で作成します。 そして、来であればSPA用のHTML/JS/CSSリソースをアップロードするのですが、今回はLambda@Edgeの動作確認ができれば良かったためパスしました(

    CloudFront+S3なSPAにLambda@EdgeでOGP対応する | DevelopersIO
    hirorock
    hirorock 2021/07/25
  • 【実録】攻撃者のお気に入り API 10選 | DevelopersIO

    AWSアクセスキーセキュリティ意識向上委員会って何? 昨今、AWSのアクセスキーを漏洩させてしまうことが原因でアカウントへの侵入を受け、 多額の利用費発生・情報漏洩疑いなど重大なセキュリティ事案が発生するケースが実際に多々起きています。 そこで、アクセスキー運用に関する安全向上の取組みをブログでご紹介する企画をはじめました。 アクセスキーを利用する場合は利用する上でのリスクを正しく理解し、 セキュリティ対策を事前に適用した上で適切にご利用ください。 はじめに 弊社オペレーションチームでは、AWS よりお客様アカウントの侵害疑いの連絡を受けた際に、状況確認のため CloudTrail を調査しています。記事では調査で気づいたことをいくつかお伝えできればと思います。 仮想通貨のマイニングを例とすると、攻撃者は自分たちの IAM ユーザーを作り、とにかく「ハイスペックなインスタンス」をとにかく

    【実録】攻撃者のお気に入り API 10選 | DevelopersIO
    hirorock
    hirorock 2021/06/12
    your-mom-will-be-sad ネタ
  • VS Code の画面を共有するときはキー入力が見える「スクリーンキャストモード」を有効にしてみよう | DevelopersIO

    VS Code の「スクリーンキャストモード」使ってますか? スクリーンキャストモードとは 百聞は一見に如かず。 お分かりでしょうか。どのキーを入力したのかが一目瞭然です。マウスもクリック時には赤丸が表示されるのでどこをクリックしたかが分かりやすくなっています。(マウス押下時の黄色はスクリーンキャプチャソフトが付与したものです) スクリーンキャストモードは VS Code 1.31 January 2019 で搭載された機能ですが、意外と知らない人も多く、私自身この機能の名前がパッと出てこないこともあったので今回改めて紹介してみました。 https://code.visualstudio.com/updates/v1_31#_screencast-mode スクリーンキャストモードを有効にする デフォルトではショートカットキーは割り当てられていません。コマンドパレットから Develope

    VS Code の画面を共有するときはキー入力が見える「スクリーンキャストモード」を有効にしてみよう | DevelopersIO
    hirorock
    hirorock 2021/05/31
  • TypeScript で記述した Google Apps Script を clasp と GitHub Actions を使ってデプロイする | DevelopersIO

    TypeScript で記述した Google Apps Script を clasp と GitHub Actions を使ってデプロイする TypeScript で記述した Google Apps Script を clasp と GitHub Actions を使ってデプロイし、トリガーを使った定期実行をしてみました。 @google/clasp を使うことで CLI で Google Apps Script (GAS) を扱えるため、コードを Git で管理できるようになります。 今回はコードを GitHub で管理し、テストと clasp push を Github Actions で実行できるようにしてみます。 最終的な完成物は下記のリポジトリになります。 https://github.com/hbsnow-sandbox/clasp-github-actions-exampl

    TypeScript で記述した Google Apps Script を clasp と GitHub Actions を使ってデプロイする | DevelopersIO
    hirorock
    hirorock 2021/04/14