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…

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

上記エントリにて先日お知らせしたペパボ・はてな技術大会〜インフラ技術基盤〜の募集を開始しています。すでに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 は中断した時、中断した時点の状態が残り続ける おわりに はじめに こんに…

AWS EC2でのHTTP/2 or SPDY導入方法

東京でウェブオペレーションエンジニアをしている id:dekokun です。 ここ数年、HTTP/2 or SPDYが話題ですよね。nginxが1.9.5からSPDY対応を切ってHTTP/2の設定ができるようになったり、はてなでも以下ブログにも記載されているように、SPDY or HTTP/2も積極…

インフラエンジニアがGo言語でオペレーションツールを書くことについて

ウェブオペレーションエンジニアの id:y_uuki です。 はてなの東京オフィスで先月開催されたGo 1.6 Release Partyで、「Writing Tools in Go For Ops Engineers」というタイトルで発表しました。発表では、最近作ったGo製ツールを紹介し、なぜGoがインフラエ…

新卒1年目のエンジニアからみた「はてな」

こんにちは!はてなの id:stefafafan です。Mackerelチームのエンジニアとして去年入社しました。今回ははてなという会社に入社して間もない私が気づいた点について書きたいと思います。 エンジニアにとってのはてな モチベーションの高さ 情報共有 環境の改…

「はてな教科書」のSwiftの教科書をSwift 2.2に対応しました

アプリケーションエンジニアの id:Sixeight です。 先日、iOS 9.3の公開に合わせてXcode 7.3がリリースされ、Swiftのバージョンが2.2になりました。 2015年12月にオープンソース化されてから、最初の公式リリースとなります。 swift.org これに合わせてはて…

エンジニアが見るべきテックブログをホストする技術

こんにちは、はてなの id:onishi です。先日、こんな記事がはてなブックマークの人気エントリーに上がっていました。なるほど、興味深いですね。こうやって眺めてみるとブログ事業者としては、テックブログにどんなブログサービスが使われているか気になりま…

エンジニアの専門性を伸ばすためにディレクターに気をつけてほしい3つのこと

こんにちは、 id:stanaka です。先日、社内ミーティングでディレクターから「エンジニアの専門性を伸ばすためにディレクターとしてなにができるか」という質問を受けて回答した社内向けエントリを公開します。 (ちなみに、はてなでのディレクターは、エンジ…

try! Swiftにはてなのエンジニアが登壇します

こんにちは!シニアアプリケーションエンジニアのid:cockscombです! 来週3月2日から4日までの「try! Swift」カンファレンスに、はてなから2名のエンジニアが登壇します。またはてなはtry! Swiftのスポンサーでもあります。 try! Swift 以下に、登壇する2名…

はてなのエンジニアに期待する「アウトプット」

id:stanaka です。はてなでは1月末と7月末に評価の時期を迎えます。毎回この時期になると評価プロセスや評価軸について議論になります。 はてなでのエンジニア評価として、コード品質などいくつかの項目がありますが、その中の一つとして「アウトプットする…

DroidKaigiにはてなのエンジニアが登壇します

Androidアプリエンジニアのみなさんこんにちは!2月18日、19日に開催される「DroidKaigi」というAndroidをテーマとしたカンファレンスに、はてなから2名のエンジニアが登壇いたします。以下に概要を紹介しますので、ご覧になるセッションを選ぶ際にご参考く…