↓こちらの記事で、Node.jsの環境を作成しました。
mmorley.hatenablog.com
Node.jsの使用例を見ていたら、ファイル操作が出来ることを発見!ここでのファイル操作とは、ファイルの名前変更、削除、ファイル情報の取得等です。
ブラウザ上で動く従来のJavaScriptでは出来なかったので盲点でした。個人的には、不慣れなunixコマンドよりいろいろ出来そうです。
ファイル操作に関する関数群は、Node.jsの標準モジュールに含まれています。Node.jsには使いたいライブラリをnpmで組み込んで使用する仕組みがありますが、標準モジュールは最初から組み込まれています。
標準モジュールに含まれる関数群の詳細は、公式のAPIリファレンスで確認出来ます。
ということで、今回は試しにファイル内のフォルダを列挙するプログラムを作成します。
またNode.jsのプログラムでは、同期処理、非同期処理に注意する必要があります。今回は試しにそれぞれ作ってみます。
Node.jsをMacにインストール!(Homebrew→Nodebrew→Node.js順にインストール)
<前置き>
画像から文字を読み込むOCRについて調べていたら、Tessract.js(テッサラクト・ジェイエス)というライブラリを発見しました。
なんと純粋なJavaScriptで書かれているとのこと。しかも60以上の言語を認識出来るらしいです。
さっそく手順に従ってHTMLに組み込んでみましたが、ブラウザがローカルデータへのアクセスを制限されているため失敗しました。
ブラウザにアクセス許可を与えるのは怖いなと思ったのですが、他に『Tesseract.jsをnpmでインストールして、requireして使う方法』が書いてありました。出てきた用語だいたいわかりません。
npm?、require?、どういうこと?と思って調べると、まずはNode.jsを導入する必要があることがわかりました。
Node.jsは、従来のHTMLに組み込むJavaScriptとは別物でしたが、調べるとBrowserifyという従来のJavaScriptと結びつける方法もあるようなので、中々おもしろそうです。
ということで、名前は知っていたものの横目で見るだけだったNode.jsをこれを機に導入することにしました。
<ここから本題>
調べたところNode.jsを直接インストールするより、Homebrew→Nodebrew→Node.jsの順にインストールするのが後々を良いようです。
その理由となるそれぞれの役割について、簡単にですがまとめました。
また、YosemiteやEl Capitanで、Homebrew経由でインストールするとNodebrewがうまく動かないという記事がありましたが、私の環境(El Capitan)では問題は起きていません。
実際にインストールした手順をまとめました。
インストール後に、Node.jsで実際に、HelloWorldプログラムとTessract.jsを使った文字認識を実行しました。
年賀はがきの宛名印刷を作る!:Googleスプレッドシート
Google スプレッドシートで宛名印刷を作ります。
記事にあるApps Scriptのコードをコピペして実行すると、宛名印刷関連のメニューがスプレッドシートに追加されます。
追加されたメニューにより、住所録シートのデータから、
なお実際に使うまでには、はがきに対する印刷位置の調整する必要があります。また、文字数の制限等の入力ルールがあります。
そして、スプレッドシートの仕様でフォントが自由に選べないといった制約があります。
ある程度、調整を楽しめる人向けの記事になります。 続きを読む
HTMLとCSSをEmmetで書いてみる!:Visual Studio Code
Emmetとは、HTMLとCSS を省略記法で、効率よく書くためのプラグインです。
Visual Studio Code(以下、VSCode)では、標準で使えます。
例えば、
html:5
と入力して、Tabキー(*VSCodeの場合)を押すと
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> </body> </html>
↑のようにコードが展開されます。
もう一例、
table>tr>th+td
と入力して、Tabキーを押すと
<table> <tr> <th></th> <td></td> </tr> </table>
となります。
という風に、少ない文字数で書くことが出来ます。
VSCodeの他にも、Atom等、プラグインを導入することでEmmetが使用できるコードエディタは多数あります。