ハウテレビジョンブログ

『外資就活ドットコム』『Liiga』『Mond』を開発している株式会社ハウテレビジョンのブログです。

ソフトウェアエンジニアリング

AWS 実習のためのサンドボックス環境

この記事はHowtelevision Advent Calendar 2023 24日目の記事です。 昨日は永井 (id:chima91)さんの「ISUCON13 臥薪嘗胆 〜新卒社員2名とインターン生1名での初挑戦〜」でした。 qiita.com 入社して 3 ヶ月になりました広瀬 (id:yhrs1224) です。外資就活ド…

ISUCON13 臥薪嘗胆 〜新卒社員2名とインターン生1名での初挑戦〜

この記事は Howtelevision Advent Calendar 2023 23日目の記事です。 昨日は、外資就活ドットコムのPdM 関根さん (id:toshimasa1234) による「プロダクトマネージャーが本気でプロダクトロードマップを作る意義とメリット」でした。プロダクトロードマップと…

Groonga から Elasticsearch への移行について

この記事は HowTelevision Advent Calender 2023 の3日目の記事です。2日目は根本さん (id:masa5555how) の「フロントエンドのlinter/formatterをxoに統一し、ルールの議論から解放される - ハウテレビジョン開発者ブログ」でした。 qiita.com 初めまして、…

フロントエンドのlinter/formatterをxoに統一し、ルールの議論から解放される

この記事は HowTelevision Advent Calender 2023 の2日目の記事です。1日目はプロダクト本部長の泉水さん (id:hc0001) による「技術負債解消プロジェクト・ツールやリソースの全社的な統廃合・イシューに向き合う部門再編などの話 - ハウテレビジョンブログ…

GraphQL Fragments を導入してクエリの可読性・保守性を高めた際の学びと落とし穴

はじめに GraphQL Fragments とは Mondでの導入背景 導入して良かったこと Fragmentsの落とし穴 multiple definitions for fragment オーバーフェッチ 今後の取り組み 最後に こんにちは、知の共有プラットフォーム Mond 開発チーム所属、新卒エンジニアの i…

AWS Load Balancer ControllerとExternalDNSを利用しています

こんにちは、SREチームの小川です。 「夏への扉」を読みました。過去・現在・未来の時間軸が最後にかち合った時には感動を覚えました。月並みですが、さすがSFの金字塔ですね。 今回は「外資就活への扉」である、ALB・Route53をSREがどのように管理している…

運用基盤を刷新しました-Terraform本格導入編

こんにちは、SREチームの小川です。 最近やっと「2001年宇宙の旅」を見ました。のっけから真っ暗な画面が流れ、なんのこっちゃ?という感じでしたが、あれは宇宙の始まりを表していたのでしょうか。そして人類が生まれ歴史が作られる壮大な物語が始まったの…

運用基盤を刷新しました-Kubernetesの導入やTerraformの本格利用などの取り組み紹介

こんにちは、SREチームの肥沼です。さて、ハウテレビジョンでは2021年8月に運用基盤を刷新して新しい構成で本番稼働を始めています。特にKubernetesの導入やTerraformの本格利用、Datadogによる可観測性の向上などさまざまな取り組みを行ってきたので今回の…

Docker初心者がRails+MySQLの環境構築をDockerでやってみた

はじめに 先日リリースした弊社のリニューアルされたiOSアプリのサーバーサイドはDockerで環境構築されております。 Dockerはとても便利で、設定されていば簡単なコマンドを叩くだけであっという間に開発環境が整ってしまいます。 しかし、その便利さ故にDoc…

半年でエンジニア4人→12人に急増したチームで、iOSアプリ(ReactNative)とAPI(Golang)を作り直して無事リリースした話(前編)

はじめに どうも。 先日行われた開発合宿に自転車(ロード)で行こうと思ったら台風の中120kmも走るハメになった 大里です。(開発合宿については別記事にて書きます) さて、去る2018年5月中旬に、外資就活ドットコムのiOSアプリを全面リニューアルしました…

iOSアプリのバックエンドをAWS ECSとGoで作りました

はじめまして、Goのpackage import pathのためにgithubアカウントを短くしたymgytです。 ハウテレビジョンでは2018年5月15日にiOSアプリ外資就活ドットコムのリニューアル版をリリースいたしました。 このアプリのバックエンドをAWS Elastic Container Servi…

React Nativeにおける多タブかつ件数の多いリストをつつがなく表示させるには

TL; DR はじめに 主要なライブラリ/ディレクトリ構成 このようなリストのおはなしです 実装上で気をつけたポイント 起こりがちな問題点 NINJA NINJAを防ぐにはどうするか おわりに はじめに こんにちは!世界で挑戦したいと思う学生に向けた就活支援プラット…

Web Audio API + firebase + React + material-uiでノイズを組み合わせて評価してもらうサービスを作った

弊社ハウテレビジョンでは、週の1日をR&D dayとして、業務と直接関係しない技術を学んでみたり、今まであまり触れてこなかった領域を調べたりしています。 今回はWeb Audio APIを使ったサービスのプロトタイプを作ってみました。 音声処理が必要なWebサービ…

Cloud Dataflow入門〜データ処理の実践

弊社ハウテレビジョンでは、週の1日をR&D dayとして、業務と直接関係しない技術を学んでみたり、今まであまり触れてこなかった領域を調べたりしています。 今回はCloud Dataflowに入門し、簡単なデータの分析コードを組み、動かしてみました。 とても簡単に…

Rustに入門した理由、チュートリアルの過程と感想

