Skip to content

Instantly share code, notes, and snippets.

View ota42y's full-sized avatar

ota42y ota42y

View GitHub Profile
@ota42y
ota42y / callback.rb
Created January 19, 2018 06:34
callback test
# frozen_string_literal: true
begin
require "bundler/inline"
rescue LoadError => e
$stderr.puts "Bundler version 1.10 or later is required. Please update your Bundler"
raise e
end
gemfile(true) do
require 'virtual_gem'
# create virtual gem for rails related gems
['actioncable', 'actionmailer', 'actionpack', 'actionview', 'activejob', 'activemodel', 'activerecord', 'activestorage', 'activesupport', 'railties', 'rails'].each do |name|
::VirtualGem.register_virtual_gem(name: name,new_version: '5.2.0', original_version: '5.2.0.rc2')
end
# rails dependency overwrite
::VirtualGem.register_requirements_changes(name: 'rails', version: '5.2.0', new_requirements: {"actioncable"=>["=5.2.0"], "actionmailer"=>["=5.2.0"], "actionpack"=>["=5.2.0"], "actionview"=>["=5.2.0"], "activejob"=>["=5.2.0"], "activemodel"=>["=5.2.0"], "activerecord"=>["=5.2.0"], "activestorage"=>["=5.2.0"], "activesupport"=>["=5.2.0"], "railties" => ["=5.2.0"]})
::VirtualGem.register_requirements_changes(name: 'activemodel', version: '5.2.0', new_requirements: {"activesupport"=>["=5.2.0"]})
tesorflow_host = 'host_address'
lib_dir = File.join('/work/proto_ruby')
$LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
Dir.glob('/work/proto_ruby/**/*.rb'){ |path| require_relative(path) unless File.directory? path }
require 'chunky_png'
float_values = Array.new(28 * 28)
img = ChunkyPNG::Image.from_file('/work/image.png')
28.times do |i|
package main
import "fmt"
import "time"
func main() {
go func() {
fmt.Println("gopher")
}()
time.Sleep(time.Second)
movl $0, (SP)
leaq "".main.func1·f(SB), AX
movq AX, 8(SP)
pcdata $0, $0
call runtime.newproc(SB)
@ota42y
ota42y / id.rb
Last active August 30, 2018 11:45
def save!
post = Post.new(user: user, text: 'text')
comment = Comment.new(post: post, text: 'text')
exec = IdempotentExecutor.new(user_id: user.id, transaction_type: :post_create, signature: 'abcdefg')
exec.idempotent_transaction do
Post.transaction do
post.save!
comment.save!
desc 'execute rubocop git diff file only'
task diff_rubocop: :environment do
system('rubocop -a $( git diff --name-only --diff-filter=AMRC | grep -e ".*\.rb" | paste -s - )')
end
@ota42y
ota42y / Dockerfile
Last active February 11, 2019 03:15
tenserflow serving test
# 2019/02/10現在、Ruby 2.6ではgoogle-protobufが動かない(google-protobufの3.7.0で治る)
FROM ruby:2.5.3
RUN gem install grpc grpc-tools
今感じている、現在の自分ができるようになってるプログラミングは業務の一部分で、実際の仕事はもっとたくさんの要素が絡まり合っていて、自分はまだその一部分しか理解できてない…といった感覚を現時点で持てているのはめちゃくちゃすごいと思います。
コードを書くということと、コードを書いてユーザに価値を届ける、いわゆるプロフェッショナルとしての仕事との間にはすごくたくさんの要素が並んでおり、かなりの距離があります。
そしてその距離は実際に仕事としてプログラムを書いて実感する人が多く、それを今認識できているのはとてもすごいです。
今研修でアプリを作ってもらっていますが、これはサッカーで例えるとドリブルを完璧にこなせるようになってもらう練習といった位置づけです。
ドリブルができても本番で点を入れるのは難しいですが、ドリブルができない状態でいきなりプロチームに入れても何も得られないので、こういった期間をおいています。
そして実際の試合ではドリブルが普通にできる上で、どうやって攻めるか、どうやって守るか、他のメンバーとどう役割分担をしていくかといった様々な観点が存在します。
プロダクト開発の世界でも同じで、ドリブル(研修でやるプログラミング)が普通にできるうえで、どの機能をどうやってユーザに届けるか、不具合をどう防ぐのかといった様々な観点が存在します。
そしてそのどれもが実際にユーザに価値を届ける上で重要な観点で欠かせないものです。
@ota42y
ota42y / Gemfile
Created April 22, 2019 13:41
committee benchmark
# frozen_string_literal: true
source "https://rubygems.org"
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
gem "committee"
gem "sinatra"
gem "pry"
gem "pry-byebug"