SakuraWi - BLog

WEBエンジニア。聴いたお話をまとめておく倉庫的な。スタックストックスタック!

スクロールによってヘッダーやフッターを固定するためのcss position stickyが便利

どうも、櫻井です。

最近position stickyなるものを知りまして、これがまた便利だなと思って共有するための記事を書きました。

概要

この方の記事がめちゃめちゃわかりやすいです。 動画もついているし、デモ用のコードがくっついているので。

position: stickyの面白い使い方と使用時の注意点 | Rriver

使い方

親要素の構成によるところがありますが、基本的に

.sticky-class {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
}

こんなのでいけちゃいます。

ポイントはposition: stickyで指定する部分と、topやbottomなどの指定があるところですね。 top: 0にすると上でひっかかって、 bottom: 0とかにすると下でひっかかるイメージです。

position: -webkit-sticky;はsafariに対応するためのものになります。iOSなど想定が多いなると必須かと思われます。

注意点

2018/5時点では、IE11には対応していないみたいです。

そのため利用する際は注意が必要ですね。 モバイルでの利用想定などであればそこまで問題なさそうです。

Can I use... Support tables for HTML5, CSS3, etc

ブログとかにもどんどん使っていきたいcssだなぁと。

一人暮らしをして気づいた病院の費用の高さ

最近風邪をこじらせて、喉が完全にやられて声が出ない、なんてくらいには弱ってまして さすがにGWは元気に過ごしたいと思って病院にいったんですな。

そしたら高い!!診察って結構お金かかるんですねえ。 しゅっとみてもらって3000円。

あとから友達から聞いたら初診料ってのが意外ととられるってことをきいて、行きつけをつくった方が良いみたい。 さらには、個人病院のが安いんだとか。 大学病院とかちょっとお高いらしい。

しかしまぁ、社会人となると帰りに寄る、てくらいにしたいし、その場で行きたいなぁなんてことを思うと 病院もその場所に固定せずにいろいろ行きたいし、その時々でしゅっといきたい。 が、初診料ばっかりとられてもなんとも。

あと、どこいったらいいかとか結構わかんない。どの病院がいいかとか、喉が痛い時は内科なのか、耳鼻科なのかとか。 さらには病院に行くべきかもう少し寝てりゃなおるのかとか知りたい。

ともあれ、病院に行く機会がないように健康でいるのが一番ベストってことですねえ。

【Ruby on Rails】sidekiqをrspecでテストしてみよう

sidekiqを用いてバックグランドジョブをさばきたい人のための備忘録。 tips集みたいな感じで残します。

sidekiqって?

まずはやっぱドキュメントだ。本物をみよう。

https://github.com/mperham/sidekiq

バックグランドジョブを管理、実行するためのライブラリ。 非同期処理を使いたい時に便利です。

で、バックグランドジョブとか非同期処理って何?ってなるかと思うのでその解説を少しはさんでおきます。

通常動き続けているプロセスとは別に、この処理だけは別プロセス、スレッドでやってほしいってやつがありますよね。それを分けて処理してくれるのが非同期処理です。 誰かにメール飛ばす、なんてやつは独立した処理としてわけられるやつです。 イメージはメール飛ばすのは12時に別処理でやっておいてねーみたいな。

それをRuby on Railsでちゃちゃっと便利にやってくれるのがsidekiq。 ちなみに、activeJobというのもあります。

非同期処理ってなんやねんって思う人も一読するとよさそう。ちなみにめっちゃ高速で5分~10分くらいで読めちゃうので読んじゃいましょう。 Active Job の基礎 | Rails ガイド

sidekiqのジョブ

sidekiqのジョブはworkerと呼ばれます。 activejobとかだと、それを動かすためのスレッドがワーカなんていわれてちょっとややこしいなーと思いがち。

ということで、app/workersにこんな感じでファイルを作ります。

app/workers/test_worker.rb

class TestWorker
  include Sidekiq::Worker

  def perform(xxx, yyy)
    # 処理を書く
  end
end

だいたい、activejobと一緒ですね。

sidekiqのエンキュー

じゃ、ジョブを追加しましょう。

TestWorker.perfom_async(xxx,yyy)

これで追加できます。 activejobだと、.perform_laterとかでしたので、そこが違うポイントでしょうか。 .perform_inとかで時間指定のジョブにしたりもできます。

Rspecでテストしたろか

ほな、Rspecでのテストはどないですか、と。 これがまたちょっとやっぱいろいろ必要だったりするんですね。

sidekiqのrspec用のgemもあるようなので、必要によってはそっちを使ってもよさそうです。でも、なくてもテストできそうでした。

毎回のジョブをリセットする

spec/spec_helper.rb

...
config.before do
  Sidekiq::Queue.new.clear
end

