Skip to content
yowasou edited this page Aug 13, 2023 · 7 revisions

議事録(58)

  • 今回はたくさんいる
  • 通常の三倍以上の人数
  • まずは自己紹介
  • 告知4人(5分ずつ)30分くらいかな
  • インターネット環境は自前で><

KPTふりかえる

  • メタプロ2版買いました
  • ライフハックの発表・・・今日はない
  • 別の活動はまだ

自己紹介

  • 所々聞き取れなかったのでポジションペーパー参照推奨
  • jacoyutoriusさん ... 普段はRubyで仕事とかサーバー補修運用。いつも司会
  • euledgeさん ... 普段はC#。PHPもやってる。Rubyは前のお仕事でやってた。他の技術者との接点になるのでこの回に参加している。
  • kengo suzukiさん...普段はPHP。数ヶ月ぶりの参加
  • yukwakさん ... Rubyは数年前にやっていたが初心者レベルに。この機会でリハビリ。
  • Webサービス作りたい人
  • Ruby初心者
  • 静岡オンラインでRuby開発してる人
  • langurさん ... 普段はC
  • yuukoさん ... 静岡から。普段はphp。同僚に刺激を受けてきた
  • こばやしさん ... 静岡でPHPの会社。RORのPJに参加
  • なかいさん ... 普段はRUby使ってない。今はWindowsでやってる
  • kanemaruさん ... 求職中。だれか仕事ください
  • isgkさん ... 今の仕事は評価業務。浜松楽器メーカーズフェスにでるよ
  • marilla716さん ... 技術者の集まりにきたい。Ruby歴はぜんぜん
  • yoshidaさん ... ラポールyoshida。工場努め
  • mackatoさん ... 3餓津に浜松ruby抜けたはずだが戻ってくる。東京から。Ruby10年くらいやってる
  • ふるごおりさん ... 仕事ではPHP。10年くらいまえにRuby
  • いちかわさん ... 宣伝と、(日本アンドロイドの会 5年目)静岡アプリコンテストの告知。ちょっと畑違いだけどよろしく
  • かしまさん?... フリーのエンジニア、RUbyはあんまりだが普段はWeb系。PHPも
  • つちやさん ... フーリエと言う会社で働いている。地域コミニティで話したくなってきた
  • スズキけいごさん ... かとうさんのしたではたらいてる。最近はJS。
  • tatibanaさん ... かとうさんのしたではたらいてる。RORを5ネンくらい。みなさんもRuby使ってください
  • misogiさん ... 浜松でフリーランス。最近かとうさんから仕事もらってる。Rails,C#,PHP。ここの勉強会でSlackを流行らせようとしている

CodeKataKata

  • 問題決定「算数オリンピックトライアル問題 1から8で作った数の和は」
  • またパーミュテーションで総当たりか?
  • 数式を導き出してやった人もいる(力技でないとRubyらしくないのか?…)
# 汎用性のないコード
# ABC + CDE + EFG + GHA = 1725
#
# 以下のように考える
#   x = A + C + E + G
#   y = B + D + F + H
# xとyを使って問題分を書き換える
#   101x + 10y = 1725
# ここで、最小の和は以下で与えられる
#   1 + 2 + 3 + 4 = 10
# 同様に、最大の和は以下で与えられる
#   5 + 6 + 7 + 8 = 26
# また x + y = 1 + 2 + ... + 8 = 36
# この条件を満たすyを探せば良い
for x in 10..26 do
  for y in 10..26 do
    if (((101*x + 10*y) == 1725) && (x + y == 36))
      p y
    end
  end
end
num = 0
#permutation.to_aはメモリいっぱい使っちゃうそうです
(1..8).to_a.permutation.to_a.each do |a|
  sum = (a[0] * 100 + a[1] * 10 + a[2]) +
        (a[2] * 100 + a[3] * 10 + a[4]) +
        (a[4] * 100 + a[5] * 10 + a[6]) +
        (a[6] * 100 + a[7] * 10 + a[0])
  if sum == 1725
    num += 1
    puts [a[1] + a[3] + a[5] + a[7], a].to_s
  end
