2017年8月4日金曜日

インスタ映えする画像加工アプリ Snapseed を試してみた。

広告とかCMでよく見る、周りはモノクロで一部だけ色が付いてる写真。
映像で強調部分を訴えかける感じのかっこいい画像。

自分で作れるのかなーって少し調べてみたら、お手軽に実現する方法あったんです。
「カラースプラッシュ」と呼ばれる技法で、スマホアプリでできちゃうんです。
例えば、この画像にあるお肉ちゃんを、、、


強調する!!!!

みたいな。

これ、撮影も加工も全部スマホです。
便利な世の中になりました。
カンタンにやり方紹介。

Snapseed をインストールします。

Google Play で "Snapseed" を検索してインストールポチるだけです。
Google 純正アプリなので抜群の信頼感。

写真を開いて、"ツール> ブラシ"を選択。

"彩度"を選択して 中央下にある設定値を -10 に。

目玉ボタン押して、モノクロにしたい部分を指でゴシゴシ。
こすった茶色い部分がモノクロになります。
最後に 決定マークをポチれば加工画像が生成されて完了、って感じ。

参考動画もわかりやすいんで貼っておきます。


あんま有名じゃないけど、Snapseed 神アプリ感あります。
アプリ内からそのままインスタに共有ボタンがあればもっと便利で流行りそうなんだけどなぁ〜

2017年8月3日木曜日

パリ/Paris 旅行で現地民が行く旨い店

運良くパリ出張する機会があり、現地の人に毎日昼メシ連れて行ってもらえました。
パリめしのログをまとめておきます。
ルーブル美術館周りが多いです。

ランチ編

Le Coude à Coude
https://www.lafourchette.com/restaurant/le-coude-a-coude/46063#tripadvisor
パリのおしゃれな定食屋。(ビストロ)
鴨肉・マンゴー・バルサミコ酢という組み合わせのサラダ。
黄色いのはマンゴー。新たな発見で美味しかった。


豚・ジャガイモ・メンタイコ(?) なメインディッシュ。
メンタイコ的なやつがアクセントになっていてコレまた美味い。


最後はデザート。お昼でしたが、このひたひたになってるのがラム酒。
周りにシナモンがかかっていて風味がパリのスイーツって感じ。
酒が強めであまり日本にはなさそうなスイーツだけど、これもまた新発見だった!


ここまで紹介しておいて、、
調べてみたところ、この店既に閉店している疑惑。。


Tutti Amici
Tutti Amici
フランスだけどイタリアンを食べてみる。
民家の狭い入口から階段にあがって入店します。
絶対観光客来られないだろうなっていう場所。
エンジニア集団(オッサン軍団)で行ったけど、内装がめっちゃお洒落で気が引けるレヴェル。
メニュー全部フランス語でベリーハードでしたが、現地の人たちにサポートを受けつつなんとか頼みました。
値段はそこまで高くないけど、結構うまいイタリアン。
現地の雰囲気を味わうには良いお店でした。

なりたけ

フランスメシも若干飽きてきた、そんなときに連れてってもらったのが Chinese Noodle。
http://4travel.jp/overseas/area/europe/france-ile_de_france/paris/restaurant/10422947/

味噌ラーメンが有名で、日本にも店舗があるらしい。
パリってほとんど日本人いないんだけど、ここでは日本人の店員さんがいてすこしホッとしました。
味は結構塩辛いです。
一緒に行ったフランス人は、
「今日一日分の塩分は取ったぜ、晩飯は酒だけでいいや」
みたいなこと言ってました。



フレンチバーガー
http://frenchiesburger.com/
がっつりハンバーガーが食える店。
コスパ良し。ティラミスでかい。
フレンチ通り越してもはやアメリカン。




現地のオランジーナは日本のに比べるとやや薄め?

レオンドブリュッセル

ベルギーのお店、日本には未出店。
ムール貝を気が済むまで食べられる店。
ビールと合います、美味しいです。
店舗もシャンゼリゼ通り沿いだけでなく、パリ市内にいくつもあります。
デザートはカロリー的に結構エグかったです。




バー編

Dernier Bar avant la Fin du Monde
世界的に有名なアニメの壁画とか、メニューもアニメ絡みのものとかがあった。
地下3階建てだったかな?
一番下のフロアーが面白いらしいけど、店に入った時刻が遅くてそのフロアだけ入れなかった。
フランスらしくいろんなチーズを取り揃えてた。
チーズとワイン・カクテルを飲むのが楽しい。
酔っててあんま写真撮れなかった。



la rhumerie

夜にラム酒飲みに行きました。
数十種類のラム酒がある中、現地民おすすめのバニラの風味の効いたラムを一杯。
銘柄は忘れた。。



お土産編

以下のお土産が喜ばれました。

* ボンヌママンのマロンクリーム
* ボンヌママンのタルト
* Royco のマッシュルームスープ
* ディジョンマスタード



