あいつの日誌β

働きながら旅しています。

weworkremotely.com をスクレイピングしたメモ

英語の勉強しているのですがモチベーションを維持したいなあと思って書いたスクリプトです。

海外で remote worker 向けの求人サイトがあるので時々眺めていると location が Anywhere となっている求人があって「英語話せるようになれば日本に居ながら仕事もらえるんじゃね?」と思ったりしてモチベーションが維持できます。

なんですが詳細ページを開かないと Must be located が表示されないので画面をぽちぽちする時間が無駄な気がした次第です。

const _ = require('lodash')
const chalk = require('chalk');
const scrapeIt = require('scrape-it');

const url = "https://weworkremotely.com/categories/remote-programming-jobs";

main()

async function main() {

  const result = await scrapeIt(url, {
    items: {
      listItem: ".feature",
      data: {
        link: { 
          selector: "a",
          attr: "href"
        }
      }
    }
  })

  const links = result.data.items.map(x => `https://weworkremotely.com${x.link}`)

  const tasks = [];
  for (let i = 0; i < links.length; i++) {
    tasks.push(scrapeIt(links[i], {
      title: ".content h1",
      company: ".company",
      location: ".location",
      region: ".region",
    }))
  }
  const results = await Promise.all(tasks)
  const jobs = results.map(result => Object.assign(
    _.pick(result.data, ['title', 'company', 'location', 'region']),
    { link: result.response.responseUrl }
  ))
  console.log(`Found jobs: ${jobs.length}`)
  jobs.forEach(job => {
    console.log(job.title, job.company, chalk.yellow(job.location), chalk.green(job.region))
    console.log(chalk.underline(job.link))
  })
}

とりあえず何件かは英語を話せればいけそうな求人があるのでモチベーションが維持できる気がしました。おしまい。

ニセコに4泊5日で旅をしてきた(2)

f:id:okamuuu:20190214210925j:plain

雪が降る時期に東京からニセコに直接向かうのはちょっと心配だったのと、ちょうど旅行の時期が雪まつりの時期と重なっていた為、東京とニセコの中継地として札幌のドミトリー式のホテルにも宿泊しました。

というわけで札幌で泊まったカプセルホテルをほんの少しレビューします。

  • シティキャビン BY ニコーリフレ(男性専用)
  • ビズコートキャビンすすきの(男性専用)

シティキャビン BY ニコーリフレ

f:id:okamuuu:20190214210802j:plain

とても便利な場所にあるカプセルホテルです。JR札幌駅南口より徒歩1分。札幌バスターミナルより徒歩1分です。

札幌からニセコまではバスで移動する事にしたのですが、バスターミナルまでとても近く、地下通路を移動してバスターミナルまで行けるのでとても便利でした。

ただ、エレベーターがちょっと癖があったり、カプセルの中で空調をコントロールできないなど、色々と「やや残念」なところがありましたがそれを補うほど便利な場所でした。

ビズコートキャビンすすきの

f:id:okamuuu:20190214210858j:plain

こちらはすすきの近辺にあるカプセルホテルです。場所は本当に歓楽街の真ん中(?)という感じでしたがサウナもついていたりするので設備自体は良かったです。

ラウンジも広々としていたのでノマドしやすいです。ただ漫画が置いてあるという難点(?)があって仕事が妨げられる可能性があります。私は3月のライオンを読むのに夢中になってしまいました。

ごはんについてほんの少し

2017年12月にも札幌を訪問していてそちらの記事でも書いてあるお店にばかり通ってしまったのであまり目新しいお店を開拓していないのですが新しく発見したお店を一応備忘録として残します。

SAPPORO餃子製造所 すすきの店

大阪王将の系列(?)だと思うのですが餃子とザンギが食べられます。安くて美味しかったです。

丸美珈琲店 sitatte sapporo

地下街にある珈琲屋さんで、階段の踊り場でお客さんがコーヒーを飲むという変わったスタイルのお店です。

その他

それ以外のお店は大体以下のURLと同じ店に行ってました。

http://okamuuu.hatenablog.com/entry/2017/12/18/155622

まとめ

というわけでニセコに旅して来ました。北海道は寒いと思っていましたが、実際には風が吹かなければそんなに寒くありませんし、スノボは楽しかったし、ご飯も美味しいのでとても楽しかったです。

というわけでまた来年の冬になったら北海道に遊びに行こうと思います。おしまい。

ニセコに4泊5日で旅をしてきた(1)

f:id:okamuuu:20190213123459j:plain

