とりあえずsubversionで生きていく。

愚痴。

ゴールデンウィークですね。今年も引き籠りの年になりそうです。
来年はどうなるんですかね・・・

まぁ、そんなことはともかく。

ここ半年、gitのトレーニングをしようと、趣味用途のプログラムはほとんどgitを利用して管理してきました。
クラウドサービスでVPSのインスタンスを1個作ってリモートリポジトリとして使って勉強。

結局のところ、僕のような頭の硬いおっさんには、ちょっと肌に合わないな、と思い、結局のところ挫折してしました(-_-;)
根本的に git を理解できなかった。っていうか、gitとかsubversionでブランチを使用した開発の手法をよく理解していないのが根本的な理由かなぁ。

挫折したポイントとしては、ブランチの扱い方が Subversionとあまりに違い過ぎて、付いていけなくなった(理解できなかった)こと。
いや、issue毎、feature毎にブランチを切って、マージして、という、一連の流れは分かるんですよ。
それこそ、チュートリアル的な単純なプロジェクトだと普通に分かるんすよ。ある程度コツがつかめてきて、仕事で使おうとしてたんだけど・・・どういえばいいのかちょっと迷うんだけど・・・ブランチを切る粒度というか、それがイマイチ分からないんですよねぇ。。。

アプリのソースがあって・・・
1. ある不具合があって、masterから修正のためのブランチを切る。
2. そのブランチでバグ潰しているうちに、そのバグに関連して別のバグを発見!😭

この時、
A. masterブランチから別のブランチを切って、後々リベースすればいいのか???
B. そのブランチでついでにその関連したバグを修正すればいいのか???
C. 一旦コミットしたのち、またブランチを切りなおせばいいのか?
subversionだとそんなの構わず一気に修正して、コミットして、ログに修正項目を羅列してたんだけど・・・。要は作業記録して残してるだけ、みたいな。

さらに、客側から、新しい機能のリクエストがあって、それを featureブランチを切って・・・とかやってると、慣れない git のブランチの管理でパニック!

これがチームで開発してて、同じ git使いなら、「ねぇ、今、こっちの修正で時間かかってるんで、別のバグ修正しといてくれない?」って感じで頼めるんだろうけど、おひとり様開発なので、んなのメンドクサイから、ついでに直して一緒にコミットすればいいや、って風になってしまう。
こういうのが重なってくると git の良い所を自ら潰していってるようなもん。履歴なんて滅茶苦茶。

結局、git を仕事で使うのを断念して、Subversionで、バグがあるたびに、issueブランチを作って(コピーして)、修正したらtrunkにマージして・・・という風な感じで進めていった方が生産的じゃないか???と思いつつあります。。。

一人で開発してるのって、制約がないので自由にできるけど、逆に言えば、引き継ぎのハードルが異常に高くなってしまう。
んー、こんな煩わしいことに時間を割きたくないんだけどな・・・

Windows10 !

Surface3 にアップグレード通知が来たので早速実行。CLEyKrXUYAA6GcD_orig
1時間ほどほっとくとアップグレード終了してた。

ただ・・・せっかくWindows8.1の操作に慣れてきた・・・と思ってたら、Windows10になってさらに変わってしまったので、ちょっとイライラ(..;)

とりあえず、「どうすればいいのか教えて欲しい」項目。

  1. タブレットモード時だけ解像度を150%にできないもなのか・・・・?
  2. USキーボードで右ALTキーに漢字トグルを割り当てたけどそれが効かなくなった。

amazonの商品ページから画像一覧を取得するブックマークレット

