見出し画像

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はがんばります!