Kintone cafe in Osaka 感想!
こんにちは、琉球大学 情報工学科 3年次 木下和巳(@warugaki_kazumi)です。
3月25日に開催された「kintone cafe in 大阪」に参加してきました。
レポートを書く予定でしたが、ゆっくりブログを書いている途中で
R3の中の人が完璧な記事を投稿したので、
今回は手短に感想を書きます。(๑˃̵ᴗ˂̵)و
まだ、完璧な記事を読んでいない人は、先にそちらへ。
目次
勉強会
- 方向音痴迷子
間違って綺麗なおねいさんが踊る居酒屋に凸した後だったので、 若干ウキウキ気分と緊張気分が複雑に入り混じっていました。
- 自己紹介タイム
それから、
なんかいきなり自己紹介タイム。
おねいさんが踊っていたせいで心臓がバクバク(違w
適当に喋って、頭真っ白でした。(フー
- 皆が皆。プロフェッショナル。
なんちゃらなんちゃらプロフェッショナルを皆さん持っています。
それぐらいじゃないと、仕事にならないのかと個人的に思ったり。
- ベストプラクティス
仕事ってとにかく論理的なベストプラクティスで実行されるべきなのかなと思いました。
- kintoneのカスタマイズ方法がよく分かる
jsわからずとも、ハンズオン形式なので文系にもわかりやすいと思いました。
業務 with kintone って最高だと思ったり。
- 仕事が垣間見れる。
あくまで憶測ですが、このような勉強会に参加すると仕事が垣間見れたりするかもしれませんね。
様々なイベントに参加していますが、
この会社は、業務手助けしているのかなーと思ったり(違ってたら、申し訳ない
懇親会
- うまい
カレーにビールが意外と合う。
- 名刺
名刺をもらうが、お返しできず。
早速、作りました。
沖縄ではほぼもらわないですね。
- 酔い
酔ってました......
みんなで一つのルーにナンを直接つけてました。(気づいてから、スプーンで取りましたよw
- 学生
学生なので、おごってもらいました。
ありがとうございます!美味しかったです。
第1回Okinawa.goのレポート
こんにちは、琉球大学 情報工学科 2年 木下 和巳(@warugaki_kazumi)です。
先日、3月19日に第1回golang勉強会を開催しました。
コミュニティーが発達し、LT登壇者が増えることを願ってブログを書いていきたいと思います。
目次
はじめに
業界を知らない方のために、軽く説明します。知っている方は、次に進みましょう。
ごく稀に「怪しい勉強会でしょ?」と思われますが、全然違います。 最近、プログラミングの習い事も流行っているらしいですね。 そのような感じで、子供に習い事をさせるような感覚と同じようなものと思って良いです。 それが、3か月に1回程度になり、社会人や学生がプログラミングの習い事に通っているようなものです。
「小さい子供ではなく、社会人や学生などの楽しいプログラミング勉強会」程度に受け取ってもらって十分ですが、なかなか理解しづらい「コミュニティー」という概念も関連しています。 コミュニティーに関しての説明ですが、あまり理解できていないので、割愛させてもらいます。
イベントについて
プログラミング言語Golangのチュートリアル「a tour of go」をみんなで一緒にやる勉強会です。
参加人数
大体ですが、イベント登録人数は30人。
気軽に遊びに来てくれたり当日キャンセルなどで、実際の参加人数は25人でした。
ハッシュタグ
ハッシュタグがまとめられています。
ハッシュタグを眺めながら、ブログを読むのが最近の流行りのようです。
臨場感をもってもらえれば幸いです。⁽⁽٩(๑˃̶͈̀ ᗨ ˂̶͈́)۶⁾⁾
大まかな勉強会の流れ
この勉強会についての説明
「a tour of go」
LT大会
勉強会始まり
さぁ、イベントスタートです。
まずは、コアメンバーの西島氏から自己紹介と勉強会の流れの説明がありました。
すぐあとに、「a tour of go」を早速開始!
13:30~15:00までぶっ通しでやってました。
「golangは、他の言語と比べてここが違う」「便利」など
あーだこーだ言いながらやってました。
次は、LT
LT
さて、次にLTの感想や情景を徒然なるままに紹介します。
LTってのは、5分程度で好きなことを話すプレゼンです。
西島さん
徳の高すぎるLTでした。
要約すると、「LTしようぜ」。
なぜ..............?と思った人はスライドへ。
半数以上がやる気を出したLT。楽しいエンジニアライフへ駆り立てるだろう。
www.slideshare.net @k_nishijima
tomohiroさん
会社でGolang使っている人なので、期待通りのLTでした。
今から使えるTool感満載でした!
(個人的には、次にライブコーディングしてほしいw
chibanaさん
こちらは、スライドが上がってないようですが、ブログを見つけました!
個人的に引き込まれたのが、チャネルで詰まった話。
「a tour of go」で 解決したそうです。(詳しくは、ブログに書いてます。
本当に、基礎大事!
木下さん
ラズペリーパイで並列処理をしたいがために、golangを使用しているらしい。
select文を使っていたので、並列処理したくなったなー。
質問の場所は、gopher.slack.comとyoutubeみたいだ。
www.slideshare.net @warugaki_kazumi
以上で、終了。
この後、居酒屋で懇親会があったようです。
次回
「第2回Golang勉強会 in Okinawa」は、5月28日に開催予定です。(多分w
最後に
私たちは、運営コアメンバー・LT登壇者を求めています。
また、
こちらからも声かけをすると思いますが、
Golang界隈の方の登壇をお待ちしております。
お気軽に声をお掛け下さい。(⇨@warugaki_kazumiまでっ!
第16回kansai.pmに参加して
こんにちは、木下(@warugaki_kazumi)です。
Let's ブログ書くまでが勉強会!(๑˃̵ᴗ˂̵)و
何してきたの?
Perl勉強会に参加してきました。
参加理由と私について
他には、okinawa.rbとyomitan.pmなどに参加しています。
参加理由は、
帰省中に、ラクダの鳴き声が聞こえた。
コミュニティー関係について学べるかと思った。
学んで、沖縄のコミュニティー・LTに貢献したい。
LTについて
東さん
www.slideshare.net
猫ネタを挟むLTでした。PerlからRubyに移植した時の貴重な経験を話してくれました。
少し、ライブコーディングを披露してくれて、地味な作業を見せつけられました。
そして、その陰に、言語の知識と地味な作業に屈しない態度が垣間見えて、
リスペクトしています!
karupaneruraさん
www.slideshare.net
すごい。yapc発表者だ。 うっかりをなくす技術 - YAPC::Asia Tokyo 2015
time系のモジュール作ったらしい。
同じようなことをするモジュールの違いを喋っていました。僕は、一つしか使わないので、取り入れようかと思いました。
sagoさん
www.slideshare.net
車のコーディングについて語ってくれました。
そんな仕事があるんだ。へーって感じでした。
10行コード書いたら、何十時間のテストするそうです。
だから、コード書ける人と書けない人が分かれるそうです。
下手したら、一年に100行も書かないようです;(
(これは、僕のようにプログラミング書けない人でもできるのかなと思った。組み込みとかにも興味あるので楽しそう。
他に、papixさんとてつじさんのスライドが見つからず。
papixさんが、LT終了時間を超える主催者泣かせの素晴らしいライブコーディングを披露してくれました。
てつじさんは、wordpressなPerl。作るべきモジュールについて
懇親会について
LTが5回ありました。アルコールが入っているので、発表者も聞く方もむちゃくちゃw
引っ込んであんまりしゃべれませんでしたが、yomitan.pmとcodehexさんが有名でしゃべれたかなーって感じw
Perlコミュニティーは、言語自体が好きでPerlプログラミングをお酒の当てにする大雑把さがあり
Rubyコミュニティーは、真面目な感じがするってのを個人的に思います。
学生に4000円は痛い!
次に活かすこと
琉TechのRuby勉強会に参加して。
とりあえず、行った。(ちなみに、朝から頭痛い。
入門編でした。
Ruby歴about2年なので、場違い感を感じて、
ハンズオン講師サボさんに申し訳ないと思いながら、他の事としてました。
クラスメソッド・インスタンスメソッド・メタクラス・得意メソッドからの
主にmainオブジェクトと戯れていました。
ことの発端は、あおもじさんのレシーバーな質問。
Rubyはオブジェクト指向なので、メソッド呼び出しの際にどこに住んでいるメソッドなのかを示さなくちゃいけない。
だから、
トップレベルのmainオブジェクトに関数型のhogeメソッドを定義。
def self.hoge puts self puts 2 end puts self => main
selfがmainであり、かつ、mainにhogeが住んでいるので呼び出しました。
main.hoge
でもエラーが・。
調べると、関数型メソッドはprivateなのでレシーバーを直接指定すると呼び出せないみたい。
privateなので、もしかして、得意メソッド?って思ったので、
確認してみた。(weblog読めなくてw
a = "hoge" def a.tokui puts puts self puts 2 end a.tokui
呼べた。
これで、関数型メソッド=得意メソッドだと思う(いや、メタプログラミングorたのしいRubyに書いてあったんじゃないか........orz
こっから、
i = main main.hoge
的なことすれば、呼び出せたり?とか思った。
からの
mainの実装は?
トップレベルでのself.classがObjectなら、cレベルのObjectの定義を見ればわかりそう。
ってな感じで、cを読んでいました。
どうやら、
object.cのrb_obj_class()が.classの実装らしい(これはエスパーです。Ruby under a microscope読めば、できるようになります。
VALUE rb_obj_class(VALUE obj) { return rb_class_real(CLASS_OF(obj)); }
CLASS_OF(obj)はdefineされている。
#define CLASS_OF(v) rb_class_of((VALUE)(v))
rb_class_of
static inline VALUE rb_class_of(VALUE obj) { if (RB_IMMEDIATE_P(obj)) { ^ if (RB_FIXNUM_P(obj)) return rb_cFixnum; ^ if (RB_FLONUM_P(obj)) return rb_cFloat; ^ if (obj == RUBY_Qtrue) return rb_cTrueClass; ^ if (RB_STATIC_SYM_P(obj)) return rb_cSymbol; } else if (!RTEST(obj)) { ^ if (obj == RUBY_Qnil) return rb_cNilClass; ^ if (obj == RUBY_Qfalse) return rb_cFalseClass; } return RBASIC(obj)->klass; }
mainオブジェクトなので,
return RBASIC(obj)->klass;
がreturnされますね。
ここで 「mainオブジェクトな構造体のメンバーklassがObjectを示している」ことを自分なりにエスパー
でも、次のマクロで死にました(読めない
#define R_CAST(st) (struct st*) #define RBASIC(obj) (R_CAST(RBasic)(obj))
ってなわけで、楽しかったですw
16日のokinawarbでhanachinさんと一緒に読む予定です。(かなり楽しみ。
あと、1年時に負けてらんないですね。 一年生が純粋にプログラミングやっている姿を見ていると 負けそうで、負けてたまるかって思いました。
brew upgrade ruby-buildしても、2.3.0が見当たらない
Mac 10.11
$ brew update $ brew upgrade ruby-build
しても
$ rbenv install -l
した際に 2.3.0が表示されませんでした。
もちろん、formuraのバージョンは最新でした。
解決方法として
無理やり
$ rbenv install 2.3.0
すると
ruby-build: definition not found: 2.3.0 The following versions contain `2.3.0' in the name: 2.3.0-dev rbx-2.3.0 See all available versions with `rbenv install --list'. If the version you need is missing, try upgrading ruby-build:
と表示されるので
$ cd /Users/kinoshita/.anyenv/envs/rbenv/plugins/ruby-build && git pull
すればいい!
ググラないで。いろいろ試すと、ハック力上がりますね。これは友達を見ていて思いました。
A simple tip : Big O notation via found element in golang.
I found great thing. It's a fast Big O notation go programing.If you don't know Big O notation, read next link .
Big O notation - Wikipedia, the free encyclopedia
If you always scratch programing in Ruby,but now in Go.If you wanna call look like a method which look like include? in Ruby in Golang.In the first place , do you know a include? method. which found argment element from receive object of list.There is similar Two way.which call look like it in go
First.
for loop.which is O(n).scratch below.
package main import ( "fmt" ) func main(){ var target [5]string = [5]string{"0","1","2","3","4"} for value := range target{ if 3 == value { fmt.Println("match") } } }
Second.
golang don't have to use list in this patarn. It should use map,which is O(1).like scratch below.
package main import ( "fmt" ) func main(){ map1 := map[string]int{"0":0,"1":1,"2":2,"3":3,"4":4} _, ok := map1["0"] fmt.Println(ok) }
map is faster than loop implemention.and below golang code is very cool. In the first place, golang thought is very cool.
_, ok := map1["0"]
dockerイメージをloopbackデバイスを使用して、mountする方法。(ex11.2 option)
大学の課題のメモ。作業中楽しかったので、久々にブログる。
課題 「dockerイメージをloopbackデバイスを使用して、mountして、dockerの中のファイルをいじろ!!」
やり方
dockerをrunして、 dockerをcontrol + pとcontrol + qでデタッチ
$losetup /dev/loop2 /dev/mapper/"マウントしたいdockerイメージ"
でマウントしたいdockerイメージをloop backデバイスに縄付ける。 マウントしたいdockerイメージは、tabを押せば出てくる。 自分の場合は、docker-253:0-35053790-e7af597718d6e033d81e36dbccff5539fe8c2f74dcd28914d0bda511f4eab40d ってでた。
間違って、poolを選ばないように。
$mkdir /mnt/mountpoint $mount /dev/loop2 /mnt/mountpoint
で、マウント先を作成して、マウント
ちなみに、アンマウントは、
umouunt /mnt/mountpoint
だと思う。
簡単だと思うけど、ここまでたどり着くのにかなり苦労しました。
苦労・感想
/dev/loop0をddコマンドでイメージを作成して、loop2にして、マウントしたができない苦労。できても、マウント先に何もない苦労。
/dev/loop0をddコマンドでイメージを作成して、mkfs.xfsコマンドでxfsフォーマットにして、loop2にして、マウントしたができない苦労。できても、マウント先に何もない苦労。
さらに、/dev/loop0をddコマンドでイメージを作成して、mkfs.xfsコマンドでxfsフォーマットにして、xfs_admin -uでuuidを確認して、マウントする際にmount -U 2f71b437-b644-4d47-b1ab-b913f7513ea6したが、マウントしたができない苦労。できても、マウント先に何もない苦労。
dmってのは、mapperで/dev/mapperにあるってのを気づいたので、できた(なんでもっと早く気付かない。)
できなかったのは、ddコマンドのxfsがおかしいと思う。そもそも、仕様てきにとかも思ったりもしてる。(適当) dockerのイメージは、mapperらしい(mapperあまりわからない.)
あと、xfsフォーマットや、xfs_adminコマンドについて学べました。
ちょうど、マウント祭りをやりたいなーと思ってたところなので、楽しかったです。 次は、lvmとかnfsについてやりたいなー。(そうゆう課題が欲しい()
参考文献
複数パーティションのHDDのRAWイメージをマウントする方法まとめ - それマグで!
RHEL7におけるDockerのディスクイメージ管理方式 - めもめも
XFS Filesystem has duplicate UUID problem - Administration - Linux Tips & Forums