Lamact Dev
どうも、Lamact代表のたたみです。
Lamactはわいわい開発集団
Lamactが開発したサイト「Lonpa」で活用中の技術を紹介します
🔲 Node.JS ・ yarn
Google V8 JavaScript Engineが早い。早いは正義です。
ブラウザでV8が動く「chrome」が大流行
独立環境でV8が動く「Node.JS」が大流行
サクサク快適なJavaScript実行環境で世界は平和になりました
パッケージ管理ツールはyarnを使っています
🔲 React
Meta社作成のJavaScriptライブラリ。仮想DOM。
// HTML(DOM)= 拡張されたJavaScript(JSX)の値
const helloJSX = <div>Hello!</div>;
DOMに対してこんなの許されていいんですか!!
と世界が震えたあの頃が懐かしい。
昨今、wasmに乗じた新しいフレームワークが出てくる兆しがありますが
最後はJavaScriptに還ると信じているのでreact使い続けます。
Javaは僕らの地球みたいなもの。母なる大地みたいなもの。
🔲 GitHub
言わずと知れたバージョン管理ツール
GitHub Actionsが便利すぎる、CICDの要
2018年にMicrosoftがGitHubを買収しました
🔲 ChatGPT
AI登場で時代が変わろうとしている・・世界が震える・・
文書生成AIのChatGPTは、APIが提供されていて使いやすい
Lonpaの意見・動画原稿・SNS投稿文は
大部分をChatGPT3.5で自動生成しています
🔲 PYTHON
手軽の極み、学習コストが一番低い言語だと個人的に思っています。
多くのOSで標準装備
インタプリタ動作、すぐ試せる
可読性高い
研究レベル(AIとか)のコードが転がってる
🔲 Teraform
乱暴に言うと、ただの設定ファイル
as a codeでバージョン管理できるのが良いね
🔲 GCP・Firebase
Lonpaサイト利用者がほぼいない現在、
ほぼ無料で使わせていただいております。ありがとう!
🔲 Docker
Docker 17.05のmulti stage buildで覚醒
特定環境でコンパイルして、最小環境にデプロイまでCICD
OSまたぎで書けるので神の視点になれる
🔲 Go
リッチな機能は求めておらず、学習コスト低く
当時有識者がメンバにいたので、goを選択しました。
2023/06(現在)
Lonpaを構成するリポジトリについて
FirebaseのHosting機能を使っている、フロントのコード
認証機能とかストレージ機能とかアクセス解析機能とかモリモリ
GCPにコンテナをサーバレスで立てている、バックのコード
毎日夜間のランキング作成バッチ処理や、動画作成などAPI提供
GCP設定用のTeraform
git連携でInfrastructure as Codeを実現
こんな感じで開発しています。
興味あればご連絡お待ちしています。
ーーーーーー 以下は過去の構成(読む価値ないよ)ーーーーーーー
2022/09(過去)
●作業タスクの管理
githubのissueの機能を使って,プログラムとして何が必要か,といった
開発タスクを定義して管理することで,メンバー間での意思疎通を取ります.
作成したイシューの中から作りたいものを選択し,ブランチを作成していきます.
●プログラムの作成
ブランチをプルし,vscodeをつかってプログラムを作成します.
フロントエンドのフレームワークとしてはreactを使用します.
プロジェクトフォルダにはバックエンド生成用のプログラムと,フロントエンドのプログラムが含まれています.
ローカルで動作確認が取れたら,作成したプロジェクトフォルダをissueブランチにpushしマージリクエストを実行します.
●動作環境の作成
マージリクエストを契機に,CICDが開始します.
プロジェクトフォルダ内に定義されている設定でビルド・デプロイ・検証が自動で開始され,データベース・ストレージ・認証など様々な機能がバックエンドとして構成され,使えるようになります
●動作確認
CICDの過程で,プログラムはテスト環境にhostingされます.
プロジェクトメンバーはURLにアクセスして簡単に動作確認できます.
問題なければ,マスターブランチにプログラムを上げる形になります.
2020/05 (過去)
下記の動画で開発環境を紹介していました。
その後、環境を改めたので学びを書き残しておきます。
① クロスプラットフォーム → WEBサイト限定
初期行動は,学びこそが最重要
学びにおいては,PDCAをとにかく回す必要がある
バグ取り・デバッグが複雑化すると,学びの阻害になることと
当時,ネット上のモバイルのコードはバグだらけだったので
モバイルをあきらめて、クロスプラットフォームをやめた
② GITLAB → GITHUB
利用者が多い方に乗るのが基本的には正解だと思う
クラウドサービスとしてGitHubの方が安定動作との噂
機能拡張したくなった時にGitHubの方が安いのも魅力
③ ステージングブランチ廃止
初期開発は,バグは出てから考えるくらいの感じで,スピード重視にした
(というか,そもそも使ってない感じだったからそうなった)
④ AWS Amplify→Google Firebaseに変更
Amplifyは分かりにくかった
Firebaseは分かりやすかった
①と同じ理由
⑤バッチ処理追加
サイトにランキング機能を追加したかったので追加した
よろしければサポートお願いします! 世界の誰でも,宝探しの旅ができるように,Lamactはがんばります!