ついでにその前後で札幌にも旅行して合計7泊8日の旅をしてきたのですが、今回は主にニセコについてのお話です。

  • 時期と動機
  • 宿泊所について
  • グラン・ヒラフについて
  • 移動手段
  • 周辺のご飯について

行った時期と動機

02/08(金), 02/09(土), 02/10(日), 02/11(月) に First Cabin ニセコに宿泊してグランヒラフでスノボを楽しんできました。

以前京都に宿泊したときに、ホテルの中にあるこワーキングスペースで外国人のノマドワーカーが働いていて、その中で私一人がノマドしている、という状況を体験したのですが、その時に「ああ、日本だけど英語が中心のスポットがこれから徐々に増えてくるんだな」と感じました。

そういった場所が最初は点と点で出来始めて、そのうち線になって広がるんだろうなと思っていたのですが、実はニセコがすでにそうなっているんじゃないかな。と思いました。

というわけで未来の日本かもしれないニセコに旅してきました。

宿泊所について

ファーストキャビン ニセコ・ぽんの湯

今回スノボしに行った場所はいわゆるニセコなのですが、宿泊先は倶知安駅の近くにあるファーストキャビン ニセコ・ぽんの湯 です。

今回は4泊中の2日間は友人と一緒の部屋だったのでファーストクラスキャビンとプレミアムクラスキャビンをそれぞれ利用しました。

ファーストクラスキャビン

イビキがフロアに響わたるので耐性の無い方はお気をつけ下さい。こちらの施設では一番安い部屋です。

f:id:okamuuu:20190213124441j:plain

プレミアムクラスキャビン

最大4人宿泊できる施設に3人で利用しました。部屋の作り自体がかなりコンパクトなので4人で宿泊すると狭く感じると思います。あと荷物を広げる空間があんまりないのでいっぱい荷物があるとちょっと大変だと思います。

f:id:okamuuu:20190213124503j:plain

スノボの道具について

私は現地でフルセットをレンタルしました。ホテルからヒラフウェルカムセンターまでバスが定期的に発車しているので、バスに普段着で乗り込み、現地でヒラフウェルカムセンター近くの.BASE(ドットベース)で借りました。2日以上利用する場合は板とボードはそこに置いておけるのでとても便利です。ウェアは途中で変更ができませんので最終日に返却します。ウェアを返却するのでホテルに洋服を忘れないようにご注意下さい。

友人はホテルへ郵送しておいて、帰りにホテルから自宅に郵送していました。ヒラフウェルカムセンターまではバスが定期的に発車しているのでホテルからウェアに着替えてスノボの板をそのままバスに持ち込んで現地に行けます。

グラン・ヒラフについて

ニセコにはスキー場が4箇所集まっているのですが、First Cabin からはグランヒラフへの無料バスがでていたので基本的にここのゲレンデを利用しました。

いくつかコースはありましたが私は今回でスノボが3回目の初心者なので、以下のコースを利用しました。

  • ファミリーコース
  • 望洋コース
  • 高原コース
  • グリーンコース

ファミリーコースは平坦な場所が途中で出現するのでスノボだと途中で止まってしまのと、減速しながら進みたいけど道がやや狭いので初心者は難儀するポイントが多いです。 あと雪質がそこまで良くありませんでした。たぶん人がいっぱいいるからだと思います。

望洋コースは一番滑りやすかったです。ターンができる程度であれば広いので人と進路が被らないので安心して滑れます。ファミリーコースよりも雪質が良かったです。とはいえ天気にもよると思うのですが、午後の時間帯になると少し雪質が悪くなった気がします。

高原コースは望洋コースと隣接しているのですが、あんまり滑りませんでした。高原コースから望洋コースへ移動するときに使う感じでしょうか。

グリーンコースは少し難しかったので1度しか滑りませんでした。道が狭い箇所があるので大きく回りこんで減速しながら下りたい初心者には厳しかったです。とはいえ広い場所もあるので狭いポイントをクリアすれば上質な雪質が楽しめると思います。

グリーンコース午前中に一度だけしか滑ってないのですが雪質がすごいもふもふしててすごかったです。

それから実際にニセコのゲレンデで感じたことは以下の通り。

  • どちらかというとスノボよりもスキーヤーのほうが多い
  • 海外では若い人がスキーでゲレンデデビューするのが最近のトレンドらしい
  • みんなヘルメットをきちんと装着している
  • コース自体がスキー向けであまりスノボ向けでない気がする
  • 雪は基本的に新雪で粉雪の状態が非常に多い
  • 午前の早い時間帯に行けば大体パウダー
  • 午後になると初級コースは雪が固まってしまう

