むじん島

文才のないWebプログラマがなにかする

PayPalでリーダブルコード日本語版の電子書籍を購入してみた

f:id:mu2in:20150505234941p:plain

mu2in.hatenablog.com

上記の執筆時にO'Reillyストアでリーダブルコードの日本語電子版が購入できる事を知ったので、何も持ってない状態から購入してKindleに入れるまでを試してみました。 行った手順を簡単に記述しておきます。

  1. バニラVisaを購入・登録
  2. PayPalを登録後、上記クレジットを設定
  3. O'Reilly Japan Ebook Storeで商品を選択
  4. PayPalで支払う
  5. PDFでダウンロード
  6. Send-to-KindleKindleに転送
  7. Kindle電子書籍リーダーで読む

手順を確認しながら進めたので、1時間くらいかかりました。
バニラVisaを使えばクレジットを持っていない方でもPayPalが使えるようになります。
ネット上でのクレジット決済は敷居が高い人にもこの方法はおすすめです。

分かったこと

VBScriptのコーディング規約

f:id:mu2in:20150504235306p:plain

MSDN内にあるVBScriptのユーザーズガイドにコーディング規約があったのでご紹介します。

VBScript のコード記述規則

VBScript のコード記述規則

上記のページには

  • オブジェクト、変数、およびプロシージャの名前付け規則
  • コメントの記述規則
  • テキストの書式およびインデントについてのガイドライン

ガイドラインがあり、特に命名規則が分かりやすいので参考にしたいですね。





これまでのVBScriptの記事は以下です。よろしければご覧ください。

mu2in.hatenablog.com
mu2in.hatenablog.com

著作権を主張しないCC0の画像を集めたサイトまとめ

f:id:mu2in:20150504021326j:plain

ブログのアイキャッチ画像を探すのに使えるCC0を集めたサイトを調べてみた中で、 サイト内検索が使えるサイトを中心に利用しやすいサイトをまとめてみました。


CC0について ― “いかなる権利も保有しない”

CC0 とは、科学者や教育関係者、アーティスト、その他の著作権保護コンテンツの作者・所有者が、 著作権による利益を放棄し、作品を完全にパブリック・ドメインに置くことを可能にするものです。 CC0によって、他の人たちは、著作権による制限を受けないで、自由に、作品に機能を追加し、拡張し、 再利用することができるようになります。
via: CC0について ― “いかなる権利も保有しない” « Science Commons – サイエンス・コモンズ翻訳プロジェクト

すぐに見たい方はこちら

Pexels · Free high quality stock photos

f:id:mu2in:20150504001631j:plain www.pexels.com

Pixabay - Free Images

f:id:mu2in:20150504001905j:plain
pixabay.com

Pickupimage - Free Download Photos

f:id:mu2in:20150504010347j:plain pickupimage.com

Flickr - Creative Commons Public Domain Dedication (CC0)

f:id:mu2in:20150504012925j:plain www.flickr.com

StockSnap.io - Beautiful Free Stock Photos

f:id:mu2in:20150504014926j:plain stocksnap.io

FindA.Photo

f:id:mu2in:20150504023018j:plain finda.photo

Kindle日替わりセールで買った「沈黙のWebマーケティング」が面白い

f:id:mu2in:20150502233949p:plain

2015/04/25のKindle日替わりセールで599円だったため、衝動買いしてしまいました。
しかし、この本が思っていた以上に面白かったのでご紹介します。

購入時、マーケティング本は専門外だし難しそうだなと思っていたのですが、
中身を見るとなんとハードボイルドな対話型コメディ漫画でした。
堅苦しいカタカナのマーケティング用語をなんの臆面もなく必殺技のように叫ぶ
主人公「ボーン」のセリフが大変印象的ですごく楽しめる内容になっています。
コメディ部分はWebで公開中ですが、書籍版にはより詳しい解説があり、
コメディ漫画を読む流れで解説の難しい話もすんなりと頭に入っくると思います。

すでにセールは過ぎていますが、Web業界に入ったばかりの人にオススメです。
まずはWebサイトで一読後、購入してみるのもありではないでしょうか。

www.cpi.ad.jp

VBScriptでショートカットの起動オプションを取得する



この記事は以下の続編です。 mu2in.hatenablog.com


前回は曜日を固定した判定を行いました。
VBScriptではショートカットに起動オプションを付与できます。
今回は、起動オプションで曜日を指定できるようにしていきます。

できたソースがこちら

Option Explicit

If WScript.Arguments.Named.Exists("WD") Then
    If Weekday(Now, vbWeekly(WScript.Arguments.Named.Item("WD"))) = 1 Then
        WScript.Echo "指定された曜日です。"
    Else
        WScript.Echo "指定された曜日じゃないです。"
    End If
End If

Function vbWeekly(wDay)
    Select Case wDay
        Case "sunday"
            vbWeekly = vbSunday
        Case "monday"
            vbWeekly = vbMonday
        Case "tuesday"
            vbWeekly = vbTuesday
        Case "wednesday"
            vbWeekly = vbWednesday
        Case "thursday"
            vbWeekly = vbThursday
        Case "friday"
            vbWeekly = vbFriday
        Case "saturday"
            vbWeekly = vbSaturday
        Case Else
            Exit Function
    End Select
