Hatena Developer Blog

はてな開発者ブログ

はてなのサーバ・ネットワーク基盤技術を探究するインターンの紹介

Webオペレーションエンジニアの中で唯一のはてなインターン出身者である id:y_uuki です。この記事では、応募締め切り間近のはてなインターン2017の大規模システムコースを紹介します。大規模システムコースは、はてなのサービスを支えるサーバ・ネットワー…

コードレビューを会話しながら行う取り組み

こんにちは。アプリケーションエンジニアのid:itchynyです。 今回は、コードレビューを会話しながら行う取り組みについて紹介します。 コードレビューは大事なコミュニケーションの場です。 コードレビューの効用としては、単純なミスがあるコードをリリース…

2017年の夏、Swiftをどうやって学ぶか

Xcode 9 betaがリリースされ、Swift 4(とSwift 3.2)の足音が聞こえてくる。このタイミングで、今こそSwiftを学ぼうと考えるのは、なんら不思議なことではない。しかしながら、いざSwiftを学ぼうとしても、どうするのがよいのか、最初は見当もつかないこと…

トランザクション分離レベルの古典的論文 A Critique of ANSI SQL Isolation Levels を読む

こんにちは、 id:alpicola です。今年4月に新卒入社してアプリケーションエンジニアとして働いています。ウェブアプリケーションはその性質上、データベースに対して同時に大量の問い合わせを行います。そうした中でデータベースが個々の問い合わせを処理し…

更新が必要なnpmパッケージを可視化する

こんにちは。ウェブアプリケーションエンジニアのid:masawadaです。普段は、はてなブログチームで開発を行なっています。今回は、日々の開発で生まれた困りごとを解消するために作ったyarn-outdated-formatterというツールを紹介します。 経緯 以前id:amagit…

PythonによるBrandSafe はてなのリニューアル

こんにちは、アプリケーションエンジニアの id:skozawa です。 先日、BrandSafe はてなの裏側をリニューアルしました。リニューアルにあたり、アーキテクチャや開発言語を改めて検討しなおし、その結果、新たにPythonを使って開発を行いました。そこで、検討…

はてなブックマークAndroidアプリのリノベーションを振り返る

こんにちは、アプリケーションエンジニアのid:takuji31です。今年の4月にはてなブックマークのチームにjoinし、はてなブックマークAndroidアプリのリノベーションを担当しました。 4月の末にはてなブックマークAndroidアプリのリノベーションが一通り完了し…

はてなサマーインターン2017の募集を開始しました

CTO の id:motemen です。このたび、はてなサマーインターン2017の募集を開始しました。2017年8月14日(月)〜2017年9月8日(金)平日のみ20日間、はてな京都本社にて開催します。今年で10回目となるインターンも例年通り、前半2週間は講義、後半2週間では開…

Courseraで高評価な「Algorithms, Part I」を使った社内勉強会を開催しています

はてなアプリケーションエンジニアの id:shiba_yu36 です。 最近自分が基礎的でずっと廃れなさそうな分野であるアルゴリズムを少しずつ学びたいと考えていました。しかし、アルゴリズムはあまりにも基礎分野のため、モチベーションをずっと保ち続けられるか…

機械翻訳勉強会(関西MT勉強会)が5月14日(日)にはてな京都オフィスで開催されます

こんにちは。ウェブアプリケーションエンジニアのid:syou6162です。 はてなでは社内の様々なプロダクトで自然言語処理が使われていますが、今回は機械翻訳をはじめとした自然言語処理(単語分割・形態素解析・構文解析・言い換え等)に関する勉強会、関西MT勉…

社内でNLP2017 & DEIM2017読み会を開催しました

こんにちは。ウェブアプリケーションエンジニアのid:syou6162です。 はてな社内で機械学習や自然言語処理に興味のあるエンジニアが集まる機械学習サブ会という技術グループがあるのですが、その機械学習サブ会が主催で言語処理学会第23回年次大会(NLP2017)と…

Go言語勉強会「そうだ Go、京都。」を4月29日(土)に京都で開催します! #golang

こんにちは。ウェブアプリケーションエンジニアの id:t_kyt です。 初夏と言えば京都、京都と言えばGoということで、4月29日(土)に「そうだ Go、京都。」と題しましてGo言語の勉強会を開催することになりました! 初回ということもあり特にテーマは絞ってい…

リモートチームでの働き方

