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

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

SRE

こんにちは、シニアエンジニアの 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 の型定義ファイルと仲良くなろう

この記事は2016年に書かれた古い記事です。当時はまだTypeScript2.0も出ていないころで今とは状況がかなり異なっています。参考にする場合注意してください。 はじめに TypeScriptの型システム Declaration space Open-ended ここまでの確認 型定義ファイル…

ペパボ・はてな技術大会〜インフラ技術基盤〜の参加者募集中!!!

上記エントリにて先日お知らせしたペパボ・はてな技術大会〜インフラ技術基盤〜の募集を開始しています。すでにconpassのイベントページを公開していますが、本ブログでも改めてお伝えします。以前にお伝えしたとおり、福岡と京都で開催します。福岡編は、7…

【Apple WWDC 2016】iOS 10のApp Transport Securityと2016年末からのATS必須化についてAppleのエンジニアに聞いてきた

Apple WWDC 2016に参加するためにサンフランシスコへ来ているid:niwatakoです。 WWDC 2016のセッション にて、App Storeに公開するアプリは今年中にATS(App Transport Security)が要求されるようになるという発表がありました。 アプリからの通信をhttps接続…

【Apple WWDC 2016】WWDC 初日 Keynote、State of Union、Design Award と Realm WWDC Livestreamed Swift Panel 参加レポート

こんにちは。はてなブックマークのiOSアプリ開発チームで働いている id:niwatako です。 6/13から6/17にかけて、アメリカ・サンフランシスコではAppleの開発者向け年次カンファレンスであるWorldwide Developers Conferenceが開催されています。 私はそれに…

はてなブックマークのデータを用いた機械学習演習やAWSハンズオンなど・はてなサマーインターン講義内容決定!!

はてなでのひと夏があなたをつくります 以前からお伝えしているとおり、はてなでは8月15日から9月9日までの期間でサマーインターンを開催します。 「はてなサマーインターン2016申し込み」はこちら はてなインターンはカリキュラムが前半と後半に大きくわか…

Swift 3.0 をいまから学ぶ Swift Evolution ウォッチング