唯一現地で買えなかったのが、エシレバター。
高級バターらしく、パリで買うと安いみたい。








2017年7月28日金曜日

CentOS7 で Django + Apache を動かす

さくらのVPS入門

How To Install Python 3 and Set Up a Local Programming Environment on CentOS 7

Python3 をインストール

How To Serve Django Applications with Apache and mod_wsgi on CentOS 7
Python3.5.1 => RuntimeError: The 'apxs' command appears not to be installed or is not executable

python3 を使うために以下の手順も追加。
$ sudo yum install httpd-devel -y # mod_wsgi のインストールに必要
$ pip3 install mod_wsgi # python3 系の mod_wsgi モジュールが入る。

mod_wsgi は仮想環境に入るのに注意。
LoadModule で httpd.conf で指定する際にバージョンが異なると動作しません。
バージョンが異なる場合、ImportError: no module named site が出る。

Centos7 でポートを開放する方法:コマンドとファイル書き込み
bash-completionで ssh コマンドなどの補完を強化してみる


2017年7月25日火曜日

さくら VPS で Web サーバーを構築する

Ubuntu 16.* + Apache + Django でサイト作るのに参考にした情報をまとめておこう。

Apache インストールして http://ip_address でアクセスできなくて「あれ?」ってなったときのトラブルシュート。
/etc/iptables/iptables.rules を編集すれば良いらしい。
セキュリティ的にどうかという懸念はあるのでとりあえずの設定ということで。

さくら VPS のサーバーにお名前.com で取得したドメインくっつけるって話。
.work のドメインがやすかった(1円!)だったので実験用に購入して試した。
動作確認済。

開発用サーバーで動作確認済。

2017年7月22日土曜日

API キーを yaml で一括管理してみた

pythonでyamlの扱い を参考に、API キー等の秘密情報を yaml で管理してみた。
各ウェブサービスごとに管理しても良いけどとりあえず辞書型で、、

twitter:
  consumer_key : hogehoge
  access_token : hogehoge
aws:
  access_key_id : fugafuga
  secret_access_key : fugafuga

