テラーノベル テックブログのフィード

https://zenn.dev/p/tellernovel_inc

70万人超の作家が利用する小説サービス「テラーノベル」の開発メンバーによるテックブログです。

フィード

記事のアイキャッチ画像
このReactライブラリは面白い! パート 2
はてなブックマークアイコン 9
テラーノベル テックブログのフィード
¡Hola! こんにちは!テラーノベルのオスカルです。Webの開発をしてます。いつも言うんだけど、日本語はまだまだ勉強してますので、応援してください!ᕙ( •̀ ᗜ •́ )ᕗ前に、あまり有名ではないけれども非常に興味深く、時間をかける価値のあるいくつかのライブラリについて記事を書きました。今回は、新しいライブラリをいくつか見つけて、そのシリーズを続けます。さあ、確認してみましょう! 1- animejs 🔗AnimeJSは、既存のHTML要素やReactコンポーネントにアニメーションを簡単に追加できる軽量なアニメーションライブラリです。プロジェクトに素敵なタッチを追加...
9日前
記事のアイキャッチ画像
Dev ContainerテンプレートでPython+GPU環境を爆速立ち上げ
テラーノベル テックブログのフィード
テラーノベルで機械学習を担当している川尻です。私たちの機械学習プロジェクトでは、VSCodeのDevelopment Containers (以下、dev container)を使用しています。dev containerでは、開発に必要なツールを事前にイメージに格納し、開発はコンテナ内で行います。一度設定を完了すれば、チーム全体で環境を共有でき、大変便利です。VSCodeだけでなく、Jetbrains系のIDEやクラウド上でのリモート開発もサポートされています[1]。Developing inside a Container より引用しかし、設定項目が増えてくると、新規プロジェク...
22日前
記事のアイキャッチ画像
Superwallを使ってアプリの最適な課金訴求画面を見つけよう!
テラーノベル テックブログのフィード
こんにちは!テラーノベルでiOS/Android/Webとフロントエンド周りを担当している @kazutoyoです!アプリにサブスクリプションの機能を入れる際に課金の訴求画面(Paywall)を表示し、ユーザにサブスクリプションのメリットを示すことが多いと思います。例えばテラーノベルでは次のような課金訴求画面を表示しています。今回紹介するSuperwallは、このような課金訴求画面を簡単に導入・A/Bテストや分析をするためのツールとなっています。 SuperwallについてSuperwallは2024年の2月時点で、iOS、Android(Beta)、Flutter(Bet...
3ヶ月前
記事のアイキャッチ画像
PixiJSで簡単なゲームを作ってみた
テラーノベル テックブログのフィード
これです:まあ、かなりシンプルなゲームですが、PixiJSで何ができるかを感じることができるので、この記事を書きました。そうだ、挨拶しないと! ¡Hola! こんにちは! テラーノベルのオスカルです。Webの開発をしています。いつも言うんだけど、日本語はまだまだ勉強中なので、応援してください! PixiJSってなに?ウェブサイトを確認するなら、こう言っています:「The HTML5 Creation Engine」、日本語では「HTML5創造エンジン」かな?。👆あまり良い説明ではありません... 周りを調べてみると、これが私が見つけたものです:HTMLキャンバス要...
3ヶ月前
記事のアイキャッチ画像
Mercari Dataflow Templateの紹介
テラーノベル テックブログのフィード
テラーノベルで機械学習を担当している川尻です。テラーノベルで定期実行タスクの管理には、Google CloudのマネージドサービスであるCloud Composerを活用しています。以前にもテラーノベルのテックブログで他のサービスと比較して紹介しています。https://zenn.dev/tellernovel_inc/articles/11c211b5a34fb1定期実行タスクの中で典型的な処理の一つとして、BigQueryで処理した結果をGoogle Cloud StorageやCloud Spannerに書き出すというものが挙げられます。そういった処理のとき、Mercari D...
3ヶ月前
記事のアイキャッチ画像
【Elasticsearch】「童貞男子」から始まった検索ロジック改善
テラーノベル テックブログのフィード
はじめにこんにちは! テラーノベルでサーバーサイドを担当している@yuhasです。テラーノベルには作品や作家さんの検索機能があり、ユーザーさんの読みたい作品や興味のある作家さんを提示できる検索機能は重要な機能の一つです。直近でその検索まわりを一新し、Cloud RunでElasticsearchを運用し始めました。(その話はこちらの記事に書いているのでよければご覧ください)その中で意図しない検索結果が返ってくることがあり、検索ロジックの改善を行いました。今回はその話についてできればと思います。 モチベーションテラーノベルの検索には大きく分けて「作品検索」と「ユーザー...
4ヶ月前
記事のアイキャッチ画像
GAE スタンダード環境からCloud Runへの移行
テラーノベル テックブログのフィード
こんにちは、テラーノベルでサーバーサイドを担当している@manikaです。GAEスタンダード環境からCloud Runへ移行についての備忘録を記事にしました。GAEからCloud Runへ移行が完了すると、試算ですが現状の4分の1程度にインスタンス料金を抑えれる見込みの為それならばやるしかないな、という事で進めています。 概要基本的にはGAEに依存した機能やパッケージを削除又は変更していくという作業になりますが、Cloud Runへ移行するまでの間GAEでも動作させる必要があり、コードの2重管理は避けたかったのでGAEでもCloud Runでも同じコードで動くよう改修を行なって...
4ヶ月前
記事のアイキャッチ画像
Pydanticを使ったLLMのプロンプトテクニック
テラーノベル テックブログのフィード
テラーノベルで機械学習を担当している川尻です。最近、LLMを使った社内業務の自動化などを行っていて、Pydanticを使ったテクニックが良かったので紹介します。 概要OpenAIの最新のモデルの gpt-4-1106-preview と gpt-3.5-turbo-1106 でJSON Modeがサポートされました(2023/12/27現在)[1]。 これにより出力結果を後段タスクのプログラムで扱いやすくなります。Pydantic [2] というのは、Pythonのデータバリデーションライブラリで、型情報を強力に扱うことができて高速に動きます。最初はPydanticを出力結果のパー...
4ヶ月前
記事のアイキャッチ画像
【Cloud Run】ElasticsearchをCloud Runで運用する
テラーノベル テックブログのフィード
はじめにこんにちは! テラーノベルでサーバーサイドを担当している@yuhasです。テラーノベルには作品や作家さんの検索機能があり、ユーザーさんの読みたい作品や興味のある作家さんを提示できる検索機能は重要な機能の一つです。直近でその検索まわりを一新することになり、Cloud RunでElasticsearchを運用することになりました。Cloud Runで運用することでオートスケールなど多くの恩恵を受けられる一方で、状態をもつElasticsearchをコンテナで動かしていくのは単純なことではありません。今回はどのようにしてCloud RunでElasticsearchを運用...
5ヶ月前
記事のアイキャッチ画像
大規模小説データをOpenAI Embedding APIで特徴抽出してUMAPで可視化してみた
テラーノベル テックブログのフィード
テラーノベルで機械学習を中心に担当している川尻です。みなさんも大量のデータを特徴抽出してみたけど、どう使ったらいいかわからないなぁということありますよね。とりあえずどういうデータなのか雰囲気だけでもみるために、簡単な可視化から入るかと思います。以前にもグラフデータの可視化について記事を書きました。https://zenn.dev/tellernovel_inc/articles/53507126aa77bfテラーノベルでは小説投稿アプリを作っており、OpenAI Embedding APIを使って全作品の特徴量を出しているデータベースがあります。今回はこのデータを例にして、UMAPと...
5ヶ月前
記事のアイキャッチ画像
Pandocでマークダウンから綺麗な電子書籍(EPUB)を作成する為のTips 5選
テラーノベル テックブログのフィード
こんにちは、テラーノベルでサーバーサイドを担当している@manikaです。今回はOSSのドキュメント変換ツールであるPandocを触る機会があったので、検証等を行った際の備忘も兼ねてマークダウンを電子書籍化するTipsを記事としました。 先に結論良い感じに仕上がりました。ブックアプリKindle Previewer 3出典[1]既にPandocを使った基本的な変換方法とかは知ってるよ!という方はこちらに飛んでください。 Pandocとは様々な形式のファイルフォーマットのドキュメントを別のフォーマットに変換してくれるOSSツールです。今回使用す...
6ヶ月前
記事のアイキャッチ画像
Poetryを使ったPythonのモノレポ構成
テラーノベル テックブログのフィード
テラーノベルで機械学習を中心に担当している川尻です。最近新たにPythonのプロジェクトを立ち上げるときにモノレポ構成にしました。Pythonにはまだデファクトとなるようなモノレポのツールはないですが、poetryだけで新しいツールを使わずに対応できたのでご紹介します。モノリポにするメリットは、大まかには以下のようになります。Linter, CI, IDEなどのよく使うツールの設定が簡単に共通化できる。モジュール間の依存関係をシンプルにできる。Pythonでモノレポをやっている例を検索すると、pantsやbazelなど多言語に対応した専用のツールを使う方法もでてきました。今...
6ヶ月前
記事のアイキャッチ画像
稼働中のCloud Spannerで別テーブルに切り出し&カラム削除をした話
テラーノベル テックブログのフィード
こんにちは、テラーノベルでサーバーサイドを担当している@manikaです。先日稼働中のCloud Spannerからカラムを物理削除を行ったのでその時の方法を記載したいと思います。 概要!以下は実際の要件ではなく一例として記載しています。エピソードの「読まれた回数」のみを保存していたカラム(ここではPVとしています)を、「誰が、何回読んだか」をわかるようにする為、エピソードテーブルから切り離し、元のPVカラムを削除する事となりました。↓つまりこれを// エピソードテーブルCREATE TABLE Episode( ID STRING(255) NOT NULL,...
7ヶ月前
記事のアイキャッチ画像
ねえ、一緒にかっこいいAI POWEREDの画像生成ウェブサイトをReactで作らない?
テラーノベル テックブログのフィード
今暇でしょう? 作ろう! いいじゃん!これです:あ、テンション上がりすぎて挨拶を忘れました、すみません、金曜日だし。。。¡Hola! こんにちは! テラーノベルのオスカルです。Webの開発をしてます。いつも言うんだけど、日本語はまだまだ勉強してますので、応援してください! Create ai-love-images react app最初から始めましょう、まずはcreate-react-appを使って新しいフレッシュなReactプロジェクトを作成します。npx create-react-app ai-love-imagesいい名前でしょう?wおそらく既知ですが、念...
7ヶ月前
記事のアイキャッチ画像
【Cloud Spanner】Change StreamsをBigQueryに保存して利用する
テラーノベル テックブログのフィード
はじめにこんにちは! テラーノベルでサーバーサイドを担当している@yuhasです。Cloud Spannerの特定テーブルに対するデータ更新を継続的に監視したいことがあると思います。そのときにSpanner Change Streamsを経由してBigQueryから扱うことをしました。これについてまとめたいと思います。 モチベーション検索サービス(マイクロサービス的な観点からいうサービス)を開発しており、Cloud Spannerのテーブルに対して行われた更新を定期的に検索サービスに反映させる必要がありました。これを行うためにSpanner Change Streamsを検...
7ヶ月前
記事のアイキャッチ画像
Tiptapでオリジナルエディタをつくろう!
テラーノベル テックブログのフィード
こんにちは!テラーノベルでiOS/Android/Webとフロントエンド周りを担当している @kazutoyoです!今回はHeadless Editor FrameworkであるTiptapのご紹介と、そちらを使ってオリジナルなエディタを作成しようと思います。 TiptapとはTiptapはHeadless Editor Frameworkと呼ばれています。これまでWebでのWYSIWYGエディタとしてQuill.jsやDraft.jsなどが存在しました。これらは文字の装飾や文章の編集に関するUIをデフォルトで提供しており、エディタに特別な機能を追加しようとしたり、UIを大き...
7ヶ月前
記事のアイキャッチ画像
BigQueryリモート関数で機械学習モデルを動かす
テラーノベル テックブログのフィード
テラーノベルで機械学習を中心に担当している川尻です。テラーノベルでは、定期バッチ処理は主にBigQueryかDataflowを組み合わせて実行しています。データはBigQueryのテーブルにほとんど保存されているため、基本的にはBigQueryで完結させたいです。しかし、自作した機械学習モデルは前処理も含めてpythonで書く必要があるため、そこだけDataflowを使っていました。最近、BigQueryリモート関数を使ってみたところ、意外と簡単にBigQueryだけでシンプルに完結させることができました。今回は、機械学習モデルをBigQueryから実行したときのちょっとしたハマりどこ...
7ヶ月前
記事のアイキャッチ画像
ChatGPTに指示するだけで本当にアプリが作れるのかやってみた
テラーノベル テックブログのフィード
こんにちは!テラーノベルでバックエンドの開発をしているisolaです。今回は皆様ご存知のChatGPTについて記事を書きたいと思います。色々とすごい噂話は聞きますが、エンジニアとしては「本当にChatGPTにお願いするだけでアプリ開発ができるものなのか?」がかなり気になるところでした。そこで、実際にChatGPTと会話のみで簡単なアプリを作成してみよう!と思った次第です。 概要今回はJavaScriptとHTMLで、簡単な英単語アプリを作成してみることにしました。使用したのはGPT-3.5です。 始める前に思い描いた超ざっくり仕様英単語のテストができるアプリがほし...
7ヶ月前
記事のアイキャッチ画像
GoのAPIサーバーにSentry.ioを導入してみた
テラーノベル テックブログのフィード
こんにちは、テラーノベルでサーバーサイドを担当している@manikaです。今回はログ調査の効率を上げるために Sentry というログ監視サービスを検証導入しました。導入時に調べた事や、引っかかった点等を少しまとめたいと思います。そもそもSentryとは?ですが エラー収集・可視化・監視やパフォーマンス計測も可能なサービスでSaaSで提供されており[1]、フロントエンドからバックエンドまで対応しています。 今回はバックエンドに導入をしました。Developerプランも用意されていますので気軽に検証も出来ますね。https://sentry.io/ エラーのグループ化Sent...
8ヶ月前
記事のアイキャッチ画像
大規模グラフデータの可視化:Cosmographの紹介
テラーノベル テックブログのフィード
テラーノベルで機械学習を中心に担当している川尻です。最近、グラフニューラルネットワーク(GNN)に注目しており、サーベイや検証をしております。以前にも以下の記事を書きました。https://zenn.dev/tellernovel_inc/articles/8b9f405e7072ae複雑なアルゴリズムを適用する前に、当たりをつけたり、結果を確認したりするためには、可視化が重要です。本記事では、いくつかあるグラフの可視化ツールの中でも、大規模なネットワークでも簡単に使えるCosmographを紹介し、テラーノベルのデータを使って可視化してみます。 Cosmographとはグラフ...
8ヶ月前