Skip to content

Instantly share code, notes, and snippets.

@YusukeIwaki
YusukeIwaki / fukuoka_toshokan.rb
Created December 24, 2023 17:37
福岡市総合図書館の会員ページをスクレイピングするためのスクリプト
require 'faraday'
module FukuokaToshokan
class Client
def initialize
default_headers = {
'Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
'Accept-Language' => 'ja-JP,ja;q=0.9,en-US;q=0.8,en;q=0.7',
'Cache-Control' => 'max-age=0',
'Connection' => 'keep-alive',
wget https://dl.google.com/go/go1.12.7.linux-amd64.tar.gz
rm -rf go/
tar xzvf go1.12.7.linux-amd64.tar.gz
sudo mv go /usr/local/go
sudo touch /etc/profile.d/golang.sh
echo 'export GOROOT=/usr/local/go' | sudo tee --append /etc/profile.d/golang.sh
echo 'export GOPATH=~/' | sudo tee --append /etc/profile.d/golang.sh
echo 'export PATH=$GOROOT/bin:$PATH' | sudo tee --append /etc/profile.d/golang.sh
@YusukeIwaki
YusukeIwaki / kaeru.rb
Last active May 11, 2022 04:18
fukuoka.rb 0x100 LT demo
require 'osc-ruby'
def play(sound)
client = OSC::Client.new('localhost', 51235)
client.send(OSC::Message.new('/run-code', 'DEMO', "play #{sound}"))
end
require 'concurrent'
def kaeru
Concurrent::Promises.future do
openapi: 3.0.1
info:
title: エンジニア・プログラマにしか使えないSNS
description: |
通常のSNSで胡散臭い人が多いと感じてしまいました
プログラミングスクールが流行り、エンジニアになって億稼いでます!みたいな・・・
そこで、本当のエンジニア・プログラマしか使えないSNSを作ってみました!
つまり、WebApi提供のみのSNSです
一般ピープルが使うようなフロントエンドなんてありません!!
@YusukeIwaki
YusukeIwaki / Dockerfile
Created August 31, 2021 06:05
Playwright Browser server
FROM mcr.microsoft.com/playwright:v1.14.1
RUN mkdir /playwright
WORKDIR /playwright
RUN npm install playwright@1.14.1
RUN echo '{ "port": 8080 }' > config.json
EXPOSE 8080
CMD ./node_modules/.bin/playwright launch-server chromium config.json
require 'playwright'
force_login = false
Playwright.connect_to_playwright_server('ws://127.0.0.1:8000/ws') do |playwright|
playwright.chromium.launch(headless: false, channel: 'chrome-canary') do |browser|
page = browser.new_page
page.goto('https://vaccines.sciseed.jp/fukuokacity/')
require 'pry'
@YusukeIwaki
YusukeIwaki / chrome-remote-desktop.patch
Created March 26, 2017 23:43
chrome-remote-desktopをdisplay 0表示するように改造するための修正ポイント
diff --git a/chrome-remote-desktop.orig b/chrome-remote-desktop
index a40063b..de1b3b0 100755
--- a/chrome-remote-desktop.orig
+++ b/chrome-remote-desktop
@@ -66,11 +66,11 @@ XORG_DUMMY_VIDEO_RAM = 1048576 # KiB
# with large or multiple monitors. This is a comma-separated list of
# resolutions that will be made available if the X server supports RANDR. These
# defaults can be overridden in ~/.profile.
-DEFAULT_SIZES = "1600x1200,3840x2560"
+DEFAULT_SIZES = "1920x1080"
@YusukeIwaki
YusukeIwaki / Dockerfile
Created July 24, 2019 13:08
rails new
FROM ruby:2.6-alpine
RUN mkdir /usr/src/app
WORKDIR /usr/src/app
RUN bundle init
RUN sed -i -e 's/# gem "rails"/gem "rails"/' Gemfile
# For installing Nokogiri (ref: https://copo.jp/blog/2016/03/alpine-%E3%81%AE-ruby-%E3%81%AE%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E3%81%AB-nokogiri-%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/ )
RUN apk add --no-cache build-base libxml2-dev libxslt-dev
@YusukeIwaki
YusukeIwaki / unused_turnip_step_check.rb
Created January 24, 2020 14:35
Turnipのstepで未使用のものや未定義のものなどを抽出するスクリプト
feature_files = Dir.glob('features/**/*.feature')
step_files = Dir.glob('steps/**/*_steps.rb')
Usage = Struct.new(:feature, :scenario, :step)
StepUsageItem = Struct.new(:step_description, :usages)
require 'turnip'
# 全Featureを読み、それぞれのstepがどのfeature/scenario で使われているかを調べる。
step_usage = {}
@YusukeIwaki
YusukeIwaki / open3_example.rb
Created December 19, 2019 01:32
2つ以上のIOストリームをマージする
require 'open3'
Open3.popen3("ping", "google.com") do |stdin, stdout, stderr, wait_thr|
stdin.close
while std_ready_list = IO.select([stderr, stdout])&.first
std_ready_list.each do |std|
puts ">> #{std.readline}"
end
end
end