.private/web_api.yaml にファイルを置いて、 .private/* を .gitignore に追加しておく。

アフィリエイトリンクを短縮して Twitter API でつぶやく

Amazon の商品価格を取得してみた では、最安値の取得までできた。
今回は、在庫切れした商品が入荷されたタイミングを取得してツイートしてみます。
やることはカンタンで、取得した現在の価格が定価になっているかをチェックして、
定価近辺に戻ってたらツイートするだけ。

Twitter API の利用

コード貼っておく。
get_sentense() では適当なツイート文字列を返す想定で書いてます。

def tweet():
    tweet = get_sentense()
    print("tweet: {0}".format(tweet))
    twitter = OAuth1Session(TWITTER_CONSUMER_KEY,
                            TWITTER_CONSUMER_SECRET,
                            TWITTER_ACCESS_TOKEN,
                            TWITTER_ACCESS_TOKEN_SECRET)
    url = "https://api.twitter.com/1.1/statuses/update.json"
    params = {"status" : tweet}
    response = twitter.post(url, params = params)
    assert response.status_code == 200, "Tweet Failed. status_code = {0}".format(response.status_code)

URL 短縮 API の利用

ツイート文にアフィリエイトリンクを仕込みたいとき、短縮 URL 変換する必要がある。
bitly API がカンタンにつかえて便利なのでこれで短縮して tweet 文章を生成する。
参考にしたのは以下のページです。
bitly APIの使い方
リクエストに token いれて post するだけです。

まとめ

在庫復活したらツイートする機能の実装を行いました。
まとめると実装したのは以下の感じ。

* Amazon Product Advertising API で価格情報取得する
* 定価になっていたら Twitter API を使ってツイート
* アフィリエイトリンク仕込みたいときは bitly API で URL 短縮してツイート文生成する。

Amazon の商品価格を取得してみた

Amazon の価格情報を取得する方法としては以下の 2つがありそう。

 * 商品ページにアクセスしてスクレイピング
 * Web API を利用する

こちらのページでは前者の方法で情報取得しています。
PythonとrequestsとBeautifulSoupでAmazonの中古品情報一覧を取得 #Python #WebScraping #せどり
ただ、ページまるごと取ってくるオーバーヘッド、ページ構成が変わった時のデグレとかメンテナンス観点だと面倒なことが多々ありそう。

ここでは無難に Web API 使いましょう。

事前準備

Amazon は、Amazon Product Advertising API を公開しています。

以下のページの案内に沿ってアカウント作成します。
https://affiliate.amazon.co.jp/gp/advertising/api/detail/main.html

作成後、AWS のコンソールにアクセスしてセキュリティキーを作成します。
https://console.aws.amazon.com
セキュリティ認証情報>アクセスキー を見に行くと作成画面が出てきます。

スクリプト実装

どの言語でも API は叩けますが、ここでは python で試してみます。
Product Advertising API を利用するための簡易ラッパーライブラリとして、
bottlenose モジュールを使います。
https://github.com/lionheart/bottlenose

また、取得したレスポンスをパースするため、BeautifulSoup もインストールします。

$ pip install bottlenose BeautifulSoup4

実装
# インスタンスを生成
amazon = bottlenose.Amazon(AWS_ACCESS_KEY_ID,
                           AWS_SECRET_ACCESS_KEY,
                           AWS_ASSOCIATE_TAG,
                           Region='JP')
# 価格情報を取得
response = amazon.ItemLookup(ItemId=ASIN,
                             ResponseGroup="OfferSummary")
soup = BeautifulSoup(response)
lowestnewprice = soup.find("lowestnewprice").find("amount").text # 新品の最安値

さくらインターネットのレンタルサーバー ~ EC-CUBE/メールフォーム 導入 ~

さくらインターネットのレンタルサーバーでは、
クイックインストールとよばれる機能があります。
ソフトウェアをサーバーに GUI ベースでカンタンに設置できるというもの。
サーバープログラム側は PHP + MySQL で動作するものが大半。
ここではどのくらい「クイック」なのかを EC-CUBE とPOSTMAIL をインストールすることで試してみます。

EC-CUBEのインストール

【クイックインストール】EC-CUBE を見て手順通り作業する。
作業内容は大きく、「データベースを作成」と「EC-CUBEのインストール」
どちらもプログラムを書くこと無く GUI ポチポチでいけるお手軽さ。

お試し期間だと共有SSL が利用できないので注意。
SSL 設定せずに EC-CUBE のセットアップもできるけど、
セキュリティ上問題があるので非推奨。
ちなみに無理やりSSL 無しで作成すると、
新規会員登録を行ったあとメール確認で以下のような矛盾した状況になる。

本会員登録を完了するには下記URLにアクセスしてください。入力されたお客様の情報はSSL暗号化通信により保護されます。
http://example.sakura.ne.jp/eccube/html/entry/activate/hash_hogehoge

POSTMAIL のインストール

これは解説記事探すまでもなく、サーバーコントロールパネルでポチポチすれば簡単にできました。
動作確認も作業シーケンスをたどる中で自然に何したら良いかわかったのでここは割愛。

まとめ

EC-CUBE, POSTMAIL ともに設置はカンタン。
クイックの名にふさわしく、全部合わせて10分もかからなかった。
チュートリアル記事もさくらインターネットは豊富に揃っていて、はじめてのレンタルサーバーにはとてもおすすめです。

2017年7月20日木曜日

さくらインターネットのレンタルサーバー ~ bot 作成 ~

さくらのレンタルサーバーのセットアップログをまとめておきます。

デフォルトのシェルを bash に変更

さくらインターネットのデフォルトのシェルをbash に変更してみた
$ chsh -s /usr/local/bin/bash
でOK

SSH 設定

さくらのレンタルサーバーにSSHでログインする
上記手順に沿って、クライアントマシンで生成した公開鍵を scp で送ります。
設定が完了すると ssh でサーバーのパスワード入力の必要なく、
以下のコマンドでログインできるようになります。
$ ssh hoge@hoge.sakura.ne.jp

Python3 のセットアップ

2017年7月現在、デフォルトだと Python 2.7 がインストールされてますが、
3系に更新するため、以下の作業を行います。

Python3 のインストール
   $ wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
   $ tar -xjf Python-3.6.2.tar.xz
   $ cd Python-3.6.2
   $ ./configure --prefix=$HOME/local/python/
   $ make
   $ make install
bash で path を通す

$ emacs ~/.bashrc

以下の通り .bashrc にパスの設定を書いておきます。

export PATH=$HOME/local/python/bin:$PATH
export PYTHON=$HOME/local/python
export PYTHONPATH=$HOME/local/python/lib/python3.6/site-packages
export LD_LIBRARY_PATH=$HOME/local/python/lib
export EDITOR=emacs

pip でモジュールインストール

$ $ pip3 install requests_oauthlib BeautifulSoup4 requests PyYaml bottlenose ipython


つぶやくスクリプト by Python

PythonでTwitterAPIを叩いてみる の通りにスクリプトを実装する。
認証のためのパラメータ群は外部に漏れないように注意する。
スクリプト内にハードコードするんじゃなくて、OS の環境変数から抜く方式の方が良いかも?

cron の設定

$ crontab -e  でエディタを立ち上げて、適当なコマンドを追記するだけ。

例) 毎時5分に cron.sh を叩く
5 * * * * ~/cron.sh




2017年7月19日水曜日

さくらインターネットのレンタルサーバー ~ お名前.com で独自ドメインサイト構築 ~

概要

会社のレンタルサーバーの契約満了ということで、サーバーの見直しをかけることになりました。
契約しているのは大塚商会アルファメールで、サーバー環境が大分古くて値段も安くない感じだったので乗り換えを検討しています。
ここでは、サーバーの選定から、独自ドメインの設定までをまとめておきます。

サーバーのカテゴリ

VPS, レンタルサーバー, クラウド とありますが、

 * メールサーバーの管理がカンタン
 * Web サーバー機能が使える
 * 価格が安い

という理由でレンタルサーバーを選びました。
VPS 使うか結構迷いましたが、メールサーバーの構築とか面倒くさそうだったのでレンタルサーバーにしちゃいました。甘えです。


レンタルサーバー業者

 * 実績があること
 * 利用者が多く Web 上にトラブルシュート情報がたくさんあること
 * 大手企業

といった基準で、さくらインターネットを選定しました。
GMO とも迷いましたが、さくらインターネットは

 * トラブルシュート情報が Web 上にたくさんあるのと、
 * 会社が技術情報を積極的に発信している

ところに好感を持ったのが決定ポイントでした。

どうやらさくらインターネットのレンタルサーバーは、
2017 年 7 月現在、2週間の無料使用期間があるようです。
レンタルサーバー|さくらインターネット - 無料お試し実施中

メールサーバーの送受信確認

メールのクライアントソフトの設定については、
Mozilla Thunderbird 38を利用する
を参考にしました。
Web ページのデプロイは Cyberduck 使って設定情報突っ込めばカンタンに接続 & アップロードできました。

独自ドメイン設定

お名前.com で取得したドメインをさくらインターネットのサーバーに割り当ててみます。
お名前.com管理ドメインのメールをさくらのサーバで使う に記載された内容に沿っていけば設定できます。

ドメイン設定(他社で取得・管理のドメインを利用する場合)
【ライト・スタンダード・プレミアム・メールボックス】メールアドレスの作成・変更・削除

2017年7月16日日曜日

Jenkins 設定メモ



MacOS での Jenkins 設定方法のメモ:
https://ics.media/entry/14273/2
http://myenigma.hatenablog.com/entry/2016/12/27/114006#Jenkinsのインストール


普段定期的に実行するルーチンタスクを自動化する目的で導入します。
インストールは上記リンクに記載された手順で進めて、
以下のコマンドで起動します。

$ brew services start jenkins

サービスが起動し、ブラウザから http://localhost:8080/でアクセスできるようになっている。
デフォルトではローカルのネットワーク上でしかアクセスできないが、起動時のオプションを与えることで変更可能。

https://wiki.jenkins.io/display/JENKINS/Starting+and+Accessing+Jenkins

起動時のパラメータは、
 /usr/local/opt/jenkins/homebrew.mxcl.jenkins.plist
(~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist)
で設定できる。

デフォルトだとサーバー起動してる PC からしかアクセス出来ないので、
上記 *.plist を以下の通り書き換えると同一 LAN に接続したデバイスから Jenkins にアクセスできるようになる。

      <string>--httpListenAddress=0.0.0.0</string>

参考:
https://superuser.com/questions/650420/jenkins-not-accessible-through-lan



2017年7月4日火曜日

確率ロボティクスとは何かをまとめてみました。


確率ロボティクスのメタな部分の理解を深めるため、 probabilistic robotics を読みました。
文中で重要と思われる部分を抜粋してまとめてみました。


確率ロボティクスとは



確率ロボティクスは知覚と制御に関するロボティクスの一分野。
情報の記述や行動決定のために確率・統計を駆使するのが特徴。

この本のすべてのアルゴリズムはベイズ則 と、それを時系列データの利用のために拡張したベイズフィルタに基づいています。
数学的な背景が同じであることは,本書の確率的アルゴリズムの重要な共通点となります。

http://www.probabilistic-robotics.org/


確率ロボティクス 第 I 部 基礎



確率ロボティクスで鍵となるアイデアは,確率論の演算を用いて不確実さを確率分布として表現すること。
言い換えると、ある推定に対して結果を「最も妥当な」一つの推測値で表すのではなく、
推測値の空間全体での確率分布として、推定情報を表します。
そうすることで曖昧さや信頼度を数学的にまっとうな方法で表すことができます。

確率的なアプローチは、不確実さを考慮するため、センサの限界やモデルの限界に対してよりロバストになります。
また、確率ロボティクスによって,複雑な実世界の環境をずっと良く計測できるようになります。


従来のモデルベース手法と比較すると、確率的アルゴリズムでは正確なロボットのモデルがあまり要求されず、
プログラマーは、正確なモデルを構築するという徒労から解放されます。
また、一瞬一瞬のセンサ入力だけを制御に用いる多くのリアクティブな手法よりも、センサが正確であることの必要性が小さいです。

しかしながらこれらの長所の代償として、計算が複雑になったり近似の必要が出てきたりします。
したがって、確率的アルゴリズムは確率的でないライバル手法よりも計算効率がよくありません。


ロボティクスの歴史



最初の重要な概念は 1970 年代半ばにモデルベースドアプローチとして知られているものである。

その後、ビヘイビアベースドロボティクスは強い信念の下、内部モデルを用いる考え方を排除した。
その代わり、複雑なロボットの動きを創り出すのは、状況に埋め込まれたエージェントの物理的環境との相互作用であるとしました。


現在の確率ロボティクスは,1990 年代半ばに出現しました。
もっとも,その起源はカルマンフィルタ [Kalman 1960] の発明までさかのぼることができます。

いろいろな意味で,確率ロボティクスはモデルベースド手法とビヘイビア ベースド手法の間に位置しています。

確率ロボティクスでは,モデルが使用されますが、
そのモデルは不完全であり制御には不十分のものであると仮定されます。
確率ロボティクスでは,統計学によってモデル構築とセンサ測定が数学的に結び付けられ、
両方を統合することにより、制御動作が考え出されます。






2017年7月1日土曜日

メモ:人工知能は人間を超えるか(松尾 豊)

【SoftBank World 2016】 人工知能は人間を超えるか 松尾 豊 氏
参考になったポイントをまとめておく。



ライブラリ

* tensorflow
* Keras

教科書

* 深層学習 岡谷
* Deep learning MIT press

国際会議

* ICML
* NIPS
* ICLR

Deep Learning の主な手法

* CNN

画像認識でデファクト
教師あり学習
畳み込み & プーリングを繰り返す
アルファ碁は CNN + 強化学習 + 探索

* RNN

時系列データ処理、映像、言語のデータなど。
教師あり学習
LSTM が主流
マイクロソフトの Tay 

* オートエンコーダ系

分類だけでなく、「生成」が出来る。
教師なし学習
変分オートエンコーダ(VAE), 生成敵対的ネットワーク(GAN) が主流
ピカソ風の絵を書いたり。
今後発展する。


2017年6月23日金曜日

写真初心者が Adobe Stock に投稿してみた

初めて Adobe Stock に写真投稿しました。
9 枚アップロード、5枚採用でした。
カメラは相棒の EOS Kiss X7。
世界最小最軽量という謳い文句のカメラです。
今も価格com で一位なんですな。(※2017/6月現在)



以下、不採用写真とその理由です。
後学のため貼っておきます。

不採用の理由: 知的財産権の侵害

不採用の理由: ピントのブレ

不採用の理由:アーチファクトの問題

不採用の理由: 技術的な問題 

2017年6月19日月曜日

Shutterstock に Apply してみました!

最近写真にどハマりしてます。
せっかく写真を撮るのだから誰かに見せびらかしたい!
そんな一心で Web サービスを調べていたところ、ストックフォトとカテゴライズされるサービスをみつけました。

ストックフォトとは、オンラインで写真を売っているサービスで、
大手だと Shutterstock, Fotolia, istockphoto、国内だと PIXTA が有名です。

せっかくだからクリエイター登録して、最も審査が厳しいと言われる(※ 大手ストックフォト会社の比較をしてみます)、
Shutterstock に写真投稿してみました。



現状 9枚出してみて、6枚 accept, 3枚 reject でした。

Reject 写真とその理由を以下につらつら貼っておきます。
拒絶理由はどれも「なるほど」という納得感があります。。


Composition -- Distracting elements are entering the frame obscuring the main subject or the horizon


Focus -- The main subject of this image is not in focus.


Focus -- The main subject of this image is not in focus. 

Accept された写真はここには掲載できないですが、
Accept されたときは以下のようなメールが来ます。
ガチでテンション上がります!

Congratulations! You are now part of an active community of photographers, illustrators, vector artists and videographers around the world! Keep going and upload more content to increase your chances of sales.


私もフォログラファーのコミュニティーに入れましたよ。
これを糧に今後も頑張って写真撮っていきます!
ちなみに私は Canon のエントリー機、かつ価格com でベストセラーの格安一眼レフ使ってます。
むっちゃ安くなってるし、軽くて小さいので初心者の私にはベストマッチです。





最近は撒き餌レンズとよばれるこちらも愛用してます。
単焦点レンズなのでズームできないのが不便ですが、自分の足で絵を作るのが楽しいです。
f 値が小さくて明るいレンズだし、プロっぽいボケもしっかり作れます。
今も Amazon でベストセラーみたいですね。




2017年6月18日日曜日

注目すべき世界の写真家



今、注目すべき写真家

最近カメラにめっちゃハマりました。
一眼レフの設定や、撮影技法のうんちくは少しづつですが理解していっています。
せっかくカメラにハマったことだし、世界の有名な写真家ってどんな人がいるのだろうと疑問になったので調査してみて、
個人的に気になった写真家をまとめておきます。
偉大な人たちの真似をしつつ、どんどんカメラにのめり込んでいきますよー。

Cole Rise

カルフォルニア在住の写真家
壮大な風景や、時が止まったような不思議な写真が魅力です。
彼のinstagram アカウントはこちら。
https://www.instagram.com/colerise/
公式サイトの「WORK・BLOG」では、インスタグラムに掲載されていない写真も見ることができます。
http://www.colerise.com/

Erik Johansson

Erik Johansson は1985年、スウェーデンに生まれ。
エリックは純粋なカメラマンとは少し違い、写真を組み合わせて加工し、現実ではありえない世界を生み出しています。
写真家というか、デジタルアーティストというのが適しています。
彼は Google、Adobe、Microsoftなどの世界的 IT 企業とのコラボ作品を多数発表しており、いま世界から最も注目を集めているアーティストです。
彼の公式サイト ERIK JOHANSSON PHOTO を見るだけでもすごく楽しい。
彼の youtube チャンネル Erik Johansson youtube channel では、こういった現実には不可能な写真の構想から制作までのメイキングムービーが公開されていて、見ているだけでもすごく楽しい。
最初のアイデアがあり、設計があり、撮影があり、Photoshop作業があり、を早回しで見ることができます。
また、Erik の TED トーク では、彼の作品に対する考えや、奇妙な光景に命を与えるために従っている原則について話しています。
最新の写真集「Imagine」では彼の鬼才っぷりが存分に発揮されています。
これは絶対買うべき!!


中井精也

鉄道写真家。日本鉄道写真家協会事務局長。
1967年東京都生まれ。撮り鉄界の大御所です。
Amazon レビュー高評価(かつレビュー数120件超!!)の「世界一わかりやすいデジタル一眼レフカメラと写真の教科書」を出版。
私もこの本買って手取り足取り、知識ゼロから勉強させてもらいました。
一眼レフの f 値、シャッタースピード、ISO 感度などなど、超絶初歩からとってもわかりやすく解説されていてすごく参考になりました。


Hello!

Welcome to StackEdit!

sample

Hey! I’m your first Markdown document in StackEdit1. Don’t delete me, I’m very helpful! I can be recovered anyway in the Utils tab of the Settings dialog.


Documents

StackEdit stores your documents in your browser, which means all your documents are automatically saved locally and are accessible offline!

Note:

  • StackEdit is accessible offline after the application has been loaded for the first time.
  • Your local documents are not shared between different browsers or computers.
  • Clearing your browser’s data may delete all your local documents! Make sure your documents are synchronized with Google Drive or Dropbox (check out the Synchronization section).

Create a document

The document panel is accessible using the button in the navigation bar. You can create a new document by clicking New document in the document panel.

Switch to another document

All your local documents are listed in the document panel. You can switch from one to another by clicking a document in the list or you can toggle documents using Ctrl+[ and Ctrl+].

Rename a document

You can rename the current document by clicking the document title in the navigation bar.

Delete a document

You can delete the current document by clicking Delete document in the document panel.

Export a document

You can save the current document to a file by clicking Export to disk from the menu panel.

Tip: Check out the Publish a document section for a description of the different output formats.


Synchronization

StackEdit can be combined with Google Drive and Dropbox to have your documents saved in the Cloud. The synchronization mechanism takes care of uploading your modifications or downloading the latest version of your documents.

Note:

  • Full access to Google Drive or Dropbox is required to be able to import any document in StackEdit. Permission restrictions can be configured in the settings.
  • Imported documents are downloaded in your browser and are not transmitted to a server.
  • If you experience problems saving your documents on Google Drive, check and optionally disable browser extensions, such as Disconnect.

Open a document

You can open a document from Google Drive or the Dropbox by opening the Synchronize sub-menu and by clicking Open from…. Once opened, any modification in your document will be automatically synchronized with the file in your Google Drive / Dropbox account.

Save a document

You can save any document by opening the Synchronize sub-menu and by clicking Save on…. Even if your document is already synchronized with Google Drive or Dropbox, you can export it to a another location. StackEdit can synchronize one document with multiple locations and accounts.

Synchronize a document

Once your document is linked to a Google Drive or a Dropbox file, StackEdit will periodically (every 3 minutes) synchronize it by downloading/uploading any modification. A merge will be performed if necessary and conflicts will be detected.

If you just have modified your document and you want to force the synchronization, click the button in the navigation bar.

Note: The button is disabled when you have no document to synchronize.

Manage document synchronization

Since one document can be synchronized with multiple locations, you can list and manage synchronized locations by clicking Manage synchronization in the Synchronize sub-menu. This will let you remove synchronization locations that are associated to your document.

Note: If you delete the file from Google Drive or from Dropbox, the document will no longer be synchronized with that location.


Publication

Once you are happy with your document, you can publish it on different websites directly from StackEdit. As for now, StackEdit can publish on Blogger, Dropbox, Gist, GitHub, Google Drive, Tumblr, WordPress and on any SSH server.

Publish a document

You can publish your document by opening the Publish sub-menu and by choosing a website. In the dialog box, you can choose the publication format:

  • Markdown, to publish the Markdown text on a website that can interpret it (GitHub for instance),
  • HTML, to publish the document converted into HTML (on a blog for example),
  • Template, to have a full control of the output.

Note: The default template is a simple webpage wrapping your document in HTML format. You can customize it in the Advanced tab of the Settings dialog.

Update a publication

After publishing, StackEdit will keep your document linked to that publication which makes it easy for you to update it. Once you have modified your document and you want to update your publication, click on the button in the navigation bar.

Note: The button is disabled when your document has not been published yet.

Manage document publication

Since one document can be published on multiple locations, you can list and manage publish locations by clicking Manage publication in the menu panel. This will let you remove publication locations that are associated to your document.

Note: If the file has been removed from the website or the blog, the document will no longer be published on that location.


Markdown Extra

StackEdit supports Markdown Extra, which extends Markdown syntax with some nice features.

Tip: You can disable any Markdown Extra feature in the Extensions tab of the Settings dialog.

Note: You can find more information about Markdown syntax here and Markdown Extra extension here.

Tables

Markdown Extra has a special syntax for tables:

Item Value
Computer $1600
Phone $12
Pipe $1

You can specify column alignment with one or two colons:

Item Value Qty
Computer $1600 5
Phone $12 12
Pipe $1 234

Definition Lists

Markdown Extra has a special syntax for definition lists too:

Term 1
Term 2
Definition A
Definition B
Term 3

Definition C

Definition D

part of definition D

Fenced code blocks

GitHub’s fenced code blocks are also supported with Highlight.js syntax highlighting:

// Foo
var bar = 0;

Tip: To use Prettify instead of Highlight.js, just configure the Markdown Extra extension in the Settings dialog.

Note: You can find more information:

  • about Prettify syntax highlighting here,
  • about Highlight.js syntax highlighting here.

Footnotes

You can create footnotes like this2.

SmartyPants

SmartyPants converts ASCII punctuation characters into “smart” typographic punctuation HTML entities. For example:

ASCII HTML
Single backticks 'Isn't this fun?' ‘Isn’t this fun?’
Quotes "Isn't this fun?" “Isn’t this fun?”
Dashes -- is en-dash, --- is em-dash – is en-dash, — is em-dash

Table of contents

You can insert a table of contents using the marker [TOC]:

MathJax

You can render LaTeX mathematical expressions using MathJax, as on math.stackexchange.com:

The Gamma function satisfying is via the Euler integral

Tip: To make sure mathematical expressions are rendered properly on your website, include MathJax into your template:

<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"></script>

Note: You can find more information about LaTeX mathematical expressions here.

UML diagrams

You can also render sequence diagrams like this:

Created with Raphaël 2.1.2AliceAliceBobBobHello Bob, how are you?Bob thinksI am good thanks!

And flow charts like this:

Created with Raphaël 2.1.2StartMy OperationYes or No?Endyesno

Note: You can find more information:

  • about Sequence diagrams syntax here,
  • about Flow charts syntax here.

Support StackEdit


  1. StackEdit is a full-featured, open-source Markdown editor based on PageDown, the Markdown library used by Stack Overflow and the other Stack Exchange sites.
  2. Here is the text of the footnote.

2017年1月30日月曜日

最高の入門教材、「沈黙のWebライティング〈SEOのためのライティング教本〉」の感想まとめ

ブログで収益化するぞー!!と気合を入れてブログをはじめたものの、
文章を書くのが苦手な私は、時間をかける割に成果が出ずに頭を悩ませ続けてきました。
なにか良いノウハウが欲しい。
そんなときに運良く出会ったのが、「沈黙のWebライティング」の一冊です !!
ブログの収益化に不可欠な「SEOに強いライティングスキル」をマンガを通してやさしく学ぶことができます。
この本、実務的かつ非常にユニークで読みやすいライティング教本でして、内容の充実度がヤバい!!
今回は「沈黙のWebライティング」で得たノウハウについてまとめてご紹介したいと思います。



検索意図を考え抜こう

今の Google は検索エンジンを使うユーザーの意図を満足させるコンテンツを上位表示させる傾向にあります。

Google が掲げる 10 の事実 によると、「ユーザーの利便性を第一に考えている」とのこと。

したがって、本質的にユーザーにとって良いことをするという考えのもと、
検索エンジンを使うユーザーの「意図」を推測して、ユーザーを満足させるコンテンツを作るとよさそうです。

コンテンツ制作の際の Tips としては、試しに自分が上位表示させたいワードで検索してみて、
「実際に上位表示されているコンテンツがどんなものかをマインドマップにまとめてみる」などして分析するとよいです。

検索結果から相手の関心の対象を考え抜いて、「相手が求めるものはコレだ!」といった確度の高い仮説を立てましょう。

他にはないオリジナリティを追求しよう

「Unique Selling Proposition」、すなわち USP を意識しましょう。
検索上位上位のコンテンツを参考にしつつも、他のコンテンツにはない自分ならではの違いを出しましょう。

情報過多は「選択のパラドックス」を招く...!

ここではコンテンツ制作の注意点として、「選択のパラドックス」を紹介しておきます。
「選択のパラドックス」とは、本来、選択肢が多いほど人は満足度が高まるものと考えがちですが、
「選択肢が多すぎると却って何かを選べなくなってしまい、満足度が高まらない」という説のことです。

参考のため心理学者バリー・シュワルツの ted トークを紹介しておきます。

http://www.ted.com/talks/barry_schwartz_on_the_paradox_of_choice?language=ja


多すぎる情報は脳の負担となって、選択行動の妨げとなるので、
読み手に何かアクションを取ってもらいたいのであれば、
数多くコンテンツを掲載するのはいい方法ではないかもしれません。

企業の宣伝でいえば、「たくさんある他社と比べて優れている」という見せ方ではなく、
「この商品は他にはないこんな強みがある」という見せ方にシフトしましょう。

文章を読んでもらうために重要な3つのこと

1. 読み手にとって「自分事」になる感情や情報を取り上げる

感情は人に紐づくもので、「誰」がその感情を発しているかで、その感情のニュアンスは変わってきます。
たとえば、婚活体験記ひとつとっても「アラサー女子目線」なのか「20台前半の女の子」なのかで共感を得る読者も異なります。
「話者を明らかにすること」は、狙ったターゲットに狙った共感を起こす手助けになります。

2. 思わず読み進めたくなるような「適度な興奮」を提供する

適切な感情表現を使って読み手の興奮を誘いましょう。
また、ネットで読む文章であることも意識して、
改行や空白の入れ方を工夫して、「リズム」を作りましょう。

3. 読み手の脳の負担を減らす

伝えたいことがきちんと伝わるよう、「見やすさ」や「わかりやすさ」にこだわりましょう。
SEOに強いコンテンツで必要なのは“ユーティリティ要素”を意識することです。
そのために以下のポイントに注意してコンテンツを作りましょう。

見やすさ

* 記事の更新日を記載する(情報を求める人の多くは新しい情報を求めるので、記事の内容が新しい情報であることを明示しましょう。)
* 記事に書かれている内容をファーストビュー(冒頭文)で、簡潔に要約する(Webで記事を読む人たちは、その記事に自分がほしい情報があるかどうかがわからないとすぐに離脱します。その記事に何が書かれているのかを冒頭でわかりやすく伝えましょう)
* 記事にどんな情報が書かれているかがわかるように、「ページ内リンク」としての「目次」を設置する(情報量が多い記事の場合、「どこに何が書かれているのか?」がわからないとユーティリティ要素を担保しにくい。そのため、リンク付きの「目次」を使い、記事で扱う主要な情報を伝え、読み手が求める情報にすぐ移動できるようにする)

わかりやすさ

わかりやすい文章とは、読み手にとって「なぜ?」という疑問が残らない文章。
相手にとっての「なぜ?」を消化するために、書き手は読み手に対して、適切な「論理」を与えましょう。

論理とは、「物事の法則的なつながり」です。
読み手によって既知の事柄は異なってくるので、読み手の知識レベルを想定した論理の構築が不可欠です。

バズらせるための戦略を立てよう

共感層の巻き込み

共感させたい対象が誰で、どんな感情を共感させたいかの戦略を持ってコンテンツを作りましょう。

世の中で起きているトレンド、炎上ニュースなどは、

読み手の感情に強い共感を起こし、ソーシャルメディアの拡散につながり、それが「バズ」と呼ばれる。

「客観性」の担保

作りたてのサイトでは、既存のメディアに比べて信用が紐づいていません。

信用が「個」に紐づいていない状態なら、「数」で担保することを考えましょう。

たとえば、「みんなが言っていた」、「有名なあの人が言っていた」という情報は信憑性が上がるでしょう。

コミュニケーションにつながる演出

たとえ話や面白いフレーズは、記事の内容如何を問わず、誰かとコミュニケーションする際のネタとしてソーシャルメディアに投稿されやすいです。

また、読者が心置きなくツッコめるように、「メタ的な視点誘導」も意識するとよいです。
「今回の記事を読んで、あなたはどう思われますか?」という形で、結論を読者に委ねることで、
読者が自分の意見を発言したくなるよう導いたり、
自分の存在を小さく見せることで、読者に「上から目線」をもたせて読者にツッコミをいれさせたり。