モーリーのメモ

アプリ開発等(プログラミング、CG作成)、興味を持ったことを実践してまとめるブログです。

モーリーのメモ

フォルダ内のファイル名に連番を付ける!(ちょっと対話型):Node.js

 フォルダ内のファイルを、ファイル作成日で昇順にソートして、ファイル名に連番を付けるプログラムを作ります。
 image01.jpg、image02.jpg、image03.jpg、、、みたいにします。
 
 データを消して飛び飛びになった番号を振り直したい時に使えます。
 元のファイル名はバラバラでもかまわないので、ファイル名を統一したい時にも使えます。
 
 ファイル名を変更する前に、変更内容を表示して、実行するか確認します。コマンドライン(ターミナル)で1度Yes/Noを聞くだけですが、一応対話型の処理です。
 
 今回行う処理は、全て標準モジュールだけで作成しています。

続きを読む

同期・非同期処理で、フォルダ内のファイルを列挙する!:Node.js

 ↓こちらの記事で、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スプレッドシート

 私は英語の文章を読むときは、翻訳サイトにたよりまくりです。
 翻訳サイトの精度は以前より良くなっていると感じますが、それでも変な日本語になるケース少なくないです。
 なので、何個かの翻訳サイトの訳を見比べて、意味の通るように訳すことが多いです。
 この何個かの翻訳サイトの訳を集める作業が面倒くさいので、自動化します。
 
 こんな感じにします。
 ↓訳したい英文をスプレッドシートに貼り付けます。
f:id:mmorley:20161112231831p:plain:w450
 ↓翻訳サイトから翻訳結果を取得し、下図のように並べて表示します。
f:id:mmorley:20161113001036p:plain:w500 
 翻訳結果を参考にして、『訳』の行に自分の訳を書きます。
 
 ちなみに、翻訳サイトの仕様が変わると使えなくなります。
 あしからず。

続きを読む

年賀はがきの宛名印刷を作る!:Googleスプレッドシート

 Google スプレッドシートで宛名印刷を作ります。
 
 記事にあるApps Scriptのコードをコピペして実行すると、宛名印刷関連のメニューがスプレッドシートに追加されます。
 
 追加されたメニューにより、住所録シートのデータから、

    f:id:mmorley:20161103120155p:plain
 宛名印刷のデータを作成します。
    f:id:mmorley:20161103170735p:plain:w350
 
 なお実際に使うまでには、はがきに対する印刷位置の調整する必要があります。また、文字数の制限等の入力ルールがあります。
 そして、スプレッドシートの仕様でフォントが自由に選べないといった制約があります。
 
 ある程度、調整を楽しめる人向けの記事になります。

続きを読む

ピボットテーブルの使い方を調べる!:Googleスプレッドシート

 『ピボットテーブル』・・・私にとってExcelの分からない&使ったことがない機能ですが、ちょっと気になってました。
 
 先日、Googleスプレッドシートにも同様の機能があることを知り、良い機会なので使い方等を調べてみました。
  f:id:mmorley:20161027235918p:plain:w350

続きを読む