はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    iPhone 17

『Hori Blog』

  • 人気
  • 新着
  • すべて
  • 「しいたけ占い公式サイト」を支える技術 | Hori Blog

    92 users

    hori-ryota.com

    Hori Blogフリーランスでバックエンドエンジニアとして活動している Ryota Hori のブログです。 最近はテック系記事より雑記ブログ気味。 ご縁がありまして「しいたけ占い公式サイト」の開発に携わりました。 比較的シンプルなページ構成ですが、高トラフィックを快適に提供する Web サイトとして色々と工夫したので記録に残しておきます。似たような構成の Web サイトを構築する際の参考になれば幸いです。 (技術的開示および実績公開に関してはしいたけ.さんより許諾を頂いております。ありがとうございます。) 「しいたけ占い公式サイト」とは 占い師であるしいたけ.さんが占いコンテンツを連載する公式サイトです。 しいたけ占いの公式サイト。占い師しいたけ.が 12 星座別の運勢をオーラカラーと共に診断。毎週月曜日更新の週刊占いと、上半期、下半期占いをお楽しみいただけます。 しいたけ占い公式サイ

    • テクノロジー
    • 2023/07/12 11:51
    • cloudflare
    • あとで読む
    • cdn
    • engineering
    • development
    • web
    • tech
    • technology
    • DDDの個人的な現状 in 2019 | Hori Blog

      6 users

      hori-ryota.com

      Hori Blogフリーランスでバックエンドエンジニアとして活動している Ryota Hori のブログです。 最近はテック系記事より雑記ブログ気味。 個人的な話となり恐縮ですが、2019 年はドメイン駆動設計の戦術周りでたくさんの試行錯誤ができた有意義な年となりました。 活動していく中で課題感に共感を得られたり方向性の違いを実感できたり学びが多かったので、雑記として残しておこうかと思います。 ドメイン駆動設計#1 Advent Calendar 2019の記事です。 今年やったこと 「人間がやるべき本質的作業だけに注力しよう」を掲げて DDD を導入 プロジェクトがビジネス上の事情で霧散しがち フルスクラッチで DDD!を繰り返せて幸運…? DDD を狙った code generator を作成 DDD するのに Go でも required を表現したくて go-genconstruc

      • テクノロジー
      • 2019/12/24 12:51
      • 継続的に価値を提供するドメイン駆動設計入門 | Hori Blog

        40 users

        hori-ryota.com

        Hori Blogフリーランスでバックエンドエンジニアとして活動している Ryota Hori のブログです。 最近はテック系記事より雑記ブログ気味。 世界へ継続的に価値を提供するコストはもっと低くてもいいはずだと思う。 継続的な価値提供への一つの手法としてドメイン駆動設計があるが、特にアプリケーション設計においては大局的な理解を得ることが難しいように思われる。 ドメイン駆動設計によるアプリケーション開発においてどういうことを実現したいのか。 本記事では大局的な思想に注目することで設計の入門となることを期待したい。 ドメイン駆動設計で成したい欲求 アプリケーション提供において、開発は専門化し価値提供欲求と分断されることが起こりがちである。加えて、アプリケーションの大規模化に伴い開発内においても局所的な専門化が生じやすい現状がある。 特定の目的を達成することで価値を提供するアプリケーションに

        • テクノロジー
        • 2019/09/09 12:31
        • DDD
        • 設計
        • あとで読む
        • 開発
        • FFmpegで動画の一部を無音にするときは音声を削除せずに無音データで埋めないとダメ | Hori Blog

          3 users

          hori-ryota.com

          FFmpeg に限らずですが、動画の一部を無音にするとき”音声データの削除”と”無音データに置き換え”の区別がついていないと爆死する。 作業手順 動画を切り分ける(音声を抜く部分、その前後、の 3 つに) 音声を無音に変換する 1 で分けた動画を結合する 音を消すだけじゃダメ 無音音声の動画と音声データがない動画は別のものです。 音声データがない動画を音声データのある動画と結合した場合、図のように部分的に音声データが欠落している動画となるのですが、 プレーヤーが上手いこと補ったりスルーしてくれるわけでもなく、再生時に不具合となります。 なので、代わりの音声データ(無音)をきちんと入れてあげましょう、という話。 以下、正しい作業手順を貼っておきます 具体的な手順 1. 動画を切り分ける FFmpeg で秒数を指定して動画を切り出すワンライナー 上記は切り出すコマンドなので、3 回叩きます。切

          • テクノロジー
          • 2019/03/08 13:32
          • 表現力の高い Go の Error 群を go generate する go-generror を作った | Hori Blog

            3 users

            hori-ryota.com

            Hori Blogフリーランスでバックエンドエンジニアとして活動している Ryota Hori のブログです。 最近はテック系記事より雑記ブログ気味。 連日 DDD と go generate で投稿していますが、今回は表現力と安全性の高い Error 周りを生成する go-generror を作りました。 hori-ryota/go-generror 対象ディレクトリ内のファイルを走査して Error 型を生成する Error と ErrorDetail の 2 層構造 Error : error インターフェースを実装し、 ErrorCode を一つ、 ErrorDetail を複数持つ。 ErrorCode: HTTP の StatusCode のような使用感を想定。生成された Error が IsFoo() bool のような判定メソッドを持つ 引数を元に生成される ErrorDe

            • テクノロジー
            • 2019/02/27 09:39
            • DDD がしたいので Go の Accessor を go generate する go-genaccessor を作った | Hori Blog

              3 users

              hori-ryota.com

              Go で DDD をやっていくため、 struct に getter setter を生やせる go-genaccessor を作りました。 hori-ryota/go-genaccessor 対象ディレクトリ内のファイルを走査して accessor を生成する getter setter の struct tag を検知して自動生成 タグのパラメータに指定することで alias 対応 デフォルトがカレントディレクトリなので //go:generate go-genaccessor を対象ディレクトリに記述すれば go generate で起動する 動作サンプル こんな感じで定義します。 package example import ( "encoding" ) //go:generate go-genaccessor type Person struct { id string `get

              • テクノロジー
              • 2019/02/20 20:51
              • CircleCI 2.0 で Go 1.10 の build cache をいい感じに効かせる | Hori Blog

                6 users

                hori-ryota.com

                今更ながら CircleCI 2.0 を本格的に触りました。 CircleCI 2.0 になりキャッシュの柔軟性が向上したようなので、 Go 1.10 から導入された build cache と併せて最適化してみました。 前提知識 ドキュメントなど Language Guide: Go - CircleCI Caching Dependencies - CircleCI go - hdr-Build_and_test_caching - The Go Programming Language 戦略 依存管理は dep を使う vendor は Gopkg.lock が一緒なら同じものを用いる build cache は基本的にはブランチごとに管理 ただし、新規ブランチは master からキャッシュを拾いたい お急ぎの人のための結論 version: 2 jobs: build: work

                • テクノロジー
                • 2018/07/30 09:36
                • CircleCI
                • deploy
                • golang
                • FFmpeg と ImageMagick によるサムネイルを用いた動画のシーン検出 | Hori Blog

                  3 users

                  hori-ryota.com

                  Hori Blogフリーランスでバックエンドエンジニアとして活動している Ryota Hori のブログです。 最近はテック系記事より雑記ブログ気味。 FFmpeg のみで動画からシーン検出するスクリプトはちらほらと見かけるのですが、軽量でシンプルなシーン検出が欲しかったのでサムネイルと ImageMagick で整備してみました。 やりたいこと 動画の要らない部分をカットしたかったのですが、落ちていた FFmpeg のシーン検出スクリプトが古い FFmpeg に依存していたり環境が限定されたり、ちょっと扱いづらそうだったので自作しようと思ったのがきっかけです。 FFmpeg のみで試行錯誤するのも良かったのですが、別の用途で一定時間ごとのサムネイルを生成する必要があったため、サムネイルを使いまわして映像のみでのシーン検出をやってみました。 動画を元データに検出しようとするとそれなりに負荷

                  • テクノロジー
                  • 2018/07/13 16:27
                  • gRPC with NLB は idle timeout に気をつけないと死ぬ | Hori Blog

                    54 users

                    hori-ryota.com

                    Hori Blogフリーランスでバックエンドエンジニアとして活動している Ryota Hori のブログです。 最近はテック系記事より雑記ブログ気味。 先日発表された AWS の Network Load Balancer (NLB) を gRPC で使ってみたのですが、 idle timeout 周りで盛大にミスったので知見共有です。 経緯 先日、 NLB こと Network Load Balancer が AWS にてリリースされました。 新しい Network Load Balancer – 秒間数百万リクエストに簡単にスケーリング | Amazon Web Services ブログ NLB は TCP レベルでのロードバランシングができ、プレウォーミングなしで高パフォーマンスを発揮できるため既存の AWS の LB に比べ gRPC との相性が良いです。 マイクロサービス構成を取

                    • テクノロジー
                    • 2018/02/22 10:27
                    • grpc
                    • aws
                    • nlb
                    • Timeout
                    • network
                    • Go の channel 処理パターン集 | Hori Blog

                      165 users

                      hori-ryota.com

                      Hori Blogフリーランスでバックエンドエンジニアとして活動している Ryota Hori のブログです。 最近はテック系記事より雑記ブログ気味。 この記事は Go Advent Calendar 2017 の 1 日目の記事です。 Go の長所に goroutine による非同期処理がありますが、どうしても channel の取り回しで黒魔術化しがちです。少しでも闇を減らしていきたいので、 channel らへんの取り回しについてパターンをまとめました。チートシート的に使えれば嬉しいです。 Go の channel の基礎 入門資料として使いたいので、本題に入る前にざっくり基礎を。 定義のパターン channel には capacity という概念があります。 capacity は channel 内でバッファリングしておける容量のことで、 capacity に空きが無い場合は送信側

                      • テクノロジー
                      • 2017/12/01 00:15
                      • golang
                      • channel
                      • go
                      • パターン
                      • golang
                      • あとで読む
                      • goroutine
                      • concurrent
                      • プログラミング
                      • Performance
                      • CA.go #2 で golang.org/x/sync について喋りました #ca_go | Hori Blog

                        8 users

                        hori-ryota.com

                        CA.go #2 - connpass にて golang.org/x/sync 以下にある 4 つのパッケージを用いて効率的に非同期処理をする技術についてお話しました。 登壇内容 golang.org/x/sync による効率的な非同期処理 と題し、 golang.org/x/sync の使い所と雑感、注意点について紹介しました。 sync - GoDoc 第一回で紹介した sync.Pool と同じく “明日から使える” 系です。 内容はスライドを参照いただければ問題ないかと思いますが、概要としては以下です。 golang.org/x は Go のプロジェクトではあるが標準パッケージとは別で管理されているライブラリ群 golang.org/x/sync は標準パッケージの sync や sync/atomic に入れる前のおためし版的な扱いっぽい syncmap は排他制御付きの ma

                        • テクノロジー
                        • 2017/09/07 09:27
                        • golang
                        • 社内勉強会で HLS と Key frame について改めて解説した | Hori Blog

                          10 users

                          hori-ryota.com

                          チーム全体のスキルアップのため、ネット生放送において超重要な HLS と Key frame について改めて解説してみました。 非エンジニア職を対象とした資料なのでそれなりに入門編としてわかりやすくできたんじゃないかなーと思っております。 内容 10 分(ちょい)でわかる FRESH! 動画の勘所 と題し、 HLS とは何か、なぜ使うのかの解説と、遅延などへの影響が大きい Key frame とはなんぞや、について解説しました。 非エンジニア職でも概要がつかめるよう意識しました。 なぜやったのか 生放送サービスを運営するにあたって、やはり動画に対する基礎的な知識は非エンジニア職でも必要になってきます。 特に遅延が起きたり画質が乱れたり、現場での対応はもちろんですが営業などする際の説得力にも違いが出てくると思います。 幸いにも、普段から何かと積極的にこれってどういうことなの?と質問してくれる

                          • エンタメ
                          • 2017/08/09 00:27
                          • HLS
                          • streaming
                          • slide
                          • movie
                          • Neovim で日本語入力の確定時に文字化けする症状の直し方 | Hori Blog

                            6 users

                            hori-ryota.com

                            Neovim を使用していて日本語入力時の文字化けに長いこと苦しんでいたのですが、解決の目処が立ったのでブログに残しておきます。 日本語が普通に打てるって幸せ…! そもそものバグ Neovim で IME ( Google 日本語入力を使用しています)からの入力時を確定したタイミングでバーンっと文字化けするという症状がありました。 Neovimで日本語入力文字化けする。入れ直せば入るが結構な高頻度で困ってる。 SKKとの相性かなんかかと思ったけど、Googleでも発生。 pluginも設定ファイルも全部無効でも発生(頻度はすげー下がるけど)するし、iTermとかtmuxとか関係ありそうなの切ってもダメ。 pic.twitter.com/1vtFNlFeSH — ゆーいち (@u1tnk) June 26, 2017 NeoVimで「使ってみたかったので」の入力を確定(Enterキー)したら

                            • テクノロジー
                            • 2017/07/10 02:20
                            • MP4BoxでMP4を結合(concat)するワンライナー | Hori Blog

                              3 users

                              hori-ryota.com

                              Hori Blogフリーランスでバックエンドエンジニアとして活動している Ryota Hori のブログです。 最近はテック系記事より雑記ブログ気味。

                              • 学び
                              • 2017/06/07 11:22
                              • Pocket
                              • golang で汎用的な任意数のオプションを取るメソッドの作り方 | Hori Blog

                                16 users

                                hori-ryota.com

                                grpc の DialOption のオプション設定方法が上手いなーと感心したのですが、初見で理解するのが難しかったので備忘録がてら解説してみます。 やりたいこと golang にはオーバーロード(同名メソッドでも引数によって呼び出されるメソッドが変わるやつ)がないので、任意のオプションを取るメソッドを作るのに工夫が必要です。 可変引数の仕組みはあるので任意数の値をメソッドに渡したり、オプション用の struct を引数に取ることで実装できなくはないのですがデメリットがあります(後述)。 DialOption がそのへんの葛藤を上手いこと解決していたのでご紹介。 ダメだった例 はじめに検討したのですがよろしく無かった例です。 可変引数でオプションを渡す オプション用の struct を渡す 可変引数でオプションを渡す golang では可変引数の仕組みがあるので、任意数のオプションを渡すこ

                                • テクノロジー
                                • 2017/04/02 14:25
                                • golang
                                • Go
                                • blog
                                • default value
                                • TypeScript で Google Apps Script を書く環境を整備する | Hori Blog

                                  111 users

                                  hori-ryota.com

                                  無料で自動化環境を整備できることで有名な Google Apps Script ですが、以前はブラウザで JavaScript を用いて開発する必要があったため辛い部分もありました(人による)。 現在は公式からローカル開発をするための公式 CLI ツールが提供されているので、静的型付けの恩恵を受けるべく TypeScript を用いて開発できるようにしてみました。 公式の CLI ツール G Suite Developers Blog: Advanced Development Process with Apps Script danthareja/node-google-apps-script: The easiest way to develop Google Apps Script projects インストール自体は Node.js が入っている環境であれば npm install

                                  • テクノロジー
                                  • 2017/03/19 21:23
                                  • TypeScript
                                  • gas
                                  • Google Apps Script
                                  • GoogleAppsScript
                                  • Google Apps
                                  • あとで読む
                                  • google
                                  • GoogleAppScript
                                  • javascript
                                  • 開発
                                  • Amazon Aurora 事例祭り(20170307)に行ってきたメモ | Hori Blog

                                    68 users

                                    hori-ryota.com

                                    Hori Blogフリーランスでバックエンドエンジニアとして活動している Ryota Hori のブログです。 最近はテック系記事より雑記ブログ気味。 Amazon Aurora 事例祭り に行ってきたので、メモを公開します。 社内共有で Slack に貼ろうと思っていたメモなのですが、長くなったのでブログに公開します。 概要 Amazon Aurora 事例祭り (2017 年 3 月 7 日開催) | AWS セッション内容 Amazon Aurora を使いこなすためのベストプラクティスと最新アップデート @con_mame さん データベースソリューションアーキテクト 登壇資料: [Aurora 事例祭り]Amazon Aurora を使いこなすためのベストプラクティス 開発サイドからの知見と今後の展望 PostgreSQL For Aurora でるよ! 9.6.4 と互換 My

                                    • テクノロジー
                                    • 2017/03/07 18:39
                                    • aurora
                                    • aws
                                    • mysql
                                    • amazon
                                    • Amazon Aurora
                                    • db
                                    • あとで読む
                                    • Docker in Docker で Go 製のバイナリを持った軽量な Docker イメージを作る | Hori Blog

                                      6 users

                                      hori-ryota.com

                                      Hori Blogフリーランスでバックエンドエンジニアとして活動している Ryota Hori のブログです。 最近はテック系記事より雑記ブログ気味。 go get で取得した cli ツールのバイナリを持った軽量な Docker イメージをつくる - tehepero note(・ω<) を読んで、別解として Docker in Docker で作れないかなーと思ってやってみました。 やりたいこと 根本的な動機は元記事をご参照ください。 go get で取得した cli ツールのバイナリを持った軽量な Docker イメージをつくる - tehepero note(・ω<) 元記事では Alpine ベースの golang イメージで go get したバイナリを docker cp で取得し、実行用のイメージを作成するフローを CircleCI で実行しています。 この記事では CI

                                      • テクノロジー
                                      • 2017/02/25 21:13
                                      • docker
                                      • あとで読む
                                      • FFmpegでMP4を結合(concat)するワンライナー | Hori Blog

                                        6 users

                                        hori-ryota.com

                                        Hori Blogフリーランスでバックエンドエンジニアとして活動している Ryota Hori のブログです。 最近はテック系記事より雑記ブログ気味。

                                        • テクノロジー
                                        • 2017/02/21 17:48
                                        • ffmpeg
                                        • GitHub Enterprise でも hub コマンド を快適に使う alias設定 | Hori Blog

                                          8 users

                                          hori-ryota.com

                                          git コマンドを拡張して GitHub の Pull Request もコマンドラインから行える hub という Wrapper コマンドツールがあるのですが、 GitHub Enterprise で快適に使うには別途 alias を指定したほうが良かったので備忘録です。

                                          • テクノロジー
                                          • 2017/01/25 13:13
                                          • GitHub
                                          • git
                                          • CloudFrontのawscliでjson管理できる環境を整備した | Hori Blog

                                            4 users

                                            hori-ryota.com

                                            CloudFront をマネジメントコンソールでぽちぽち管理するのつらい!! ということで、awscli と jq を使用して json 管理できる環境を整備して GitHub に公開しました。 CloudFront Manager 個人使用のために作成したので、細かいアレコレはご容赦ください。レビューは大歓迎です。 以下、記事公開時点の README.md と同内容です。 コマンドによって json のプロパティ順が違うようなので、作業後は fetchall.sh でお掃除することを推奨。 CloudFront の設定は失敗するとサービスにとって致命傷となるので、使用は自己責任でお願いします。 下準備 依存ツール awscli jq cloudfront コマンドは preview 版なので有効にする

                                            • テクノロジー
                                            • 2016/11/04 13:24
                                            • AWS
                                            • Homebrew caskの古いバージョンを削除するワンライナー | Hori Blog

                                              9 users

                                              hori-ryota.com

                                              Homebrew cask で古いバージョンのファイルを削除するワンライナーを作りました。 公式では非推奨として実装されていない機能なので、利用に関しては自己責任でお願いします。

                                              • テクノロジー
                                              • 2015/10/02 09:37
                                              • homebrew
                                              • mac
                                              • HugoとCircleCIでGitHub PagesにBlogを公開してみた | Hori Blog

                                                16 users

                                                hori-ryota.com

                                                Hori Blogフリーランスでバックエンドエンジニアとして活動している Ryota Hori のブログです。 最近はテック系記事より雑記ブログ気味。 hori-ryota.github.io みたいな、GitHub ドメインの技術ブログかっこいいよね〜と思ったので流行りの Hugo と CircleCI を組み合わせて作ってみました。無料。 それぞれのツールを軽く紹介した上で、実際に設定した手順をのせておきます。Mac 用。 まだ作ったばかりなので設定漏れしているところとか画像の最適化がまだだったりとか色々ありますが、とりあえず公開まではこじつけられるかと思います。 完成後の記事作成フロー 記事の作成フローはこんな感じになります。お気に召さなければ違うツールのほうがいいかもです。 hugo new post/aritcle-title.mdで記事の作成 Markdown 形式で記事を書く

                                                • テクノロジー
                                                • 2015/05/02 17:53
                                                • hugo
                                                • circleci
                                                • github

                                                このページはまだ
                                                ブックマークされていません

                                                このページを最初にブックマークしてみませんか?

                                                『Hori Blog』の新着エントリーを見る

                                                キーボードショートカット一覧

                                                j次のブックマーク

                                                k前のブックマーク

                                                lあとで読む

                                                eコメント一覧を開く

                                                oページを開く

                                                はてなブックマーク

                                                • 総合
                                                • 一般
                                                • 世の中
                                                • 政治と経済
                                                • 暮らし
                                                • 学び
                                                • テクノロジー
                                                • エンタメ
                                                • アニメとゲーム
                                                • おもしろ
                                                • アプリ・拡張機能
                                                • 開発ブログ
                                                • ヘルプ
                                                • お問い合わせ
                                                • ガイドライン
                                                • 利用規約
                                                • プライバシーポリシー
                                                • 利用者情報の外部送信について
                                                • ガイドライン
                                                • 利用規約
                                                • プライバシーポリシー
                                                • 利用者情報の外部送信について

                                                公式Twitter

                                                • 公式アカウント
                                                • ホットエントリー

                                                はてなのサービス

                                                • はてなブログ
                                                • はてなブログPro
                                                • 人力検索はてな
                                                • はてなブログ タグ
                                                • はてなニュース
                                                • ソレドコ
                                                • App Storeからダウンロード
                                                • Google Playで手に入れよう
                                                Copyright © 2005-2025 Hatena. All Rights Reserved.
                                                設定を変更しましたx