おはようございます。シニアアプリケーションエンジニアの id:cockscomb です。WWDC が目前に迫ったいま、今秋にリリースが予定されている Swift 3.0 について、Swift OSS コミュニティの中心である Swift Evolution から読み取っていきたいと思います。 [PR…

YAPC::Asia Hachioji 2016 にはてなから2人のエンジニアが登壇します

こんにちは。はてなの id:onishi です。 2016年7月2日(土)〜3日(日)にかけて、YAP(achimon)C::Asia Hachioji 2016 mid in Shinagawaが開催されますね!P は Perl ではなく Pachimon だそうです。 こちらのイベントにはてなから2人のエンジニアが登壇します!…

Unicodeプロパティを使ったPerl正規表現

こんにちは、Webアプリケーションエンジニアのid:nanto_viです。 Webアプリケーションを作っていると、「全角文字と半角文字を統一したい」「ユーザーの入力から漢字を抜き出したい」といったテキスト処理を行う場面にたびたび遭遇します。はてなではWebアプ…

インフラを意識してコードを書くということ

チーフエンジニアの id:Songmu です。 4月に 新人エンジニア研修を行なった のですが、その際に、「インフラを意識したアプリケーションの書き方」という講義を担当しました。そこでおこなった講義の内容について整理しながら書き起こしていきたいと思います…

【Google I/O 2016参加レポート】Android開発者向けオススメセッション 3日目とまとめ

こんにちは、アプリケーションエンジニアのid:takuji31です。 5月18日〜20日にGoole I/O 2016が開催されました。 私もはてなのAndroidエンジニア代表として派遣され、参加してきました。 この記事では先日に引き続き3日目のオススメセッションや、現地で見つ…

機械学習・アドテク! iOSアプリ! ブログ! Mackerel!「はてなサマーインターン2016」の募集を開始しました!

はてなサマーインターン2016の募集を開始いたしました!対象は2017年以降に卒業予定の高専生、大学生、大学院生です。募集の締め切りは2016年7月4日(月)正午です。はてなのサービスに興味があり、Webエンジニアとして働いてみたいという学生の皆様からのご…

はてなブログのシンタックス・ハイライト機能に対応する言語を募集します(追記あり)

こんにちは、ブログチームの id:masawada です!今回は、はてなブログのシンタックス・ハイライト機能について紹介します。はてなブログでは「はてな記法」モードおよび「Markdown」モードの場合に、ソースコードを色付けするシンタックス・ハイライト機能を…

【Google I/O 2016参加レポート】Android開発者向けオススメセッション 2日目

こんにちは、アプリケーションエンジニアのid:takuji31です。 昨日に引き続き、2日目の19日に私が見たセッションの中から、Android開発者の皆様にオススメのものを紹介します。 What's new in Android development tools www.youtube.com 最新のAndroidの開…

【Google I/O 2016参加レポート】Android開発者向けオススメセッション 1日目

こんにちは、アプリケーションエンジニアのid:takuji31です。 私は今、5月18日〜20日開催のGoogle I/O 2016に参加しています。 今回は会社からの派遣ということで、知見を持ち帰るべくサンフランシスコにやってきました。私としても念願のGoogle I/O初参加と…

「ペパボ・はてな技術大会 〜インフラ技術基盤〜」を福岡と京都で開催!

こんにちは、はてなウェブオペレーションエンジニアの id:y_uuki です。GMOペパボ株式会社さんとの共同で「ペパボ・はてな技術大会」を福岡と京都で開催します。 今回は、ペパボさんとはてなのインフラエンジニア・ウェブオペレーションエンジニアが集まり、…

HTMLのpattern属性とJavaScript正規表現のunicodeオプション

こんにちは、Webアプリケーションエンジニアのid:nanto_viです。みなさんHTMLのフォーム検証機能は使っていますか? 近年は各Webブラウザの対応も進み、お手軽にフォームの利便性を高められるようになっています。 そんなフォーム検証機能のひとつがinput要素…

リモートワークにおけるSlack Call活用と終業15分前の雑談

ウェブオペレーションエンジニアの id:y_uuki です。リモートワーク環境でのSlack Callの活用を紹介します。はてなのシステムプラットフォーム部(いわゆるインフラ部に相当)には現在9名在籍しており、一人だけ東京オフィス勤務で、残りは京都オフィスに勤…

AWSでのHTTP/2 or SPDY運用の課題とPROXY protocol

東京でウェブオペレーションエンジニアをしている id:dekokun です。 本記事ではAWSでELBを使用してHTTP/2 or SPDYを運用する上で直面する問題としてのクライアントのIPアドレスが分からなくなる問題の紹介を行い、その後に解決策としてのPROXY protocolの紹…

2016年度はてな新人エンジニア研修を行いました

はてなチーフエンジニアの id:motemen です。2016年4月1日付けで、新卒・中途含めて6人の新人エンジニアがはてなに入社してくれました。この記事では、彼らに受けてもらった今回の新人研修についての概要を簡単に紹介します。 動機 もともと、はてなのアプリ…

react-storybookを用いたReactコンポーネント開発

こんにちは!Webアプリケーションエンジニアの id:amagitakayosi です。 今日はReactコンポーネントを手軽に開発するためのツールを紹介します。 前回のあらすじ react-storybookとは 導入してみる 初期設定 storyを作成する 起動 イベントを監視する Hot Mo…

Reactコンポーネントをnpmパッケージとして開発する

こんにちは!ブログチームの id:amagitakayosi です。 今回は、業務で書いた小さなReactコンポーネントをnpmパッケージとして分離した話をします。 今回公開するパッケージ 実装方針 なぜnpmパッケージにするのか 他のコンポーネントの影響で壊れることを防…

Kotlinでモダンなライブラリーを駆使してAndroidアプリを開発する

はじめに こんにちは、アプリケーションエンジニアのid:takuji31です。今年の1月に入社してAndroidアプリの開発を行っています。 先週4月2日(土)にはてな京都オフィスで開催されたKotlin 1.0.0リリース記念勉強会 in 京都で、「Kotlinとモダンなライブラリー…

「はてなサマーインターン2016」開催!

はてなでは、今年も学生を対象としたエンジニア向けの「はてなサマーインターン2016」を開催します。開催時期、応募方法などの詳細については、5月下旬をめどにこのブログで発表します。インターンシップへの参加にご興味のある方は、以下のフォームからメー…

【2016年度版】このPerlハマりどころがすごい!100連発

はじめに autovivificationを避ける myと後置ifを同時に使ってはならない return;で返る値は空のリスト 正規表現によるバリデーションでは\Aと\zを使おう '0' は偽で評価される each は中断した時、中断した時点の状態が残り続ける おわりに はじめに こんに…