タグ

ブックマーク / developer.hatenastaff.com (30)

  • はてなブックマークのステージング環境を支える技術 - Hatena Developer Blog

    id:cohalzです。この記事ははてなエンジニア Advent Calendar 2023 の29日目の記事です。 28日目の記事は id:SlashNephy さんの おうち Kubernetes クラスタ運用記 ~2023~ でした。 はてなブックマークにおけるステージング環境について紹介します。 はてなブックマークでは現在インフラをAWS上に構築しており、ECSやAurora MySQLのサービスを利用しています。 番環境と同様にステージング環境も用意していますが、より良いステージング環境(例えば番環境に近く、変更がすぐ試せて、費用が安い構成)にすることを目指し、いくつか工夫した点があるのでそれらを紹介します。 AWSアカウントの分離 はてなでは複数のサービスを運用していますが、はてなブックマーク単体でAWSアカウントを分けて他のサービスとリソースが同居しないようにしています。

    はてなブックマークのステージング環境を支える技術 - Hatena Developer Blog
    nilab
    nilab 2023/12/30
    はてなブックマークのステージング環境を支える技術 - Hatena Developer Blog
  • Hatena Engineer Seminar #26 「エンジニアリングマネージャー編」をオンラインで開催しました #hatenatech - Hatena Developer Blog

    2023年8月9日(水)に、 Hatena Engineer Seminar #26 をオンライン開催しました。ご参加いただいたみなさま、ありがとうございました。 このエントリーでは、当日のアーカイブ動画や公開資料をご紹介します。 Hatena Engineer Seminar #26 について 発表概要と資料 はてなエンジニアリングマネジメント これまでとこれから CTO id:motemen はてなEMキャリアパス 最速攻略RTA 新卒部門 ブックマークチーム EM id:yigarashi 「いい感じにしといて」を支える技術 マンガ投稿チーム EM id:shimobayashi エンジニアとしてチーム改善してたら、EMになってた話 ノベルチーム EM id:k-murakami0609 さいごに Hatena Engineer Seminar #26 について Hatena En

    Hatena Engineer Seminar #26 「エンジニアリングマネージャー編」をオンラインで開催しました #hatenatech - Hatena Developer Blog
    nilab
    nilab 2023/08/14
    Hatena Engineer Seminar #26 「エンジニアリングマネージャー編」をオンラインで開催しました #hatenatech - Hatena Developer Blog
  • はてなブックマークで利用しているCloudFrontのAWSアカウントを移行した - Hatena Developer Blog

    こんにちは、id:cohalzです。2023年4月に実施したはてなブックマークのメンテナンスではCloudFrontを別のAWSアカウントに移行しました。 この記事ではCloudFrontを別のAWSアカウントに移行した背景とどのように移行したのかを説明します。 はてなブックマークのインフラのこれまで 移行したいモチベーションが出てきた理由 切り替えで設定が変わらないように気を付ける キャッシュポリシーに移行する 移行方法について検討する AWS CLIでCloudFrontを移行する手順を作成する アクセスログを配送する部分も移行する まとめ はてなブックマークのインフラのこれまで はてなブックマークのインフラはこのようにCloudFrontと関連リソースだけ別のAWSアカウントで利用していました。 移行前 この状況になっていた経緯をまず説明すると、はてなブックマークでは2018年からオ

    はてなブックマークで利用しているCloudFrontのAWSアカウントを移行した - Hatena Developer Blog
    nilab
    nilab 2023/07/05
    はてなブックマークで利用しているCloudFrontのAWSアカウントを移行した - Hatena Developer Blog
  • 複数の言語で同じWebサービスを実装して技術特性の違いを見てみた - Hatena Developer Blog

    開発合宿運営チームの id:yutailang0119 と id:maku693 です。はてなでは四半期に一度、技術グループ主導で開発合宿を開催しています(過去の合宿の様子は「開発合宿」カテゴリーにまとまっています)。 2023年4月に実施した開発合宿では、参加者が複数のチームに分かれ、それぞれ異なるプログラミング言語で同じお題のWebサービスを開発しました。言語ごとの特性を比較し、今後の技術選定に生かす取り組みです。 この記事ではその開催レポートをお届けします。 開発言語の特性を理解したい さまざまな技術要素を2日で実装できるお題に 参加チームやコミュニケーションでの工夫 順調に開発が進んだ合宿当日 技術勉強会で「成果物を見る会」を実施 開発合宿を終えて プログラミング言語ごとの使用ライブラリ TypeScript Go Ruby Scala 開発言語の特性を理解したい はてなではたくさ

    複数の言語で同じWebサービスを実装して技術特性の違いを見てみた - Hatena Developer Blog
    nilab
    nilab 2023/06/14
    「合宿は4月17日(月)から18日(火)にかけて実施しました。参加者は18名で、開発言語ではTypeScriptが2チーム、Goが2チーム、ScalaとRubyが各1チームの計6チーム」「会場として以前も利用したoViceを用意」
  • テックリードとしてサポートに回りつつ、バリバリ開発も | はてなで働く k-murakami0609 にアンケート [#21] - Hatena Developer Blog

    はてなで働くエンジニアにアンケートシリーズ第21回は、ノベルチームのWebアプリケーションエンジニア、id:k-murakami0609に話を聞きました。 バリバリ開発をする環境に身を置きたかった サポート役に回りつつもバリバリ開発ができている チームでは会話や雑談の時間を多くとるように Reactについてデザイナーとのコミュニケーションを深めた メンバーが面白いと思えるタスクに集中できる状態を作りたい バリバリ開発をする環境に身を置きたかった ── Q1. はてなidとその由来を教えてください id:k-murakami0609 です。名と誕生日の組み合わせです。 はてなには、スタッフをはてなIDで呼び合う文化があるので、もうちょっとひねったものにすればよかったかもと後悔しています。 ── Q2. いつどんなきっかけで入社しましたか? 2019年11月に中途で入社しました。 前職ではt

    テックリードとしてサポートに回りつつ、バリバリ開発も | はてなで働く k-murakami0609 にアンケート [#21] - Hatena Developer Blog
    nilab
    nilab 2022/10/08
    テックリードとしてサポートに回りつつ、バリバリ開発も | はてなで働く k-murakami0609 にアンケート [#21] - Hatena Developer Blog
  • 契約による設計の紹介 - Hatena Developer Blog

    こんにちは、チーフエンジニアの id:hakobe932 です。 はてなでは毎週、社内技術勉強会を開催しています。先週の勉強会では現在開催中のはてなインターン2016の参加者のみなさんもインターン生も参加して、いっしょに技術交流を行いました。 このエントリでは、そこで発表した、契約による設計の紹介をしたスライドを公開します。 契約による設計はBertrand Meyer氏によるオブジェクト指向入門*1という書籍で紹介されている考え方です。 オブジェクト指向入門 第2版 原則・コンセプト (IT Architect’Archive クラシックモダン・コンピューティング) 作者: バートランド・メイヤー,酒匂寛出版社/メーカー: 翔泳社発売日: 2007/01/10メディア: 単行(ソフトカバー)購入: 11人 クリック: 307回この商品を含むブログ (130件) を見る 契約による設計で

    契約による設計の紹介 - Hatena Developer Blog
    nilab
    nilab 2020/12/20
    契約による設計の紹介 - Hatena Developer Blog
  • はてなにおける機械学習の取り組みについて - Hatena Developer Blog

    こんにちは、アプリケーションエンジニアのid:syou6162です。2018年になってしまいましたが、2017年のはてなにおける機械学習の取り組みについて振り返ってみたいと思います。 機械学習サブ会とは リソース/ツール整備 定例会 プロジェクトの近況を共有、より専門的な困り事を相談 技術共有/雑談 論文読み会/専門書の輪講会 社内で機械学習ハッカソンの開催 おわりに 機械学習サブ会とは はてなではより専門的な内容に関するエンジニアの小集団として、サブ会という制度が昨年から開始されています。昨年までは個人的に機械学習勉強会をランチタイムに運営していましたが、社内で正式にサブ会として認定されたことにより、業務時間内に活動しやすくなりました。このエントリではサブ会発足からの約八ヶ月の活動を振り返りってみたいと思います。 簡単に背景について説明しておきます。はてなは現在のところ、研究開発専門の部

    はてなにおける機械学習の取り組みについて - Hatena Developer Blog
    nilab
    nilab 2018/01/13
    はてなにおける機械学習の取り組みについて - Hatena Developer Blog
  • Bing検索の裏側―BitFunnelのアルゴリズム - Hatena Developer Blog

    はてなアプリケーションエンジニアの id:takuya-a です。 この記事では、Microsoft の検索エンジン Bing で採用された BitFunnel アルゴリズムを紹介します。 昨年のエンジニアアドベントカレンダーでは、文字列検索のアルゴリズム全般について紹介しました(文字列アルゴリズムの学びかた - Hatena Developer Blog)。今年はそのなかでも、インデックス(索引)を使った全文検索アルゴリズムについてのお話になります。 この記事の前半は全文検索の入門にもなっていますので、検索技術になじみがない方にも楽しんでいただけるのではないでしょうか。 逆に、「そんなのもう知ってるよ!」という方は、題である「BitFunnel アルゴリズムの詳細」から目を通していただければと思います。 この記事は、はてなエンジニア Advent Calendar 2017の21日目の

    Bing検索の裏側―BitFunnelのアルゴリズム - Hatena Developer Blog
    nilab
    nilab 2017/12/29
    Bing検索の裏側―BitFunnelのアルゴリズム - Hatena Developer Blog
  • 「新機能作成時に開発ブランチに細かくmergeしていく戦略」について社内勉強会で発表しました - Hatena Developer Blog

    はてなのアプリケーションエンジニアのid:shiba_yu36です。社内技術勉強会で「新機能作成時に開発ブランチに細かくmergeしていく戦略」という発表をしたので、資料を公開します。 speakerdeck.com 以下、簡単に文字でまとめておきます。 戦略 ユーザーに新機能が見えないようにする工夫をし、新機能のbranchもどんどん開発ブランチにmergeしていく mergeされたものは随時番にリリースされるが、ユーザーに見えない工夫をしているので問題なし PRは可能な限り細かくする 機能が完成したら最後にユーザーに新機能を見えるようなPRを作り、mergeしてリリースする なぜこの戦略を使うのかいろんな失敗を経験して、この戦略を最近使っている。 失敗パターンその1: 巨大PRパターン 失敗パターンその2: 新機能リリースブランチパターン 失敗パターンその1: 巨大PRパターン 新機

    「新機能作成時に開発ブランチに細かくmergeしていく戦略」について社内勉強会で発表しました - Hatena Developer Blog
    nilab
    nilab 2017/08/09
    「新機能作成時に開発ブランチに細かくmergeしていく戦略」について社内勉強会で発表しました - Hatena Developer Blog
  • リモートチームでの働き方 - Hatena Developer Blog

    こんにちは!はてな東京オフィスでアプリケーションエンジニアをしている id:KGA です。 はてなで毎週開催している技術勉強会で「リモートチームでの働き方」と題し、自分以外のメンバーが全員京都オフィスにいるチームで2年間仕事をしてきた経験から心がけるようになったことを発表しました。今回はその発表資料を公開します。 speakerdeck.com 最近では東京オフィスにもエンジニアやデザイナーなどの開発メンバーが増えてきましたが、それでもまだ半数以上のメンバーが京都オフィスに勤務しているというチームも少なくありません。どのチームも規模や状況によって試行錯誤しながら様々な取り組みをし、働きやすいチームを作ることを目標に東京・京都双方で力を合わせ日々改善を行っています。 僕自身、入社当初から東京オフィスに1人だけというチームで働いていて、やはり最初は大小様々な問題に直面しました。そんな中で他のチ

    リモートチームでの働き方 - Hatena Developer Blog
    nilab
    nilab 2017/04/18
    リモートチームでの働き方 - Hatena Developer Blog
  • 一から始めるJavaScriptユニットテスト - Hatena Developer Blog

    この記事は、はてなエンジニアアドベントカレンダー2016の5日目の記事です。 こんにちは、はてなでアプリケーションエンジニアをしている id:shiba_yu36 です。先日、buildersconにおいて、現在所属しているプロジェクトJavaScriptのユニットテストを導入した知見について、「一から始めるJavaScriptユニットテスト」というタイトルで発表しました。 speakerdeck.com この発表は、実際にJavaScriptのユニットテスト環境を作ってみると非常にハードルが高いと感じたので、そのハードルを少しでも下げられればという思いで、非常にシンプルな例で一から環境を作る例を紹介しました。アジェンダは次のとおりでした。 カクヨムのJS環境 JSのテストツールを整理する 通常の関数のユニットテスト DOM操作する機能のユニットテスト カクヨムのJS環境や、JSのテスト

    一から始めるJavaScriptユニットテスト - Hatena Developer Blog
    nilab
    nilab 2017/03/11
    一から始めるJavaScriptユニットテスト - Hatena Developer Blog
  • 薄いフレームワーク指向の Web クライアントサイドプログラミング - Hatena Developer Blog

    こんにちは、Web アプリケーションエンジニアの id:nanto_vi です。先日開催された Kyoto.js #12 において、「薄いフレームワーク指向の Web クライアントサイドプログラミング」と題した発表を行いました。とある Web アプリケーションの開発にあたって、JavaScript による GUI プログラミングにどう取り組んだかという話になります。当日のスライドの内容に口頭で伝えた内容を加え、以下にまとめます。 前提 SPA ではない そこまで覚悟しなくてもよい 薄いフレームワーク指向 cf. ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011 開発期間が決まっている Web アプリケーションを新規開発するにあたり、クライアントサイドをどう実現するか。ここでは開発期間が決まっているというのが大きな要因となり、チームメンバーの

    薄いフレームワーク指向の Web クライアントサイドプログラミング - Hatena Developer Blog
    nilab
    nilab 2017/03/11
    薄いフレームワーク指向の Web クライアントサイドプログラミング - Hatena Developer Blog
  • 開発速度と品質のトレードオフの判断基準の合意 - Hatena Developer Blog

    Webサービスの開発は、ユーザ/顧客へ価値を早く届けるため、競合より早くリリースするため、人的リソースを無駄使いしないためなど、とにかく素早く進めたいものですね。一方で、開発を急ぐあまり品質を犠牲にすればかえって価値が失われたり、技術的負債が溜まって長期的なコストが大幅に増大する可能性もあります。開発速度とプロダクト品質は基的にはトレードオフの関係にあるのでしょう。 開発速度と品質のどちらを優先するかはプロダクトの性質や、チームもしくは会社の状況によって異なるとおもいます。この状況の認識がチームメンバー間でずれていると、チームのパフォーマンスを最大限に発揮できないばかりか、チーム内の関係悪化も招きかねません。エンジニアたちとプロダクトオーナーの間の対立のようなありがちな問題の原因の一つかもしれません。 そこで、開発速度と品質のトレードオフをどう判断すべきかの基準を明確にして、原則それに従

    開発速度と品質のトレードオフの判断基準の合意 - Hatena Developer Blog
    nilab
    nilab 2016/12/24
    開発速度と品質のトレードオフの判断基準の合意 - Hatena Developer Blog
  • 文字列アルゴリズムの学びかた - Hatena Developer Blog

    こんにちは!はてなアプリケーションエンジニアの id:takuya-a です。 みなさんは、このような疑問をもったことはありませんか? grep はどのように文字列を検索しているのか? MeCab はどうやって辞書を高速にルックアップしているのか? パーサやコンパイラを作りたいけど、何から始めればいいのか? 稿では、「文字列アルゴリズムとはどんなものなのか?」「なぜ重要なのか?」「何を知っておくべきか?」「どうやって勉強すればいいのか?」といった疑問にお答えしていこうと思います。 文字列アルゴリズムの意外な応用や、モチベーションを保ちやすい勉強のしかた、文字列アルゴリズムを勉強するために行った社内での取り組み、実装するときのコツといったトピックについても触れています。 このエントリは、はてなエンジニアアドベントカレンダー2016の22日目の記事です。昨日は id:syou6162 さんに

    文字列アルゴリズムの学びかた - Hatena Developer Blog
    nilab
    nilab 2016/12/23
    文字列アルゴリズムの学びかた - Hatena Developer Blog
  • はてな社内で行なっている機械学習勉強会について紹介します - Hatena Developer Blog

    このエントリは、はてなエンジニアアドベントカレンダー2016の21日目の記事です。昨日は id:hakobe932さんによる次に何を勉強するかを決めるための作戦でした。 こんにちは、アプリケーションエンジニアのid:syou6162です。このエントリでは、今年の9月から社内で行なっている機械学習勉強会についての概要と、この数ヶ月でやってきた内容について紹介したいと思います。 最新の論文読み会、だけでいいのか? 他社から学ぶ 機械学習の学習データをどうやって効率的に作るか サービスへの事例や技術選定の基準をキーワードにまとめていく ときには最近の機械学習技術の話題にもキャッチアップ まとめ 最新の論文読み会、だけでいいのか? 私は今年の3月まで自然言語処理/機械学習の企業研究者として働いていて、転職して4月からはてなエンジニアとして働いています。「転職してからあまり論文読めていないなぁー」

    はてな社内で行なっている機械学習勉強会について紹介します - Hatena Developer Blog
    nilab
    nilab 2016/12/22
    はてな社内で行なっている機械学習勉強会について紹介します - Hatena Developer Blog
  • オープンソース活動への取り組み方 - Hatena Developer Blog

    はじめまして。iOSとAndroidアプリの開発を行っている、アプリケーションエンジニアの id:ikesyo です。今年1月の入社後、初めての開発者ブログでの記事になります。最近の大きな出来事は、家族会議の結果、『ユーリ!!! on ICE』のBlu-ray全巻購入をしたことです。 この記事は、はてなエンジニアアドベントカレンダー2016の17日目の記事です。昨日は id:aereal によるはてなブログのデプロイを約6倍高速化したはなし - Sexually Knowingでした。 私は現在、自分のライブラリであるHimotokiやiOS開発用のパッケージマネージャのCarthageなど、全部で十数個のオープンソースソフトウェアの開発、メンテナンスを行っています。最初の頃はGitHubでPull Requestを出すのも怖かった私ですが、自身の活動を振り返ることで、どのようにオープンソ

    オープンソース活動への取り組み方 - Hatena Developer Blog
    nilab
    nilab 2016/12/18
    オープンソース活動への取り組み方 - Hatena Developer Blog
  • Swift 3.0 をいまから学ぶ Swift Evolution ウォッチング - Hatena Developer Blog

    おはようございます。シニアアプリケーションエンジニアの id:cockscomb です。WWDC が目前に迫ったいま、今秋にリリースが予定されている Swift 3.0 について、Swift OSS コミュニティの中心である Swift Evolution から読み取っていきたいと思います。 [PR] 記事は、筆者が株式会社はてなの協賛を得て主催した「関西モバイルアプリ研究会 #14」において、“Swift Otaku — Nerdy Swift-Evolution Watching” と題して発表したものをブログの記事として再構成したものである。 関西モバイルアプリ研究会は、毎月一度、平日夜に京都や大阪で開催される、モバイルアプリ関連の勉強会である。次回の「関西モバイルアプリ研究会 #15」は6月22日水曜日に開催予定だ。 目次 Focus Winding Down Complete

    Swift 3.0 をいまから学ぶ Swift Evolution ウォッチング - Hatena Developer Blog
    nilab
    nilab 2016/07/03
    Swift 3.0 をいまから学ぶ Swift Evolution ウォッチング - Hatena Developer Blog
  • インフラを意識してコードを書くということ - Hatena Developer Blog

    チーフエンジニアの id:Songmu です。 4月に 新人エンジニア研修を行なった のですが、その際に、「インフラを意識したアプリケーションの書き方」という講義を担当しました。そこでおこなった講義の内容について整理しながら書き起こしていきたいと思います。 インフラを意識すると何が良いか 業務でWebアプリケーションを扱うと、個人ではなかなか扱えないトラフィックであったりデータ量を扱うことになります。小規模サービスでは考えなくてよかった多くのことを考慮する必要がでてきます。なかなか体験できないことでもあるので、楽しく、やりがいもあります。 また、そういった経験を通して、インフラを意識しコードをかけるスキルを身につけることは、Webエンジニアとしては大きな強みとなります。ISUCONで優勝できるかもしれません*1。 インフラを意識すると何が良いか 〜 中規模ベンチャーの場合 そもそも、はてな

    インフラを意識してコードを書くということ - Hatena Developer Blog
    nilab
    nilab 2016/05/30
    インフラを意識してコードを書くということ - Hatena Developer Blog
  • インフラエンジニアがGo言語でオペレーションツールを書くことについて - Hatena Developer Blog

    ウェブオペレーションエンジニアの id:y_uuki です。 はてなの東京オフィスで先月開催されたGo 1.6 Release Partyで、「Writing Tools in Go For Ops Engineers」というタイトルで発表しました。 発表では、最近作ったGo製ツールを紹介し、なぜGoインフラエンジニアにとって良い言語であると感じているかを話しました。 最近作ったGo言語のツールの紹介 mkr Grabeni Droot gokc インフラエンジニアGoを利用することのメリット 1. サーバへの配布が簡単 2. サーバ上で高速開発できる 3. 最終的に成果物をはやく作れる その他 発表資料 あとがき 最近作ったGo言語のツールの紹介 以下の4つのツールを作りました。いずれもはてなでのproduction利用を想定したものになります。 mkr mkrははてなで開発している

    インフラエンジニアがGo言語でオペレーションツールを書くことについて - Hatena Developer Blog
    nilab
    nilab 2016/03/24
    インフラエンジニアがGo言語でオペレーションツールを書くことについて - Hatena Developer Blog
  • はてなで新しくWebサービスを作るときのインフラの作り方 - Hatena Developer Blog

    この記事ははてなデベロッパーアドベントカレンダーを始めます - Hatena Developer Blogの17日目の記事です.昨日は id:yashigani_w の Promiseを学ぶためにSwiftでPromiseを実装してみた話 - yashigani?.days でした. こんにちは、はてなの id:wtatsuru です。はてなのインフラ全般をみています。 はてなでは、しばしば新サービスを構築する機会があります。正式サービスもあれば、はてラボ のような実験的サービス、内部の Microserviceの一部になっているものなど多種多様なものがあります。新規サービスのインフラを構築する際は、最小構成でありつつ後のスケールやメンテナンスを考えた仕組みを作っていくことになります。この記事では、2015年12月現在のはてなでの標準的な構成を紹介していきます。 新サービスの最小構成 こち

    はてなで新しくWebサービスを作るときのインフラの作り方 - Hatena Developer Blog
    nilab
    nilab 2015/12/21
    はてなで新しくWebサービスを作るときのインフラの作り方 - Hatena Developer Blog