ハイフンぽい文字列をUnicode に変換してそれを「全角の長音」に変換する
文字列をUnicode に変換して置換する
ここではJavascriptでハイフンぽい文字列をUnicode に変換してそれを「全角の長音」に変換する例を示します。
Unicode ⇔ 文字列 への相互変換
“\uXXXX"形式の4桁の16進数を文字に変換
String.fromCharCode(0xff0d); // "-"
文字を"\uXXXX"形式の4桁の16進数で表すに変換
"-".charCodeAt(0).toString(16); // "ff0d"
正規表現で置換する処理に応用
var h = v.replace( /[‐-−―]/g, 'ー');
は以下のように表すことができます。
v.replace(/[\u2010\uff0d\u2212\u2015]/g, '\u30fc');
検証
"‐-−―".replace(/[\u2010\uff0d\u2212\u2015]/g, '\u30fc');
参考
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/RegExp#Special_characters_in_regular_expressions https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode
改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで
- 作者: 山田祥寛
- 出版社/メーカー: 技術評論社
- 発売日: 2016/09/30
- メディア: 大型本
- この商品を含むブログを見る
今月はお休み
今月は記事を書けなかった。
来月本気出す。
Atom でプロジェクトの検索結果をクリップボードにコピーする
AtomでGrep検索の結果をコピーしようと右クリックするとコピーするというメニューが存在しない。
ファイル名をコピーしてチャットに貼りたい場合、同じ作業をターミナルや他のエディタで行わなければならず地味にフラストレーションがたまる。
現在、検索結果をコピーするという機能はAtomには実装されていないようだ。
プルリクエストがあるがマージに失敗して取り込まれていない!
というわけで、Atom でプロジェクトの検索結果からファイル名を抽出する手順を以下に記載する。
手順
1: Ctrl + Shift + i
でDeveloper Toolsを開く。
2: 以下のコードをコンソール上で実行する。
pack = atom.packages.getActivePackage('find-and-replace') pack.mainModule.resultsModel.results
3: 出力されたObjectの上で右クリック。
4: Strore as a global variable を選択する。
すると、tempX (Xは数値)という変数が生成される。
5: コンソール上で以下を実行する。
※Windowsなので\を/に変換している。
copy(Object.keys(temp1).map(function(d) {return d.replace(/\\/g, '/');}));
これでクリップボードにtempXの内容が以下のような形式でコピーされる。
[ "C:/file/path/path.js" ]
あとは、コードをスニペットに登録するなどして使い勝手をよくする。
マージして
しかし、なぜこの機能がまだ実装されていないのか。
はやくマージして使えるようにしてほしい。
Atom実践入門──進化し続けるハッカブルなエディタ (WEB+DB PRESS plus)
- 作者: 大竹智也
- 出版社/メーカー: 技術評論社
- 発売日: 2016/07/14
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (3件) を見る
コインランドリー事情 - 所有から共有へ
地味に儲かる
今日のお手紙 » Blog Archive » 世にも楽しいコインランドリー@ポートランド
最近はコインランドリー投資がはやっているらしい。
「実際、コインランドリーは儲かるんですか?」
すると、こんな答えが即返ってきました。
「地味に儲かります!」儲かるでも、「地味に」というあたりがなんとも生々しい。コインランドリーは手堅い商売で、急激に売り上げが上がることはないが、徐々に右肩上がりで推移していく商売なのだそうです。
地味に儲かる、いい言葉だ。
知っている人だけが儲かる コインランドリー投資のすすめ (幻冬舎単行本)
- 作者: 三原淳
- 出版社/メーカー: 幻冬舎
- 発売日: 2016/05/06
- メディア: Kindle版
- この商品を含むブログを見る
なるほどと思ってKindleでこの書籍を購入してみました。
ポジショントークが鼻につくが、事実コインランドリー数は増えているので儲からないことはないのだろう。
自分は自宅に乾燥機があるが業務用の乾燥機に比べて一度に乾燥できる量、パワーには不満を感じている。
ガスで一気に乾燥する業務用の乾燥機で乾かした洗濯ものは違うのだ。
様変わりするコインランドリー
画像はドイツのベルリンにあるカフェっぽい感じのコインランドリーで乾燥機回している間の時間を快適に過ごしてもらう工夫、Wi-Fiが飛んでたり、をいろいろとしている。
日本ではこのブランドのトートバッグが人気だ。
冒頭の画像もポートランドのコインランドリーのもの。
もうね、カフェやコインランドリーといった言葉では表現できない空間ですよね。
さすがに日本でこんな土地の使い方は難しいかもしれないけどこれだったら洗濯ものを乾燥させるついでにちょっと作業するかーってなりますね。
あと雰囲気が清澄白河のブルーボトルコーヒーに似てますね。
工場かなにかを改修したのかな?
コインランドリーは乾燥が終わるまでどこかで時間を潰すか、回る洗濯ものを眺めるかのどちらかしか選択肢はなかった。
村上春樹の世界の終りとハードボイルド・ワンダーランドでコインランドリーの描写がある。
じめじめした天気の日に所在なさげにすごす場所、それがコインランドリーというものである。
雨の日曜日ということで、コイン・ランドリーの四台の乾燥機は全部ふさがっていた。
色とりどりのビニール・バッグやショッピング・バッグがそれぞれの乾燥機の把手にかかっていた。 ランドリーの中には三人の女がいた。
一人は三十代後半の主婦で、あとの二人は近所の女子大の寮に住んでいる女の子のようだった。
主婦はなにもするともなくパイプ椅子に座ってTVでも見るみたいにじっと観点する洗濯ものを眺めていた。
女子大生は二人並んで「JJ」のページを繰っていた。
もちろん、気の利いた人間は休日の午後をコインランドリーで過ごすことなどしない。
私は椅子の上で全身の力を抜いて、空間の一点をぼんやりと眺めていた。
ランドリーの中には衣服の乾燥していく独特の臭いと洗剤の臭いがいりまじった不思議な臭いが漂っていた。
となりでは二人の女子大生がセーターの柄について話し合っていた。
どちらもとくに美人というわけではない。
気の利いた女の子は日曜日の午後にコイン・ランドリーで雑誌を読んだりはしていない。
いいぞ春樹!
乾燥機にかけて洗濯ものが乾くまで30分くらいの時間が発生するわけですね。
ここにビジネスチャンスがあると世の中の資本主義の権化どもは考えるわけです。
この30分の間にコーヒーでも売りつけて、おしゃべりでもさせとけばいいじゃんと。 コインランドリー側からしてみれば、ドリンク代も売り上がるし、乾燥機も効率的に回すことができるしでメリットばかり。
利用者だって快適に過ごせて、インスタにあげられるようなおしゃれなコーヒーを提供してくれるならうれしいですよね。
おだやかな気持ちで他人の自慢投稿を読み流すことができると思います。
都内でもこんな感じでコインランドリーをコミュニケーションの場として提供しているところもあります。
所有から共有へ
少しずつですが個人の所有から、みんなで共有するという方向に社会が動いているようです。
この動きを後押ししているのがテクノロジーだというのが面白いですね。
心をもたないテクノロジーが人と人のつながりを生む手助けをしてくれている。
カーシェアリングとか
音楽のストリーミングはちょっと違うけど個人が所有していないという意味では同じですね。
こうやって世の中の変化に意識的になるのは面白いですね。
ちなみに、コインランドリー1500万くらいからではじめられるそうです。
2016年に読んだ書籍ー人体六〇〇万年史 など
本棚を見ればその人がわかるという格言があったようななかったような。
というわけでAmazonの購入履歴から2016年に読んだ本をまとめてみます。
プログラミング
Python機械学習プログラミング 達人データサイエンティストによる理論と実践 impress top gearシリーズ
- 作者: Sebastian Raschka,株式会社クイープ,福島真太朗
- 出版社/メーカー: インプレス
- 発売日: 2016/06/30
- メディア: Kindle版
- この商品を含むブログ (1件) を見る
パラっと読んで雰囲気つかんでそれっきりですが…
ブレイクスルーJavaScript フロントエンドエンジニアとして越えるべき5つの壁―オブジェクト指向からシングルページアプリケーションまで (WEB Engineer’s Books)
- 作者: 太田智彬,田辺丈士,新井智士,大江遼,株式会社アイ・エム・ジェイ
- 出版社/メーカー: 翔泳社
- 発売日: 2015/04/17
- メディア: 大型本
- この商品を含むブログ (4件) を見る
内容も実践的かつ薄いのによくまとまっていてよかった。
HTML5プロフェッショナル認定試験 レベル2 対策テキスト&問題集 (Mynavi Examination Library)
- 作者: 右寺隆信,NTTソフトウェア株式会社
- 出版社/メーカー: マイナビ出版
- 発売日: 2015/12/25
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
教育用に買ったのだけど自分の知識の整理になってオトクな一冊でした。
コンピュータ・IT
10年戦えるデータ分析入門 SQLを武器にデータ活用時代を生き抜く (Informatics &IDEA)
- 作者: 青木峰郎
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2015/06/30
- メディア: 単行本
- この商品を含むブログ (6件) を見る
これからエンジニアと非エンジニアの区別がつかなくなる時代を見越した一冊。
データが欲しかったら自分でSQL叩く時代ですよ。
- 作者: David J. Anderson
- 出版社/メーカー: リックテレコム
- 発売日: 2014/10/10
- メディア: Kindle版
- この商品を含むブログ (1件) を見る
個人的には欲しい情報はそんなになかったですが読み物として読みました。
- 作者: ジョン・ソンメズ
- 出版社/メーカー: 日経BP社
- 発売日: 2016/06/02
- メディア: Kindle版
- この商品を含むブログ (2件) を見る
筋トレはいいぞとか、瞑想しろとか、どんどん人に会うべきだとか書いてあってこの本はいったい何の本なんだ!?って思いました。
個人的には2016年の異端の書として半笑いで読んだ。
決して間違ってはいないけどね、これを周りのエンジニアに進めてもねウザいやつだなと思われるのが関の山。
ビジネス
クリティカルチェーン―なぜ、プロジェクトは予定どおりに進まないのか?
- 作者: エリヤフゴールドラット,三本木亮
- 出版社/メーカー: ダイヤモンド社
- 発売日: 2003/10/31
- メディア: 単行本(ソフトカバー)
- 購入: 12人 クリック: 142回
- この商品を含むブログ (118件) を見る
得てしてこういう類の本は小説としてのクオリティ低くてゲンナリするのだが、ちゃんと小説になっていてすごい。
で、欲しい情報がそこにあったかというとなかった。
ノンフィクション
アカマイ 知られざるインターネットの巨人<アカマイ> (角川EPUB選書)
- 作者: 小川晃通
- 出版社/メーカー: KADOKAWA / メディアファクトリー
- 発売日: 2014/08/11
- メディア: Kindle版
- この商品を含むブログ (5件) を見る
- 作者: ダニエル・ゴールドベリ,リーヌス・ラーション,羽根由
- 出版社/メーカー: KADOKAWA / 角川学芸出版
- 発売日: 2014/03/27
- メディア: Kindle版
- この商品を含むブログを見る
好きな人なら。
- 作者: マルク・レビンソン,村井章子
- 出版社/メーカー: 日経BP社
- 発売日: 2007/01/18
- メディア: 単行本
- 購入: 6人 クリック: 72回
- この商品を含むブログ (46件) を見る
正直書評のほうが面白かったぜ。
- 作者: マイケル・ルイス,東江一紀
- 出版社/メーカー: 文藝春秋
- 発売日: 2013/03/08
- メディア: 文庫
- 購入: 1人 クリック: 30回
- この商品を含むブログ (20件) を見る
貧困
- 作者: 鈴木大介
- 出版社/メーカー: 太田出版
- 発売日: 2014/03/05
- メディア: Kindle版
- この商品を含むブログ (2件) を見る
- 作者: 鈴木大介
- 出版社/メーカー: 幻冬舎
- 発売日: 2014/09/27
- メディア: 新書
- この商品を含むブログ (36件) を見る
- 作者: 堤未果
- 出版社/メーカー: 岩波書店
- 発売日: 2008/01/22
- メディア: 新書
- 購入: 39人 クリック: 606回
- この商品を含むブログ (374件) を見る
歴史
サピエンス全史(上) 文明の構造と人類の幸福 サピエンス全史 文明の構造と人類の幸福
- 作者: ユヴァル・ノア・ハラリ
- 出版社/メーカー: 河出書房新社
- 発売日: 2016/09/16
- メディア: Kindle版
- この商品を含むブログを見る
でも貨幣は人類普遍の宗教という考え方は目からうろこだった。 下巻は未読。
科学
- 作者: ジュリオ・トノーニ,マルチェッロ・マッスィミーニ
- 出版社/メーカー: 亜紀書房
- 発売日: 2016/06/10
- メディア: Kindle版
- この商品を含むブログを見る
意識がないと僕らが思っている人たち(事故で植物状態になったとか)にも意識はあるんだよとか麻酔は記憶をなくすだけで意識はあるらしいよとかそういう話。
The Story of the Human Body: Evolution, Health and Disease
- 作者: Daniel Lieberman
- 出版社/メーカー: Penguin
- 発売日: 2014/10/02
- メディア: ペーパーバック
- この商品を含むブログを見る
個人的にはこの本が2016年のベスト。
小説
- 作者: モーム,中野好夫
- 出版社/メーカー: 新潮社
- 発売日: 2007/04/24
- メディア: 文庫
- クリック: 4回
- この商品を含むブログ (14件) を見る
- 作者: 川添愛
- 出版社/メーカー: 東京大学出版会
- 発売日: 2013/04/19
- メディア: 単行本
- この商品を含むブログ (11件) を見る
精霊の箱も読まねば。
- 作者: はしごたん
- 発売日: 2016/02/21
- メディア: Kindle版
- この商品を含むブログを見る
エッセイ
- 作者: 妹尾河童
- 出版社/メーカー: 新潮社
- 発売日: 1983/07/27
- メディア: 文庫
- 購入: 4人 クリック: 51回
- この商品を含むブログ (27件) を見る
筋肉
- 作者: Frederic Delavier
- 出版社/メーカー: Human Kinetics (Trade)
- 発売日: 2010/03/09
- メディア: ペーパーバック
- この商品を含むブログを見る
Delavier's Core Training Anatomy
- 作者: Frederic Delavier,Michael Gundill
- 出版社/メーカー: Human Kinetics (Trade)
- 発売日: 2011/11/07
- メディア: ペーパーバック
- この商品を含むブログを見る
はい。このトレーニングはどの筋肉を鍛えているのかが一目瞭然です。
見てるだけで楽しいです。
筋肉は裏切らない。
総評
The Story of the Human Body: Evolution, Health, and Diseaseがベストでした。
脳とか人間の体についての本が好きだなあとあらためて思いました。
貧困をテーマに三冊も読んでいてBrexitのちょっと前くらいだったかなあ。世界はひとつよ国境なんていらない派とんなわけねーだろこのスットコドッコイ派の分断が浮き彫りになったなあと。
ブレイディみかこの底辺からの保育士目線のほうが、セレブ気取りのミュージシャンなんかよりもよっぽど説得力があるわけですね。
困ったことになりましたね、特にヨーロッパはもうやばいですね。
$.ajax で直列処理を行う
2016年もjQuery を使ってます。
ふと、以下のようなことがしたくなりました。
非同期ではなく一つの処理が終わったら次の処理を実行するようにして、処理の順番を保証したい
戻ってきたdata を処理してViewに描画したい
でいろいろと悩んだのですが以下のように実装しました。
// number_list は可変リストという想定 var number_list = [ 'number1', 'number2', 'number3', 'number4', ]; var html_data = []; var number_list_length = number_list.length; var loadDataRecursive = function(){ if(!number_list ) { return; } var number = number_list.shift(); var url = '//cdn.hogehoge.jp/json/' + number + '.json'; $.ajax({ type: 'GET', url: url, dataType: 'jsonp', jsonpCallback: 'callback_' + model_code, }).done(function(data) { // dataをつかって描画処理する html_data.push('<p class="title">' + data.productName + '</p>'); html_data.push('<p class="title">' + data.productNumber + '</p>'); // 最後まで処理を行ったらappend する if(number === number_list_length) { $('#model-list').append(html_data.join('')); } // 再帰的にコール if (number) { loadDataRecursive(); } }).fail(function() { console.log("loadDataRecursive is failed: " + number ); }); }; loadDataRecursive();
ポイントは
var number = number_list.shift();
と
if (number) { loadDataRecursive(); }
です。
shift()
メソッドは、配列から最初の要素を取り除き、その要素を返します。このメソッドは配列の長さを変えます。
いわゆる破壊的なメソッドです。
返された要素をもとに非同期通信を行い、number_list
が空になるまでloadDataRecursive()
を実行し再帰的に繰り返します。
loadDataRecursive()
自体はひとつのjson しか処理を行いません。
number_list
の要素数だけ、処理を繰り返すことで処理の順番が保証されます。
描画処理以下のように行います。
配列にDOMデータをプッシュしておいて最後にそいつを表示したいDOMにappend()
します。
// dataをつかって描画処理する html_data.push('<p class="title">' + data.productName + '</p>'); html_data.push('<p class="title">' + data.productNumber + '</p>'); // 最後まで処理を行ったらappend する if(number === number_list_length) { $('#model-list').append(html_data.join('')); }
これを実現するために丸一日つぶれました。
インプラントの手術をしました
インプラントを2本植えた。
手術中に麻酔が効いていない部分があったのかすごく痛い思いをしたり、歯の根元に穴を開けるときに鼓膜に直接ドリルの音がキーンって響いたりしてなぜ自分はお金を払って体の中に異物を埋め込むことをしているのだろうと自分自身のやっていることの意味を見失いそうになりました。
お金払って骨を削ってできた穴に異物を突っ込むというプレイをしてきました
— メダカに餌をあげる人 (@_snowlong) October 29, 2016
金額ですが2本で40万。数ヶ月後インプラントがよく馴染んできたら上モノの歯をかぶせるのでそのときにまた40万。
合計80万。
最上級のMacBook Proがお安くみえますね。
40万払っておれの歯の根本にボルトをボルトを入れてくれーってかなりの上級プレイだと思います。
で、翌日。
歯ぐきが腫れて朝が来た
— メダカに餌をあげる人 (@_snowlong) October 29, 2016
歯ぐきがすごく腫れました。
ちなみに↓の画像は当日届いたiPhone 7+ で撮影した画像です。思わず自撮りしちゃった☆(ゝω・)vキャピ
実家の母親にインプラントを埋めるよという話をしたところ金額のフェーズになるともっとよく考えた方がいいのではと急に真剣モードに突入してこんな本を送りつけてくれたりしてくれました。どーもです。
歯科大教授が明かす 本当に聞きたい!インプラントの話 (角川SSC新書)
- 作者: 矢島安朝
- 出版社/メーカー: KADOKAWA / 角川マガジンズ
- 発売日: 2013/05/09
- メディア: Kindle版
- この商品を含むブログを見る
痛みは特に痛み止めなくても痛くないので予後は順調だと思われます。
ただ、歯ぐきと体が重い感じです。
ではまたね。
2016/11/06 追記
インプラントを埋めてから一週間は歯茎が腫れて全身だるくて風邪のような症状でなにもする気が起きませんでした。
思ってた以上に体に負担がかかっていたようです。
腫れはだいぶんおさまってきたけどまだだるいです。