- 1. プログラミング初学者の現役医師が、firebase使って診断名を管理できるLINEBOTを実装してみた。
- 2. 令和2年も終わりを迎えようとしているのでそろそろ本気で脱WordPressを考えてみる
- 3. 【初心者】動画作成アプリを作ってみた(フロントのみ)
- 4. 【Node.js Express】Bcryptを用いて平文をハッシュ化する。
- 5. nodejs path.resolve試す
- 6. nodejs __dirname
- 7. 中華製npmを知ってますか?! cnpmを紹介(ネタ)
- 8. ローカルでNode-REDを実行してみた
- 9. [Node.js] Node.jsからMySqlへのデータの登録・更新・削除
- 10. 【mac】nodeのバージョンが変わらない
- 11. Node.js&log4jsのログ管理についてあれこれ
- 12. プロジェクトの設定ファイル使い回しを支える技術
- 13. 【Node.js 同期と非同期とアンチパターン】
- 14. 飲食店を応援したい!テイクアウト仕組みの構築&LINEで注文状況を照会
- 15. Azure Translator を使ってみたいあなたへ-誰でもすぐに使える翻訳機能のすすめ-
- 16. node.jsで最高で最低な自動化ライブラリを作った。
- 17. M1 Macでpuppeteerを動かす方法(2020年12月21日時点)
- 18. Tensorflowでの学習をWebsocketで遠隔地から監視できるシステムを作る
- 19. Herokuを寝かせないようにではなく指定時間に叩き起こすTips 【Heroku/enebular】
- 20. 【Node.js超入門】環境構築 for Mac Catalina
プログラミング初学者の現役医師が、firebase使って診断名を管理できるLINEBOTを実装してみた。
# 皆さん、ご自身の病名(医学的には診断名)を覚えていますか?
僕の本職は医師(開業医)です。
日常診療の課題感から、以下のような、『診断名を保管でき、かつ、必要に応じて引き出せる』アプリを実装しました。
動作は以下です。診察券番号を伝えると、診断名を返してくれるBot完成!#protoout #デジタルヘルス学会 令和2年も終わりを迎えようとしているのでそろそろ本気で脱WordPressを考えてみる
# はじめに
個人的に WordPress は非常に優秀で強力な CMS だと思っています。
世界の CMS シェアで見ても圧倒的利用率となっています。
https://w3techs.com/technologies/overview/content_management圧倒的シェアが故に脆弱性をつかれてしまい攻撃対象になりやすいという危険性はありますが、プラグインが大変豊富でカスタマイズ性にも非常に富んでいるので、脆弱性としっかりと向き合いながら保守運用されている WordPresser が多いかと思います。
一方で、カスタマイズが容易であるが故に、保守運用を行っていくにあたっては色々とツラみが出てきて、開発生産性が下がってしまうシーンも多くあるかと思います。
私が見ているところでも以下のような状況となっています。* カスタム投稿タイプをゴリゴリ使っている(投稿フォームは投稿タイプ毎に異なる)
* Advanced Custom Fieldsをゴリゴリ使っている
* 管理画面をゴリゴリ魔改造している
* etc…WordPress を酷使しています。それはそれは
【初心者】動画作成アプリを作ってみた(フロントのみ)
#はじめに
今回はじめて投稿します、fuuk4といいます。
今回の内容は、卒業制作にて動画作成アプリ(簡易)をweb上でできるものを作成したときに、Reactを使ったので感想や悩んだことを、まとめていこうと思います!
今回作ったアプリのソースに関しては、膨大な量なので一部を抜粋して投稿しています。
すべてのソースについてはこちらの[GitHub](“https://github.com/fuuk4/node-video-edit-simply”)より閲覧の方をよろしくおねがいします。完全に理解してコードを書いていた感じではないので、指摘等ありましたらよろしくおねがいします。
##今回自分が使ったもの
フロントエンド
React, Redux
バックエンド
Django##初めて使った印象
今まで自分は、WebアプリケーションをJavaとかで作ってきましたが、それとは全く異なり、**SPAってスゲーー!**ってなりました。
1枚のページでいろんな操作ができるって便利だなーって印象でしたね〜。###ただ、やっぱり難しかった…
もう、はじめは何に手をつければいいのか
【Node.js Express】Bcryptを用いて平文をハッシュ化する。
※当方駆け出しエンジニアのため、間違っていることも多々あると思いますので、ご了承ください。また、間違いに気付いた方はご一報いただけると幸いです。
#bcryptを用いたハッシュ化
bcrypt というパッケージを用いて、Node.jsでパスワードをハッシュ化し保存します。
例としてusersControllerでサインアップ時にパスワードをハッシュ化します。bcryptをインストールします。
“`
npm install bcrypt
“`ハッシュ化を実施するコントローラーでロードします。
以下のようなusresControllerがあるとします。サインアップ時に使用するコントローラーです。
ORMにsequelizeを用いています。sequelizeについては、こちらをご覧ください。
[【Express】ExpressにSequelizeを導入しORMでデーターベースを操作する。(SQLite3)]
(https://qiita.com/sho_U/items/9df724192fd48e760f79)“`usersController.js
func
nodejs path.resolve試す
resolve関数にpathを渡すとpathを連結してくれる。
“`typescript
import * as path from ‘path’;
console.log(path.resolve(__dirname, ‘hoge’, ‘fuga.csv’))
“`“`
/path/hoge/fuga.csv
“`
nodejs __dirname
__dirnameは、現在のJavaScriptファイルが存在するフォルダーのパスを返します。
“`
console.log(__dirname)
“`
中華製npmを知ってますか?! cnpmを紹介(ネタ)
Node.jsアドベントカレンダー21日目になります。
npmといえば、Node.jsやフロントエンド開発で欠かせないツールですよね。そんな **npmの中国版がある**ことをご存知でしょうか。仕事柄、中国に行ったり、中国にいる人とやりとりしたりすることがありますが、その辺に関連した話です。実用性はほぼ無いので話のネタだと思ってもらえると幸いです。(アドカレ遅刻すみません)
> ![スクリーンショット 2020-12-22 11.54.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/dfd62619-9ec8-5a9b-523c-07fef82f6904.png “スクリーンショット 2020-12-22 11.54.59.png”)
> [IoTLT vol70](https://iotlt.connpass.com/event/196360)で話をしたネタです。 スライドは[こちら](https://speakerdeck.com/n0bisuke2/zhong-hua-zh
ローカルでNode-REDを実行してみた
Node-RED アドベントカレンダー22日目!
今まで Node-RED は enebular や IBM Cloud 上で使ったことがありましたが、そういえばローカルで実行したことがないなぁと思ったのでやってみました。ドキュメントの[「ローカルでNode-REDを実行する」](https://nodered.jp/docs/getting-started/local) を読みながら自分のローカル環境で実行した時の手順をまとめてみます。
#実行時のローカル環境
– macOS 10.14.6(Mojave)
– Node.js 10.16.3#手順ざっくり
1-a. Node.js のインストール
1-b. 既にインストールしたことがある場合は [Node.js のバージョン確認](https://nodered.jp/docs/faq/node-versions)
※ 2020年12月22日現在、バージョン 10.x と 12.x の Node.js を推奨しているようです
2. npm で Node-RED をインストール
3. Node-RED を実行する
4.
[Node.js] Node.jsからMySqlへのデータの登録・更新・削除
#Node.jsからMySqlへのデータの更新
※自分用の覚え書きでございます。
req を受け取り、MySql へ post します。
###INSERT
“`javascript:app.js
app.post(‘/entry’, (req, res) => {
connection.query(
‘INSERT INTO tbl_items (name) VALUES (?)’,
[req.body.itemName],
(error, results) => {
connection.query(
‘SELECT * FROM tbl_items’,
(error, results) => {
res.render(‘index.ejs’, {items: results});
}
);
}
);
});
“`###UPDATE
“`javascript:app.js
app.post(‘/update/:id’, (req,
【mac】nodeのバージョンが変わらない
この記事は、nodebrewでインストールしたけど、nodeのバージョンが切り替わらない人向けに書かれています。
##結論
homebrewでインストールされているか、
nodebrewでインストールされているか問題だった。
zshにnodebrewのパスを通すことでnodeのバージョンが切り替わるようになる。##経緯
node.jsの安定版が更新されていたので、確認した。
[Node.js Releases](https://nodejs.org/en/about/releases/)
2020/12/22現在、安定版は14.15.3 Fermium“`
$ node -v
v12.18.4$ nodebrew ls-remote
なんかいっぱいバージョンが出る。$ nodebrew install-binary v14.15.3
Fetching: https://nodejs.org/dist/v14.15.3/node-v14.15.3-darwin-x64.tar.gz
###########################################
Node.js&log4jsのログ管理についてあれこれ
Node.jsでlog4jsを使ってログ出力する場合の、ログ管理に関する検証記録。
思いついたことを追記していく予定。# log4jsでログを出力するサンプルアプリを作る
検証用に、log4jsでログを出力するサンプルアプリを作る。
1.Docker環境で以下を実行し、node.jsコンテナを起動する。
“`
# docker run -it –rm –name app node bash
“`2.コンテナのbashプロンプトで以下を実行し、環境を準備する。
“`
# mkdir app
# cd app
# npm install express log4js
# apt-get update
# apt-get install -y vim curl
“`3.viでapp.jsというファイルを以下内容で作る。
“`javascript:app.js
var express = require(“express”);
var app = express();var log4js = require(“log4js”);
log4js.confi
プロジェクトの設定ファイル使い回しを支える技術
私はQiitaや[ブログ](https://blog.ojisan.io) に記事を書くときは、なるべく動くサンプルコードを提示するようにしています。そのため記事を書くたびにサンプルコードが増えていき、それを管理しているレポジトリも増えました。
FYI: https://github.com/ojisan-toybox
レポジトリを作る頻度はかなり高いのですが、作るたびに環境構築に時間がかかってしまっており、なるべく早くプロジェクトの環境構築を済ませる方法を考えています。扱う分野によっては儀式的な設定をたくさんする必要があり、毎回セットアップするのは大変です。そこで既存プロジェクトからコピペするわけですが、どのプロジェクトがどの技術で作られていたかは覚えておらず、どれをコピペしたらいいかよくわからなくなりました。そういった環境構築のためのコピペを **労力のかからないシンプルな方法で** 少し効率的にする方法を紹介します。
## template を作成しておく
素早く環境を作る方法として、一つにはGitHubのtemplateを使う方法があります。GitHubにあらかじめテ
【Node.js 同期と非同期とアンチパターン】
ここでは非同期処理と同期処理の実例から考えるよくあるアンチパターンについて、理解が深まることで他の仕組みの使い所までわかればいいなと思う。
・非同期処理と同期処理の例
・コールバックを引数に持つ関数の例
・実際の処理と問題点
・解決方法【非同期処理と同期処理の例】
まずは、以下のように簡単に同期処理を非同期処理にすることができる。
出力結果が入れ替わることがわかる。
“`jsx
const check = trueconst syncCheck = (check) => {
console.log(check)
}
syncCheck(check)
console.log(“結果”)
// true
// 結果// これを非同期にする
const asyncCheck = (check) => {
setTimeout(() => {
console.log(check)
},1000)
}
asyncCheck(check)
console.log(“結果”)
// 結果
// true
“`このように関数内の処理は
飲食店を応援したい!テイクアウト仕組みの構築&LINEで注文状況を照会
#どんな事にチャレンジしたのか紹介
飲食店でのテイクアウトの自動化にチャレンジ
最近、LINEの勉強をしているという事で色々なコンサルの方から質問が来ます。
その流れで、飲食店のコンサルをされている方と最近テイクアウトの流れを一緒に考えているので、「オンライン注文をより便利なものに」を目標に、Firebaseを利用してどんな事が出来るのか試してみました。今回私の考えた仕組み
1.LINEからもWEBからも予約が出来る
2.予約情報は一元管理されている
3.LINEで過去の予約状況を照会上記の3工程
これをvue.js・node.js・Firebase・LINE Messaging APIを使って完全自動化!にチャレンジしました。#完成品フロー
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/820683/b3741f1d-4740-2116-5879-4dae70c972dd.png)webアプリ
![image.png](https://qiita-image-store
Azure Translator を使ってみたいあなたへ-誰でもすぐに使える翻訳機能のすすめ-
# やったこと
今回は node.js を使って、Azure アカウントと node.js の実行環境さえあればこの記事をご覧の皆さんもなるべく簡単に動作を確認できるようにしてみました。class としてサクッとお試しいただけるものを用意しましたので、他の機能とかに組み込むとかはある程度しやすい状態じゃないかなと思います。
## こんな人向け
– 翻訳系のサービスを触ってみたい
– Azure Translator API をサクッと試す/組み込んでみたい
– どういう入力に対してどういう出力がされるのか知りたい## こういう人向けではないよ
– 既に Translator API を使ったことがあって、更なる学習をしたい
– 翻訳機能を使った超絶素晴らしいシステムの話を聴きたい# Azure Translator とは
Azure Translator とはザックリというと、翻訳だとか辞書検索だとかを行う Azure のサービスです。API がいくつか存在していて、チュートリアルも色々とあります。[Translator サービスとは](https://docs.m
node.jsで最高で最低な自動化ライブラリを作った。
# 概要
ターミナルで重い処理走らせて、ネットサーフィンしてたら、ターミナルの処理が終わってるのに気づかなかったって事よくありますよね(えっ)こんな時に使える最低なライブラリをnode.jsで作成しました。
名前はtinntinn
下ネタではないです。
それが証拠にnpmライブラリとして配布出来ました。使い方は簡単。ターミナルで
yarn add global tinntinn
でインストールし、
tinntinn
とターミナルに打つとベルがチンチンなります。つまりbashで
‘何か思い処理’ && tintinn
とすれば、処理が終わった瞬間に音で気づけるって訳です。以上。最低な自作ライブラリtinntinnの紹介でした。
自作したOSSの中で今、一番役に立っています笑注意: 一部mac osでは音が鳴らないようです。
M1 Macでpuppeteerを動かす方法(2020年12月21日時点)
# 動作環境
Mac Book Air 2020 M1
macOS Big Sur 11.0# エラー内容
[ヘッドレス Chrome Node API 「Puppeteer」 – Qiita](https://qiita.com/bezeklik/items/c6448d50ff0efb45829e)を参考にpuppeteerを動かしてみようとした時に下記コマンドが arm64ではエラーが出たのでその対処方法を書きます。“`zsh
yarn add puppeteer
“`“`zsh
buzzword111@buzzword111-MacBook-Air Puppeteer % yarn add puppeteer
yarn add v1.22.10
info No lockfile found.
[1/4] ? Resolving packages…
[2/4] ? Fetching packages…
[3/4] ? Linking dependencies…
[4/4] ? Building fresh packages…
error
Tensorflowでの学習をWebsocketで遠隔地から監視できるシステムを作る
この記事は[ 福島高専 Advent Calendar 2020](https://qiita.com/advent-calendar/2020/nitfc) 22日目の記事です。
当方初執筆のため、気になる点などあればコメントよろしくお願いします。
# はじめに
Tensorflow での学習を研究室のPCで回すことがよくあるのですが、進捗状況の確認のためにいちいち学校へ行くのがとても面倒なので、自宅でも進捗状況を確認できるシステムを作りました。# やりたいこと
– 遠隔地からの学習状況の確認
– 損失関数、評価関数のグラフの描画# 実現方法
各 epoch ごとの損失関数や評価関数の値などの諸々の結果を「学習機」から送ってもらい、「監視機」に送信することで実現させます。
学習状況をリアルタイムで監視したいため、Websocketを用いて情報のやり取りを行います。# 環境
– Python 3.8.6
– Node.js v15.3.0# 実装
思ったよりコードが長くなってしまったので、掲載分のコードは適当なところで端折ってあります。
[Githubのリポジトリ]
Herokuを寝かせないようにではなく指定時間に叩き起こすTips 【Heroku/enebular】
Herokuにデプロイしたアプリケーションは、 **30分アクセスが無いとスリープしてしまう**ことは有名です。ただ、24時間寝ないようにすると無料枠がすぐ無くなりませんか?
## 寝かせない運用は無料枠の1000時間がすぐに無くなってしまう
調べると定期的に自身にHTTPリクエストを行って寝かせないようにするなどの対処法が見つかります。
ただ、 **Herokuは無料枠の運用だと月間1000時間までしか利用できない**という制限があります。
寝かせない運用の場合、寝かせないので
24時間x30日=720時間
ということで、 **一つのアプリケーションだけで無料枠の7割をも使ってしまいます。**
## 基本寝かせておいて、指定したタイミングで叩き起こす
もちろん、24時間稼働が前提のアプリケーションではこれは厳しいですが、バッチ処理や定期的に発言するBOT、RPAツールなど常時稼働ではなく1日のうちに数回動けば良いといった仕様のアプリケーションならば24時間稼働をさせなくても良いはずです。
## Heroku Schedulerを利用
ここだけだと割と一般的です。
【Node.js超入門】環境構築 for Mac Catalina
勉強と忘れないようメモ:writing_hand:
#Node.jsとは?
サーバーサイドで動くJAVASCRIPTのこと#Node.jsを学ぶメリット
**1.JACVASCRIPTだけでWEBサイトが作れる(フロント、サーバー両方)**
**2.フロンエンドの開発環境でも使われる**
フロントエンドでも以下作業自動化のために使われるので覚えて損はないのではなかろうか* バリデーション(エラーのチェック)
* 画像やCSS、JSファイルへの圧縮
* テンプレートエンジン
* Saas -> CSSへのコンパイル
* ローカルサーバー環境
* ,,etc#環境構築方法
**1. 公式のNODE.jsのサイトからZIPファイルを落としてくる**
これはおすすめできないらしい。
NODE.jsのバーションがたくさんあり、作業中に頻繁にバーションを変える。
なので、バーションを変える際にZIPファイルを毎回落としてくる手間が発生し大変になるとのこと**2. nodebrew(NODE.jsのバーション管理するツール
)を使う**
こちらで実装(今回はhomebr