こんにちは!はてな東京オフィスでアプリケーションエンジニアをしている id:KGA です。はてなで毎週開催している技術勉強会で「リモートチームでの働き方」と題し、自分以外のメンバーが全員京都オフィスにいるチームで2年間仕事をしてきた経験から心がける…

今年も開催します!「はてなサマーインターン2017」お知らせ事前登録も開始!

2017-05-22 追記 サマーインターン2017の募集を開始いたしました! 詳細は以下の記事よりご確認ください。developer.hatenastaff.com はてなでは、今年も学生を対象としたエンジニア向けの「はてなサマーインターン2017」を開催します。開催時期、応募方法な…

GitHubのラベルの変更を通知するreviewkunの紹介 〜Google Apps Script でちょっとしたツールを作る〜

※ GitHub と Slack を利用している人向けの記事になります こんにちは。はてなでアプリケーションエンジニアをしている id:hatz48 です。 社内で使っているちょっとしたツールの紹介と、それを作るのに Google App Script を利用したら楽だったという話をし…

新機能がサービスのパフォーマンスに悪影響を与えないか素早く推定する

こんにちは、 id:shiba_yu36 です。 先日、新しい機能や改善を加えようとする時に、それがデータベースに対して悪影響を及ぼさないか、どのように検証すれば良いですかという相談を受けました。つまり、新しく作った機能を導入した瞬間にデータベースが高負…

YAPC::Kansai 2017 OSAKA はてな社員の感想エントリ/資料まとめ

こんにちは, はてなアプリケーションエンジニアの id:papix です. Perlは大好きです. さて, YAPC::HokkaidoからスタートしたYAPC::Japanシリーズの第二弾, YAPC::Kansaiが3月4日に開催されました! developer.hatenastaff.com 先日, こちらのエントリでも紹介…

DroidKaigi 2017 で「大規模アプリのリノベーション」の発表を行いました

アプリケーションエンジニアの id:funnelbit(北村) です。先日 DroidKaigi 2017 で「大規模アプリのリノベーション」というタイトルで発表させていただきました。 speakerdeck.com 大まかな内容としましては以下のようなものです。 1. ドメイン知識を得る ま…

薄いフレームワーク指向の Web クライアントサイドプログラミング

こんにちは、Web アプリケーションエンジニアの id:nanto_vi です。先日開催された Kyoto.js #12 において、「薄いフレームワーク指向の Web クライアントサイドプログラミング」と題した発表を行いました。とある Web アプリケーションの開発にあたって、Ja…

YAPC::Kansai 2017 OSAKA にはてなから4人のエンジニアが登壇します

こんにちは。はてなアプリケーションエンジニアの id:astj です。 Perl は5も6も好きです。 昨年12月の YAPC::Hokkaido を皮切りにリブートした YAPC::Japan の第2弾として、来る2017年3月4日に YAPC::Kansai 2017 OSAKA が開催されます。 Perlを軸としたIT…

「バックログに入らないタスクを可視化する仕組み」という話を技術勉強会でしました

こんにちは。アプリケーションエンジニアの id:daiksy です。はてなでは毎週木曜日に技術勉強会を開催しています。参考: 寿司と勉強会とエンジニア - Hatena Developer Blog先週、当番が回ってきたので、「バックログに入らないタスクを可視化する仕組み」と…

学生さん向け「はてな&Wantedly 合同説明会」1月25日(水)に東京で開催します!

はてなは1月25日(水)に、エンジニア志望の学生さん向けにWantedlyさんと合同で会社説明会を開催します。今回は会社説明だけでなく、エンジニア社員が普段どういう風に働いているのか をより知っていただく機会にするため、飲食を交えながらエンジニア社員…

はてなサマーインターン2016のレポートサイトを公開しました

2016年8月15日から9月9日まで開催された、「はてなサマーインターン2016」のレポートサイトを公開しました。 はてなサマーインターンシップは、はてなでのサービス開発や研究を体験できる、学生向けのインターンシッププログラムです。カリキュラム前半の講…

2016年はてなWebオペレーションエンジニアのアウトプット

こんにちは、シニアエンジニアの id:y_uuki です。 はてなのWebオペレーションエンジニア8名が、この1年で対外的にアウトプットした成果物をまとめて紹介します。 座談会 Software Engineering System Engineering 輪読会 その他 あとがき 座談会 今週、Web…

はてな「Webオペレーションエンジニア座談会」を公開しました

本日、採用ページの新たなコンテンツとして「Webオペレーションエンジニア座談会」を公開しました。10年続くサービスを、インフラ技術で支える――Webオペレーションエンジニア座談会 - 株式会社はてなはてなのインフラチームからid:wtatsuru、id:y_uuki、id:d…

