WESEEK, Inc.
フォロワー 109人
株式会社WESEEKは、システム開発のプロフェッショナル集団です。 UIデザインからサービス運用のためのネットワーク・インフラ構築まで、すべて自社で開発を行っています。 受託開発や自社サービス開発など、幅広いプロジェクトに取り組んでおります。 【現在の主な事業】 1:通信大手企業の業務フロー自動化プロジェクト 2:ソーシャルゲームの受託開発 3:自社発オープンソースプロダクト「GROWI」「GROWI.cloud」の開発

WESEEK, Inc. の技術ブログ

ActiveModel::SerializersでSTIのtypeに応じてSerializerを切り替える

こんにちは 田村 です。 STI を使用して複数の type のモデルデータがあり、これを 1 つの API エンドポイントで混ぜて返したいとします。 このとき、 STI の type に応じて serializer を切り替えたくなります。 今回は、その方法を紹介します。 STI については こちら を参照してください。 困ったこと 以下のようなクラス階層を STI で実現しているとします。 SimplePosts は title と
API

【簡単】オンライン決済サービスStripeでのクーポン適用方法

はじめまして。エンジニアの Ryo です。本記事では、最近、勢いに乗ってきているオンライン決済サービス Stripe を用いてオンラインサービス提供者向けに、特定の顧客に対して割引を行う方法をご紹介します。 ※こちらの記事は、すでに Stripe をサービスに導入しているという前提で作成されております。もし、Stripe を検討中でまだ導入されてない場合は、以下の記事で

pure selectors must contain at least one local class or id

