- 1. 「エンジニアに向いている人」はGitHub user内にどれぐらいいるのか
- 2. EC2(AmazonLinux2)でnode.jsを起動するまでの過程記録(nodemonを使う)
- 3. 3分でできる Node.js + TypeScript + Jest プロジェクトの雛形作成
- 4. Markdown正規表現全文検索ツール「Note-CLI」をリリースしました。
- 5. Node.jsを勉強する⑤ – JSONファイルの書き込みと読み込み
- 6. 園バス待ち中、忘れ物今取りに帰っても大丈夫?が目に見える仕組み!
- 7. 楽天ブックスゲーム検索APIから取得した情報を元に愛らしい?キャラ達に記事を書かせてワードプレスに自動投稿する
- 8. nodebrew による Node.js の利用
- 9. GoogleAPIをNode.jsから叩いてみた
- 10. 【アプリ開発 2】【Node.js JavaScript MongoDB】 JavaScriptを用いて端末の現在地を取得する。【2021年1月】
- 11. 【Node.js】開発に必要な基礎知識まとめ
- 12. Nodejs Eslintの初期化設定で失敗した時の対応方法
- 13. node.jsにnodemonをインストールするが動かない人へ
- 14. Node.jsを勉強する – nodemonを使う
- 15. mongoDBにmongooseで接続できない対処
- 16. Node.jsを勉強する④ – npmモジュールを使う
- 17. Node.jsを勉強する③ – Javascriptファイル間の連携
- 18. 部屋に置いてあるワインをそのまま飲んでよいか調べるために今の室温を測る。
- 19. 【Node.js Express】Passport.jsを用いて認証機能を実装する。(passportLocalMongooseをプラグイン)
- 20. node.js上のpuppeteerライブラリでHTML表の全行の要素をスクレイピングする
「エンジニアに向いている人」はGitHub user内にどれぐらいいるのか
## 注意
– この記事はとあるツイートを話題にしていますが、筆者にツイート内容、およびツイートされた方を蔑む意図は一切ありません。
– 筆者は統計、およびプログラミングに関してはまだまだひよっこです。したがって誤った見解や拙いコードを書いている可能性がありますが、お気づきの際は是非コメントにてご指摘ください。## 背景
あけましておめでとうございます!
正月休みもあけ仕事も始まりましたが、みなさまいかがお過ごしでしょうか。さて、正月早々、とあるツイートが反響を呼びました。
> プログラミングスクール通ってるかどうかとかどうでもよくて、この年末年始にコード全く書いていない人はエンジニア向いてないんじゃないですかね、それぐらい好奇心が必要な職業だと思うけど
賛否両論あったこのツイートですが、内容はさておき、私はあることが気にかかりました。
**「果たしてこの年末年始、コードを書いた人はどのぐらいいるのだろうか」**
本記事では上記の疑問を検証していこうと思います。
## レギュレーション
もちろんすべてのエンジニアに「この年末年始、コード書きましたか?」ときいてまわるわ
EC2(AmazonLinux2)でnode.jsを起動するまでの過程記録(nodemonを使う)
###前提として行ったこと
①AWSへの登録
②EC2サーバーの新規立ち上げ
③RDBの新規構築
④ローカル環境で制作したフォルダの、EC2へのアップロード今回はnodemon を使いました。
これによってシステムの内容に変更があった時、再起動しなくても適応される(はず)。以下、EC2サーバー上で正しく動作させるために行ったことを記録する。
##目次
・行ったこと
→パーミッション設定
→「npm start で起動するようにする」
→必要なもののインストール
→DB情報の書き換え
→エラー「Permission denied」
→nodemonのインストール
・おまけ(永久実行)
・参考文献#行ったこと(失敗も含む)
##パーミッション設定
編集したいファイルは、フォルダごと権限を777にした。
“$sudo chmod 777 フォルダ名orファイル名“
権限を変えるのは危ないので「ローカルで書き換えてアップロード」を繰りかえす方
3分でできる Node.js + TypeScript + Jest プロジェクトの雛形作成
こんにちは、mballです。
つい最近転職をしまして、がっつりTypeScriptを触るようになったので学習も兼ねて、備忘録を残したいと思います。
今回はタイトルの通り、一からNode.js + TypeScript + Jest のプロジェクトを作成する際の手順をご紹介します!# 初期設定
まずは `package.json` を作成します。
“`shell
$ mkdir node-typescript-test/
$ cd node-typescript-test/
node-typescript-test$ npm init -y
node-typescript-test$ ls
package.json
“`次に、 Node.jsとTypeScriptに関わる必要なモジュールをインストールします。
“`shell
node-typescript-test$ npm install typescript –save-dev
node-typescript-test$ npm install @types/node –save-dev
node-ty
Markdown正規表現全文検索ツール「Note-CLI」をリリースしました。
Markdown正規表現全文検索ツール「[Note-CLI](https://github.com/yuis-ice/note-cli)」をリリースしました。
以下かんたんな日本語版クイックスタートになります。
> Markdown Indexing and Pcre Regular Expression Compatible Full Text Searching for Advanced Note Takers.
ノートテイキング上級者のためのMarkdownインデックスとPCRE正規表現対応の全文検索システム。
## クイックスタート
“`sh
# データベースへMarkdownファイルをインデックス indexing file
./note-cli.js –index –database notes.db.example –file notes.md.example# データベースで正規表現でキーワード検索 searching for keywords by regular expression
./note-cli.js –search –dat
Node.jsを勉強する⑤ – JSONファイルの書き込みと読み込み
##はじめに
前回は、 [npmモジュールの使い方](https://qiita.com/arata0520/items/91c47ea8742efee32a64)についてまとめました。
今回は、JSONファイルの作成と読み込みを記事にします。##教材
Udemy
The Complete Node.js Developer Course (3rd Edition)
https://www.udemy.com/course/the-complete-nodejs-developer-course-2/##データをJSONファイルに書き込む
まずは、app.jsファイルを作成して、Javascriptのオブジェクトを作成します。変数personを定義し、代入しておきましょう。“`javascript:app.js
const person = {
name: “Taro”,
age: 25
}
“`次に、このデータをJSONファイルに変換してみます。
変換には、JSON.stringify()というメソッドを使います。データは変数のpersonJ
園バス待ち中、忘れ物今取りに帰っても大丈夫?が目に見える仕組み!
幼稚園に子供を通わせて9年目、3児のママです。
幼稚園バスのあるあるだと思うのですが・忘れ物!まだ取りに帰っても間にあう?
・出かけにモタモタ。バス行っちゃった?
・急にトイレ!家に一度帰っても大丈夫かな?などなど、幼稚園バスの居場所がすぐにわかれば良いのにな~と思ったことが何度もあります。
知りたい時にバスの居場所がわかると
・雨の日、寒い日、終わりが見えずに待ち続けるという事がなくなり
・忘れ物など、一度家に取りに帰る事が出来たら、園まで後から送っていかなくても済んだりメリットは沢山あると思います。
そこで、幼稚園バスの居場所をアプリのインストール不要!LINEからバスの位置情報を受け取れるサービスの開発をしていきたいと思います。
#必要な技術など
・バスの位置を取得するGPSデバイス(今回はiphone)
・LINEで位置情報を取得する為のLINE Messaging API技術
・開発言語にはnode.jsを利用#位置情報を取得する
[MDN WEB Docs](https://developer.mozilla.org/ja/docs/Web/API/
楽天ブックスゲーム検索APIから取得した情報を元に愛らしい?キャラ達に記事を書かせてワードプレスに自動投稿する
#楽天ブックスゲーム検索APIから取得した情報を元に愛らしい?キャラ達に記事を書かせてワードプレスに自動投稿する
## はじめに
筆者はApple信者ならぬ
**ニンテンドー信者です。**
ニンテンドースイッチのソフトの発売予定は欠かさずチェックしています。
しかしながらゲームの発売日を忘れてしまうことが多々あります。
そこで『楽天ブックスゲーム検索API』を活用して、情報をすかさずチェックしていこうと思います。
しかし・・・
**APIで情報を取得した後にどこかに情報をアウトプットしなければいけません。**
そこで、以前お勉強用に構築して
すでに放置してしまっているワードプレスに情報をアウトプットしようと思います。
ただワードプレスにアウトプットするのであれば記事になっていないといけないので
今回はBOTに自動で記事を書かせて、ワードプレスに記事を自動で投稿していこうと思います。
###参考用
完成品はこちら。
自分のための自分用情報サイト
なかなか突き抜けたものができてしまった・・・。
https://makiabe.com/
nodebrew による Node.js の利用
#はじめに
Node.js 、および、バージョン管理システムとして nodebrew を使う場合を説明します。
これまで多くの人の解説と変わりありません。ここでは、わたしなりにまとめてみます。利用のコンピュータ環境
“`
$ sw_vers
ProductName: macOS
ProductVersion: 11.1
BuildVersion: 20C69
$
“`#nodebrewのインストール前に
すでにインストール済みの node.js と npm をアンインストールする。たとえば、インストーラーでインストールしていた場合は次の2つのコマンドでアンインストールできる。
“`bash:
$ lsbom -flspf /var/db/receipts/org.nodejs.*.pkg.bom \
| while read i; do
sudo rm /${i}
done$ sudo rm -rf \
/usr/local/lib/node \
/usr/local/lib/node_modules \
/var/db/receipts/org.nod
GoogleAPIをNode.jsから叩いてみた
今更ながら、GoogleAPIをNode.jsから触ってみます。
Google Drive、Gmail、Google Calendar、Googleフォトなど、皆さんgoogleサービスにお世話になっているのではないでしょうか。
ちゃんと、APIも提供されていて、npmモジュールもあるので、今後もいろいろ使えるかもしれません。
本人認証して簡単なリスト表示をするところまでですが、後はリファレンスを見れば拡張できるかと思います。GitHubに上げておきます。
poruruba/GoogleApiSample
https://github.com/poruruba/GoogleApiSample#参考情報
googleapis/google-api-nodes-client
https://github.com/googleapis/google-api-nodejs-clientGoogle Cloud Platform Console
https://console.cloud.google.com/Google CalendarのQuickStart
ht
【アプリ開発 2】【Node.js JavaScript MongoDB】 JavaScriptを用いて端末の現在地を取得する。【2021年1月】
#Node.js Express MongoDBを用いたアプリ開発
Node.js Express MongoDBを用いたアプリ開発を行うことになりました。
開発の中で得られた知見を、支障のない範囲で記録していきたいと思います。アプリの仕様上、各ユーザーの携帯電話の位置情報を取得し、googleマップ上で表示させる必要が生じました。
まずは、位置情報を取得する機能を実装してみます。##要件
– ユーザーがログインし、「位置情報通知」ボタンをクリックした場合、位置情報がデーターベースに格納される。
– ユーザーがログアウトもしくは、「位置情報通知解除」ボタンをクリックした場合、位置情報がデーターベースから削除される。
– 24時になった時点で、ユーザーの操作なしに、「位置情報通知解除」状態となる。
– ユーザーの位置が変更した場合、最新の位置情報がデータベースに格納される。
– 管理者は、定期的にデーターベースにアクセスしGoogleマップを用いて、ユーザーの位置を確認することができる。
– 位置情報には、ユーザーの連絡先と、コメント等が表示される。##Javascriptを
【Node.js】開発に必要な基礎知識まとめ
## はじめに
Node.jsで開発するにあたり必要な知識について手順とともにまとめてみました。## Node.jsについて
JavaScriptをサーバーサイドで動かす仕組みのこと## Expressについて
– Node.jsでWebアプリの開発をするためのフレームワーク
– Webアプリケーションを作る機能を提供する### Expressの導入方法
npmというシステムを使いインストールをする“`console
$npm install express
“`### インストールしたExpressの利用方法
jsへの記述“`javascript
// expressの読み込み
const express = require(‘express’);
// expressを使用するための準備
const app = express();
“`
## サーバーの起動について
サーバーを起動し、Webアプリを画面に表示する方法ですjsへの記述
“`javascript
// アクセス可能なサーバーを起動する(ここではlocalhost:8080)
a
Nodejs Eslintの初期化設定で失敗した時の対応方法
# Nodejs Eslint 初期化設定で失敗した時の対応方法
**npm install eslint@^x.xx –save-dev** コマンドを実施したあと、eslintをインストールし、
初期化を実施しようと、**.\node_modules\.bin\eslint –init**コマンドを実施、
How would you like to configure ESLint? の質問に対して Answer questions about your styleを選択しEnterを押したところ、そこから何の進展もなかった時、その解決方法を共有します。## 環境の整理
– 開発環境:Windows10 Home 64ビットオペレーティングシステム、x64ベースプロセッサ
– Node version: v12.xx.xx
– ESLint version: v4.19.1## 現象
![not.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/676239/ca3437cc-d99b-a6
node.jsにnodemonをインストールするが動かない人へ
node.jsにnodemonを入れると変更を監視してくれるので開発効率が上がる。
しかしnodemonをinstallしても動かない人一旦アンインストールして以下を試して欲しい。#####エラー内容
“`
bash: nodemon: command not found
“`#####解決方法
“`
//アンインストールする
npm uninstall nodemon//グローバルしてインストール
sudo npm install -g –force nodemon
“`ローカル開発環境にVSで開発するのが主流だと思うが、当方いつでもどこでも開発したいのでC9で開発しようと思ったらこのエラーにぶち当たった。
誰かの役に立てば。
Node.jsを勉強する – nodemonを使う
##はじめに
nodemonの使い方を備忘録として、まとめておきます。
##教材
Udemy
The Complete Node.js Developer Course (3rd Edition)
https://www.udemy.com/course/the-complete-nodejs-developer-course-2/##インストール
npmのウェブサイトの[nodemonのページ](https://www.npmjs.com/package/nodemon)からインストールコマンドをコピーし、ターミナルで実行。“`terminal:ターミナル
//ローカルインストールする場合
npm install nodemon
/グローバルインストールする場合
npm install -g nodemon
“`##jsファイルの実行
node ファイル名の代わりに、nodemon ファイル名でファイルを実行します。
今回は、app.jsという名前のファイルを作り、実行します。“`javascript:app.js
consol.log(“Hello World
mongoDBにmongooseで接続できない対処
コマンドで$ node サーバーを起動するとサーバーは起動するがエラーが出る。以下
(node:2809) UnhandledPromiseRejectionWarning: Error: querySrv EREFUSED _mongodb._tcp.test.s1sce.mongodb.net
at QueryReqWrap.onresolve [as oncomplete] …
その対処。mongoose公式には
await mongoose.connect(‘mongodb://localhost/my_database’, {
useNewUrlParser: true,
useUnifiedTopology: true,
useFindAndModify: false,
useCreateIndex: true
});
とあるが、これを
async () => {
await mongoose.connect(‘mongodb://localhost/my_database’, {
useNewUrlParser: true,
use
Node.jsを勉強する④ – npmモジュールを使う
##はじめに
前回は[Javascriptファイル間の連携](https://qiita.com/arata0520/items/5396b514876e542334bc)についてまとめました。
今回はnpmモジュールの使い方を記事にします##教材
Udemy
The Complete Node.js Developer Course (3rd Edition)
https://www.udemy.com/course/the-complete-nodejs-developer-course-2/##npmモジュールを開始する
ルートディレクトリでnpm initのコマンドを実行することでコンフィギュレーションファイルを作成し、npmモジュールの使用を開始する“`terminal:ターミナル
npm init
“`するとpackage.jsonという名前のファイルが作られます。
“`JSON:package.json
{
“name”: “notes-app”,
“version”: “1.0.0”,
“description”: “”,
“
Node.jsを勉強する③ – Javascriptファイル間の連携
##はじめに
前回は[テキストファイルの作成](https://qiita.com/arata0520/items/1256228ba79c902f64c5)についてまとめました。
今回はJavascriptファイル間の連携について記事にします。
##教材
Udemy
The Complete Node.js Developer Course (3rd Edition)
https://www.udemy.com/course/the-complete-nodejs-developer-course-2/##ファイルの作成
連携したいJavascrptのファイルを2つ作ります。
それぞれ、app.jsとutils.jsと名付け、utils.jsにconsol.logを用いてメッセージを書きます。“`javascript:utils.js
console.log(“The JS files are connected!”)
“`##ファイルの連携
今回は、utils.jsをapp.js上で呼び出します。
requireを用いますが、その際、呼び出したいファイル(今回はu
部屋に置いてあるワインをそのまま飲んでよいか調べるために今の室温を測る。
#ワインの飲み頃の温度に応じた色で光る
白に光った。
ピンクにも変わったりするので大体9℃前後です。
#冬だから、部屋にお酒を置いておくだけでちょうどよい?
夏だったらキリっと冷やした白ワインを飲むときに冷えた状態に必要があって、いつも飲む直前にお店で買ってきていました。(そもそも保存の温度に気を使う必要があるので)冬だったら室温でもちょうどよい温度になるのでは?と思い、
今の室温がどのワインの温度ぐらいかわかるようにLEDを光らせてみました。ソースのなかに温度帯を細かく書いてますが、
大体でやってみてます。#ソース
“`javascript
const Obniz = require(‘obniz’);
const obniz = new Obniz(‘obniz_id
【Node.js Express】Passport.jsを用いて認証機能を実装する。(passportLocalMongooseをプラグイン)
※当方駆け出しエンジニアのため、間違っていることも多々あると思いますので、ご了承ください。また、間違いに気付いた方はご一報いただけると幸いです。
###要件
– pasport.jsを用いたパスワード認証を作成する。
– 認証ストラテジにはpassportLocalMongooseをプラグインで使用。
– 入力する値はname email password
– 認証(ログイン、サインアップ)以外のページはexpressデフォルトのホームページ(“/”)のみ。(そのページに認証をかける。)###アプリケーションに必要なパッケージをインストールする。
前提
・ express-generatorで雛形を作成済。
・ mongooseを用いてmongodbと接続完了。
・ package.json↓“`package.json
{
“name”: “passport_app”,
“version”: “0.0.0”,
“private”: true,
“scripts”: {
“start”: “nodemon ./bin/www”
},
node.js上のpuppeteerライブラリでHTML表の全行の要素をスクレイピングする
## ターゲット
スクレイピング対象のターゲットHTMLは以下のようなWebページです。あるプロジェクトのメンバー一覧です。![スクリーンショット 2021-01-04 0.08.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/124810/1e9ed814-4b0d-6799-be9c-7f10188138ce.png)
## 結論
HTML表の行数を求めるには、行を表すアイテムセレクター **#content > center > table > tbody > tr** をブラウザの **page** オブジェクトの **$$()** メソッドに指定します。そうしてメソッドの戻り値の **length** プロパティがHTML表の行数となります。
“`JavaScript:HTML表の行数を求める
let numOfAccount =
( await page.$$( ‘#content > center > table > tbody > tr’ ) ).len