開発速度と品質のトレードオフの判断基準の合意

Webサービスの開発は、ユーザ/顧客へ価値を早く届けるため、競合より早くリリースするため、人的リソースを無駄使いしないためなど、とにかく素早く進めたいものですね。一方で、開発を急ぐあまり品質を犠牲にすればかえって価値が失われたり、技術的負債が…

文字列アルゴリズムの学びかた

こんにちは!はてなアプリケーションエンジニアの id:takuya-a です。 みなさんは、このような疑問をもったことはありませんか? grep はどのように文字列を検索しているのか? MeCab はどうやって辞書を高速にルックアップしているのか? パーサやコンパイ…

「Hatena Engineer Seminar #7 @ Tokyo」を開催しました & 資料を公開しました! #hatenatech

こんにちは、Web アプリケーションエンジニアの id:KGA です。去る、12月6日(火) にはてな東京オフィスのイベントスペース SHIBAFU において Hatena Engineer Seminar #7 @ Tokyo を開催いたしました。平日夜の開催にもかかわらず多数の方にご来場いただき誠…

はてな社内で行なっている機械学習勉強会について紹介します

このエントリは、はてなエンジニアアドベントカレンダー2016の21日目の記事です。昨日は id:hakobe932さんによる次に何を勉強するかを決めるための作戦でした。 こんにちは、アプリケーションエンジニアのid:syou6162です。このエントリでは、今年の9月から…

オープンソース活動への取り組み方

はじめまして。iOSとAndroidアプリの開発を行っている、アプリケーションエンジニアの id:ikesyo です。今年1月の入社後、初めての開発者ブログでの記事になります。最近の大きな出来事は、家族会議の結果、『ユーリ!!! on ICE』のBlu-ray全巻購入をしたこと…

フロントエンドPodcastはじめました

こんにちは! id:amagitakayosi です。 はてなブログチームで JavaScript と Perl を書いています。 最近はてなでは Frontend Lunch Podcast を配信しています。 iTunes: https://itunes.apple.com/jp/podcast/frontend-lunch/id1174199369 RSS: https://hat…

Mackerelにおけるフロントエンドのパフォーマンス改善の取り組み

この記事は、はてなエンジニアアドベントカレンダー2016の14日目の記事です。13日は id:astj による『Perl 6 のモジュールエコシステムの話とモジュールを公開する話 (2016年12月版) - 平常運転』でした。 こんにちは。Mackerelチームでアプリケーションエン…

Swift 3 の Data とポインタ使いこなし術

この記事は、はてなエンジニアアドベントカレンダー2016の8日目の記事です。昨日は id:ichirin2501 による MySQL-5.6のMRRにデッドロック回避の夢を見る - ichirin2501's diary でした。 おはようございます。シニアアプリケーションエンジニアの id:cocksco…

一から始めるJavaScriptユニットテスト

この記事は、はてなエンジニアアドベントカレンダー2016の5日目の記事です。こんにちは、はてなでアプリケーションエンジニアをしている id:shiba_yu36 です。先日、buildersconにおいて、現在所属しているプロジェクトでJavaScriptのユニットテストを導入し…

セキュリティ会の取り組み

この記事は、はてなエンジニアアドベントカレンダー2016の3日目の記事です。昨日は id:nanto_vi による CSS の -webkit-line-clamp プロパティについて: Days on the Moon でした。 こんにちは、はてなでチーフエンジニアをしている id:wtatsuru です。この…

はてなの技術組織2016

この記事は、はてなエンジニアアドベントカレンダー2016の1日目の記事です。 8月よりCTOになりましたid:motemenです。たいそうな肩書きがつきましたが、引き続きチーフエンジニアという役職も兼任しており、これまでどおりアプリケーションを書きつつ、技術…

はてなエンジニアアドベントカレンダー2016を始めます

こんにちは、はてなシニアエンジニアの id:y_uuki です。今年もアドベントカレンダーの季節がやってきましたね。昨年のアドベントカレンダーの記事は以下のページにまとまっています。明日の12月1日から25日まではてなのエンジニアの誰かが毎日エントリーを…

「Hatena Engineer Seminar #7 @ Tokyo」を12月6日(火)に開催します! #hatenatech

こんにちは。ウェブアプリケーションエンジニアの id:KGA です。12月6日(火)に Hatena Engineer Seminar #7 @ Tokyo と題しましてエンジニア向けのセミナーを開催します。今回はエンジニアリングの話に加え、普段とは少し趣向の違う はてなのエンジニアが…