経緯 css modules ファイル内に、html セレクタを直接記述したらエラーに遭遇したので、原因と解説、解決方法を簡単にまとめました。 やったこと css modules ファイル内で、 <h1> タグ内の文字色を 黄色 にするクラス指定を追記。 import styles from '../styles/xxx.module.scss' export default function Home() { return ( <div className={styles.container}> <h1>Welcome to My app!</h1> // ここの

Next.js 13 の Turbopack をカスタムサーバーで試そうとした話

経緯 Next.js Conf 2022 でNext.js 13に関する発表、その中には Turbopack なる大変アツい代物がありました。 Next.js 13 Blog から 700倍だと?? これは試してみたいですね。 TL;DR 2022/10/27 現在、v13.0.0 ではカスタムサーバー(Custom Server)向けに Turbopack を使う方法はありません。 バージョンアップを待ちましょう。 試してみる ブログでは優位性について記述があるものの、実際の手順は

Rails における hash のキーの扱いについての tips

みなさん、こんにちは kota です。 日頃、業務では Rails を使っているのですが、先日 hash のキーの扱いについて、再認識したことがあったので、簡単に共有したいと思います。 困ったこと model からデータを所得し、変数に入れ、その変数に対し attributes メソッドを使って hash 化した。 hash 化した変数から name の値を取得しようと user[:name] でアクセスするも、nil が返って

複数のdevcontainerを連結して開発できるようにした話

こんにちは、GROWI.cloud の開発・運用を担当している WESEEK のエンジニアの伊勢です。 今回は、 GROWI.cloud の開発で困った問題が起きて、その問題を解消した時の話をご紹介します。 背景 GROWI.cloud は node.js を主な言語として開発しており、そのプロジェクトを役割に応じて「プロジェクトA」「プロジェクトB」... と分割しています この「プロジェクトA」「プロジェクトB」..

より良いTypeScript開発のために、strictBindCallApplyはtrueにしよう

strictBindCallApply ってなに? tsconfig のオプションのひとつ デフォルトでは false (厳密なチェックはしない) 設定になっています strictBindCallApply: false のままだとどうなるの? false のままだと、 bind , call , apply を使う時に type safe でないコードになってしまいます 「type safe ではない」ってどういうこと? TypeScript入門『サバイバルTypeScript』 の strictBindCallApply のページ がわかり

Nextのstandalone機能のビルドサイズを通常ビルドと比較する

どうも、インターンの手塚です。今回は、Next.jsのstandaloneという機能に焦点を当てた記事を書こうと思います。standalone機能がビルドサイズをどれだけ小さくするのかを確認してみましょう。 目次 standalone機能とは standalone公式ドキュメント // next.config.js module.exports = { output: 'standalone', } 公式ドキュメントにもあるように、 next.config.js に上のように書くことで standalone

Sphinxでi18nなドキュメントを作成するときのナレッジ:解決編

こんにちは、 ryosuke です。 今回は、 以前に取り上げた、ドキュメント作成ツールである Sphinx を使って、多言語の文章を作成する際に、困った点とその解決手段についての続編です。 この記事では、「解決方法」の話をします。 前回の記事は「 Sphinxでi18nなドキュメントを作成するときのナレッジ:課題編 」です おさらい: 翻訳作業時の課題 前回の記事では翻訳作業にお
Git

WordPressのdocker imageをアップデートした時に遭遇したLDAPのトラブルと対処方法

こんにちは、システムエンジニアの kouki です。 この記事では WordPress のアップデートをした時に遭遇した LDAP のトラブルとその対処法について紹介します。今回は端的にまとめていますので、調査経緯に興味がある方は気づくまでに至った「調査ログ」も見ていただけると幸いです。 トラブルに遭遇した環境 WordPress 内で miniOrange が提供している「 LDAP Login for Intranet Sites

【音声認識】Python x CMU Sphinx で音声認識入門

皆さんこんにちは! WESEEK ソフトウェアエンジニアの 増山 です。 今回のブログでは、Python と 音声認識ライブラリ CMU Sphinx を使って簡単な音声認識をやってみます。 目次 ソースコード 動くコードは https://github.com/hakumizuki/python_sphinx_sample にあります。 こちらのレポジトリをベースに説明していくので、実際に手元で動かして見たい方は git clone https://github.com/hakumizuki/python

【VictoriaMetrics】時系列データを上書きしたように見せる

皆さんこんにちは! WESEEK ソフトウェアエンジニアの 増山 です。 今回のブログでは、時系列データベース VictoriaMetrics でデータを上書きしたように見せる方法を解説します。 VictoriaMetrics をまだご存知ない方には こちらの記事 で入門していただくことをおすすめします。 目次 VictoriaMetrics ができないこと そもそも VictoriaMetrics は v1.80 の時点では時系列データの上書きを

【HTML】input タグでエンターを押したときに変換かどうかを分岐する

要求 React の以下のようなコンポーネントがあり、 onKeyDownHandler で"文字の変換を確定したときのエンターキー押下"と"それ以外のエンターキー押下"を区別したい。 const Component = () => { const onKeyDownHandler = (e) => { if (e.key === 'Enter') { // これだと全てのエンターキー押下でこのブロックに到達する } }; return <input onKeyDown={onKeyDownHandler} />; }; 解決法 onCo

React DnD でネストされたコンポーネントをドラッグできないようにする

要求 React DnD でネストされたコンポーネントがあるとき、子要素の範囲をドラッグしようとしてもドラッグされないようにすること。 const Child = () => <div style={{width: 25, height: 25}}></div>; // この要素が存在する部分ではドラッグできないようにしたい const Parent = () => <div style={{width: 50, height: 50}}><Child /></div>; 解決法 Child コンポーネントを以下のように

GitHubから直接開くVisualStudioCodeが便利

はじめに こんにちは WESEEK でわりと何でもやっている haruhikonyan です。 皆さんは日々 GitHub 使ってますでしょうか?仕事では GitHub やその他を使っている方でもエンジニアであれば GitHub でコードを見たりすることはあると思います。 しかしなかなかコードの全文検索がうまくいかなかったり、見たいだけなので clone するまでもなくちょっとした作業とかをしたいこともあ