end
puts num
# ベースの式は
# y= 101 * (a + c + e + g) + 10 * (b + d + f + h)
# y= 101 * (sum_a - x) + 10 * x
# y= 101 * sum_a - 91 * x
# x = (sum_a * 101 - y) / 91
a = [1, 2, 3, 4, 5, 6, 7, 8]
sum_a = a.inject(:+)
y = gets.to_i
#総当たり
nums = [1,2,3,4,5,6,7,8]
nums.permutation(8){|ws|
  f1 = ws[0].to_s + ws[1].to_s + ws[2].to_s
  f2 = ws[2].to_s + ws[3].to_s + ws[4].to_s
  f3 = ws[4].to_s + ws[5].to_s + ws[6].to_s
  f4 = ws[6].to_s + ws[7].to_s + ws[0].to_s
  f = f1.to_i + f2.to_i + f3.to_i + f4.to_i
  if (f == 1725) then
    puts ws[1] + ws[3] + ws[5] + ws[7]
    exit
  end
}
a = [1,2,3,4,5,6,7,8]
permutation = Array.new
permutation = a.permutation(8).collect{|array| array.join}
permutation.each do |i|
  a = i[0..2].to_i
  b = i[2..4].to_i
  c = i[4..6].to_i
  d = (i[6..7] + i[0]).to_i
  sum = a+b+c+d
  if sum == 1725
    print a.to_s[1].to_i + b.to_s[1].to_i + c.to_s[1].to_i + d.to_s[1].to_i
    break
  end
end
require 'pp'
# 欲しい答えを入れよう
answer = 1725
numbers = [1,2,3,4,5,6,7,8]
sums = {}
patterns = {}
numbers.combination(4).each do |c|
  a = c.inject(:+)
  other = numbers - c
  b = other.inject(:+)
  sum = 100 * b + 10 * a + b
  sums[sum] = [a, b]
  patterns[a] ||= []
  patterns[a].push([c, other])
end
ans_sum = sums[answer]
if !ans_sum
  puts '答えはありません'
  puts '答えは以下のどれかです'
  puts sums.keys.join(',')
  exit
end
puts "#{answer} = #{ans_sum[0]} + #{ans_sum[1]}"
pp patterns[ans_sum[0]]

近くの席の方と一緒に解いたバージョン

(10..26).each do |a|
  b = 36 - a
  answer = 101 * a + 10 * b
  if answer == 1725
    puts "answer is #{b}"
  end
end

告知・LT

kazuomatzさんの告知

  • いろいろさわっているひと。PGから動画編集までマルチ
  • PHPとかAnd○roidとかOfficeはさわらない
  • いろいろアプリを作ってる
  • まちぽ・・・超ローカルニュースアプリ
  • womo・・・無駄にリッチなアプリ
  • 静岡市人口が減ってきてる→シズオカアプリコンテスト!
  • サイトはrailsで作っている。
  • 静岡市のオープンデータを必ず一つ以上使用する。
  • 全国からアプリ募集
  • 最優秀賞30万円
  • 人口減少対策賞も有る。AWS賞も。
  • すでに参加登録は始まっている。
  • 表彰式は静岡のホールで
  • 参加者全員に50$分のAWS無料クーポンが貰える
  • AWS講習会に無料参加可能
  • Q:オープンデータ・・・CSVもPDFもある。PDFのものを切り抜いて使ってもOK?
  • A:OK。ライセンスはCCCで出してる。
  • Q:今川さんとは?
  • A:静岡の有志の方が立ち上げた。ぬいぐるみは100万円ぐらいした。ゆるキャラグランプリに参加中。180?位
  • 100位以内に入ったら静岡市公認になるらしい。
  • 公認にならなくても表彰式にはでる。今川義元ベース。