雪質はすごく良かったと思います。でも一番優しいコースのファミリーコースがちょっとスノボ向けでない気がしました。木の葉落としがなんとかできるようになってコースを一人で降りてみよう、という人に向いている場所がなかった気がします。

ちなみに去年行ったテイネの初心者コースは勾配と距離がちょうど良かったです。木の葉落としができるようになってターンの練習を始めたばかりの人にとっては逆に札幌テイネのほうが良いかもしれません。

スノボのレンタルについて

フルセットでレンタルしました。板と靴のほかに上着とパンツ、帽子、ゴーグル、グローブ。靴と板は .Base に預ける事ができます。単純に番号札つけておいておくだけの原始的なプロトコルでした。一応他にもレンタルできる場所はあるみたいですが、私はここが便利だったので利用しました。

ウェアに関しては一旦返却ができないので数日はそのウェアを借りることになります。

私は借りたウェアがパスを入れるポッケが腕についてなかったので(後で気づいた)交換したかったのですが、残念ながらそれはできないとこのこと。まあでも胸ポケットに入れて必要なときに取り出して使いましたがそんなに困りませんでした。

ちなみにみなさんメット着用していましたがこちらではメットを借りることはできない様です。やっぱり富裕層のみなさまはヘッドが一番大事なんだな、と思いました。いやホントかぶるだけでリスク減るから絶対かぶった方がいいよなあ。

行き方と帰り方

札幌から First Cabin までのルートは以下の通りです。

帰る時は小樽に立ち寄りしたのですが以下の通りです。

北海道での移動手段ですが、個人的には電車よりもバスの方がスケジュールにずれがないような気がします。以下私の私見です。

  • JR は大雪だと除雪に時間がかかる為遅れることが多いが運休になることはあまりない。* ただし強風の場合は運休になる事が多い
  • バスは吹雪で視界が悪い場合は運休となる場合もありえる
  • 路面が凍結している場合も同様

今回ニセコに移動する前に寒波がやってきたので心配だったので前日にバスの窓口の人にバスが運休になる可能性を尋ねたところ「今の所、運休になるという話は聞いていない。過去寒波によって運休になるような事例はない。運視界不良、凍結によって運転が困難になればそうなることもある」とのことでした。

今回の寒波は夜間の間で落ち着き、かつその後もあまり風が吹かなかったため特に問題ありませんでした。たぶん雪が積もる分には割と安全で、逆に日光で雪が中途半端に溶けた方が危ない様です。

ごはんについて

ニセコは基本的に海外の富裕層が遊びに来る場所なのですが私が今回宿泊した倶知安に関してはリーズナブルなお値段のお店が多いです。

居酒屋二代目サムライ

倶知安駅近辺にあるお店です。友人が車で来ていたので車でお店まで移動しました。徒歩で移動するとたぶん体の調子を崩すと思います。一応電話で予約したのですが、入店した時点でほとんど満席でした。

回転寿司羊蹄丸

First Cabin ニセコの近くにある回転寿司屋さんです。こちらは徒歩でもいける距離でした。北海道とはいえ内陸部にあるのであまり鮮度に期待していなかったのと観光地なのでお値段も高めという事もありハードル低めでお邪魔したんですが意外と美味しくってよかったです。

味の時計台 倶知安

札幌にもあるお店なのでたぶんチェーン店だと思います。あんかけそばと餃子を頼みました。北海道ということもあるせいなのか麺と一緒に食べた海鮮がやたらと美味しかったです。

北海堂レストラン

First Cabin に併設されているレストラン。札幌と新橋にもあります。4500円でラムしゃぶ+飲み放題にできます(要予約)

なんですがちゃんと定食メニュー(1000円〜1500円)があるので雪の中出かけたくない場合はこちらでも良いと思います。

マックスバリュ 倶知安

実はホテルのとなりにマックスバリュがあるのでここでお弁当買ってラウンジで食べるのが一番安いです。正直なところそれが一番良い方法な気がします。

コンビニ

マックスバリュが閉店したとしてもコンビニでお酒を買うことができます。ちなみになぜかわんはんどれっどさうざんど円 のワインがコンビニで売っていました。さすがニセコ。まあでも店員さんに聞いたら「まだ買って行った人を見たことがない」とのことでした。なので逆に購入してみると面白いかもしれませんね。私はもちろん買わないですけど。

f:id:okamuuu:20190213124349j:plain
10万円のワイン

まとめ

私はまだ初心者だったので山の麓にいる時間が多かったのですが、1度少し頑張ってやや高いところ行ったのですがとっても雪がもふもふしていました。

