JavaScriptでURLエンコード

JavaScriptでURLエンコードするならencodeURIComponent()かな

console.log(encodeURIComponent('あいうおえ'));

結果はこう

%E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A

デコードするならこう

console.log(encodeURIComponent('%E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A'));

はい戻りました

あいうえお

Slackのチャンネルやプライベートグループのタイトルを変更する

オーナーと管理者はチャンネルとプライベートグループのタイトルを変更することができる。手順は以下である。

  1. タイトルを変更したいチャンネルかグループをクリックする
  2. ページの上部にあるチャンネルかグループ名をクリックする
  3. アドバンスオプションを選択
  4. チャンネルもしくはグループのタイトルを変更してエンターすると完了

Thanks

slack.zendesk.com

JavaScriptのオブジェクトでもforEachやmapを使う

JavaScriptでobjectを回すにのにfor (var key in object) {}を使うことが多いが、Object.keys()を活用すればforEachで回せる。

var hoge = {
a: 1,
b: 2,
c: 3,
d: 4
};
Object.keys(hoge).forEach(function(key) {
console.log(key + ' : ' + hoge[key]);
});

ちゃんと出力される

a : 1
b : 2
c : 3
d : 4

これのいいところはmapとかfilterも使えるところかな。無名関数が使えるからこの辺のスコープ?的なものも汚さないしな。

array_columnで多次元配列の特定のキー一覧を取り出す

以下のような多次元配列の特定のキーを取り出してきてもう一個配列作れるみたいな? array_mapとか使って同じようなことできるけど、PHPにはarray_columnがあるのでこれを使った方が読みやすいな。

<?php
$result = [
[
'hoge1' => 'a1',
'hoge2' => 'a2',
'hoge3' => 'a3'
],
[
'hoge1' => 'b1',
'hoge2' => 'b2',
'hoge3' => 'b3'
],
[
'hoge1' => 'c1',
'hoge2' => 'c2',
'hoge3' => 'c3'
]
];
$test1 = array_map(function($array) {
return $array['hoge2'];
}, $result);
$test2 = array_column($result, 'hoge2');
print_r($test1);
print_r($test2);
echo "----------\n";
$result2 = [
'line1' => [
'hoge1' => 'a1',
'hoge2' => 'a2',
'hoge3' => 'a3'
],
'line2' => [
'hoge1' => 'b1',
'hoge2' => 'b2',
'hoge3' => 'b3'
],
'line3' => [
'hoge1' => 'c1',
'hoge2' => 'c2',
'hoge3' => 'c3'
]
];
$test3 = array_map(function($array) {
return $array['hoge2'];
}, $result2);
$test4 = array_column($result2, 'hoge2');
print_r($test3);
print_r($test4);
echo "----------\n";
$result3 = [
5 => [
'hoge1' => 'a1',
'hoge2' => 'a2',
'hoge3' => 'a3'
],
7 => [
'hoge1' => 'b1',
'hoge2' => 'b2',
'hoge3' => 'b3'
],
9 => [
'hoge1' => 'c1',
'hoge2' => 'c2',
'hoge3' => 'c3'
]
];
$test5 = array_map(function($array) {
return $array['hoge2'];
}, $result3);
$test6 = array_column($result3, 'hoge2');
print_r($test5);
print_r($test6);

とりあえずキーはリセットされる。でも設定でキーにするものを指定することもできる。とりあえずデフォルトの動作を確認したかった。

Google Map 上に自宅やスターを表示して便利に使ってみる

Google Map では自宅マークを表示したりお気に入りを登録して表示できる。せっかく便利なこの機能を私が調べられる範囲で調べてやり方まとめてみた。

お気に入りの場所を保存

お気に入りの地点を選択して下から出現する住所をタップすると詳細メニューが出てくる。ここに保存とかいうのが出てくるので保存すると以降、常にこの地点に黄色いスターが表示されて確認が容易になる。削除する時は再度保存をタップする。

たまに行く公園とか娘の幼稚園にスターを付けておけば、アプリ開いてスターをクリックしてすぐに経路を表示したいできる。実家とか親戚の家とかにスターを付けておくと便利そうだ。

自宅や職場追加

スマホGoogle Mapアプリを開いて左からスライドすると出てくるメニュー内にあるマイプレイスから、自宅と職場が追加できる。

このスマホのマイプレイス便利で、今まで追加したお気に入りも一覧になっている。何件一覧になるかは知らないけど、PC版でも欲しい。現状はマップを縮小して日本列島を表示して、そこからスターを一つずつクリックして削除していく感じw

PythonでURLエンコード

urllibを使って簡単にURLエンコードできた

import urllib
print urllib.quote('start hoge end')

実行してみるとこんな感じ

$ python example.py
start%20hoge%20end

他にもいろいろな方法があるみたいで詳しく調べてないけど、内部で使う適当コードならならこんな感じで十分だろう