macha1972さんのAndroidの会ほか告知

  • 主に組み込み系の人。特技は滑ること
  • 今週土曜日Android浜松支部イベント。Eddystone(オープンなビーコン)のセミナー
  • 東京で1回、浜松で1回
  • Android Bazaar & Conference Diverse 2015 Kanazawa
  • 地方でやっていく。Androidのお祭り。金澤めっちゃ遠いらしい(4~5時間??)
  • シズオカアプリコンテストのアイデアソン。12/12にやろうと思っているがRuby会議とかぶる...
  • コンテストはグループ応募もOK。
  • Androidの会とはまるびはほぼ同時に立ち上がって5年。キリがいいので一緒に何かやりたい。

langurさん告知

  • 静大情報LT大会(OSC浜名湖プレカンファレンスも)
  • ブースの出展申し込みも始まっています
  • LTのテーマはなし。情報系に限らずいろいろやっている(ライフハックとかもOK)
  • まだ人数少ないので登録お願いします

jacoyutoriusさんLT

  • スライド資料 http://www.slideshare.net/YutoOgi/itamaeprovisioning
  • itamaeで一撃サーバー構築(予告を実装)
  • itamae:サーバーのプロビジョニングツール いろんな設定をRubyのコードで実装
  • サーバーの有るべき状態を定義する。Linuxのディストリビューションの違いを吸収してくれる。
  • 何度実行しても同じ状態になる。
  • プログラムなのでバージョン管理ができる。差分比較とかもかんたん
  • Chef,Puppet,Ansibleも類似のツール。itamaeはChefから大きく影響を受けている。
  • 覚えること:レシピとリソース
  • レシピ・・・どんなパッケージをインストールするかRubyで記述
  • リソース・・・対象サーバー上で実行する命令
  • テンプレートに変数を指定して設定ファイルを作成したりできる。
  • 実際にシェルの実行も可能。使うときは要注意。
  • Gemでインストール。「gem install itamae」Ubuntuではapt-getでも。
  • ローカルへ実行したり、sshで実行したりvagrant内で実行したりできる。
  • 結局色々オプションつけて複雑に。オプションはいろいろたくさんある。
  • pluginsも30いくつかある。名前を見ると何となく分かる
  • itamaeの場合はgemでプラグイン管理。
  • rbenvのプラグインは割と読みやすい。
  • 出来上がったサーバーのテスト(=>Serverspecというツールも有る)

まとめ:itamae楽しい。上手く動くと全能感。多少ハマるところも有る。

otto

  • ottoを使うととりあえず開発環境の入ったVMが手に入るよ

mackatoさん naisyokunoseika

  • swiftで、自分を撮影するアプリを作っていた。
  • 自宅で働いている時に顔を合わせられないため、顔撮影するアプリを作った。
  • 写真付きでHipchatにあげることができる。社内でのウケがいい。
  • swiftを使うと簡単なツールが作れていいよ

KPT

Keep(今回よかったこと)

  • 人がたくさん来た
  • 事前準備しっかりした
  • (無理やり)課題とけた
  • 成果発表した
  • KPTをしてること(あまりやってる勉強会を知らない)

Problem(今回失敗したこと)

  • 問題選択ミスったかも
  • 数学使うとRubyの勉強にならない
  • メソッドがすぐ出てこない
  • そろそろ働く
  • ケツが痛くなるので体を動かしたい
  • コードと発表がわかりにくかった
  • 環境を作ってこなかった

Try(次回やりたいこと)

  • テストコードを書く練習
  • 次も参加してLTする
  • LTしたい★
  • もう少しRuby自体の深いところを勉強したい
  • 飲みたい
  • 初心者向けのレクチャーとか
  • 「問題文に出てくる以外の定数を使わない」という制限とかどうだろう
  • 次回、来年のHmrbは何します?

黒板

Clone this wiki locally