斜面が急で少し怖かったのですが、よくよく考えればここまでもふもふしていれば転倒時のダメージはむしろ少ない気がしました。それぐらいもふもふでした。

そしてニセコですが私が宿泊していたのは倶知安のホテルだったのですが日本人グループも数名いましたしゲレンデでも日本語はかなり聞こえて来ました。海外からの旅行客は多いと思いましたが、とはいえニセコはまだまだ日本だな、と感じました。京都のミレニアルズのような「自分以外外国人」みたいな状況は感じませんでした。

というわけで今回パウダースノーを無事体験し、ニセコが海外化しているのかどうかを検証することができました。この記事を書いている時点ではまだ筋肉痛がひどいのですがスノボ楽しかったのでまたニセコまで遊びに行きたいと思います。

【第6回】フロントエンド × ビアバッシュ 初心者勉強会 に行ってきた

お酒を飲みながら、フロントエンド開発を語る勉強会に行ってまいりました。

https://sakeganaito.connpass.com/event/113024/

ビアバッシュ とは

ビアバッシュ(Beer Bash)とは、懇親会の一種としてビールやピザを食べながら語らう形のイベントです。

どんな感じの勉強会なのか

  • 到着したらとりあえずお酒を飲む
  • 登壇者がLTしている間お酒を飲む
  • LTが全部終わったらお酒を飲みながら懇親会

参加者はフロントエンドとSIerが半々ぐらいでした。サーバーサイドは少なめでした。この日はYAPCが別会場で開催されていたのでその影響だったのかも?

https://twitter.com/hashtag/sakenight6?src=hash&lang=ja

会場とスポンサー

ありがとうございます。

  • 会場: ポート株式会社(PORT INC.)
  • お酒: エンジニア目線の求人・転職サイト Forkwell Jobs

トーク一覧

LT1: ユーザを逃さない登録フォームを考えてみる

WEBの登録フォームはユーザーを疲れさせない事が大事、確かにそうかもしれない。 デザイナーとプログラマとが協力して入力フォームをちゃんと考えたいというお話でした。

LT2: 市場価値を高める為に、俺が考えた最強のソリューション

私のLT。エンジニア同士で技術のトピック毎に飲み会開くプラットフォームをつくりました。

https://deploy-me-a-beer.firebaseapp.com/

LT3: AWS Amplify で認証付きページ作れるしアカウント発行時のSMSコード送信も超簡単!

個人でWEBサービスを作っている人たちの間では認証周りはFirebase Authentication を使っているイメージですが最近 AWS Amplify の話を見かけるなあ、と思いました。

認証付きサイトが簡単に作れるって本当にいい時代になりました。

LT4: JS初心者がJavaScript関数型プログラミングを読んでみた

sort関数は関数型だとおもいっていたけど、元となる配列そのものを改変してしまうため関数型ではない、というのは知らなかった。

LT5: Vue.jsについて入門的な何か

Live Coding で Vue.js の機能を紹介。

LT6: Nuxt.js の Componentについて

時々パンを売っているらしく。この前東京ドームですごく売れたらしいです。SSR と SPA でのレンダリングのタイミングについてデモをしようとしましたが残念ながら時間切れ。

デモする時って思ったよりも時間の経過が早いんですよね...

LT7: 個人サービスの UI を全て作り変えてユーザーインタビューをしたら わりと不評で、改善した話。

officeclock の作者。サービスを良くしようとして不要な機能を削ったらそれが実は使われていた、ということをアンケートとったら判明した。というお話。

5人のユーザーレビューがあれば問題の85%解決する、というのは参考になりました。

OFFICE CLOCK - LINEと Webで勤怠管理ができるサービス

LT8: firebase を使ったフロントエンド開発でのコツとハマりどころ

Realtime Database の操作方法と Cloud Storage の認可など。クエリが貧弱でデータ構造を作り直した。というのはよくわかる。

LT9: 5分でわかるwebpack(初心者向け)

個人的に気になっている codesuka の作者。webpack だけでなく babel の話もしたかったとのことなので次回に期待したいと思います。

https://codesuka.review/

LT10: Kickstart my BackstopJS

View component を snapshot をとって変更箇所をテストしたい。なんだけど animation とか cookie が関わると急に困難さが増す。本当にCSSは人類には早すぎたのかもしれないですね。

懇親会

懇親会の時間は LT10: Kickstart my BackstopJS の @surumebeer さんとお話しました。View component をテストするとか以前に CSS をどうやって書くべきなのか、といったことについて歓談しました。

まとめ