これでテスト毎に生成されるジョブをリセットできます。

ジョブ数が追加されたことをチェックする

expect(Sidekiq::Queue.new.size).to eq 1

これでジョブが追加されて1になったかをチェック可能。

CircleCIでの設定

dockerを使っている場合は、

docker:
  - image: dedis:3.2

のように設定する必要がありそう。

まとめ

結構単純にジョブ追加、テストはできます。

ジョブ自体のテストは、中身の処理の各々のユニットテストをしっかり記述してテストすればよさそうです。

ラジオ投稿してみた

youtubeにラジオを投稿してみた。

ラジオした理由はなんか、音系が流行りそうだったから。Voicyとか?

のと、ブログもいいけど言葉で語る(話す)ってのも面白そうだし、笑いがそのまま伝わるといいな、と。 普段から友人といるときに爆笑することがおおいので、それを共有したかった。

f:id:Saku-Saku:20180410022137p:plain

みんなに教えてもらった福岡のオススメ店

ども、櫻井広大です。

メルチャリに乗るためだけに福岡に旅行にきたんですが、その時にfacebookやラインで
福岡行くならココいっとけ!ってとこある?って聞いたら
みんなめっちゃおすすめしてくれて、体が5個あっても足りなかったのでこちらに残しておきます。

行ったところ

赤のれん

あっさりとんこつなラーメン屋さん 天神近くの立地で、お値段もかなりお手頃。

https://tabelog.com/fukuoka/A4001/A400103/40035496/

三日月

クロワッサン いろんな味があって、お土産にも○

やま中

もつ鍋。

おしゃれ、うますぎ、やすい という天才的な三拍子が揃ったお店。 f:id:Saku-Saku:20180408033650j:plain

大橋駅なのでちょっと博多からは遠め?

https://tabelog.com/fukuoka/A4001/A400202/40000002/

かわ屋

やきとり屋さん。 予約必須。

小さな店舗だけど、めっちゃ安くてとってもおいしい。 f:id:Saku-Saku:20180408033657j:plain

全部110円で1本頼めます。 僕は初心者すぎて、鶏皮2本とかで頼んでて、よくよく周りの注文をみていると 「鶏皮20本」とかで頼んでで、あ。。。ってなりましたw 10本くらい頼むとよさそう。

個人的には砂肝がうますぎて、びっくりしました。

https://tabelog.com/fukuoka/A4001/A400104/40005228/

長浜ナンバーワン

一蘭みたいな、長浜ラーメンの有名どころ。 超食べやすい。

https://tabelog.com/fukuoka/A4001/A400101/40004348/

魚がし

朝ごはんに最高すぎ。 f:id:Saku-Saku:20180408033631j:plain

とんでもない量の胡麻鯖と、フライと、明太子が食えます。 定食は800~1000円で満腹になります。

f:id:Saku-Saku:20180408033638j:plain

f:id:Saku-Saku:20180408033635j:plain

アクセスが制限されています[食べログ]

ひらお

前回の福岡旅行にて。

天ぷらがめちゃくそおいしい。 店舗も面白い。

【天麩羅処ひらお】うまい!安い!早い!福岡・博多の天ぷら専門店

元祖博多 めんたい重

お値段がしっかりしているガチな明太子ごはんが食せます。 人類よ、これがめんたいこだ。

アクセスが制限されています[食べログ]

shinshin

しんしん。 どこでもいつでも人が並んでる。 うまみ。

福岡の博多純情らーめんの店 博多らーめんShinShin

行きたかったところ

おおいし

もつ鍋。老舗だとか。

おおいし 住吉店 - 渡辺通/もつ鍋 [食べログ]

海鳴

ラーメン 博多駅のラーメン街道?みたいなところに隣接しててすぐ食べられます。

https://tabelog.com/fukuoka/A4001/A400102/40030701/

元気一杯

最初にスープから飲まないと怒られるというすごい店w

勇気がでずに行けず。

田しゅう

もつ鍋。

アクセスが制限されています[食べログ]

ニクゼン

ニクゼン - 赤坂/焼肉 [食べログ]

海豚

アクセスが制限されています[食べログ]

ごまさば屋

ランチにおすすめだとか!

https://tabelog.com/fukuoka/A4001/A400104/40034751/

ウェルビー福岡

サウナと宿として

おすすめがまとまったholiday

こちらからもおすすめのお店がざざっとみれます。

グルメの都「福岡」の食のドラフト会議! | Holiday [ホリデー]

福岡どうだったの

最高です。

人が温かい。お店にいる人みなさんが、サービスがよすぎ。

全部近い。天神・博多でうまいもの揃いすぎているし、空港はめっちゃ近いし、最強。

飯うまい。 うますぎ。最高。

国立博物館すごい。 めっちゃくちゃおしゃれだった。 個人的に太宰府はあたり。

