2016年3月16日水曜日

Node.jsのスクレイピングモジュールcheerio-httpcliがとても便利

こんにちは。エンジニアのKです。 先日、自社サイト上にて静的HTMLで公開している100ページ近くあるコンテンツを、 改めてDBに登録したいという要望がありました。 幸い、対象のページはHTML的に似た構造をしていたので、スクレイピングで上手いことデータを抽出できないかと調べていたところ、 Node.jsで動く「cheerio-httpcli」を見つけ、とても便利だったので紹介したいと思います。 作者様のGitHubとか GitHub - ktty1220/cheerio-httpcli Node.js用のスクレイピングモジュール「cheerio-httpcli」の紹介 スクレイピングって? ウェブスクレイピング - Wikipedia ひとことで言うと、「ウェブサイトのHTMLを取得して、その中から必要な情報を取り出す」処理になるでしょうか。 再帰的にリンクを辿って行く場合、大量のリクエストが飛んでしまいますので、リクエスト間にインターバルを設けるなどしてDoS攻撃にならないようにしましょう。 また、取得したコンテンツには著作権がありますので取り扱いに注意しましょう。 cheerio-httpcliをインストール 今回はまっさらなCentOS...

ASP.NET MVCをOSXで動かしてみる

最近暖かかったり寒かったりと、春が着実に近づいているなと感じますよ。あとは何と言っても花粉でしょうか。辛いですよね。あ、フロントエンド担当のふみえです。 そんなこんなで、本日は昨年リリースされた Visual Studio Code の OSX ベータ版をインストールしつつ ASP.NET MVC を OSX でちょこっと動かしてみたいと思います(^^)ノ Visual Studio Code インストールから起動 まずはこちらのページの「Download for OSX」というボタンをクリックして zip ファイルをダウンロードして解凍します。 展開した「Visual...

2016年3月15日火曜日

CSSスプライトを作ってみた

こんにちは山田です。 サイト内に、メニューやボタンなど細かい画像がバラバラとありますが、 それを、一枚の画像にまとめて、ページの読込速度を速める方法があります。 CSSスプライト というのですが、作ってみたのでその備忘録になります。 ■元画像 ペイントで簡単に作成 ■HTML TOP NEWS ABOUT Contact Us FAQ ■CSS /*---------------------------------------------------------- ナビゲーション ------------------------------------------------------------*/ #navi{ ...

2016年3月14日月曜日

アプリのプロトタイピングツールをいろいろ使ってみる③ - InVision -

こんにちは。岡田です。 3月に入って暖かくなったり寒くなったり雨が降ったり花粉が飛んだり、忙しいですね。 私は花粉症を発症していないのですが、毎年「今年こそはデビューするんじゃないか」とビクビクしながら下積み時代を送っています。 できるだけデビューが先送りになることを願ってやみません。 前回の記事、読み返してみると、雑だなぁ、、と思ったので、(ごめんなさい) 今回はちょっと丁寧に書こうと思います。 「InVision」 前回の「POP」は、かなりシンプルで、単純な機能を簡単に使うアプリのプロトタイプを作るのに かなり便利な印象でしたが、今回さわってみた「InVision」は、結構細かい設定まで簡単に行えるので 画面の動きを高度に再現できると思いました。 「InVision」のいいところ 他のプロトタイピングツールではあまりないな~と思ったのが、 ボタン...

開発初心者がこれだけは知っておいた方が良いこと④

こんにちは!Sです。 今回はデータベースのロックについて書きたいと思います。 DBで行う主な操作としては ①新規登録 ②更新 ③削除 ④参照 だと思いますが、同じテーブルに対して複数の人が同時に様々な操作を行うとデータの整合性がとれません。 そんなことにならないようにDBにはロックという機能が存在します。 ロックの粒度(行に対してのロックなのか、テーブルに対してのロックなのかなど)やルールは 使っているDBによって多少違うようですが、ここからはわたしが使っているSQL Serverについて書きます♪ ◆ロックの種類 ロックには共有ロック、排他ロック、更新ロック、インテントロックなどがありますが、 難しいので詳細の説明は省きます。 初心者の方にまず覚えて頂きたいのは ①データの参照中は共有ロックがかかり、その間他の人が更新などできない ②削除などデータの書き換え中は排他ロックがかかり、他の人が何もできない ということです。 (詳しく知りたい人はこちらやこちらを!) バッチのスケジュールを組む際にはこれらのことを考慮しないといけないですね。 ちなみに排他ロックをどの粒度でかけるかは、SQL...