2017年1月18日 追記
アマゾンの画像を置いているサーバーのドメインが変わったみたい?
ドメイン名のところを修正しています(m´・ω・`)m ゴメン…


ひさしぶりにブックマークレット・ネタ。

会社でたまに、商品紹介の版下データをIllustratorで作成することがあるのですが・・・商品画像を集める作業は一苦労してました。あるときは、紙のカタログからスキャンしたり、PDFのページをリーダーで表示させた状態をスクリーンショット撮ったり(笑)、まぁ結構なんぎしてました。
でも最近は違います! アマゾンのサイトに行くと、ほぼ全ての画像が!!!(^^;;; ま、当たり前だけど、amazonに載ってある画像を勝手に版下データに流用するのはチョシャッケンを侵害!!! ってのは理解しているんですが、商品メーカーの販売会社の営業さんとかに問い合わせもらっても、いちいち対応がメンドクサイのか、アマゾンの画像を使えと(笑) 末端の下っ端なんてそんなもんですよ。

ってなわけで、ブラウザでいちいち右クリック・画像保存・・・とかいうルーチンは、パソコンが得意。

商品ページのHTMLコードをザラッと解析して(< オーバーだよ・・・)、ブックマークレットを作った。
だいたい、↓ こんな感じ。

/* 
amazonの任意の商品ページでF12キーでDevツールを出し、
コンソールにて以下をコピペして実行して試せます。
2017/1/18 画像サーバーのドメイン名をマッチするための正規表現を修正してます。
*/
(function($,undefined)
{
  var multi = {};
  var m = $.each($('body').html().match(/https?:\/\/images\-\w+\.ssl\-images\-amazon\.com\/images\/I\/(?:[\w%\-]+)(?:\._S[A-Z]\d+_)?\.jpg/g),
                function(i,v)
                {
                  var url = v.replace(/\._S[A-Z]\d+_/,'');
                  if(url in multi)
                    return;
                  multi[url] = null;
                });

  var urls = [];
  $.each(multi,
         function(url,v)
         {
           urls.push(url);
         });

  var len = urls.length;
  var doc = window.open("","image").document;
  doc.open("text/html");
  doc.writeln("<html><head><title>Imaging</title><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"></head><body><p><a href=\"javascript:window.close();\">ウィンドウを閉じる。</a></p><p>");
  for(var i=0;i<len;i++)
    {
      doc.writeln("<a target=\"_blank\" href=\"",urls[i],"\"><img width=\"100\" border=\"0\" src=\"",urls[i],"\"></a>");
    }
  doc.writeln("</p></body></html>");
  doc.close();

})(jQuery);

ただ、これだと、window.openメソッドを使っているので、ブラウザの設定によってはポップアップブロックされるかも。amazon.co.jpだけ例外設定してやればヨシ。

上のコードをコピペしてブラウザのデベロッパーツール>console にて確認してみてください。
ポップアップされたウィンドウまたはタブに画像がデデデと列挙されるはず・・・されなかったらごめんなさい。
画像は幅100ピクセルに縮小して表示されてますが、画像をクリックしてやると大きくなるはず・・・されなかったらごめんなさい。

wordpress.comでは javascript: なリンクは貼れないので、ミニファイしたコードを↓に書いときますので、適当なブックマークを作って、編集して、URLに、↓のコードをコピペして保存してください。

javascript:(function($,undefined){var multi={};var m=$.each($('body').html().match(/https?:\/\/images\-\w+\.ssl\-images\-amazon\.com\/images\/I\/(?:[\w%\-]+)(?:\._S[A-Z]\d+_)?\.jpg/g),function(i,v){var url=v.replace(/\._S[A-Z]\d+_/,'');if(url in multi)return;multi[url]=null});var urls=[];$.each(multi,function(url,v){urls.push(url)});var len=urls.length;var doc=window.open("","image").document;doc.open("text/html");doc.writeln("<html><head><title>Imaging</title><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"></head><body><p><a href=\"javascript:window.close();\">ウィンドウを閉じる。</a></p><p>");for(var i=0;i<len;i++){doc.writeln("<a target=\"_blank\" href=\"",urls[i],"\"><img width=\"100\" border=\"0\" src=\"",urls[i],"\"></a>")}doc.writeln("</p></body></html>");doc.close()})(jQuery);

使い方は・・・分かりますよね? amazonって、頻繁に表示方法を変えているので、たぶんそのうち使えなくなるかもですね。
あ、エッチな商品の画像を取っちゃだめですよ(笑) あくまでお仕事の一助に(^^;;;

ブックマークレットって何? どうやって登録するの? どうやって使うの? おいしいの? とかいうメンドクサイ人は・・・適当にググってください(_ _)

Lightroom mobile

連休終わりますね。木・金と休み取ってる人は、後4日も休みですかね。出不精のおいらにとって連休は別の意味で苦痛だったりして(^^;

なんか「連休をエンジョイ(死語)していないオレ」的な自虐をブログやSNSとかで愚痴ってるのはよく見ますが・・・まぁ、全員が全員、充実した連休を過ごしているわけでもなく・・・特に社会人失格のおいらは、休みたいときは休めるし・・・世間で言うところの「連休」には、あまり有り難みを感じない・・・ああ、もうダメダメ人間ですね(^^;

休み中はせっせと写真の整理。(・・・ぐらいしかすること無いです(^^;;;
Lightroom CCでコレクション作成を延々とやってました。
本来、Lightroomは全ての写真画像を一つのカタログで完結して、カタログ内のコレクションで整理するように推奨されている(うろ覚えなのですが・・・)のですが、そのやり方だと手間がかかる上、画像データファイルを、直近1~2年のデータは内蔵HDD、それ以前のデータは普段はオフラインの外付けHDDに移動、と分けている関係で、一つのカタログでやろうとすると、常にオフラインの外付けHDDを起動していなければならず・・・。

んなわけで適当な規則で複数のカタログを作って運用中。
今まではこれで全然問題無かったんですが、iPadにLightroom mobileを入れて使うと問題が発生。。。Lightroomは一つのカタログでしか同期できない仕様。

ってなわけで、「Lightroom mobileのためだけに」同期用カタログを一つ作成。

  1. 他のカタログで、同期したいファイル群のコレクションを作成。
  2. そのコレクションをカタログに書き出す機能で書き出す。
  3. 書き出したカタログを「同期用」カタログ内からインポート。
  4. インポートしたらそのコレクションをLightroom mobile同期にマーク。

てな感じで、この連休中iPadで同期したい写真のコレクション作成を延々やってました。
外付けHDDに保存されている写真に関しては、コレクションをカタログに書き出すときに「元画像をコピー」することで同期したいファイルだけコピーするので内蔵ディスクも圧迫されずに済む。

ええ感じになってiPadでLightroom(もどき)で閲覧・補正(^.^)

ただ、他の皆さんが言われているように、iPadで色調補正しても、液晶の発色がまったく違うので、あんまり意味ないような・・・。そもそもLightroom mobileは何をするアプリなのか・・・それを言っちゃお終いですが・・・。

≪いずれもiPad Air / Lightroom mobile のスクショ≫
20150506_095035000_iOS 20150506_095215000_iOS
20150506_095319000_iOS 20150506_095414000_iOS

サブ・ディスプレイ

ウィンドウをパカパカ何個も開いてコーディングしてると、やっぱりディスプレイがもう一つ欲しくなるわけです。エディタで編集/複数のブラウザ、タブ/メールソフト/画像編集ソフト/無数のフォルダウィンドウ/サーバー接続へのターミナル・・・と、一つのディスプレイ上で複数のウィンドウをスイッチして使ってると、とてつもなく効率が悪い。

ってなわけで、先週末に仕事の打ち合わせで大阪へ出てふと帰りに寄ったヨドバシで、ほぼ衝動買い(^^;;;

ASUS の MB168B+ というUSBモニタ

これを選んだ理由は簡単! USBケーブル一本で接続できる、ということ。電源ケーブルとか必要なし。USBバスパワーで動作可能な点。それに極薄!(笑) 15インチのFullHDで解像度的にも良いし。ノートパソコンからディスプレイパネルを引きちぎってきた感じでしょうか。

インストールはDisplayLinkチップのドライバを入れるだけで終わり。

ただ、これ、Windows7を使っているんですが、ディスプレイ毎の色調整ができない? ディスプレイの色温度がおそらく9000Kとかになってるのか、すっげー青いっす。なんか解決方法ないのかな・・・? ディスプレイ自体は輝度・コントラストしか調整できないので、そこだけが残念かな。

色が調整できない!!!

色が調整できない!!!

このサイズのUSBモニタの需要が少ないのか、あまり数が無さそうです。まぁ、普通はHDMI入力のディスプレイを選びますよね(^^ゞ
会社のPCで使う前提なんで、USB接続しか選択肢がないんですよねぇ。。。