たまたま隣に座った人から JS の勉強会は他にもある事を教えてもらったりもくもく会に参加するとユーザーレビューしてもらうこともできる、という情報をもらえたり、有意義な会となりました。

フロントエンドの仕事もするようになってだいぶ経験値が増えてきたので今年は JS 界隈の勉強会にたくさん参加してみたいと思います。

Deprecation warning: value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(),

moment.js をブラウザで使ってて unixtime を引数にコンストラクションして Invalid Date になった場合はこうすればいいでしょう。

- moment(1548035947000)
+ moment(1548035947000, 'x')

ミリ秒の場合は小文字の x です

Node.js で Gravatar の画像を取得する

Gravatar は Email アドレスと自身にプロフィール画像を結びつけるサービスです。

const crypto = require('crypto')
const md5 = crypto.createHash('md5')

const email = "your.email@gmail.com"
const hash = md5.update(email.toLowerCase().trim(), 'binary').digest('hex')

console.log(`https://ja.gravatar.com/avatar/${hash}`)

というメモ書きです。

金沢、京都、東京大回りの旅 2018(その4: 京都と大阪のごはん編)

京都と大阪のご飯屋さんです。

京都: ヨナヨナ

去年京都に訪れた際にやたらと楽しかった思い出があるので再び訪れました。ご飯もお酒も美味しいのですが、お店の雰囲気がとても良く、店員もお客さんも盛り上がってとても楽しいお店です。

f:id:okamuuu:20181209195019j:plain f:id:okamuuu:20181209195051j:plain f:id:okamuuu:20181209195116j:plain

満足度: ⭐⭐⭐⭐⭐

京都: 裏寺COROMO

威勢のいい店員さんがやってる立ち飲み屋さんです。なかなか手頃な料金で串カツを堪能できました。

f:id:okamuuu:20181209195152j:plain

満足度: ⭐⭐⭐

京都: すいば 四条河原町

f:id:okamuuu:20181209195305j:plain

手軽な料金でお酒と食事が楽しめる立ち飲み屋さんです。早めに訪れたのですが割と満席で5分程度案内まで待ちました。

満足度: ⭐⭐⭐⭐

京都: Kurasu

京都駅近くにあるおしゃれなカフェです。ちょっとアットホームで近所にこういったカフェがあったら楽しんだろうな、という感じのお店でした.

Kurasu Kyoto

満足度: ⭐⭐⭐⭐⭐

京都: マールカフェ

金沢の Cafe&Bar 15 金沢百万石通 の店員さんに教えてもらったお店です。ビルの8階にあってテラスからの眺めがなかなか良かったです。

満足度: ⭐⭐⭐

大阪: 但馬屋

f:id:okamuuu:20181209200537j:plain

京都のヨナヨナで大阪からいらした他のお客さんから大阪天満が面白いと聞いたのでふらっと立ち寄りました。まだ15時ぐらいだったのですが、結構人がたくさん。ご飯もお酒も美味しかったです。 次回は天満中心に飲み歩いて見たいと思います。

満足度: ⭐⭐⭐⭐⭐

大阪: 玉屋

f:id:okamuuu:20181209200601j:plain

この玉屋は去年京都のヨナヨナでやっぱり大阪からいらした別のお客さんに「とてもおいしいたこ焼きや」と教えてもらっていたお店です。やっと訪れることができました。 味に関しては結構上品な感じで私はもうちょっと柔らかいほうが好きかも。一年越しでやっと食べたのでハードルあげすぎたかも。でも美味しかったです。他のメニューもあったのでまた大阪に行った時に訪れたいと思います。

満足度: ⭐⭐⭐

大阪: 立ち飲み最

f:id:okamuuu:20181209200632j:plain

日本酒の立ち飲みのお店です。手頃なお値段で美味しい日本酒を飲めるのでなかなか良かったです。

満足度: ⭐⭐⭐

大阪: 立ち飲みもんぞう

f:id:okamuuu:20181209200721j:plain
もう一度食べたいホタテとわけぎとかぶらの酢味噌和え
f:id:okamuuu:20181209200808j:plain

大阪でお気に入りのお店にひでぞうというお店があるのですが、ちょっと遅く行くと結構満席になっていたりします。なんですが実はその2階が系列店でおなじ立ち飲み屋さんでした。味はとても美味しかったです。

満足度: ⭐⭐⭐⭐⭐

というわけで

大回り乗車で金沢、京都、大阪を回って来ました。旅ならではの発見や出会いがあって今回の旅も楽しめました。またどこか知らない場所へ行って見たいと思います。おしまい。