RubyのURI must be ascii only
URI.parse
では URI must be ascii only
エラーが出てしまう。なので、Addressable::URI.parse
を使う。
Ruby 2.1 と 2.2 における、URI#parseの挙動の違い - Qiita
症状Ruby 2.1では、URIに使用できない文字(アンダースコア、アンダーバー)を含んだ文字列( http://abc_def.com/foobar/ ※1)をURI#parseに与えた際にUR…
qiita.com
![Ruby 2.1 と 2.2 における、URI#parseの挙動の違い - Qiita](/_next/image?url=https%3A%2F%2Fpublic-content.hackersheet.com%2Fwebsite-og-images%2Ff5409095-6b58-4f42-a6e1-e6ea290fa87a.jpeg&w=3840&q=75)
mechanize
mechanizeで "\xE3" from ASCII-8BIT to UTF-8
のような文字コード関連のエラーが起きた場合。
agent.page.body.encode(Encoding::Windows_31J, Encoding::UTF_8, undef: :replace)
mechanizeでgetしたhtmlが化けているっぽいんです - なんでや。。
引き続きkoboをクローリングする文脈で、です。 irb(main):001:0> require 'mechanize' => true irb(main):002:0> agent = Mechanize.new => #<Mechanize:0x410eda0 @agent=#<Mechanize::HTTP::Agent:0x410ed88 @allowed_error_codes=[], @conditional_requests=true, @context=#<Mechanize:0x410
fwl.hateblo.jp
![mechanizeでgetしたhtmlが化けているっぽいんです - なんでや。。](/_next/image?url=https%3A%2F%2Fpublic-content.hackersheet.com%2Fwebsite-og-images%2F6e75aa7f-3238-45c2-b6ad-a4f66b6d435d.png&w=3840&q=75)
GitHub - sparklemotion/mechanize: Mechanize is a ruby library that makes automated web interaction easy.
Mechanize is a ruby library that makes automated web interaction easy. - sparklemotion/mechanize
github.com
![GitHub - sparklemotion/mechanize: Mechanize is a ruby library that makes automated web interaction easy.](/_next/image?url=https%3A%2F%2Fpublic-content.hackersheet.com%2Fwebsite-og-images%2F1132ff30-b7ec-454d-9390-25111075563c.png&w=3840&q=75)
devcontainerのzshを簡単にカスタマイズする方法を調べている
ローカル環境をpreztoでカスタマイズしているので、devcontainerのzshも同じようにカスタマイズするためにスクリプトを作って使い回しているのだが、もっとスマートな方法はないのか調べている。
VSCode devcontainer with zsh, oh-my-zsh and agnoster theme
I’m a fan of Visual Studio Code devcontainers and recently I’ve worked on getting them setup just how I like them with
medium.com
![VSCode devcontainer with zsh, oh-my-zsh and agnoster theme](/_next/image?url=https%3A%2F%2Fpublic-content.hackersheet.com%2Fwebsite-og-images%2F3b1d4da3-0dd3-483e-8b9f-4e971aa3a8a4.png&w=1080&q=75)
Connect-goとVSCode Dev Containerを用いた快適なgRPC開発環境構築
こんにちは!モンスターラボで Backend チームに所属している植田です。
最近関わったプロジェクトで、gRPC を使おうという話があがったため、サクッと快適な開発環境を立ち上げる方法について、あれこれ試行錯誤をしました。
本記事ではその方法についてご紹介します。
コードは Connect-go のチュートリアルをベースとして使用しました。Dev Container でコンテナ開発環境を構築し、
monstar-lab.com
![Connect-goとVSCode Dev Containerを用いた快適なgRPC開発環境構築](/_next/image?url=https%3A%2F%2Fpublic-content.hackersheet.com%2Fwebsite-og-images%2F502a72a7-b3e5-46bf-bfac-7ac18fc59aec.jpeg&w=3840&q=75)
NextUIのScroll Shadowとtocbotのバグ
NextUIのScroll Shadowとtocbotを合わせて使っているのだが、目次の項目が長くなると最下部までスクロールしても下部のScroll Shadowの影が消えない。
- 目次部分の高さを半分くらいにすると正常に消えるようになる
- ブラウザの開発者ツールで目次にDOMを追加・削除すると正常に消えるようになる
- tocbotを使わずに同じような高さの要素を静的に出力させてみると正常に消えるようになる
結局解決策はわからないので進捗だけメモしておくことにした。
tocbotの使い方を間違っていた
tocbotの親のdivに overflow-y: scroll;
をつけていると、コンテンツ側のスクロールにtocbot側が追従しなかった。
下記のように修正することで、コンテンツ側のスクロールに合わせて目次側もスクロールするようになった。
<div class="tocbot-container">
<div class="tocbot"></div>
</div>
.tocbot-container {
overflow-y: scroll;
}
.tocbot {
overflow-y: scroll;
}
shikiのdiffの書き方は言語のコメントアウトの違いによって変わる
CSSの場合
.tocbot-container {
overflow-y: scroll; /* [!code --] */
}
.tocbot {
overflow-y: scroll; /* [!code ++] */
}
TypeScriptの場合
const hello = 'world'; // [!code --]
const hello = 'new world'; // [!code ++]
すごい。