フォルシア の技術ブログ

TwitterAPIをRustやPythonで触ってみた

FORCIAアドベントカレンダー2020 17日目の記事です。 新卒2年目エンジニアの平岡です。 2年前の今頃は有機合成化学の研究室で、試薬を混ぜてひたすら実験をしていました。 この記事ではTwitter APIを題材に、普段業務で触れる機会の少ないインフラ周りや複数の言語を触るなどして遊んだ話を書きます。 Twitter API 何かの情報を集める際、google検索だけでなくTwitter検索を使う

AWS Amplify上にNext.jsで構築したアプリに対して、Next.js Analyticsを使ってみた

FORCIAアドベントカレンダー2020 16日目の記事です。 旅行プラットフォーム事業部の山門です。 Versel社が現地時間の10/27に開催したNext.js CONFでは、開催当日にver10の発表もあり、なかなかに盛り上がりを見せたのが記憶に新しいですね。 CONFでは画像周りのアップデートが大きく取り上げらていた印象ですが、自分の中では同タイミングで発表されたNext.js Analyticsの方に興味が

AtCoderJobs一期生から見た、競技プログラミングとフォルシア

FORCIAアドベントカレンダー2020 15日目の記事です。 フォルシアはAtCoderJobsにてエンジニアを絶賛募集中! 新卒採用はこちら 中途採用はこちら この記事はなんでしょう? 新卒エンジニア1年目の吉田です。冒頭でも紹介した通り、フォルシアではAtCoderJobs経由での採用を行っていますが、私も就活ではこちらを活用して入社しました。 私を含めた20年新卒には、初めてAtCoderJo

OpenAPI + Express.js + TypeScriptでAPI開発するTips

FORCIAアドベントカレンダー2020 14日目の記事です。 事業開発部の龍島です。皆さんschema firstな開発してますか? フォルシアではwebアプリケーション開発にサーバサイドはExpress.js + TypeScript、クライアントサイドはNext.js(React.js) + TypeScriptを用いており、間をつなぐAPIインターフェースの定義にOpenAPI Specification(swagger)を用いてschema firstな開発を行っています。 ここ2年ほどschema

リモートでも活発な意見交換を Jamboardを活用したオンラインディスカッションの取り組み

FORCIAアドベントカレンダー2020 13日目の記事です。 こんにちは検索プラットフォーム部エンジニアの伊藤(亜紀)です。 今日は、社内の意見交換の活性化を目的として始めたオンラインディスカッション(以下Jamboardディスカッション)について、その内容や始めた経緯、工夫をご紹介します。 Jamboardディスカッションとは フォルシアでは、週に1度、エンジニアのほぼ全

Elasticsearch vs. PostgreSQL

FORCIAアドベントカレンダー2020 12日目の記事です。 弊社はこれまで PostgreSQL を利用した高速なスペック検索をコアコンピタンスとしてきましたが、今後はドキュメント検索にも注力していく予定です。OSS のドキュメント検索エンジンといえばまず思いつくのが Elasticsearch  です。PostgreSQL と比較されることの多い Elasticsearch ですが、今回は特に日本語処理の周りを技術的に

今日から始めるコードレビュー

FORCIAアドベントカレンダー2020 11日目の記事です。 こんにちは。旅行プラットフォーム部の新卒1年目エンジニアの三浦です。 業務では大きな旅行サイトのプロジェクトに携わっており、技術面・仕事面ともにキャッチアップに追われる日々を過ごしています。 さて、今日は日々の業務で行っている、チーム開発に欠かせないコードレビューについての記事です。 先日チ

TypeScript で学ぶインターフェース(抽象型)

FORCIAアドベントカレンダー2020 10日目の記事です。 こんにちは。旅行プラットフォーム部エンジニアの乙村です。 フォルシアでは JavaScript を利用して開発することが多いのですが、最近は JavaScript の世界にも TypeScript という形で「型」の概念が広まり始めています。私が社会人エンジニアとして初めて触った言語は C++ という型付けがキッチリしている言語でしたが、学び

TypeScript で学ぶインターフェース(抽象型)

FORCIAアドベントカレンダー2020 10日目の記事です。 こんにちは。旅行プラットフォーム部エンジニアの乙村です。 フォルシアでは JavaScript を利用して開発することが多いのですが、最近は JavaScript の世界にも TypeScript という形で「型」の概念が広まり始めています。私が社会人エンジニアとして初めて触った言語は C++ という型付けがキッチリしている言語でしたが、学び

天気予報でも使われる! ワークフローエンジンecflowのすすめ

FORCIAアドベントカレンダー2020 9日目の記事です。 事業開発部所属エンジニアの籏野です。 フォルシアではデータの取り込み・DBの構築といったバッチ処理についてフォルシア独自のツールを開発し、管理・実行していました。この独自ツールは、あらかじめ決められたフローを、設定を変えて実行するような作りになっており、タスク実行順の組み換えやアプリ独自の処

0までのjsonb

FORCIAアドベントカレンダー2020 8日目の記事です。 フォルシアで旅行横断検索を主にエンジニアリングをしています。相澤といいます。 普段は主にPostgreSQLを使ってデータ処理の高速化とホテル名寄せに苦戦する日々を送っています。 少し前に PostgreSQL12 が登場しましたね! フォルシアで働く私としては検索が各種インデックスの性能改善がどの程度の物なのかが一番気に

EC サイトを取り巻く自然言語処理事情

FORCIAアドベントカレンダー2020 7日目の記事です。 検索プラットフォーム部エンジニアの吉成です。 普段の業務では理化学機器などを取り扱うECサイトを担当しています。 フォルシアは以前より、旅行系サイトやECサイトなどにおける、膨大かつ複雑なデータの高速検索を得意分野としてきました。 さらに近年では、検索に関連する周辺技術にも注目して開発に取り組んで

キーボードへのこだわりを探ってみた~非エンジニアのCuriosity~

FORCIAアドベントカレンダー2020 6日目の記事です。 12月が始まり、既に1週間。2020年があと3週間で終わってしまうなんて信じられない!と思いながらアドベントカレンダーを書いている事業開発部の岡地です。 いきなりですが、私はエンジニアではありません。プログラミング経験はゼロで、新人研修のOJTで先輩に教わりながらコードを書いたり、簡単な名簿アプリを作っ

初学者が手探りでOSS(Deno)に触れてみたら楽しかった話

FORCIAアドベントカレンダー2020 4日目の記事です。 事業開発部の田中です。業務では webコネクト の開発・保守に携わっています。 Node.jsを基盤とし、フロントはReact+Redux+Next.js、サーバーサイドはExpress.jsを利用し、TypeScriptで開発を進めています。 OSS(Deno)を触りたくなった動機 2020年5月にDeno 1.0.0がリリースされたのを受け、Twitterや様々な技術ブログでそれが注目されている

JavaScriptで条件付きの総当たり対戦順を求める

競技プログラミング Advent Calendar 2020 3日目の記事です。 旅行プラットフォーム部エンジニアの谷井です。 普段の業務では主にTypeScript + PostgreSQLで開発を行っています。今回は「個人的な課題をJavaScriptで解決してみたら、競プロの世界に足を踏み入れていた」話を書きます。 日常生活のちょっとした困りごとを自分のコードで解決できるのはエンジニアの役得ですね! 今