2024.12.19
システムの穴を運用でカバーしようとしてミス多発… バグが大量発生、決算が合わない状態から業務効率化を実現するまで
今年お世話になったnpm modules(全1記事)
リンクをコピー
記事をブックマーク
@yudppp氏(以下、yudppp):よろしくお願いします。今日は『今年お世話になったnpm modules』について話したいと思います。5分なので、急ぎめでいきます。
yudにpがいっぱいの名前でTwitterとかやってます。
株式会社HRBrainというところで働いていて、冪等性がすごく好きです。ブログをやっているので良ければ見ていってください。
作っているものなんですけど、人事クラウドのHRBrainというものを作っていまして。「人事評価を最もカンタン、シンプルに」っていうクラウドツールをSaaSで作ってます。
いま新規開発を行っていて、そこでお世話になったnpm moduleを紹介していけたらと思います。
今年作ったものは大きく3つあって。
新規のSaaSプロダクトと、SaaSプロダクトのためのヘルプページ、次が上記2つの、うちの会社が使う管理画面。うちの営業が使う管理画面ですね。この3つを作りました。
まず、SaaSのプロダクト。これがメインなので、一番大変なんですけど。中規模以上なサービスで、30ページくらいのフルSPAになるのでとにかく型がほしかったです。型も大好きです。
当初フロントエンドの専任がいなくてどうしようかなと思って、このように作りました。
Reactで、TypeScriptで、React Routerのバージョン4を使っています。またReduxとRedux thunkも使って、これらをTypeScriptで使いたいのでReduxの型はFSAで作っています。WebpackでStorybookでコンポーネント管理して、CSSはstyled-components入れて、linterはこんな感じで使っています。
業界の標準に寄せたつもりです。標準が何かわかんないですけど。奇は衒ってないつもりで作りました。
構成としてはAtomic Designっぽく作っていて、最初はducks使ってたんですけど、最終的にはRe-ducksを使って作っています。全部スライドにリンクを貼っていてnpmに飛ぶので、リンクを見てください。
次にヘルプページです。ヘルプページはいろいろ要件があって、カテゴリーが設定できること。タグが複数設定できること。ヘルプの記事の本文を検索できること。
あらかじめPMにマークダウンでヘルプの内容を書き留めてもらっていて、それをインポートするだけでなんかうまいことできたらなと思っていました。
HugoとかGatsbyを使おうかなと思ってたんですけど、結局Nuxtで、あとMarkedっていうマークダウンをHTMLにパースするやつとか、YAML Front Matterみたいな。これはあとで説明します。CSSは一旦アテとしてSkeletonっていう大好きなやつを使いました。
YAML Front Matterはどんな感じかと言うと、最初にposts以下に、こういう変なヘッダー行を付けて、これをFront Matter通すといい感じにjsonにしてくれます。
そのjsonにしたのを、例えばidとかtitleとかって記事の内容以外にもtitleとして使いたかったり、categoryとかtagとかも記事の内容として使いたかったので、それをFront Matter通してjsonにして。それをHTMLにして、それを1個の配列を全部まとめてposts.jsonみたいなものにして作りました。
それらをposts.jsonにしたので、ここから検索やフィルターをかけることができていい感じです。
最後、これはもう別になんでもないんですけど。
弊社向けの管理画面はたいしたことする予定はまったくなくて、一覧で見れて普通にホームでサブミットできればいいと思っています。
サーバーサイドのエンジニアでも書けるようにしたかったのと、JavaScriptでは何も書きたくなかったのでスクリプト0でいけるところまでいこうと思っています。
管理画面はBulmaっていうCSSライブラリも好きなので使ってやっています。
使ったけどやめたものがここらへんです。
使ったがやめたのものがParcelです。Webpackでコードを分割したくなったのでやめました。もしかしたら最新のParcelではできるかもしれませんが細かい所に手が届かなかったため断念しました。
悩んだのが、Hyperappもすごく使いたかったんですけど、Storybookとか対応してなくて、一から作るのに気が折れたのでやめました。
懇親会にいるので、何かあったら質問してください。 以上です。ありがとうございました。
(会場拍手)
関連タグ:
2024.12.20
日本の約10倍がん患者が殺到し、病院はキャパオーバー ジャパンハートが描く医療の未来と、カンボジアに新病院を作る理由
2024.12.19
12万通りの「資格の組み合わせ」の中で厳選された60の項目 532の資格を持つ林雄次氏の新刊『資格のかけ算』の見所
2024.12.16
32歳で成績最下位から1年でトップ営業になれた理由 売るテクニックよりも大事な「あり方」
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
PR | 2024.12.20
モンスター化したExcelが、ある日突然崩壊 昭和のガス工事会社を生まれ変わらせた、起死回生のノーコード活用術
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.18
「社長以外みんな儲かる給与設計」にした理由 経営者たちが語る、優秀な人材集め・会社を発展させるためのヒント
2024.12.17
面接で「後輩を指導できなさそう」と思われる人の伝え方 歳を重ねるほど重視される経験の「ノウハウ化」
2024.12.13
ファシリテーターは「しゃべらないほうがいい」理由 入山章栄氏が語る、心理的安全性の高い場を作るポイント
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
Climbers Startup JAPAN EXPO 2024 - 秋 -
2024.11.20 - 2024.11.21
『主体的なキャリア形成』を考える~資格のかけ算について〜
2024.12.07 - 2024.12.07
Startup CTO of the year 2024
2024.11.19 - 2024.11.19
社員の力を引き出す経営戦略〜ひとり一人が自ら成長する組織づくり〜
2024.11.20 - 2024.11.20
「確率思考」で未来を見通す 事業を成功に導く意思決定 ~エビデンス・ベースド・マーケティング思考の調査分析で事業に有効な予測手法とは~
2024.11.05 - 2024.11.05