- 1. JavaScriptのconstに関して
- 2. VoltaをinstallしたけどAngularが使えないんだけど
- 3. デジタル初心者でも「3日でWeb APIから得たデータで分析までできるのか」やってみた!
- 4. Oppkey DevRel 記事アーカイブ
- 5. あの夏Qiitaユーザーは何の夢を見たか。APIでエンジニアの脳内をワードクラウド化してみた!
- 6. EC2にnode.jsをインストール
- 7. nvmを使ってNode.jsをインストールする
- 8. Node-REDのテンプレートノードでスケープしたくないメモ
- 9. なぜWeb標準のAPIがいいのか改めて考える
- 10. Node-REDで今日の日付を日本語の表示形式で出す
- 11. WebSocket APIのフレームワークを作ってみた(Node.js)
- 12. 初めてQiita APIでデータ取得したら、下衆な探偵になっていた
- 13. Node.jsでのReact環境構築
- 14. コードジェネレーター、Hygen を導入する
- 15. Sakura VPSサーバにCentOS Stream9を突っ込んでApache(Let’s encrypt)、MariaDB、NodeJSあたりをサクッと準備する方法
- 16. ts-nodeで作成してたscriptをまとめる方法を模索した話
- 17. React × Firebase × MaterialUI で作る登録フォーム
- 18. uWebSockets.js を使った Webサーバー・WebSocketサーバーのお試し【Node.js】
- 19. Node.js のフレームワークの Fastify と WebSocket を利用可能にする fastify-websocket を軽く触ってみる
- 20. S3からcsvを取得して表示する。(Node.js)
JavaScriptのconstに関して
## 初めに
現在、JavaScriptでvarを使用している箇所をconst、letに置き換えているが、具体的にどのような場面で使用できるかが気になった。constに関して参考文献から拝借した内容。
> 定数は、let キーワードを使って定義する変数と同様にブロックスコープを持ちます。定数の値は、再代入による変更ができず、再宣言もできません。
再代入、再定義は不可能であることが分かるが、配列へのプッシュやブロックがある場合の挙動が知りたかったのでアウトプットのため投稿する。
## 実行環境
■ Node.js
v11.1.0### 配列でconstを使用
新しい要素のプッシュは成功する。
“`js
const a = [];
a.push(“a”);
console.log(a);// 出力結果
[ ‘a’ ]
“`新しい配列を代入するとエラーになる。
“`js
const a = [];
a = [];
console.log(a);// 出力結果
TypeError: Assignment to constant variable.
“`
VoltaをinstallしたけどAngularが使えないんだけど
# Angularがインストールできない
Voltaをinstall時にAngualrがインストールできませんでした。
表示されたエラーは以下の通りです。
“`sh
C:\Users\○○>npm install –global @angular/cliadded 190 packages, and audited 191 packages in 30s
23 packages are looking for funding
run `npm fund` for detailsfound 0 vulnerabilities
Volta error: Could not create shared environment for package ‘@angular/cli’Please ensure you have correct permissions to the Volta directory.
Error details written to C:\Users\○○\AppData\Local\Volta\log\volta-error-2022-03-1
デジタル初心者でも「3日でWeb APIから得たデータで分析までできるのか」やってみた!
初めまして。
今回はタイトル通り、「3日でWeb APIから得たデータで分析までできるのかやってみた」編です。
一応過去に楽天APIを使ったことはあります!
[過去の記事はこちらをクリック](https://qiita.com/NagaharaHitomi/items/d7897363a2332338192e)ですが、自力じゃなかったんです。(バリバリ人の手借りました笑)
なので今回は「自力で作る!をテーマにやってみました」という記事です。
これからAPI初めて触るよ~という方はには是非参考にして頂ければと思います。# 3日後はどんな状態?一応立てた目標達成計画
3日というなんの根拠もない制限をつけたので、自分なりにスケジュールを立ててみました。1日目:APIを使用した真似したいQiita記事を見つける。
Visual Studio Codeを使ってデータを取得する。
真似したQiita記事(コード)を元に自分なりにアレンジする。
(休みの日なので、6時間くらいは制作に費やせる日!!)
2日目:得た情報を分析する。
(仕事の日なので2時
Oppkey DevRel 記事アーカイブ
https://dzone.com/articles/live-video-mobile-apps-with-flutter
https://dzone.com/articles/flutter-20-state-management-introduction-with-prov
https://dzone.com/articles/5-advantages-of-dart-over-javascript-python-and-ba
https://dzone.com/articles/open-networking-for-network-switches-how-the-open
https://dzone.com/articles/messageformat-is-working-hard-to-make-themselves-o
Node.js –>
https://dzone.com/articles/interview-with-bethany-griggs
https://dzone.com/articles/the-future-of-apis-and
あの夏Qiitaユーザーは何の夢を見たか。APIでエンジニアの脳内をワードクラウド化してみた!
# 人生初のAPIチャレンジ!
### 企画意図 「エンジニアがどんなことを考えている人たちなのか知りたい」
さて、私はプログラミングのプの字も知らないおじさんですが、プロトタイピングを学ぶことにしました。そして、はじめはAPIなるものに向き合うことにしたのですが、いろいろな疑問が湧いてきました。
「そもそも、QiitaAPIで何ができるの?」「エンジニアは、主に何を考えて生きているの?」と素朴な疑問が次々と。
そこで、まずは、投稿記事のタイトルをAPIで引っ張ってきて、ワードクラウドか何かに放り込んで、エンジニアの脳内を覗き込んでみることにしました。
ただ、あまりAPIでデータを引っ張ってくると、Qiitaに怒られるということなので、毎年のあの夏(8月)に投稿された記事タイトルを引っぱり分析することにしました。
そして、あの夏のワードクラウドを並べて、その時期にエンジニアを夢中にしていた事象を浮き彫りにできたらと考えています。いわばQiitaユーザの勝手流行語大賞(夏)を作るイメージです。
夏だから、きっと「サーフィン」とか「ナンパ」とか「花火」とか、そんなワードが上位
EC2にnode.jsをインストール
## 概要
デフォルト、EC2にnode.jsをインストールされてないですが、
今回ec2にノードバージョンマネージャー (nvm) でnode.jsのインストール方法を説明させて戴きます。# 手順
## ec2にアクセスして、ユーザーを切り替え
“`
sudo su –login ec2-user
“`## ノードバージョンマネージャー (nvm)をいンストール
“`
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
“`## nvm を有効にする
“`
. ~/.nvm/nvm.sh
“`## nvm を使用して Node.js の最新バージョンをインストール
“`
nvm install node
“`## nodeバージョン確認
“`
$ node -v
v17.7.1
“`EC2に最新のnode.jsをインストールする事が確認できました。
nvmを使ってNode.jsをインストールする
## 環境
Ubuntu20.4## はじめに
nvmはNode.jsのバージョン管理ツールです。Node.jsをインストールする前に、nvmのインストールを先に行います。UbuntuにNode.jsをインストールするには、aptを使ってインストールすることになるが、バージョン管理を行いたい場合は、nvmを使ってインストールすることになります。Node.jsをお試し程度で使うのであれば、aptでインストールしてもいいのだが、長期的に使う予定があるのであれば、nvmを使ってインストールした方が、後々便利になるでしょう。
aptを使ってNode.jsをインストールするときのコマンドです。
“`
apt-get update
apt-get install nodeje
“`Rubyにはrbenvというバージョン管理ツールが存在するが、どのような言語にも、似たようなツールは共通して存在しているものです。Rubyのrbenvに該当するのが、Node.jsのnvmということになります。
## nvmをインストールする
ググるとnvmのインストール手順はたくさんヒットされる
Node-REDのテンプレートノードでスケープしたくないメモ
## 通常に書くとエスケープされてしまいます。
– テンプレートノード側
“`
https://www.switch-science.com{{path}}
“`> ![スクリーンショット 2022-03-16 11.17.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/8ed3fbb2-71bd-d550-634c-664b7894687b.png “スクリーンショット 2022-03-16 11.17.16.png”)
– 出力
“`
https://www.switch-science.com/catalog/7889/
“`> ![スクリーンショット 2022-03-16 10.59.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/aef04524-b85b-a396-08ac-8fd2ed0a0bc9.png “スクリーンシ
なぜWeb標準のAPIがいいのか改めて考える
最近はDenoの普及により、Web APIの利用機会が増えました。Web APIが使えることはメリットの一つとされていますが、なぜWeb APIを使えることが良いことだとされているのか、改めて考えてみたいと思います。
## そもそもWeb APIとは何か
JavaScriptはランタイムによる拡張が許されている言語です。全てのランタイムで使える`Array`、`Map`などの[標準組み込みオブジェクト](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects)のほかに、固有のランタイムでしか使えない`fetch`や`process`などの拡張APIがあります。
この拡張API、ランタイムごとにいくつかの種類が存在します。例えば、
– Node.jsで使える[Node.js API](https://nodejs.org/api/)
– Denoで使える[Deno API](https://doc.deno.land/deno/stable/~/Deno)
– ブラウザなどで使える
Node-REDで今日の日付を日本語の表示形式で出す
“2022年03月16日”という形式で日付を出力します。
> ![スクリーンショット 2022-03-16 1.34.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/44aa6eee-a3bc-d0b4-6317-0060ba0f9d30.png “スクリーンショット 2022-03-16 1.34.00.png”)
参考記事をもとに[node-red-contrib-moment](https://flows.nodered.org/node/node-red-contrib-moment)を使ってみます。
> 参考: [Node-REDで日時取得とデータ結合](https://ameblo.jp/gameprograming/entry-12657550138.html)
## Date/Time Formatterノード
こちらを使います。
> ![スクリーンショット 2022-03-16 1.36.13.png](https://qiita-image-store
WebSocket APIのフレームワークを作ってみた(Node.js)
# はじめに
REST APIはexpressとかフレームワークやライブラリが充実していて,簡単にAPIサーバが立てられます.
しかし,WebsocketでAPIを作ろうとするとそう簡単にはできません.(結構面倒です)
実際,[工期が短いのにWebsocketでAPIを作ってしまった](https://qiita.com/rubbishmt/items/9bfccb5bd1aca3bb7b24)ことがあり大変でした.
そこで,何とかexpressライクにAPIを簡単に実装できるような物があったらと思って今回このフレームワークを作成しました.## 開発環境
Node.js## 使用した技術とか
– websocket
– jsonrpc# 解説
## インターフェース
メッセージの送受信にはJSON-RPCという規格を採用しました.
その名前の通り,サーバにある関数をクライアントからJSON形式のフォーマットで呼び出すような規格です.
jsonrpcの例は以下の通りです.“`
—> {“jsonrpc”: “2.0”, “id”: 0, “method”: “sum
初めてQiita APIでデータ取得したら、下衆な探偵になっていた
# 背景
取得データの読み方もそれをどう活用するのかもわからない。そんな私がまずはやってみようという試み。自分の興味に従い、楽しく体感&理解!# 真面目に調べるつもりが、野次馬根性にあっさり負ける
私が今「ハーフミラー」を使ったメディアアート作品を作っているので、「ハーフミラー」というワードを使った記事を書いている人がどれだけいるのかな?と、まずは検索。
すると、記事を書いた人のLocation=場所がわかることが判明。私と同じ対象、しかも多分Qiita内ではニッチであろうハーフミラーに興味を持ち記事にまでする人がどのエリアに出没しているのかが図らずもわかってしまい、俄然野次馬根性が湧く。
ここで興味の対象が、「ハーフミラー」から一転、「記事を書いた人がいるらしい場所」調べに。# 初手は真面目に「ハーフミラー」の記事検索/その方法
1.「ハーフミラー」と検索して出てくる記事の日付および件数をQiitaAPIで取得。思いのほか多かった。
2.さらに、記事を書いている人たちがどのエリアに生息しているのか覗き見ちゃう。どれどれ、みんなどこにいるんだ。# コード
まずはconsol
Node.jsでのReact環境構築
Node.jsからReactのサンプルページの表示までの一連の環境構築のメモ。
# Node.jsインストール
下記サイトからNode.jsをインストールする。
https://nodejs.org/ja/download/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516848/ef9f8c44-2c85-223d-9a3a-dec30321967b.png)基本デフォルトですべて「next」でインストールまで進む。
インストールされたNode.jsバージョンを確認。
“`
node -v
“`
※作者がインストール時では、v16.14.0 (2022/03/14時点)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2516848/913009fc-d12c-b136-7f48-02f0778b85b6.png)
これより新しいバージョンだったらうれしい。# Y
コードジェネレーター、Hygen を導入する
## Hygen とは
http://www.hygen.io/
CLIで実行できるコードジェネレーターです。
テンプレートを作成して、それをもとにファイルの生成などを行ってくれます。新規ファイルの作成時、毎回同じ記述をする必要がなくなる、チームである程度ファイルの記載の仕方を揃えることが出来るなどといった利点があります。
カスタマイズ性、実行が高速であることがウリとされているようです。
この記事では、実際の導入手順と、とりあえず動かしてみるところまでを記載します。
## 導入
[公式サイト](https://www.hygen.io/docs/quick-start/) だと、homebrew、npm でグローバルインストール、npx を利用したやり方が記載されてます。
チームで使うことを考えて、今回はリポジトリにdevDependencies として導入しようと思います。`yarn add -D hygen`
その後、init をしてあげる必要があります。
その際に二つの方法を選択せることができます。repo: 他のリポジトリでテンプレートを作って、それを
Sakura VPSサーバにCentOS Stream9を突っ込んでApache(Let’s encrypt)、MariaDB、NodeJSあたりをサクッと準備する方法
# ただのインストールメモです。
> Webサーバ立てて、DBとNodeがあれば何か作れるよねって事で、インストールメモです。Let’s encrypt周りの部分は、Stream9の少し前のバージョンではSnapdが手動でないと入らなかったりと、同じStream9でも、Web上の情報が色々なので、2022年3月14日時点でのインストールログを残しておきます。
> 仮に**tmu.ac**というホスト名を割り当てるという事で説明します。## OS初期化設定
Sakuraのコンソールで**OS再インストール**を選び、以下の設定でCentOS Stream9をインストールする。| 項目 | 選択 |
| :———————————: | :——————–: |
| OSインストール形式 | 標準OS |
| インストールOS
ts-nodeで作成してたscriptをまとめる方法を模索した話
メインで書いている言語がjavasciptなので日頃、業務やらプライベートなりで使用するscriptをTypeScriptで書いているのですが
scriptを書くたびにpackage.jsonに追記していくのが非常に面倒だし、package.jsonのscriptsの中身の記述が増えすぎてえらいことになってきたので、整理できないかなと奮闘した記録になります。package.json
“`
scripts: {
“script1”: “./node_modules/.bin/ts-node src/scripts/script1.ts”,
“script2”: “./node_modules/.bin/ts-node src/scripts/script2.ts”,
“script3”: “./node_modules/.bin/ts-node src/scripts/script3.ts”,
“script4”: “./node_modules/.bin/ts-node src/scripts/script4.ts”
// 作るたびに増えるし、毎回書くのは面倒
React × Firebase × MaterialUI で作る登録フォーム
今回は[MaterialUI](https://mui.com/)のテンプレートを用いて、サクッとWEBページを作ってみたいと思います!!
正しくjsxやstateなどなどを理解することも大切ですが、実際に動くものを作って見ましょう## 0.Node.jsインストール
まずはNode.jsのインストールから始めていきましょう!
インストール後は、下のコマンドをうって、バージョンが表示されればOKです。
https://nodejs.org/ja/download/“`
node -v
“`## 1.MaterialUI(MUI)からテンプレート選び
MUIには有料だけでなく、無料で使用できるテンプレートがいくつか存在します。
[こちらから閲覧が可能です?](https://mui.com/store/#populars)ダウンロードが終わったら、terminalやgit bash等で操作をしていきます。
package.json等も含まれているので、npm startですぐに動いてくれます。
“`terminal
cd ../../material-kit-rea
uWebSockets.js を使った Webサーバー・WebSocketサーバーのお試し【Node.js】
以下の記事を書いた時に見かけた「uWebSockets」が気になって、情報を少し見てみたり、試してみたというものです。
●Socket.IO の最新版 4.x の情報を見てみる(2022年3月) – Qiita
https://qiita.com/youtoy/items/c57158f4a08e478dff57### Socket.IO のドキュメント内での記載
Socket.IO のドキュメント内だと、具体的に以下の部分などで登場しています。![発見した元1](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/3b615ebd-8a58-b119-4fa1-7748541ac6a4.jpeg)
![発見した元2](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/4fa54555-b0c5-76df-5bab-565a9e4a9000.png)## uWebSockets.js を試す
まず、uWebS
Node.js のフレームワークの Fastify と WebSocket を利用可能にする fastify-websocket を軽く触ってみる
以下の記事を書いた時などに見かけた「[Fastify](https://github.com/fastify/fastify)」が気になって、情報を少し見てみたり、試してみたというものです。
Fastify だけでなく、関連して出てきた fastify-websocket も気になったので、合わせて見てみました。●Socket.IO の最新版 4.x の情報を見てみる(2022年3月) – Qiita
https://qiita.com/youtoy/items/c57158f4a08e478dff57公式の GitHubリポジトリは、以下になるようです。
– [fastify/fastify: Fast and low overhead web framework, for Node.js](https://github.com/fastify/fastify)
– [fastify/fastify-websocket: basic websocket support for fastify](https://github.com/fastify/fastify-webs
S3からcsvを取得して表示する。(Node.js)
今回はwebサイトのコンテンツ管理にcsvでやろうと思い、タイトルのサンプルコードをnode.jsで作成しました。
## ・前提
* s3の作成していること(コンソールから)
* s3にcsvをアップロードしていること(コンソールから)
* ローカルでawsのconfigurationが設定されていることの確認。
※参考:https://qiita.com/yuchaman/items/29458107c8ea7f2e0b42## ・コード
“`
const aws = require(‘aws-sdk’);
const csvToJson = require(‘csvtojson’);module.exports = {
// get csv from s3
getDataFromS3: async () => {
console.log(“call getDataFromS3”);const s3Client = new aws.S3({ apiVersion: ‘2006-03-01’ });