End Function

使い方

f:id:mu2in:20150430234200p:plain
作成したvbsファイルのショートカットを作成し、パスに「 /WD:monday」を追加しています。
今回は「WD」という起動オプションを値を元に、日曜日であれば「sunday」を指定することで動的に現在の曜日を判断できるようにしてみました。

これらを応用して、ルーチンワークを減らしていくと楽になれますよ。

すごい広島#102に参加してきました。

f:id:mu2in:20150429204120p:plain

すごい広島 #102 with 広島でコンクリに参加してきました。

すごい広島とは

すごい広島は気になってるIT技術をいじったり、情報交換をしたりする場所です。
毎週水曜日にコワーキングスペース MOVIN' ON にて活動しています。
情報交換をしやすくするために、GitHubをつかって、やりたいことを共有しています。
via: すごい広島 http://great-h.github.io/


ほぼアポなし飛び入りでの参加でしたが、快く迎えていただきありがとうございました。

やったこと

すごい広島では、GithubのIssuesでやることを宣言するというルールがあります。
これは、Githubに慣れてもらうために用意したルールだそうで、私もそれに沿ってGithubを使ってみることにしました。

やることを宣言

f:id:mu2in:20150430000444p:plain

Github上からIssueを登録します。
今回のやることは、

  • ブログネタ探し
  • githubを使ってみる

の2つに決めました。
Issue作成後は権限を付与してもらい、 LabelとMilestoneとAssigneeも追加しました。

参加者一覧を変更する

飛び入り参加ということで、参加者一覧に自分を追記することになり、
ついでなのでGitとSourceTreeをインストールして編集してみました。
インストールはスムーズだったので、その後の手順をメモします。

  1. SSH KeyをGithubに登録します
  2. great-hからソースをcloneします
  3. branchを切ってcheckoutします
  4. 参加者一覧に@mu2inを追加します
  5. 変更したファイルをaddしてcommitします
  6. originにpushします
  7. 変更をどなたかにMergeしてもらう

以上で、Webサイトに変更が反映されました。
バージョン管理システムSubversionを使ったことがあるので、
手順内容についてすんなり理解することができました。


今回は、Git云々の使い方について説明していただきましたが、
他のメンバーも様々な話題でお話されており、かなり賑やかな勉強会でした。
私もこれをきっかけにGitの扱いに慣れるよう開発にも取り入れていこうと思います。

CSSで蛍光マーカー風な強調表示をする

f:id:mu2in:20150428221208p:plain

この記事は以下の続編です。 mu2in.hatenablog.com



前回はCSS3のlinear-gradient()を使って蛍光ペン風の表現をしました。
今回は背景にBase64透過画像を使って、同じように再現できたのでご紹介します。

<style type="text/css">
/* 強調表示を蛍光ペン風に(画像版) */
article strong{
    margin:0 0.1em;
    padding:0.1em 0.2em;
    background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAJCAYAAADzRkbkAAAAEElEQVQIW2P8/TvkDCORBAB3fRvQcHDghQAAAABJRU5ErkJggg==);
    background-position:center bottom;
    background-repeat:repeat-x;
}
</style>

linear-gradient()版とBase64画像版の結果を比較する


CSS3のlinear-gradient()を非対応ブラウザでみると左のように表示されていました*1が、 今回の画像対応により、右のように蛍光マーカー風に表示されるようになりました。

画像を読み込むため表示が遅くなりますが、対応ブラウザが増えるのは良いですね。

おまけ:透過画像を作る

マーカー用の画像を作るのが面倒だったので、canvas要素+JavaScriptで黄色の透過画像を作ってみました。
違う色の透過画像を用意したいときに使ってみてください。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<script type="text/javascript">
window.onload = function(){
    //canvasを生成
    var canvas = document.createElement("canvas");
    canvas.width = 1;
    canvas.height = 9;
    var ctx = canvas.getContext("2d");
    ctx.fillStyle = "rgba(252, 252, 84, 0.8)";
    ctx.fillRect(0, 0, 1, 9);

    //base64に変換
    var base64Canvas = canvas.toDataURL('image/png');

    //canvasダウンロード用にaタグで囲む
    var a = document.createElement('a');
    a.setAttribute('style','text-decoration:none;color:#222222;');
    a.href = base64Canvas;
    a.download = "highlighter.png";

    //strongタグの背景に指定
    var strong = document.createElement('strong');
    strong.textContent = base64Canvas;
    strong.setAttribute('style','font-size:16px;font-weight:bold;margin:0 .2em;padding:0.1em 0.2em;background-image:'+'url('+base64Canvas+');background-position:center bottom;background-repeat:repeat-x;');
    a.appendChild(strong);
    document.body.appendChild(a);
};
</script>
</head>
<body></body>
</html>

*1:古いAndroidではベンダープレフィックスで対応可能です