- 0.0.1. 如何先开始写出一个程序
- 0.0.2. How do I start writing out my program?
- 0.0.3. Puppeteer on Lambda (Node.js 12.x) で日本語ページのキャプチャを取る方法 簡単
- 0.0.4. Herokuへのアップロードでつまづいた時の対処法 Node.js + MongoDB
- 0.0.5. Node.jsでお天気を取得してみよう
- 0.0.6. Herokuを使ってみた
- 0.0.7. Dockerでの環境構築(Rails)超入門
- 0.0.8. リングフィットアドベンチャーをガチるためにサーバレスアプリケーションを作る
- 0.0.9. ImageMagickをJSから呼び出す
- 0.0.10. Google Analytics, Google SpreadSheet, Big Query, Google Ad ManagerのAPIをNode.jsで触ってみる
- 0.0.11. タイムリーに is-promise 2.2.0 破損に巻き込まれた話
- 0.0.12. ubuntu18.04にnode12系とnpm6系をインストールする
- 0.0.13. 代替手段の探し方
- 0.0.14. HerokuのPostgreSQLにSSL接続する
- 0.0.15. 課題管理表をNode.jsとSQLiteで作る②
- 1. 新規課題登録
如何先开始写出一个程序
#谈谈写出一个方案。
如果你最近一直在做程序,而你认为
我在初中时接触的第一个节目,是我在初中时接触的第一个节目
是N80-BASIC。
我还记得,但下面这句话完全在我的脑海里。“`N88-BASIC
N88-BASICWIDTH 80,25.
CONSOLE 0,25,0,1
LOCATE 0,0
PRINT “HELLO WORLD”
宽80,25
“`当然,那时,我只是打出了这样的代码。
解释器只显示了一个无机游标。
我找不到任何帮助。可以这么说,写出一个程序是
今天还是这个样子,他真的是个无精打采的家伙。那么,这就是今天的话题。
这要从一种新的编程语言、开发环境说起。
所以,节目先生,好像是在问候。
问候是很重要的。不仅仅是在编程世界,在现实世界中也是如此。
如果一个问候语被理解了,对方就会以某种方式和你交谈。哪怕你只是在不了解情况的情况下走到他们面前,也是如此。
那你会得到的,是一脸疑惑的表情,或者是一种
最坏的情况下,他们只是送你回去走人。#过去的故事D,扯远了一点
我第一次去大学毕业旅行的时候,在美国的机场转机。
我把车票放在了我的行李
How do I start writing out my program?
#Talk about writing out a program.
Talk about writing out my first program.
When I was a junior high school student, the first program I touched was N80-BASIC.
I won’t forget the starting cord, I still remember it, the following sentence was completely in my head.“`Z80
N88-BASICWIDTH 80,25.
CONSOLE 0,25,0,1
LOCATE 0,0
PRINT “HELLO WORLD”
“`Of course, in the old days of computer screens, there was nothing but a useless, inorganic cursor.
Writing out programs is still the same, and comp
Puppeteer on Lambda (Node.js 12.x) で日本語ページのキャプチャを取る方法 簡単
## やりたいこと
Lambda上でPuppeteerを動かしてキャプチャを取るとき、日本語フォントを正しく表示させる。
(デフォルトではLambdaに日本語フォントが入っていないため、何もしないと日本語がすべて豆腐になってしまうのだ。)## 環境
* AWS Lambda
* Node.js 12.x
* ローカル
* Windows10
* Node.js v12.16.2
* npm 6.14.4## やり方(ざっくり)
* Lambda Layerに日本語フォントをzip化してアップロードする。
* Lambda関数にそのLayerを追加する。
* Lambda関数内でLayerのフォントファイルを参照できるようにindex.jsで`process.env[‘HOME’] = “/opt”;`を定義する。## やり方(詳細)
“`shell:ローカルのディレクトリ構成
puppeteer_sample
├─ modules # Layerに登録するnpmモジュール群
│ ├─ node_modules
│ └─ packa
Herokuへのアップロードでつまづいた時の対処法 Node.js + MongoDB
自分の経験をここに記述します。
【経緯】先日、EJS, CSS, JavaScript, MongoDB, Nodeを使って作成したWebsiteをHerokuにアップロードしようと試みた時、正常にアップロードできず、丸2日間の時間を犠牲にした上でようやく問題解決までに至りました。ここで記載することがいつかこれを見た未来の困っている方々への手助けになればと思います。
【方法】ステップに分けて説明していきます。MongoDBを使用している場合には、別の記事でその追加で必要な方法を記述します。
1:Command Line(Hyper Terminal)がアップロードしようとしているファイルのパスを正しく選択しているか確認する。
2:Command Line(Hyper Terminal)からHerokuへとログインする。
コマンド:$heroku login3:GitをInitializeし、add、commitする。以下順々にコマンドを実行する。
コマンド:$git initコマンド:$git add .
コマンド:$git commit -m “sample
Node.jsでお天気を取得してみよう
#はじめに
`OpenWeatherMap API`からお天気情報を取得しようという試みです。
色々な方が、さまざまな言語で同様の記事を上げています。
私は、勉強真っ最中の`Node.js`でやってみようと思いました。
[(Node.jsの導入はこちら)][node]#環境
`wsl`の環境です。“`
Editor: VSCode
Shell : bash version 4.4.20
Ubuntu: 18.04.4 LTS
node : v10.14.2
“`#1.APIの取得
[OpenWeatherMap][owm]の公式サイトで無料アカウントを作成後、
表示されるAPIキーを控えておいてください。
APIキー取得後は少し時間をおいてか試したほうがいいと思います。
公式もそういってますし。#2.プロジェクトを作成
##1.任意の位置(緯度経度)のお天気情報を取得
とりあえず福岡市にしてみました。“`js:app.js
‘use strict’;const http = require(‘http’);
const MY_WEATHER_APIKEY
Herokuを使ってみた
#はじめに
適当にJSとかwebアプリケーションを勉強している学生が記録するために使っているので,あまり内容は期待しないでください。とりあえず今回はHTTPサーバをHerokuを使って公開してみます。#1.Herokuとは
webサービスを動かせるプラットフォームを提供してるサービスらしい。小規模なら無料で使えるとのこと。#2.Herokuのアカウント作成
とりあえずアカウント作成
https://jp.heroku.com/
でいろいろ個人情報を流出してきます。ここで開発言語を選択するらしいですがまぁJS程度しかやってないのでNode.js一択ですね。
ドラえもんが引っかかってしまう私はロボットではありませんチャレンジをクリアしてメールアドレス認証。パスワード設定したら登録完了です。いやぁ非常にスムーズ,毎回どこかでつまづくんじゃないかと冷や冷やしながら登録してます。
#3.Heroku CLIをインストール
順番がゴチャゴチャしてきましたがherokuコマンドを利用しなきゃと思ったらHeroku CLIが必要らしい。まぁあるあるというか常識なのだろう。今回はUbun
Dockerでの環境構築(Rails)超入門
## はじめに
Ruby on Rails初心者です。今回はDockerを使ったRailsの環境構築の初歩を勉強のために備忘録として残したいと思います。
## 前提
DockerでRailsの開発環境を行う
※あくまで開発環境を構築するためだけの超入門であるため、DBや細かい設定等は次回以降投稿する## 手順
Dockerはインストールしていることが前提
1. Dockerfile, docker-compose.yamlの作成
2. Dockerのコンテナを起動
3. Railsの設定
4. Node.jsの設定
5. Yarnのインストール## 実践
1. Dockerfile, docker-compose.yamlの作成・ディレクトリを作成(今回はDocker/practice)
“`
$ cd Desktop
$ mkdir docker
$ mkdir practice
$ cd practice
“`・Docker hubで「ruby」を検索し、バージョンを確認
・Dockerfile作成
“`
FROM ruby:2
リングフィットアドベンチャーをガチるためにサーバレスアプリケーションを作る
# TL;DR
[リングフィットアドベンチャー](https://www.nintendo.co.jp/ring/) の称号をコンプするための進捗管理を、以下の技術要素を詰め込んで自動で行えるようにしたお話です。
– serverless framework
– AWS Lambda
– Amazon S3
– Amazon DynamoDB
– Amazon API Gateway
– Google Cloud Vision
– Twitter API
– Googleスプレッドシート
– Glide# ご注意
– **エモ多め、技術の詳細少なめ**
– 画像が多いです(ここを読んでる時点で手遅れだと思いますが)
– 掲載しているコードは実運用しているものとは異なり、参考程度の内容に編集しています
– 記事内のリングフィットアドベンチャーに関する画像は、任天堂公式より転載、またはゲーム画面のスクリーンショットを用いています# リングフィットアドベンチャー is 何
慢性的な運動不足に陥るか、筋肉だけは裏切らないと狂信しているかの二極化しがちなITエンジニアの方々はご存
ImageMagickをJSから呼び出す
#概要
ImageMagickを使って画像生成をしようと思っていて、簡単な処理ならターミナル等でコマンドを打って実行するのだが複数の画像を順番に合成するなどシーケンシャルな処理をする場合にそれだとしんどいので何かスクリプトを使いたいなと思って検討した結果JavaScript(以下JS)にしようと思い検討理由と実行記録を残しておきました。#なぜJSにしたのか
本当に簡単な処理ならShellscriptでもいいかなと思いますが今回はif文もいくつかケースがわかれたりJSONの読み込み等が発生するため除外。もちろんShellscriptでもできますが不慣れだし大抵の人にとっては見にくいケースもあるので。
次にPythonを検討した。PythonMagickなどのライブラリが用意されていて使いやすいということもあるし最近は画像処理で多く使われていたり人気の言語だったりするので。
迷った結果最終的には[Electron](https://www.electronjs.org/)でGUI作る必要があるかもしれないというのがあったのでJSにしました。#実行環境
* macOS Mojave
Google Analytics, Google SpreadSheet, Big Query, Google Ad ManagerのAPIをNode.jsで触ってみる
# はじめに
データの可視化を行う当たってGoogleの各種APIを触ってみましたが、最初は認証の仕方とか基本的な書き方とかでつまづく所もあるので、ハンズオンとして触り方をなるべくわかりやすく紹介したいと思います。
今回紹介するのは– Google Analyticsのレポート
– Google SpreadSheet
– Big Query
– Google Ad ManagerのレポートのAPIになります。
サンプルコードは[こちら](https://github.com/hedrall/google-data-api-samples)に上げています。# Google Analytics の レポートAPI
## 概要
– GAのAPIドキュメントを検索すると、Reporting API v4 と Core Reporting API が出てきますが、最新は Reporting API v4 です。
– https://developers.google.com/analytics/devguides/reporting/core/v4?hl=ja
– ガイド
タイムリーに is-promise 2.2.0 破損に巻き込まれた話
Node.jsの環境をSSDに引越しして動作を確認していたところ、`yo`がインストールできない・動かないという謎の現象に見舞われた。実は自分の環境が悪いのではなく、タイムリーに`yo`が依存するたった1行の関数を提供する`is-promise`が壊れた直後にインストールしたことが原因と分かった。
別のモジュールではNode.jsのバージョンが上がって動かなくなるケースでは対応が遅れることがあったので、今回はすぐ処置されてラッキーだった。(知らないだけで日常的に起きているのかもしれないが)
# 起きた現象
`yo`をインストールすると、ちゃんと動くかをチェックするYeoman Doctorが実行される。ここで、`yo –version`でエラーが起きてしまっている。この後`yo`を実行しても、同じエラーで起動すらしない状況となった。“`
> yo@3.1.1 postinstall K:\nodejs\npm_global\node_modules\yo
> yodoctorYeoman Doctor
Running sanity checks on your sys
ubuntu18.04にnode12系とnpm6系をインストールする
# 実行環境
– OS:ubuntu 18.04
# 前提条件
– 特に無し
# 実施手順
[公式のREADME.md](https://github.com/nodesource/distributions) に従ってコマンドを実行するだけです。
node12系を指定し、インストール。
“`
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash –
sudo apt-get install -y nodejs
“`以上です。
# 結果確認
Node.js のバージョン
“`
$ node -v
v12.16.2
“`npm のバージョン
“`
$ npm -v
6.14.4
“`# まとめ
[公式のREADME.md](https://github.com/nodesource/distributions) の手順をそのまま実行しただけでした。
代替手段の探し方
新しいものを勉強する時や久しぶりに触るミドルウェアとかアプリケーションについて、もっといいものあるんじゃないかなって時にどうしてます?
自分は
`アプリケーション名 alternative`
って検索してみてます。例)
`nvm alternative`
node.jsのversion managerの代替アプリを探した場合。
[nve](https://github.com/ehmicky/nve)って製品が見つかりました。あとは出てきたものと、元の製品とあわせて
`nvm nve`
とか調べてみたりします。
HerokuのPostgreSQLにSSL接続する
短いですが備忘録として残しておきます!## エラー
Node.jsのORM(Object Relation Mapping)であるSequelizeを利用して、
ローカルからHerokuのPostgreSQLに接続する際に下記のエラーが出て接続できませんでした。。“`
error: no pg_hba.conf entry for host “DB_HOST”, user “DB_USER”, database “DB”, SSL off
“`
これはSSL接続がオフになっているためオプションでオンにしてあげる必要があります。## 解決
“`javascript
const Sequelize = require(‘sequelize’)
const sequelize = new Sequelize(
‘postgres://~~’, // DB情報
{
// DBにSSL接続する
dialectOptions: {
ssl: true,
},
}
)
“`上記のようにSSL接続をtrueとすることで解
課題管理表をNode.jsとSQLiteで作る②
①に続いて今度はDBへの登録画面を作っていきます。
## 登録画面の作成
まずviewsにDB書き込みフォームとなるwrite.ejsを新規作成します。
中身はこんな感じで必要最低限の項目とDBへの登録ボタンを用意します。
“`html
登録
新規課題登録