Thank you for your trust!You will be redirected to System.io page in 15 seconds.
「JS+Node.jsによるWebクローラー/ネットエージェント開発テクニック」という長いタイトルの本を書きました。先日より、Amazonで予約注文ができるようになっています。 内容は、JavaScript(主にNode.js)を利用して、クローラーを作ったり、形態素解析をしたり、人工無能(会話ボット)を作ったり、機械学習をしたりと、盛りだくさんの内容になっています。 中級者向け(脱初心者のため)の本となっています。JavaScriptをもう少し頑張ろうと思っている方、尖ったことに挑戦したい方、アフィリエイターや自動ページ生成系で広告収入を狙っている方など、多くの方に読んでいただければと思っています。よろしくお願いします。 補足 * 2015/09/04 2016/06/17 書籍の内容(p.26)に対するフォローです。 Vagrantで仮想マシンをセットアップする際、設定ファイル「Va
(2015/10/21追記) 記事を書いてから半年経ちましたが、最近はRxの良さを理解したり、ES7のasync/awaitがbabelによって実用的になりつつあったり等、またもやベストプラクティスとはなんだったのか状態です。とはいえ、いまのところPromiseは非同期処理の土台であり続けそうですし、Generatorもasync/awaitへの足がかりとして知っておくことのメリットは大きいかと思いますので、引き続き公開させたままとさせて頂きます。 (追記ここまで) 数ある非同期処理のプラクティスを試してみて、だいたいこれが良いんじゃないかというパターンが固まったので書きます。効用はコールバック地獄からの脱出と結局非同期どれが良いの感の払拭。ES6寄りです。 前提知識 JavaScript Promiseの本 http://azu.github.io/promises-book/ ジェネレ
node.js でコードを書いている時にハマった 循環参照 という問題とその対処法について紹介します。 循環参照 この問題は circular dependency, cyclic dependency とも呼ばれます。これはどういう問題かというと、 あるファイルを require したときにその結果が空のオブジェクトとして返される問題 です。 この問題に直面した時はなんでこうなるのか全く理解できなかったのですが、よくよくコードを見てみると、あるファイルとあるファイルがお互いにrequireし合っていることに気づき、色々調べてみるとこういう問題があることがわかりました。 以下にこの問題を再現させるサンプルコードを示します。 // a.js "use strict"; var B = require('./b'); module.exports = (function() { var id,
本稿では、Node.jsの特徴や動作原理に触れ、サンプルや役に立つパッケージ、活用事例などを紹介したいと思います。 主なサーバサイドJavaScript Node.jsに触れる前に、予備知識として他のサーバサイドJavaScriptにも触れておきます。Node.js含め、サーバサイドJavaScriptには、主に以下のようなプロジェクトがあります。 サーバサイドJavaScripの標準仕様「CommonJS」とは サーバサイドJavaScriptには、「CommonJS」と呼ばれる標準化が策定されています。標準化というと難しい感じがしますが、要はサーバサイドでJavaScriptを実行するのに何が必要かを仕様として、定義しているドキュメントのことです(例えば、「ログが必要だよね」など)。 Node.jsは、このCommonJSに則って開発されています。現段階であれば、CommonJSの仕様
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 随時更新します。 対象の人 使ったことないけど、軽く理解はしておきたい人 本格的に勉強する前に、大まかな概要を知りたい人 特徴 サーバーサイドのJavaScript 非同期 (I/Oの処理結果を待たず処理を進める) ノンブロッキングI/O (I/Oの結果を待たないで処理をすすめる。I/O処理が終了したらコールバック関数を実行。) イベントドリブン (何かしらのキッカケで動き始める) シングルスレッド (メモリ消費が少ない、仕事切り替えが少ないので速い) JavaScript エンジンが Google の V8 で速い Node.jsで作
1年程前にリリースしたモジュールなんですが、最近になって Node.jsで超簡単にスクレイピングを実装してみる - もやもやエンジニア node.js スクレイピング cheerio-httpcli の使い方 | まとめーたー とかで紹介していただいていたようなので、便乗して本人によるアッピールもしてみようかな、と。 Node.jsでスクレイピングする利点 何と言っても非同期で多数のサイトをガンガンスクレイピングできるところじゃないでしょうか。 一つのサイトに大量にアクセスするのは迷惑になるのでイカンですが、不特定多数のサイトに対してであるならば同時並行で処理できると処理時間の短縮にも繋がるかと思います。 cheerio-httpcliの特徴 WEBページの文字コードを自動判定してUTF-8に統一してくれる WEBページのhtmlをcheerioというモジュールでjQueryライクな操作が
ソーシャルメディアのAPIとそのレート制限は、あまり気分のよいものではありません。特にInstagram。あんな制限つきAPIを欲しがる人がいったいどこにいるんでしょうね? 最近のサイトは、スクレイピングやデータマイニングの試みを阻止するのがうまくなってきました。AngelListはPhantomJSすら検出してしまいます(今のところ、他のサイトでそこまでの例は見ていません)。でも、ブラウザ経由での正確なアクションを自動化できたとしたら、サイト側はそれをブロックできるでしょうか? 並行性を考えたり、さんざん苦労して用意した結果として得られるものを考えたりすると、Seleniumなんて最悪です。あれは、私たちが「スクレイピング」と聞いて思い浮かべるようなことをするためには作られていません。しかし、賢く作り込まれた今どきのサイトを相手にして、インターネットからデータを掘り当てるための信頼できる
記事内容に間違いや改善等ありましたらコメント欄にてご指摘をお願いしますm(__)m NodeSchoolとは 詳細は公式サイトに書かれていますが要は無料でNodeやそれに関連する技術を学べるオープンソースのツールです。 NodeSchoolという名前なので、なにかしら Node関連のものしかない ように思われがちですが、JavaScriptのみに着目した科目(他にもNoSQL関係だったり、etc)などもあるので、「JavaScriptの勉強をしたい!」という人にもおすすめです! 必要なもの 項目 説明 Node.jsインストールの推奨方法 Node.jsは活発に開発が進んでいるのでバージョンが結構頻繁に変わります。なのでNode.jsのバージョン管理をしてくれるツールのインストールを推奨します。(Rubyで言うrvmのような存在) 現時点(2015/10/27時点)で推奨するNode.js
この記事について Node.js + Express4 + MongoDB + Vagrant(開発環境) + foreverを利用して簡単なCRUD(Create, Read, Update, Delete)アプリを開発しました。開発にあたりPHP歴3年の著者が得られた知見をまとめます。 導入編、環境編、開発編の全3回を予定しています。皆様のこれからの開発の一助になれば幸いです。 対象読者 ある程度の開発経験があり、Node.jsを使ったアプリケーション開発に興味がある/これから実装する人。 ノンブロッキングI/Oを知りたい人。 node.js + express4 + MongoDB による開発環境構築に不安がある人。 少しプログミングが書けてIT業界に興味があり、これからもっと学んでいきたいという意欲的な人。 注意書き Node.js, MongoDB, Vagrantなどのインスト
この記事は、 Node.js Advent Calendar 2013 - Adventar の12日目です。 1. ありがとう Ben Nodeの情報に普段アンテナを張っている人は既にご存じでしょうが、Nodeコア開発の中心的エンジニア Ben Noordhuis がNodeのコアチームから離れました。Node.jsの公式ブログに「Ben Noordhuis's Departure」としてアナウンスされています。 なぜ彼がNodeの開発を止めなければならなかったのかその経緯をここで述べることは控えますが、彼のこれまでの貢献なしでは今のNodeは存在し得なかった、と言えるほど彼は重要な存在でした。Benは、Nodeやlibuvのコードの開発だけでなく、github の issue の回答やPRのレビュー、 MLの質問の返答などNodeコミュニティにも精力的に対応し、去年来日した isaac
渋日記@shibu.jp 渋川よしきの日記です。ソフトウェア開発とか、ライフハックを中心に記事を書いていきます。 メモリリーク。一言でプログラマを死に追いやる恐怖の言葉。C/C++の世界ではmallocしたのにfreeしないとかのケアレスミスでよく起きていた問題です。その後、ガベージコレクタが掃除してくれるプログラミング言語が増え、一部の言語で循環参照に気をつけるぐらいであまり気にしなくても良い的な風潮になっています。 というものの、そうとも言ってられなくない状況も増えてきています。クラウドのスケールアウトブームも一段落というかコモディティ化し、go言語で再び性能向上方面に関心が寄せられたり、日本でErlangの勉強会が満席になったり、スケールアウトから再びスケールアップ方面に話題が移りつつあるのを感じます。長時間稼働のサーバで、スケールアップしてさらに数多くのリクエストを大量に受けるよう
注意 この記事は、2014年の段階でNode.jsの開発時にデバッグ~継続的インテグレーションが行えるようにするために必要な情報をまとめていました。 その後、2020年08月にnode v12.18.3を対象に調査しなおしました。 Node.jsのインストール方法 ここから、インストーラなりソースなり取得してインストールする。 Windows,Macはインストーラが存在している。 Windowsの場合、VS2008や、VS2012などの複数のVisualStudioが混在している環境だとnpm installが失敗することがあった。 その場合は、環境変数を調整してVisualStudioのバージョンを指定して動作するようにしておくこと。 Node.jsのデバッグ方法(2020年) ローカルのデバッグ Visual Studio Codeでアプリケーションのあるフォルダを開いて実行すると、デ
この資料では「ボクのかんがえた最強のnode.jsの開発環境について」説明するよ! はじめに ここでは僕の考えた最強のnode.jsの開発環境について説明します。 node.jsはJavascriptの一種でサーバーサイドの処理を実装できます。 つまり、JavaScript使えるだけで、Web開発ができます。 やったね、社長、人件費が下がるよ! node.jsのインストール方法 http://nodejs.org/ ここから、インストーラなりソースなり取得してインストールする。 Windows,Macはインストーラが存在しており、debianとかはソースから作成する。 Windowsの場合、ちょっと癖があり、VS2008や、VS2012との混在環境だとnpm installが失敗することがある。 その場合は、環境変数を調整してVS2010が動作するようにしておくこと。 node.jsのデバ
Express ハイパフォーマンス、ハイクラスなWeb開発をNode.jsに。 var app = express.createServer(); app.get('/', function(req, res){ res.send('Hello World'); }); app.listen(3000); 主な特徴 堅牢なルーティング リダイレクト・ヘルパー 動的なビューヘルパー アプリケーションレベルで設定可能なビュー・オプション コンテントネゴシエーション アプリケーションのマウント 高いパフォーマンスへのフォーカス ビューの描画とパーシャルのサポート 環境にもとづく構成 セッションにもとづくフラッシュ通知 Connect上に構築 Executableによる素早いアプリケーション生成 広範なテスト範囲 コントリビューター 以下はExpressの主なコントリビュータです(順不同)。 TJ
[速報]マイクロソフト、Webアプリ用のリモートデバッガ「Vorlon」発表。Node.jsとSocket.io利用のオープンソースソフトウェア。Build 2015 マイクロソフトが米サンフランシスコで開催中のイベント「Build 2015」。2日目の基調講演で、Webアプリケーションをクロスプラットフォーム対応にするツール「ManifoldJS」に続き、Webアプリケーション用のリモートデバッガ「Vorlon」が発表されました。 VorlonもManifoldJSと同様にオープンソースとして開発されています。下記はVorlonのWebサイト。Node.jsとSocket.ioを用いていると説明されています。 ManifoldJSで開発するようなクロスプラットフォーム対応のWebアプリケーション開発では、Webブラウザが備えているようなデバッガが欠けている。それがVorlonの開発理由と
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く