RailsDevelopersMeetup参加するなら絶対運営で参加が吉【参加レポート】

どうも櫻井広大です!!

Rails Developers Meetup 2018お疲れ様でした! RDM2018、熱量がとってもよかった!!

今回、株式会社みんなのウェディングは運営として参加しており、17卒の同期と二人で運営サイドとして参加させていただいていました。

自分はトラックAの司会を努めさせていただき、素晴らしいみなさんの熱意のこもった発表のお手伝いができて本当によかったなぁと思っております。

いや、まじで、 司会やってほんとによかった

RailsDevelopersMeetup2018、参加するならぜひ司会。どうせ参加するなら司会だ。

じゃ、なんで司会をするとよかったのか、ってのと各セッションの感想などをちょこちょこ残しておこうと思います。はっしんはっしん。

まず感想

楽しかった。

なんだろうなー、他の勉強会にない楽しい雰囲気みたいなのがあってよかった。 すごくゆるいというか。がちがちじゃないというか。 めっちゃできる人たちが、ほどよいゆるさをつくってくれているというか。

なんか、「あ、俺も発表したい」って思える空間だったのがびっくりなんですよね。 ぶっちゃけ、うわーおれ発表してもいい空気じゃない、とか感じることの方が多いと思うんです。 でもそんなことはなくって、終わってから思ったのは「来年はおれも発表したろ〜」的なところだったわけです。 これってすごくないですか?

あと、これ、うちもあるあるがたくさん聞けたのもおもしろかった。 自分は社会人になって1年もたってない状態で参加してて、言ったら1社の事情しかしらないのです。
今回参加してみて、「あ!これうちでもやってるぞ!」とか、「ここもっとこうできるかも!?」とか、「うわーーーあるある!」とかたくさん知ることができた。 勉強会に参加すれば、他の会社の事情も知ることができちゃうんですな。

そんなこんなで楽しくもいっぱいインプットがあったな、と。
じゃあ、アウトプットは?ということで、まずはブログにしてみたのです。

そして参加するだけじゃなくて、司会者やるとめちゃいいぞ、と!
参加した人は400人とかいるかもしれないですけど、司会者やったのはたったの4名ですからね!書くしかないでしょう理論。

司会として参加するメリット

あるんですよ〜司会。よいんですよ〜〜。

話を聞く仕組み

発表される内容って、その人の体験や経験の中からこれは話したい!共有したい!という絞られた内容なケースが多々。ということは聞く価値があるはず。笑 じゃ、どうやって聞くか?

司会として参加すると、発表者の話をめっちゃ聞きます。 これって聞くぞ〜っていう気持ちとか、勢いとか意識とかじゃなくて聞かなきゃいけない仕組みだからじゃないか?と!

司会者は最後に質問をRDM用のアプリからピックアップして読み上げたり、会場から質問を聞いたりします。
質問が0のとき (みなさんガンガン質問してくださるのでそんなことはほぼないですが)は、司会が質問したりする必要があったりするんですよね。 そのときに話を聞いていないとそもそも質問できないという。なので、聞かざるを得ないわけですね。 で、聞くから良い。笑

他にも、司会ってタイトルなどを読み上げるんです。なので、タイトルは絶対に頭に一度は入る。
これも地味にでかい気がしますね。司会じゃなくともタイトルはみるかもですが笑

そしてPC触らない。
これもかなり話を聞くっていう意味では大事だなーと。

実はRDM1日目も司会がどのようにされているかを偵察しに行ってまして。
1日目は自分のPC持って行っていたのでかなり触ってしまってました。

すると、だめ!他のことしてまう!!内職してまう!!w

ちゃんと話聞くにはやっぱりその方向向いて聞くのが一番な気がしていて、でも実際にそれするの難しい。 ので、司会していると、発表時間も気にする必要があるのであんまりパソコン触っている暇がない、と。

これによって話し聞くマンに。

あのまるまるさんと話せる

ちょこっとだけですが、登壇者の方と知り合うきっかけになったりすることができます。 また、界隈で有名な人の顔がわかります。笑

twitterとかネットではこう呼ばれてるって人が、「あ!このひとか!」と顔一致することができます。

今回名前だけ聞いたことあるなぁという方が多くいらっしゃって、この人これ作った人だ!!!!って感動がちらほら!

ノウハウを学べる

運営ノウハウってが学べます。 ノウハウは蓄積されます。動画配信の方法とか、会場設営とか、何かしらのノウハウを目の前で吸収することができます。

  • 動画配信ノウハウ

これ結構こうやっているのかーと思いましたね。 ハングアウトで参加グループに参加してもらって、youtubeで配信しながら、画面を固定にする。 登壇者はマイク・カメラはオフにしてもらって画面共有。 で、次々入れ替えながらやる。 接続さしたりしないし、コード関係なく場所自由でできるのは結構いいかもですね。 配信しながらできるし。