弊社ハウテレビジョンでは、週の1日をR&D dayとして、業務と直接関係しない技術を学んでみたり、今まであまり触れてこなかった領域を調べたりしています。 今回は複数人で集まってRustのチュートリアルを読み進め、実際に簡単なコードを組み、動かしてみまし…

静的サイトをサクサク作成・公開するためのサービス・ライブラリ選定

弊社ハウテレビジョンでは、毎週一日R&D dayという名目で、業務と直接関係しない技術を学んでみたり、今まであまり触れてこなかった領域を調べたりしています。 通常業務ではいわゆる「動的な」サイトを作成しているため、意外と静的なサイト作成に触れてき…

サーバの監視システムを設計したときに考えたこと

弊社では少し前にサーバをAWSに移行しました。 それまでは継ぎ足し継ぎ足しで作っていたものを再構成しての移行だったので、この機会にサーバの監視体制についても一新しました。 この記事ではそのときどういったことを考えて設計したかをお伝えできればと思…

Selenium WebDriverで、新規会員登録フローのE2Eブラウザテストを自動化してみた。

どうも。エンジニアの@bumcruです。 Qiitaの「Selenium/Appium」アドベントカレンダー9日目の記事です。 去る10月に行われた開発合宿、今年のテーマは「自動化」でした。 テーマの範囲内で、個々人が自由に好きなものを作るわけですが、 僕が選んだお題は「S…

なぜ DI が好きなのか PHP / Laravel でやってみた

夏はとにかく苦手、夏生まれの@KJ_BACCHUSです。 外出なんてしてたまるかと自宅で何かやろうと思いたった今日この頃。 Webエンジニアとしての知識が乏しいのでスキルアップを目的にアプリを作成しようと思います。 当社にはスマホアプリエンジニア(主にAndro…

Slack WebAPIでナイスなフォーマットのメッセージを送る

こんにちは。xyz_iです。 弊社ではチャットツールとしてSlackを使用しています。 メンバー同士のやりとりはもちろん、いろいろなイベントの通知先としてもとても重宝しています。 例えば、WebAPIを使い、Capistranoによるデプロイの実行時にSlack通知する方…

【Android】ScrollViewにListViewを入れる

お久しぶりです。ホサカです。 Android開発をする上で、最近では数多の便利なライブラリが存在しており、いろいろな場面でサポートしてくれるようになりました。 とはいえ、やはり自分で解決しなければいけない問題には度々遭遇するものです。 かくいう私も…

Lispをはじめよう! 非EmacserがMacにLisp(Scheme)の実行環境を作るまで

こんにちは。@who_you_meです。 非常に変化が早いWebの世界ではありますが、一方で今まで長い時間をかけて積み重ねられてきた知識が大切なことに変わりはありません。 たまには古典に立ち返って名著を読みたくなりませんかなりますよね私はなります。 そんな…

UbuntuのパッケージリポジトリをChefで追加する方法

最近は昼食にマルちゃん正麺ばかり食べている artifactsauce です。 今回はUbuntuのパッケージリポジトリをChefで追加する方法を解説します。 私が最近ハマったので、皆さんは同じ轍を踏まないように。

初めてiOSアプリ開発するときにおさえておきたいこと

はじめまして、xyz_iです。 これまでWebアプリケーションばかり作っていた自分が、1月からiOSアプリ開発を行っています。 いろいろと覚えないとならないことが多く四苦八苦してますが、アプリ開発経験のあるチームメンバーに助けられながらなんとかやってい…

【Android】アイコンフォント表示 ~ material-design-icons編 ~

今年ももう1ヶ月が経とうとしていますね。早い!毎年同じことを言っている気がします。まだ3週間ですが。。。 申し遅れましたが私、仮面アンドロイダーのホサカと申します。 活動時間は3分です。ええ、夜じゃなくて昼です。それってウルトラマンじゃないの?…

MySQLのキャッシュを有効活用するために気を付けること

明けましておめでとうございます! 大晦日には父と二人で一升瓶をまるまる空けてしまった@who_you_meです。 DBのパフォーマンスチューニングにはさまざまな要素がありますが、キャッシュの活用はそのなかでもかなり重要な項目です*1。 *1:ただし、キャッシュ…

PhpStorm 8.0 で痒いところに手が届く設定 3つ

PhpStormのインストール後わたくし津田が設定した内容を共有します。 ただ、すでにweb上には無数のドキュメントが存在しているので、本稿ではマイナーな、だけど痒い所に手が届く設定を中心に書いています。 無数のドキュメント PhpStormの設定 - Qiita PhpS…

ちょっとしたPHPスクリプトで PEAR ライブラリを管理するのに composer を使ってみよう

はじめに こんにちは、エンジニアの@soyanaです。 PHP のライブラリ依存性管理といえば、composer ですね。

【パフォーマンス】XDebugとqcachegrindによるPHPアプリのプロファイリング【改善】

こんにちは! 来年統計検定の1級を受けることになった祖山(@who_you_me)です。 過去問を見たらガチすぎて震えてます。 【PDF注意】 http://www.toukei-kentei.jp/about/pastpaper/2013/2013grade1.pdf

CakePHP で実装したメール送信フォームで、文字化けしがちな全角チルダ「〜」やハイフンを文字化けしないようにフィルターする

こんにちは、エンジニアの@soyanaです。前回記事CakePHP2 で、phpass でハッシュ化されたパスワードが保存されたユーザーテーブルを扱えるようにするに引き続き、CakePHPのTipsをお送りします。 前提として、 メールフォームの文字エンコーディングは UTF-8 …