- 1. DockerでNode.jsを使ってVue.js勉強環境を作って公式チュートリアルをやってみる
- 2. Gemini API – node.js/チャット
- 3. child_process.spawnを理解する
- 4. Node.jsのストリーム(Stream)を理解する
- 5. Node.jsについて勉強したのでまとめてみた。
- 6. 🔰TypeScriptの環境構築をまとめてみた
- 7. Array.fromAsync()とPromise.all()の違い【JavaScript】
- 8. ポート3000を占領する不届き者を倒せ!WindowsユーザーのためのローカルURL奪還作戦
- 9. CLIのプログレスバーを作ってみた
- 10. node.jsのDocker環境を作成する
- 11. 「現代魔術JS×Web設計」のイメージと概念〜ビルド編〜
- 12. ガチ初学者の落書き ノード
- 13. Web Application開発者向けロードマップ
- 14. サーバーをまたいでPHPからnode.jsを動かすサンプルコード
- 15. 【Node.js】カスタムエラークラスを書く
- 16. axious エラーハンドリングについて考える
- 17. VSCode の dev-container を使って、React + TypeScript の開発環境を構築する方法
- 18. 【個人開発】ChatGPTのプロンプト投稿アプリを作ってみた【React,Express.js,Node.js,MongoDB,Vercel,GitHub】
- 19. MERNスタックアプリをVercelにデプロイしてみた
- 20. ngrokのインストールと使い方
DockerでNode.jsを使ってVue.js勉強環境を作って公式チュートリアルをやってみる
# はじめに
普段はバックエンドでPHPを使って仕事をしています。CakePHP歴1年、Laravel歴1ヶ月ほど。仕事ではほんの少しのJavaScript、JQueryをメンテナンスする、というほどのJavaScript歴です。会社のとあるプロジェクトのバックエンド側で、VueでやるのかReactでやるのか、派閥が軽く分かれて争いが始まりそう。私はReactもVueも全くわからないですが、それぞれがどんなものか触っていこうと思います。
最小限のDockerfile、docker-compose.yamlでNode.jsを使える環境を作り、Vue.jsを公式チュートリアルに沿って学習するまでの流れです。
MacでVSCodeを使っています。
# Vue.jsを学ぶ環境の選択
https://zenn.dev/comm_vue_nuxt/articles/ways-of-vuejs-setup-app
こちらの記事にもいろいろな環境が紹介されていますが、とにかくシンプルにいきたい。調べた結果、DockerでNode.jsを使うのが一番簡単にできる気がしたので、あまり他のやり
Gemini API – node.js/チャット
# 概要
(日記)前回https://qiita.com/shokkaa/items/0e257a5e9c069402c80c
の続き。現状JavaやKotlinのSDKが提供されていない※ので、Node.jsで試す。
※Android向けはある# 環境
– Ubuntu 24.04
– Node.js v22.4.1# Project準備
https://qiita.com/shokkaa/items/6f83b3a107006ccc598b# generateContent() ―― 一問一答
“`ts:src/generateContent.ts
import { GoogleGenerativeAI } from “@google/generative-ai”async function main() {
const key = process.env.GOOGLE_API_KEY ?? “”
const genAI = new GoogleGenerativeAI(key)
const model = genAI.getGen
child_process.spawnを理解する
# はじめに
Node.jsのコードにおいてchild_processモジュールを使用する機会があり、その中でもspawnを理解したいと思い、こちらの記事を記載しました。# child_processモジュールとは
Node.jsでサブプロセス(子プロセス)を作成し、メインのNode.jsプロセスから独立してコマンドやプログラムを実行するための機能を提供します。# child_process.spawn
[こちらの公式ドキュメント](https://nodejs.org/api/child_process.html#child_processspawncommand-args-options)に記載のある通り、child_process.spawnの書き方としては、child_process.spawn(command[, args][, options])というように、実行するコマンド、配列の中に引数、オプションの順番で記載します。## サンプルコード
“`javascript:spawn.js
const { spawn } = require(“child_pro
Node.jsのストリーム(Stream)を理解する
# はじめに
Node.jsを利用していますが、重要な概念としてストリーム(Stream)が出てきます。何となくでしか分かっていないストリームのコードを、さらに理解しようと思いこの記事を書きました。# ストリームとは何か
読み込む時や書き込む時にデータが細切れ(chunk)に流れてきて、全てのデータの読み込み or 書き込みを終了するのを待つ必要がないことです。そのため、全てのデータをメモリに保存する必要がありません。
例えばファイルからデータをストリームを利用して読み込む時に、少しデータを読んで何らかの作業(データ書き出しなど)をして、メモリを開放します。その後、また少しデータを読んでメモリを開放し、、、の繰り返しを続け、最後までデータを読み込みます。これがストリームです。
YoutubeやNetflixもストリーミングサービスと言われており、同じ原理ですね。すべての動画データが読み込まれる前に、視聴を開始することが出来ます。## ストリームのメリット
– メモリの効率的な利用
– 時間の効率的な利用(全てのデータの読み込みなどを待つ必要がない、例えばNetflixですぐに視
Node.jsについて勉強したのでまとめてみた。
## 勉強のきっかけ
普段からフロントエンド、バックエンド両方の開発でお世話になっているNode.jsですが、サーバー環境を簡単に作れるライブラリー程度に考えて、あまり理解せずに使ってきたので、良い機会だと思い勉強することにしました。ここでは私が気づいたポイントをシェアします。
## Node.jsとは?JavaScriptのフロントからサーバーサイドへの拡張Node.jsは、**JavaScriptをサーバーサイドで動作させるためのランタイム環境**です。もともとJavaScriptは、ユーザーのブラウザ上で動作し、動的なWebページを構築するために使われていました。しかし、Node.jsの登場により、サーバー上でもJavaScriptを実行できるようになり、開発者はフロントエンドとバックエンドの両方をJavaScriptで書けるようになりました。
Node.js以前はクライアントサイドではJavaScript、サーバーサイドではPHPやRubyを使って開発するのが一般的でしたが、Node.jsを使うことで**JavaScript一つでフルスタック開発**が可能となりました。
🔰TypeScriptの環境構築をまとめてみた
## TypeScriptでコーティングするために必要な環境構築についてまとめていきます。
※Udemyの内容を噛み砕いて私なりにまとめました。### TypeScript(TS)とは
JavaScript(JS)のスーパーセット(上位互換)
* 型を指定することができ堅牢なコードを書ける
* 古いWebページにも対応できる
などなど、さまざまな便利な機能が搭載されています。TSで書いたコードはJSにコンパイル(変換)され、JSで動的なWebページを実現します。
### 環境構築
1. VS-Codeで開発用フォルダを開く
1. ターミナルを開く `⌘ + J`
1. packege.jsonファイルの作成 `npm init`
1. 3実行時に設定についていくつか問われるが、全てEnterでOK
1. lite-serverをpackege.jsonに追加 `npm install dev-server lite-server`
1. packege.jsonの`scripts`オブジェクトに手動で`”start”: “lite-server”`を追加
* オブジェ
Array.fromAsync()とPromise.all()の違い【JavaScript】
ようわからんかったのでメモ
# TL;DR– Array.fromAsync()は順次実行
– Promise.all()は同時実行“`javascript
const sleep = delay => new Promise(resolve => setTimeout(resolve, delay))console.time()
await Array.fromAsync([200, 100, 300], sleep)
console.timeEnd()
// elapsed: 600msconsole.time()
await Promise.all([200, 100, 300].map(sleep))
console.timeEnd()
// elapsed: 300ms
“`https://qiita.com/mellbrother/items/715ff5dce5845381eeee#comment-202a45c5d467a5dd67dc
cc @juner
## 戻り値
どちらも解決した値が入ってくる。HTTPリクエストを投げたいときに
ポート3000を占領する不届き者を倒せ!WindowsユーザーのためのローカルURL奪還作戦
こんにちは、みんな。今日はローカル開発で頻繁に遭遇する問題について話すわ。特に、`http://localhost:3000/`を使おうとしたら、何者かに占領されていた時の対処法よ。
ふんっ、大切なポート3000が使えないなんて、本当に迷惑よね。でも心配しないで。この記事を読めば、あなたもその謎を解き明かせるわ。Windows PCでポート3000を占領している犯人を特定して、安全に解放するまでの手順を解説するわ。
## 1. コマンドプロンプトを開く
まずは、Windows PCでコマンドプロンプトを開くわよ。1. Windowsキー + Rを押して「ファイル名を指定して実行」ウィンドウを開く
2. `cmd`と入力して実行これでコマンドプロンプトが開くわ。準備はいい?次に進むわよ。
## 2. 占領者を調査する
次に、ポート3000を占領している不届き者を特定するわ。以下のコマンドを入力して:“`bash
netstat -ano | findstr :3000
“`これで、ポート3000を使っているプロセスのリストが表示されるはずよ。例えば:
“
CLIのプログレスバーを作ってみた
## はじめに
皆さん、こんにちは。株式会社BTMの風間と申します。
今回はCLIで動くプログレスバーを作成してみました。
実際に作ったのはこちら。![progressbar_animation.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3826118/6caf04ef-c5b2-864b-2d4f-bad5ed6f6801.gif)
コンソール(ターミナル)で、yum、apt、brewなどを利用したパッケージのインストールをされたことがある方は、こういった進行状況の表示をよく見ていると思います。
この進行状況の表示方法に以前から興味があったので、実際に作ってみて、使った方法をまとめてみました。
:::note info
本記事で紹介する実装・実行は以下の環境にて行いました。
・Windows11
・WSL2(Ubuntu 22.04.3 LTS)
・Node.js 20.11.1
・Git Bash(推奨ウインドウサイズ Columns:80 x Rows:20)
:::## 実
node.jsのDocker環境を作成する
### はじめに
こんにちは,Mottyです。今回はnode.jsのDocker環境を作っていく手順を説明します。
### Dockerで環境構築するためのモチベーション
Dockerではコンテナ内にNode.jsと依存ライブラリがすべて閉じ込められているので、どの環境でも一貫して動する。開発者のローカル環境に依存せず、すべての依存関係が同一バージョンで実行されるため、”It works on my machine”問題を防ぐことができる、とのこと。
### 構築方法
WSL上のどこかのプロジェクトのルートディレクトリに以下2つを作成
・Dockerfile
・package.json### Dockerfileの構築方法
“`Dockerfile
# ベースイメージとしてNode.jsの公式イメージを使用
FROM node:16# 作業ディレクトリを設定
WORKDIR /usr/src/app# package.jsonをコピーして依存関係をインストール
COPY package*.json ./
RUN npm install#コンテナを終了させな
「現代魔術JS×Web設計」のイメージと概念〜ビルド編〜
# はじめに
半年前ぐらい前にアニメ「葬送のフリーレン」を見て、この際にふとエンジニアとして見過ごせない概念がありました。
**「魔術はイメージの世界」**
私はジュニアプログラマーながら激しく同意したのを覚えてます。
Web設計はどんどん肥大化と複雑化していくもので、それに抗うための技術が発生するなどして…中々イメージが捉えづらいと思います。
本記事はそんな捉えづらい概念をご紹介していければと思います。:::note info
初投稿のジュニアプログラマーです。
ご指摘がありましたら、ビシバシお願いします。
:::# Node.js
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3690326/dac32338-d511-13dd-dd55-901cd23ca070.png)
Node.jsとは…単にGoogle Chromeをサーバーサイドで動かしてしまおうという技術です。
今までJavaScriptはブラウザサイドで動くものとして扱ってきました。
しか
ガチ初学者の落書き ノード
多分いろいろ間違っている覚書です。
# ターミナルよく使うコマンド
ls:ディレクトリ一覧表示
pwd:今いるパス表示
cd:ディレクトリ移動
mkdir:ディレクトリの作成
touch:ファイルの作成# Nodeのターミナル操作
jsファイルの結果の出力: node jsファイル名## npm
– npm:パッケージ(他の人が作った便利ツール)が使えるようになるもの
– ノードモジュール:パッケージをインストールしたときにそのパッケージと、依存関係のあるパッケージを格納するディレクトリ
– package.json:自分のプロジェクトでインストールしたパッケージ情報などが記載されたjsonファイル
– package-lock.json:インストールしたパッケージの情報が記載されたjsonファイル“npm init“:プロジェクト初期化。package.jsonとjsファイルが作成される。
“npm install パッケージ“:ノードモジュールにパッケージがインストールされる。package-lock.jsonも。
“npm install“:packag
Web Application開発者向けロードマップ
# 開発者ロードマップ
以下をベースにウェブアプリケーション開発者として
プロダクトリリースに必要な習得しておきたい知識や技術– [GitHub](https://github.co.jp/)
– [TypeScript](https://www.typescriptlang.org/)
– [React](https://legacy.reactjs.org/)
– [Node.js](https://nodejs.jp/)
– [AWS](https://aws.amazon.com/jp/)言語をTypeScript統一することでFE、BE、DB間での型を一貫できる構成となり、
継続的に安定したWebシステム開発ができるのと枯れた技術になりつつある(情報が豊富)なため、
不変な概念も多く、早々にパラダイムシフトが起きないと考えているため。## プロダクトリリース棲み分け
プロトタイプ、MVP、プラットフォームの順
– FEだけ無料Github Pages:[viteでReact×TypeScript環境を爆速で作る最小版](https://qiita.com/t
サーバーをまたいでPHPからnode.jsを動かすサンプルコード
## 備忘録メモとして
レンタルサーバーに設置したフロントエンドから、別サーバー(VSP)に置いてあるNode.jsを動かしてデータを返すサンプルコードテスト環境:XAMPP
### ファイル構成
“`
サーバー1(レンタルサーバー)
C:\xampp\htdocs\test1
call_run_node.php
index.phpサーバー2(VPSサーバー)
C:\xampp\htdocs\test2
run_node.php
script.js
“`
サンプルでは特に外部モジュールを使用していませんが、必要なモジュールがあればサーバー2側にインストールします。## サーバー1
index.php:フロントエンド表示部分と実行ボタン
“`php
サーバー2のNod
【Node.js】カスタムエラークラスを書く
エラークラスを独自に実装したい場合, 次のように記載する.
“`js
class NotFoundError extends Error {
constructor(message) {
super(message);
this.name = ‘NotFoundError’;
this.status = 404;
}
}
“`これをテストしてみよう. 上記コードで test.js というファイルを作成し, 最後に以下を記述する.
“`js
// ここに上記エラークラスを記載throw new NotFoundError(‘カスタムエラークラスが呼び出されました’);
“`実行する.
“`bash
$ node test.js
/home/oizumi/next-blog-app-backend/test.js:9
throw new NotFoundError(‘カスタムエラークラスが呼び出されました’);
^NotFoundError: カスタムエラークラスが呼び出されました
…スタックトレースは省略…
axious エラーハンドリングについて考える
今回対象となるコード
“`typescript
const handleSubmit = async(event : React.FormEvent) => {
event.preventDefault();
setFieldErrors({});
try {
const response = await axios.post(‘http://localhost:4000/signUp’, formData);
console.log(“this is response of form” , response);
console.log(“response is received”);
setFormData({
username : “”,
password : “”,
retypePassword : “”
});
} catch (error) {
//ここのエラーハンドリングについて考える。
//またフ
VSCode の dev-container を使って、React + TypeScript の開発環境を構築する方法
## はじめに
一緒に働いている方から「VSCode の dev-container を使えば、ローカル環境を汚さずに特定の開発環境だけ作れるよ」と聞いたので、実際に環境構築を行なった手順をまとめました。
今回は、Node.js をベースに React + TypeScript の開発環境を構築しました。
## 事前準備
dev-container は docker 用いて使用する必要があるため、docker のインストールを行なっておいてください。(今回は割愛します。)
—
## 手順 1: プロジェクトの作成
まず、Vite を使って新しい React プロジェクトを作成します。
1. **Vite のプロジェクト作成**
“`bash
npm create vite@latest my-react-app — –template react
“`– `my-react-app` はプロジェクト名です。
※ **TypeScript を使いたい場合**
TypeScript を使用する場合は、テンプレートを `react
【個人開発】ChatGPTのプロンプト投稿アプリを作ってみた【React,Express.js,Node.js,MongoDB,Vercel,GitHub】
転職活動のためにポートフォリオを作成しました。
ご覧いただけると幸いです。
ユーザー登録、投稿等自由にしていただいて大丈夫です。
フィードバックいただけると幸いです。スクールを使わずに、すべて個人で作成しました。
MERNスタック(MongoDB、Express.js、React、Node.js)でアプリを制作しております。## アプリ紹介
サイトはこちら
https://menlo.vercel.app/※自由に書き込みや登録いただいて大丈夫です。
※ポートフォリオの役割があるため、場合によっては投稿を削除する可能性がございます。予めご了承ください。Githubはこちら
https://github.com/yusukesugahara/menlo## サービス概要
ChatGPTについて、プロンプトに関する記事を投稿し共有するアプリです。ChatGPTをさらに有効活用できるようにノウハウや知識を学び共有する場として作成しました。## 開発背景
### 1、自身がプロンプトに関する情報をもっと知りたかったため
私自身、ChatGPTを活用してアプリ制作の学習を
MERNスタックアプリをVercelにデプロイしてみた
こんにちは
エンジニア転職のために、MERNスタックアプリを作りデプロイしました。
いろいろ考えた結果Vercelにデプロイしました。失敗したことも含めて皆様に共有させえていただきます。
今ポートフォリオを作って、無料でデプロイしようと考えていらっしゃる方には特に参考になるかと思います。## Vercelにデプロイしようと思った理由
結論、無料だったからです。
昔は、AWSのFC2やHerokuという選択があり、それらにデプロイをしていました。
しかし、AWSの無料枠は使い切っているようで、、、さらにいつのまにかHerokuは有料化になってしまい、、、、Next.jsをお使いの方はよくご存じのVercelにデプロイしようということになりました。
※Vercelの前にRailwayというサービスも使いましたがデプロイがうまく行かず、、、Vercelにしました。Vercelは↓こちら
https://vercel.com/
## Vercelへのデプロイのやり方
MERNスタックのブルスタックアプリのフォルダ構成は下記です。
frontend
└フロントエンドのフ
ngrokのインストールと使い方
# ngrokのインストールと使い方
ngrokは、ローカルで動作しているWebサーバーをインターネットに簡単に公開するためのツールです。これを使うと、例えば開発中のAPIを他の開発者やテスターにすぐにシェアすることができます。今回は、ngrokのインストールから、ローカルサーバーを公開し、最後にngrokを切断するまでを詳しく説明します。
## 1. ngrokとは?
**ngrok**は、ローカルで動いているアプリケーションやサーバーを外部のネットワーク(インターネット)上に一時的に公開できるツールです。開発中のAPIやWebアプリケーションを外部からテストしたり、クライアントに見せたりする際にとても役立ちます。セキュリティも担保され、アクセスのログを簡単に確認することもできます。
—
## 2. インストール手順
### Windowsの場合
1. **ngrok公式サイト**([ngrok.com](https://ngrok.com)) にアクセスし、Windows用のバイナリをダウンロードします。
2. ダウンロードしたZIPファイルを解凍し、`ngro