はてなサマーインターン2016を終え、「はてな教科書」をアップデートしました

こんにちは。アプリケーションエンジニアのid:yashigani_wです。 はてなは、短期間にWebアプリケーション開発の基礎を身につけるための教材である「はてな教科書」をgithubで公開しています。 これは新入社員研修やはてなサマーインターンでの講義に利用され…

Web開発におけるコンピュータサイエンス - 機械学習編2

この教科書は、はてなサマーインターンの講義資料として作成されたものです: https://github.com/hatena/Hatena-Textbook 機械学習編1(基礎編)では、最も初歩的な分類器である単純パーセプトロンを題材に、機械学習の基本について勉強しました。機械学習編…

Web開発におけるコンピュータサイエンス - 機械学習編1

この教科書は、はてなサマーインターンの講義資料として作成されたものです: https://github.com/hatena/Hatena-Textbook この章では機械学習について、Webサービスの開発で必要とされる知識を中心に、とくに自然言語処理にフォーカスしながら解説します。 W…

「Hatena Engineer Seminar #6 〜インフラ編〜 @ Tokyo」を開催しました & 資料を公開しました! #hatenatech

こんにちは、Web アプリケーションエンジニアの id:KGA です。去る、8月31日(水) にはてな東京オフィスのイベントスペース SHIBAFU において Hatena Engineer Seminar #6 〜インフラ編〜 @ Tokyo を開催いたしました。約1年ぶりの開催となりましたが、平日夜…

社内技術勉強会で「技術ブログを書くことについて」発表しました

こんにちは、アプリケーションエンジニアのid:shiba_yu36です。今回ははてなで毎週開催している社内技術勉強会で発表した「技術ブログを書くことについて」という発表資料を公開します。speakerdeck.com 今回の発表をなぜ行ったかというと、もっと気軽に自分…

契約による設計の紹介

こんにちは、チーフエンジニアの id:hakobe932 です。はてなでは毎週、社内技術勉強会を開催しています。先週の勉強会では現在開催中のはてなインターン2016の参加者のみなさんもインターン生も参加して、いっしょに技術交流を行いました。このエントリでは…

Scala 関西 Summit ではてなにおけるマイクロサービスと Scala について発表します

こんにちは、アプリケーションエンジニアの id:aereal です。 summit.scala-kansai.org 来たる10月8日に Scala 関西 Summit という関西最大級の Scala カンファレンスが大阪で催されます。 このカンファレンスにおいて、「はてなにおけるマイクロサービスと …

「Hatena Engineer Seminar #6 〜インフラ編〜 @ Tokyo」を8/31(水)に開催します! #hatenatech

こんにちは、ウェブオペレーションエンジニアの id:y_uuki です。約1年ぶりにHatena Engineer Seminarを開催します。今回は、インフラ編ということで、はてなのウェブオペレーションエンジニアを中心としたスタッフが、はてなのサービスを支えるインフラ技術…

2016年ウェブオペレーションエンジニアの新卒研修

ウェブオペレーションエンジニアの id:y_uuki です。2016年度のウェブオペレーションエンジニアの新卒研修を紹介します。今年はウェブオペレーションエンジニアとして2名(id:masayoshi id:taketo957)が新卒として入社しました。若手のインフラ系エンジニアが…

YAPC::Asia Hachioji 2016 にはてなのエンジニア4人が登壇しました!

こんにちは。はてなの id:stefafafan です。 先日 YAP(achimon)C::Asia Hachioji 2016 mid in Shinagawa が開催されましたね。こちらのイベントに私も含め、はてなから4人のエンジニアが登壇しました!この記事ではそれぞれ発表した内容を簡単に紹介いたしま…

【7月4日(月)正午まで】はてなサマーインターン2016締め切り間近!!!

はてなでのひと夏があなたをつくります 7月4日締め切りの「はてなサマーインターン2016申し込み」はこちら 下記の記事などでお伝えしております、今年のはてなサマーインターンの応募締め切りが迫ってきました。応募は7月4日(月)正午までとなっていますの…

TypeScript の型定義ファイルと仲良くなろう

はじめに TypeScriptの型システム Declaration space Open-ended ここまでの確認 型定義ファイルを読み書きできるようになるために declare キーワード 既存のオブジェクトの型定義を拡張する グローバルなオブジェクトに対する宣言 module Export Assignmen…