I hereby claim:
- I am itkq on github.
- I am itkq (https://keybase.io/itkq) on keybase.
- I have a public key ASDBnNWJy8KGros0EwG_jp_VkMHCY-1YYK8sTjm8xUAshAo
To claim this, I am signing this object:
require 'time' | |
def convert_zone(orig, to_zone) | |
original_zone = ENV["TZ"] | |
utc_time = orig.gmtime | |
ENV["TZ"] = to_zone | |
to_zone_time = utc_time.localtime | |
ENV["TZ"] = original_zone | |
to_zone_time | |
end |
count=sum=0;$('div.tableSet01 > div > table > tbody > tr > td:nth-child(5)').each(function(){point_str=$(this).text();if(point_str=="認定"){point = 60; count++;}else if(point_str == "合格"){point=0;}else{point=Number(point_str);count++}sum+=point;});console.log(sum/count); |
I hereby claim:
To claim this, I am signing this object:
WSA研 #1: サービスのパフォーマンス数値と依存関係を用いたサービス同士の協調スケール構想 / @itkq
本稿は WebSystemArchitecture 研究会 #1 の予稿です。
近年 Docker をはじめとするアプリケーションコンテナが広く使われており、Kubernetes などのオーケストレーションツールを用いて、オンプレミスだけでなく、マネージドサービス (GKE, ECS, EKS) で使用する例が増えている。 クラウドを意識してアプリケーションを構築する現在、もはや「マイクロサービスアーキテクチャ」というまでもないが、service-to-service で通信するモデルが一般的になりつつある。
そこで Zipkin, OpenTracing などの分散トレーシングや、Envoy, Linkerd, Istio などサービスメッシュが登場し、リクエストの追跡・サービス間メトリクスの取得・サービスディスカバリ・障害分離・カナリアデプロイ・サービス間認証などが現実的に行えるようになっている。しかし、これらは依然として開発基盤よりの目的・技術だといえる。サービスメッシュで構築された基盤の上で動作するサービスを安定して運用するために、サービスメッシュを利用して、サービスをどのようにスケールさせるか、といった運用上の応用、実例はほとんど公開されていない。
require 'net/http' | |
require 'openssl' | |
require 'json' | |
require 'optparse' | |
HEADER = { Authorization: "Bearer #{ENV.fetch('ANNICT_TOKEN')}" } | |
HOST = 'api.annict.com' | |
WATCHED_FILTER = -> a { ["watched", "watching"].include?(a["status"]["kind"]) } | |
SEASON = ["winter", "spring", "summer", "autumn"] |
require 'fileutils' | |
require 'pathname' | |
require 'open-uri' | |
require 'net/http' | |
URL_TEMPLATE = 'http://t7s.jp/image/page/release/ingame/cover/%02d.png' | |
def save(url, base_path) | |
puts url | |
data = open(url).read |
require 'net/http' | |
require 'open-uri' | |
require 'fileutils' | |
require 'nokogiri' | |
class KonoiroIinaCollector | |
BASE_URL = 'https://webnewtype.com'.freeze | |
DEFAULT_RESOLUTION = 'w3600h2700'.freeze | |
def self.save_all_images(save_dir = nil, resolution = nil) |
require 'openssl' | |
require 'base64' | |
require 'digest' | |
plaintext = "sample" | |
pass = "pass" | |
key = Digest::SHA256.digest(pass) | |
cipher = OpenSSL::Cipher.new('aes-256-gcm') |