司会やるデメリット

ちょっとデメリットも書いてみる。

  • ハードワーク

個人的に結構ハードであったなーとも思います。笑 時間を気にしつつ進行しなければならないので、結構な緊張もあり、大変でした。

  • 聞きたい方がいた場合その場で発表を聞けない

トラックBで聞きたい内容があった時は少し困るかなあ。 後から動画がアップされるとのことですが、その場で生で聞きたい!という人がいたらそれができなくなるかもですね。

来年の司会者へ

これするとよいよ!とか、司会しながらもらったフィードバックについて書いておきます。。

  • BGMを用意しておいて、セッションの間で再生する
    • 雰囲気作りは大切で、セッション間はシーンとしやすいのでそこを埋める意味でも音楽をかけておくとよさそうです。
    • これも仕組み化できるとよさそう。
    • 司会でこれを始まる前に消して、終わったら音楽をいれるのを忘れがち
  • ドア閉めを配信役の人と一緒にやる
  • apple watchを使って「残り5分ですよ」を忘れないようにする
    • apple watchのタイマーだと腕に振動がくるので、音を出さずに自分に合図が送れます
  • パソコンとスマホあると便利
  • 充電器のケーブルは長めで。もしくは延長コードを。
    • 充電したいケースが多々。
  • 読み仮名をふっておく
  • 司会者カンペを用意する
    • 今回は全体運営者の平野さんが用意してくださってて、超助かりました
    • 時間、タイトル、名前を把握しておくとよい。読み方も。
  • 拍手が自然にでるように、配信役の人に拍手お願いしておく。
  • マイクの音量は常に意識。小さければあげる。会場の後ろにいる人に聞こえるかチェックすることや、配信で聞いている人にも配慮できるとよい。
  • 残り2分で質問1つ答えてもらって終わるくらいでちょうど良い。
  • 質問全て伝えられない場合は、まだあったことを登壇者に伝えてあげて終わるとよい。

聞いた話の感想メモ

完全に個人的なメモになります。

  • SideCI 松本さん
    • PJ固有の問題にどう対処する?
      • 自分で簡単にルール追加できるものを作ってみた
  • Railsの教科書 五十嵐さん
    • SQL書き方ドリルなど新人研修内容が結構一緒だなと思った
    • 型と実践の話
      • レビュー時に今回はこの型を使ったんだね、などと教える
      • アウトプットは結果になりがち(型と実践がわかりにくい)
    • 「道は開ける」不安と戦うための内容が書いてある
  • KaizenPlatform ryopekoさん
    • パフェルビの人
  • Quipper 松島さん
    • プルリク達人の人 麻雀の人 西日暮里.rbの人
  • MF KESSAI 篠原さん
    • GOを選んだ理由とか、GCPのお話。
    • 流行っているDDDぽい構成とか、アーキテクチャの選定のお話
  • esa 深谷さん
    • 合同会社。株式と違って最初のお金が安くなったりする。合同会社としてやっていくとしたら、ロールモデルになるなぁと思った
    • 投資は受けない、口コミメイン、急激な成長は目指さない
    • 原体験は?
    • リリースノート駆動開発 > リリースノート書きたい衝動で開発
    • FB駆動開発 > おどろかけせたい!30秒いないの修正のタイムアタックだ!で開発
  • ドリコム 大仲さん
    • onkの人だ!!
    • 社内ツールめちゃめちゃ作っててすごい。。。

最後に

めっちゃ楽しいこの雰囲気に自分は参加させてもらってるんだ!となりました。 いやあ、素敵なイベントでした。ありがとうございました。

イヤホンは4日キックボードは1日

自宅から駅まで、駅から会社までの絶妙に微妙な距離を歩いていたんですが、 どうにかならないものかと思いまして。

結構歩いてたんですね、7分くらい。 行き7分2と帰り72分くらいかかっておりまして。毎日通勤だけで合計30分くらいは歩いてたと思うんですよねー。なんだかんだで。

そこで、キックボードを導入してみたわけです。 なんでキックボードかっていうと、持ち運びができて満員電車でも問題ないってところと初期コストが安かったから試してみました。 メルカリで3000円で購入していざ使ってみると、 めっちゃしんどい。

歩く時使う体力が50% とすると、キックボードは70~80%を常放出しないと走り続けられないんです。 めちゃしんどい。

しかし、行き片道7分の道を1分半ほどでいけるようになりました。早い! 体力がついて乗り慣れればええやん!

そんなこんなで、最高だなーと思ってたら1日で壊れました。ネジとれた。

安物買いの銭失いとはよくいったもので、安いものはほんとすぐ壊れちゃいますね。