2020-01-01から1年間の記事一覧

はてなエンジニア Advent Calendar 2020完走しました!

2020年も無事に「はてなエンジニアAdvent Calendar」を完走できました! はてなブックマークを最も集めた「最多ブックマーク賞」を発表するとともに、全25エントリーを振り返って感想戦をお届けします。年末年始のお供にどうぞお読みください。良いお年を。

異常なオープンネス文化が特徴的 | はてなで働く nabeop にアンケート [#11]

はてなで働くエンジニアにアンケートシリーズ第11回は、システムプラットフォーム部のSRE・id:nabeopです。入社したきっかけや現在の仕事内容などについて話を聞きました。

2022年度 新卒採用を開始しました!

SRE

本日、2022年度新卒採用を開始しました。2022年度新卒採用は以下の4職種で採用を行います。 Webアプリケーションエンジニア iOS、Androidアプリエンジニア SRE デザイナー 京都・東京の両拠点での積極採用を行っています。皆さまのご応募をお待ちしています…

TypeScript で querySelector メソッドを使うときに型引数を指定する

こんにちは、エンジニア職の id:nanto_vi です。(この記事は、はてなエンジニア Advent Calendar 2020 の 12 日目の記事です。昨日は id:cohalz さんによる「Webサービスのモニタリングについてのチェックリスト」でした。) 結論 TypeScript で querySelecto…

【オンライン】12月23日(水)に Hatena Engineer Seminar #15 を開催します!

こんにちは、Webアプリケーションエンジニアの id:KGA です。 12月23日(水)に Hatena Engineer Seminar #15 をオンラインで開催します! 今回は2020年4月に新卒入社した3名のエンジニアによるトークをご用意いたしました。チーム開発における体制づくりや…

数字のバラ付きを考慮して意思決定する技術

こんにちは。MackerelチームでCRE(Customer Reliability Engineer)をしているid:syou6162です。主にカスタマーサクセスを支えるデータ基盤の構築や、データ分析を担当しています。 意思決定をする際には不確実性がつきまといますが、不確実性を信頼区間とい…

開発合宿をリモートで実施する工夫

はてなでは、日々の業務を離れた技術の検証やチャレンジの場として定期的に開発合宿を開催していますが、新型コロナウィルス感染症の影響により、これまでのように一つの場所に集まって開催することが難しくなりました。そこでリモートでの開発合宿を2回開催…

リモートワーク下で積極的に音声会話を | はてなで働く hogashi にアンケート [#10]

Hatena Developer Blogの「はてなで働くエンジニアにアンケート」シリーズ、今回ははてなブログチームのWebアプリケーションエンジニア、id:hogashiに話を聞きました。

コンテナ技術とスケールするWebサービス ─ ペットから「ポスト家畜」の時代へ

「コンテナ」をテーマに、いわゆる「ペットから家畜へ」という言葉で語られるWebアプリケーションの実行環境の変遷と、コンテナ技術がもたらした2軸のスケーラビリティについてまとめ、コンテナ技術によって「ポスト家畜」とも呼べる新たな時代が到来したこ…

Mackerelでは計画メンテナンスをどう実施しているか? RedisをElastiCacheに移行した裏側をご紹介

SRE

Mackerelでは、Amazon EC2で稼働しているRedisおよびRedis ClusterをすべてAmazon ElastiCache for Redisへ移行しました。最後の移行ではElastiCacheのオンライン移行を利用し、サービスを計画停止して実施しました。この裏側でどのように作業を進めたのかを…

MackerelのCREがカスタマーサクセスをいま学ぶ理由─3年間の試行錯誤をぜんぶ話そう

GoogleがCRE(Customer Reliability Engineer)という職種を提唱し、その後はてなでもCREが誕生して3年。5名のチームに成長したMackerelのCREでは今、カスタマーサクセスの考え方を取り入れようとしています。世界と日本でCREの実践事例や、これからCREを組…

SREはインフラ担当だけでなくチーム全体で取り組んでいくもの | はてなで働く cohalz にアンケート [#9]

Hatena Developer Blogの「はてなで働くエンジニアにアンケート」シリーズ、今回ははてなブログチームのSRE、id:cohalzに話を聞きました。

Rustの知見を深めたい! 開発合宿でmackerel-agentを再実装してみた

活躍分野が広がるRust開発の知見を得るため、ホストの情報をMackerelに送るmackerel-agentをRustで再実装する試みに、3人のはてなエンジニアが開発合宿の3日間で挑戦しました。まだ機能は十分でないものの動作するアプリケーションがRustで実装でき、今後に…

はてなインターンシップをリモートで開催する方法─精神と時のステイホーム

はてなサマーインターンシップ2020は、13年の歴史で初めてオンライン開催となりました。リモートの実施にはコントロールを効かせにくい難しさがありますが、日程・カリキュラム・コミュニケーションそれぞれで影響を検討し、課題を中心とした短期間の開催と…

はてなサマーインターン2020の講義動画と課題を公開しました

2020年のはてなサマーインターンでは、マイクロサービスをテーマとした1週間のカリキュラムを用意しました。その約2時間にわたる講義動画と、講義終了後に取り組んでもらった課題を公開しています。課題に挑戦する方がいましたら、ぜひ #hatenaintern2020 で…

頑張らなくていいチームだからこそ自分の強みを増やしていきたい | はてなで働く do-su-0805 にアンケート [#8]

Hatena Developer Blogの「はてなで働くエンジニアにアンケート」シリーズ、今回はシステムプラットフォーム部のSREであるid:do-su-0805に話を聞きました。

はてなブログのキャッシュ周りをきちんと改善したら、アプリケーションサーバの台数を半分にできた話

SRE

はてなブログでは2019年12月から、Varnishを中心としたキャッシュ周りのさまざまな改善を進めてきました。その結果、ブログ記事のキャッシュヒット率が1日平均で8%から58%に向上したり、アプリケーションサーバの台数が以前の半数以下に削減できたりといっ…

サマーインターンをオンラインで開催しました

2020年の「はてなサマーインターン」が、9月11日(金曜日) をもって無事に終了しました。時勢もあって1週間のリモート開催となり、カリキュラムも新たに作り直しました。想定以上のパフォーマンスを発揮してくれた開催中の様子は #hatenaintern2020 のハッ…

Hatena Engineer Seminar #14 〜魔法のiらんど編〜 をオンラインで開催しました #hatenatech

初のオンライン配信となった「Hatena Engineer Seminar #14 〜魔法のiらんど編〜」を7月15日(水)に開催しました。はてなで開発・運用を支援している「魔法のiらんど」リニューアルについて、企画視点での話から、バックエンド/フロントエンドそれぞれの開…

「マンガが快適に読める」を数値化し、SLOをマンガビューワに導入するまで

SRE

Webマンガサイトで利用される「GigaViewer」のチームでは、開発速度と信頼性のバランスをとるためSLO(Service Level Objective)を策定しました。マンガビューワで必要な「マンガが快適に読める」などのサービスレベルをどのようにSLI(Service Level Indic…

AWS Purpose-Build Database Week で Mackerel の時系列データベース内での ElastiCache について発表しました

MackerelにおけるAmazon ElastiCacheの利用事例について、はてなエンジニアでMackerel開発チームのastjが、AWSのオンライベント「Purpose-Build Database Week」で8月24日に発表しました。今回はとくにRedis Clusterに焦点を当てており、発表資料と概要を共…

Elasticsearchクラスタを再構築し、無停止で切り替えるベストプラクティス

オンプレミスなElasticsearchクラスタから、AWS上で再構築したAmazon Elasticsearch Serviceのクラスタに切り替える際、無停止であることと切り戻し可能であることを条件として、いくつかの手法を詳細に検討しました。

VSCodeの拡張機能、なに使ってますか? はてなエンジニア世論調査 #2

ソースコードエディタのVSCodeでは、シンタックスハイライトやデバッグなどさまざまな拡張機能を利用できます。はてなのエンジニアは、どんな拡張機能を日々の開発に使っているのでしょうか? インストールしている拡張機能をアンケート調査してみました。

Webアプリケーションのログに関するいくつかの考察

ログを取り扱う最大の目的はデータドリブンな意思決定を支えることであり、大別すると「ビジネス的な要求」と「システムの運用的な要求」が存在します。はてなの技術ワーキンググループでは、ログを用途・目的ごとに分類し、その要求水準について検討しまし…

"壊れにくい"データ基盤を構築するためにMackerelチームで実践していること

幅広い用途で利用される場面が多いデータ基盤では、何より"壊れにくい"ことが重要になります。壊れていない状況を保ち、壊れたら気付けるよう監視するため、Mackerelチームで工夫している取り組みについて、CRE(Customer Reliability Engineer)のsyou6162…

今年も Let's Encrypt への寄付を実施しました

はてなブログでは独自ドメイン機能の HTTPS 配信対応などにおいて Let's Encrypt を活用しています。 はてなブログを独自ドメインで利用する - はてなブログ ヘルプ HTTPSで配信する - はてなブログ ヘルプ はてなでは、独自ドメイン機能の HTTPS 配信対応開…

コーポレートサイトを誰にも気づかれず静的化したときの技術選択について

こんにちは〜。チーフエンジニアのid:cockscombです。 最近、同僚のid:yashigani_wとともに、はてなのコーポレートサイトを静的サイトとして再構築しました。ちょっとした仕事ではありますが、経験によって得られた暗黙知を形式知へ昇華するため、ここに紹介…

【オンライン】Hatena Engineer Seminar #14 〜魔法のiらんど編〜を7月15日(水)に開催します!

こんにちは、Webアプリケーションエンジニアの id:KGA です。Hatena Engineer Seminar #14 〜魔法のiらんど編〜を、7月15日(水)にオンラインで開催します!今回は「魔法のiらんど編」と題しまして、はてなで開発・運用の支援をさせていただいている魔法のiら…

はてなインターン2020の講義を動画で配信します

こんにちは、はてなサマーインターン2020運営委員会です。サマーインターンの募集を先日締め切らせていただきました。 今年は過去最多のご応募をいただきました。 沢山のご応募、誠にありがとうございました!今年はインターンの講義を動画で配信することを…

デプロイ今昔

こんにちは。はてなのアプリケーションエンジニアの id:onk です。 最近、若手エンジニアを中心に、いろいろな技術を見つめ直すワーキンググループをやっています。今回は、その中から「デプロイ」の会で発表されたことをまとめました(なお、私は会のとりま…

AWS と GCP を VPN でつないでみたら、マルチクラウドの夢が広がった話

社内の開発合宿で AWS と GCP を VPN で接続して、実運用に載せた場合の課題や構成を検討しました

はてなで使用しているRenovateの設定プリセットを公開しました

こんにちは。毎年のAppleとGoogleからのお達しのおかげで、開発環境やライブラリのアップデートが大好きな id:ikesyo です。普段はiOS・Androidのモバイルアプリ開発を主にしています。 はてなでは先日、はてな社内で使用しているRenovateの設定プリセットを…

Mackerel のフロントエンド "React化" プロジェクトを支える技術と設計

こんにちは, Mackerel 開発チーム アプリケーションエンジニアの id:susisu です. 現在 Mackerel では, Web コンソール画面の開発に使用しているフレームワークを, これまで使用してきた AngularJS から React へ移行することを中心とした, フロントエンド開…

はてなサマーインターン2020の募集を開始しました! 今年はオンライン開催!

CTO の id:motemen です。このたび、はてなサマーインターン2020の募集を開始しました。今回は例年のはてなサマーインターンと異なり、平日5日間の日程とし、全日オンラインでの開催となります。2020/8/17(月)~2020/9/11(金)の期間に平日5日間×2回実施…

「はてな技術発表会日記」の記事を Hatena Developer Blog に移行しました

はてなグループの終了にともない、「はてな技術発表会日記」の記事を、このブログに移行しました。

はてなサマーインターン2020はリモート開催予定です

追記:募集開始しました 「はてなサマーインターン2020申し込み」はこちら 追記ここまで こんにちは、CTO の id:motemen です。はてなは今年も、学生を対象としたエンジニア向けのインターンシップ、「はてなサマーインターン2020」を開催します。例年、はて…

データ基盤のメタデータを継続的に管理できる仕組みを作る

こんにちは。MackerelチームでCRE(Customer Reliability Engineer)をしているid:syou6162です。 CREチームではカスタマーサクセスを進めるため、最近データ分析により力を入れています(参考1, 参考2)。データ分析を正確に行なうためには、データに関する正確…

はてなエンジニア世論調査: 開発環境のフォントなに使ってますか?

こんにちは、スマートフォンアプリケーションエンジニアの id:yutailang0119 です。 突然ですが、ターミナルを毎日使っていますよね?エディタと触れ合わない日はないですよね? ということで、今回は "はてなエンジニア世論調査" と題して、開発環境のフォ…

はてなのアウトプットを大いに盛り上げる団 (HOO 団) を結成しました

はてなのエンジニアのバリューズのうち『学びとオープンネス』にフォーカスを当てた取り組みとして、はてなのアウトプットを大いに盛り上げる団 (HOO 団) についての紹介です

AWS re:Invent 2019に今回も行ってきました

SRE

はてなでSREをしている id:dekokun とアプリケーションエンジニアをしているid:astj です。 先日(というには少し日が空いてしまいましたが…)ラスベガスで行われた AWS re:Invent 2019 に、はてなから私たち2名が参加してきました。これで、はてなとしては3…

Hatena Engineer Seminar #13 を開催しました #hatenatech

こんにちは!Web アプリケーションエンジニアの id:KGA です。2/5(水)に Hatena Engineer Seminar #13 を開催いたしました。新型コロナウイルス感染症に関する対応の一環として YouTube Live でのライブ配信を予定しておりましたが、配信トラブルにより実施…

Hatena Engineer Seminar #13 を2月5日(水)に開催します!(2020年1月31日、2020年2月4日 追記)

こんにちは、Webアプリケーションエンジニアの id:KGA です。「Hatena Engineer Seminar #13」を、2月5日(水)にはてな東京オフィス SHIBAFU にて開催します!今回は はてな で働く若手エンジニアがどういう仕事をしているか、実際の内容やその仕事をする上で…

AWS Direct Connect を AWS Transit Gateway に接続した話

AWS Transit Gateway に AWS Direct Connect を接続したので、検証などでわかった設計時の知見などを書いてみます。