ようじょのおえかきちょう

ふぇぇ お医者さんにペン持ったらダメっていわれた〜〜

秋冬になると思うこと

長い夏休みが終わり高専祭の準備をバタバタと始める頃から、コンテストが増える。ロボコンは1年生で地区大会前に部活を辞めてしまったし、英語プレコンは今年も気がついたら申込みが終わっていた。プロコンは…自由か課題には出たかったが校内で誰がやっているのか分からず参加できなかった。競技はまず無理と思っていつものごとく諦めた。

ロボコンをやりたくて(と言っても機械じゃなくてコード書いて制御する側)高専に来たはずなのに色々あってロボ研を辞めてしまった。Web系をやってる先輩がいたのでそっちで成長させてもらうことにした。

先輩が卒業したので今度は学内でWeb仲間を探そうとWeb研に遊びに行ったらほとんどが幽霊部員で、お世辞のつもりだったかもしれないけど「君に教えられることはない」なんて言われて悲しかった。いくつか机をはさんだところでは情研の先輩が何か講義をしていて、この学校では「競技人口 >> Web人口」なんだと知った。情研の何人かに近づいてみたりはしたけど、あまりWebに興味がある風には見えなかった。傍から見たら同じ「コードを書く」でも、やってることはぜんぜん違うし当たり前なんだよなぁ。

そのころ私は当時のインターンを休憩していた。なんでか漠然と「競プロやったほうがいいのではないか」と考えてABC過去問に手を付けたが、AやBは問題文読めばはいという感じだったけどCあたりから知識がなくて解けず中学受験みたいだと思った(受験したことはない)。それに解き方を考えるより、入力例をワンクリックでコピーできるChrome拡張を作っている方が楽しかった。作り終えた時点で、自分に競プロの素質はないと思って競プロを離れた。

TLの人や学校の競プロに明るい人たちはよく「printf して "HelloWorld" が出力されて興奮した」と言っていて、それを見るたび「やっぱり自分には素質がないんだな」と思ってつらくなる日々だった。「CSSだって animation: hoge; とか書いていけばカッコイイ動き作れるんだぞ」と思ったけど、きっと多くの人にとってその2つは平行線で交わらないのだろうなぁ。

このあたりで自分に言語のこだわりのないことも分かってきて「便利ツールを作れれば(何を使って作るかは)なんでもええやん」とか、さらには「コード書いて解決しなくてもよいのでは」なんて考えて、コード書くのがそんなに好きでないことにも気づいた。気づくとますます「情報と名前のつく学科にいるのになんでコード書くの好きじゃないの」「ここに来たのは間違いじゃないの」「そもそも自分Webやりたいの」と考えるようになってしまった。

今では「コード書いて楽しむ人もいれば、自分みたいに目的が達成できればそれでいい人もいる、他にも色んな考え・趣味の人がいる」と思えるようになったし、目的が達成できればそれでいいのでWebにこだわる気持ちもない。スマホアプリ作ったり組み込みしたり、あるいはプログラムから離れても全然良いと思う。

なんでそう思えるようになったか、はっきりとは分からんけど、たぶん「みんながみんな同じ考え・趣味・スキルを持ってると世の中進まない」って気づいたこととか「やりたいことなんてコロコロ変わるもんやし、その時やりたいことができればええやん」「もうちょっと勉強して経験値上げたらまた考えることも変わってくるやろ」みたいにどーんと構えることができるようになったからかなぁ。さらにそれはなんでって聞かれるともう分からんし、たぶん時間の問題。

で、秋冬になると「N年前の今の時期はあんなこと考えてたなぁ」なんてしみじみ思い出すわけです。

D | 触ったことない言語で Hello world! Advent Calendar 2日目

www.adventar.org

導入

$ brew install dmd

1秒かからずに終わる。

コンパイルからの実行

$ dmd hoge.d
$ ./hoge

コンパイルと実行を一発でやってくれるやつ

$ rdmd hoge.d

Hello world!

// Hello world
import std.stdio;

void main() {
  writeln("Hello, world!");
}

おまけ

任意の数だけD言語くんがにょきにょき生える

import std.stdio;
import std.conv;

void main(string[] args) {
  auto limit = to!(int)(args[1]);

  for (uint i; i < limit; i++) {
    writeln("  _   _");
    writeln(" (_) (_)");
    writeln("/______ \\");
    writeln("\\\\(O(O \\/");
    writeln(" | | | |");
    writeln(" | |_| |");
    writeln("/______/");
    writeln("  <   >");
    writeln(" (_) (_)");
  }
}

f:id:yamasy1549:20161203115308p:plain

これをD鎖といいます

つまづいたとこ・へーっておもったとこ

  • https://k3kaimu.github.io/dmanual ここが一番よさげ
  • 指定子はとりあえず%s(文字列)にしといたらよしなにやってくれる
  • 変数は宣言されたら自動的に初期化される。ありがたい
    • int.initとかでデフォルトの初期化値がわかる
  • uintっていう符号無しの型がある うれしい使い方が知りたい
  • .hogeと書くことで、グローバルなシンボル hoge を指すことができる
  • .idup(コピー)されたときにできるやつはimmutableになって代入ができなくなる
  • 1..11Rubyでいう1...11なので注意

ソースコードとか

github.com

Charlotte・星ノ海学園の制服をつくった | 友利奈緒 Advent Calendar 2016 2日目

www.adventar.org

友利奈緒 Advent Calendar 2016 2日目をいただきました。こんにちは。

この間「高専セキュリティ・コンテスト」に友利奈緒のすがたで参加してきたので、そのことを書こうと思います。

1日目の記事を見て感動して即エントリーしました。プロの友利奈緒が言うことは説得力があります…!

pinksawtooth.hatenablog.com

説明はいいから完成品を見せろ

最初は自分の分だけ作ってたけど、他の人(通販で注文していた)の発送が間に合わなくて「ウィッグはあるのに服がない」みたいなおもしろ事案になっていたので結局プラス2着(合計3着)作りました。

作ることになった経緯はもうちょっと下に書きます。

買ったもの

  • 20ツイル(ピンク・茶・白)
    • セーラー服本体と襟、スカート用。
    • 以前の制服たちではカツラギデニムを使っていたが、合う色がなかったのと経費削減のために布を変えてみた。
    • 中厚手ぐらいの綾織、カツラギデニムよりも柔らかく肌触りが優しい。
  • オックスフォード(紫)
    • もともとスカートはこの色にするつもりだったが、追加制作が決まったときにオックスフォードの在庫が無かったので追加の2着は上の20ツイル(茶)を使った。
    • 3人並んだ写真で「なんかひとりスカートの色違くね?」となったらそれはオックスフォード(紫)です。
  • なんか薄い布(黄)
    • リボン用、名前忘れた。
    • サテン布じゃなくて普通に綿布。
  • バイアステープ(茶・白)
    • 襟・スカート・セーラー服前部分のライン用。
  • スナップ
    • セーラー服の前部分と襟を留めるため。

参考までに、購入した値段は7500円ほどでした(3着分)。

作り方

型紙

セーラーカラーブラウス(セーラー服・制服) 型紙 作り方 | コスプレ衣装 無料型紙 でぃあこす を参考にしました。 型紙は半袖だったので雑に長袖用に作り変えて、前を開けてボタンつけてジャケット風にしました。私のは女性Mサイズ、追加で作ったのは男性Lサイズです。

星ノ海学園の制服は、セーラー服の裾部分のカット(とがってるとこ)がかっこいいですね。引き締まった感じがします。

今回はいつもと比べて布が少し薄いので、布を二重にする必要がありました。

縫い合わせ

型紙通りに作ると脇部分が締まってしまってキツかったので、無理矢理広げました(それでも男性陣にはまだキツかった模様)。無理矢理広げたせいで、袖の接合部と胴体の接合部が微妙にズレてしまい、脇部分に穴が空いた状態になったのですが「ほら、通気性いいやろ!」と言ってそのまま空けておきました。

あと今回は事前にちゃんと主要部位のサイズを聞いていたので、あんこう制服作ったときみたいな痛ましい事故は起こりませんでした。

スカート

はじめは2重のつもりで作っていたけど途中で布が足りなくなったので1重にしたら案外いけた(黒森峰のときも同じこと言ってた気がする)。雑にチャックと固定用の紐をつけました。

キックしたときのスカートの動きを考えて、ひだを気持ち多めにとってあります。作中でも何度か友利奈緒キックを拝めましたが、かっこいいですね。

妥協

圧倒的裁縫力不足と時間不足により、前当て部分の模様やセーラー服裾のボタンを省略しました。ごめんなさい。 (あとは着る人側の妥協で、ウィッグつけてなかったりスニーカーだったりソックスじゃなくてタイツ履いてたりして完全に友利奈緒にはなれていません。)

作ってみて

  • あんこうや黒森峰よりだいぶ簡単に思えた。襟が難易度高くなかったのが大きいっぽい。
  • 採寸大事
  • 渾身のネタツイートより自撮りのほうがfav多いのが悲しい
  • コスパを考えるならコスプレ服を買ったほうが絶対にいい

作ることになった経緯とか

今年のはじめ

TomoriNaoが文部科学大臣賞を受賞した頃から、友利奈緒に興味を持ち始める

セクコン2週間前

このときは本当に友利奈緒するとは思ってなかった

制服作りたいと言うとチームの人が必ずfavしてくることに気づく

1週間前

メンバーの人が「友利奈緒しないの?」と言ってきた

自分の分が完成した

コンテスト参加者のSlackで写真を晒される

5日前

発送が間に合わなかった人用と「やっぱり僕も着たい」という人用で、追加でもう2着作ることになる。帰ってきたらお母さんがいろいろやってくれてる

3日前

というかコンテスト1週間前に「僕も着たい」とか言い始めるやつがわるい(暴言)

2日前

実はまだCharlotte観てなかったことがばれたので契約した

当日

ウィッグは上手くつけられなくて諦めました

他校の先生にポッキー渡してきた

会場内でいちばん点数が高かったので特別賞をもらった

高知高専は友利奈緒を応援しています

さいごに

友利奈緒は人気者。友利奈緒するとみんなが「友利奈緒だ!」って言ってくれるし場が盛り上がる

友利奈緒のすがたになるだけで友利奈緒だとわかってくれるし説明が省ける

友利奈緒なので何をしてもサマになる。普段いくら虹絵を漁って不気味な笑みを漏らしていてもチェックシャツにジーパンを履いていても、友利奈緒のすがたになれば何も恐れることはない。一挙一動が美少女のそれなのだ

だからみんなも友利奈緒しよう!

Go | 触ったことない言語で Hello world! Advent Calendar 1日目

25回続けることを目標にして、こまかいこといわずに適当に触っていくよ

www.adventar.org

導入

元々入ってた

$ go version
go version go1.7 darwin/amd64

$ go build hoge.go

$ go run hoge.go

Hello world!

// Hello world
package main

import "fmt"

func main() {
  fmt.Println("Hello, world!");
}

つまづいたとこ・へーっておもったとこ

  • var a int = 10 みたいに「変数名・型」の順で書く
  • まとめて書く時はこんなふうに
var (
  a, b = 10, 20
  c, d = 1.234, 5.678
)
  • インデントがハードタブ
  • ローカル変数は:=をつかうらしい
  • 宣言したけど使ってなかったら declared and not usedっておしえてくれる(?)
    • これはローカル変数だけかな?
  • セミコロンあってもなくても動く
  • ループがfor文しかない
  • b := [...]int{1, 2, 3, 4, 5, 6, 7, 8}この書き方ちょっときつきつな感じがする
  • [...]直感的ですき
  • iotaおもしろい

ソースコードとか

github.com

(じつは去年やろうとしていた残骸なのです)

#mixi_git challenge 第4回に行ってきた

3行で

  • 株式会社mixiの主催する学生向けのgitコンテスト
  • 一位タイとった
  • gitきもちわるいもっと勉強したい

f:id:yamasy1549:20161120220714p:plain

きっかけ

前に他高専の人が行っていて楽しそうだったので、次開催されたら絶対行くぞと思ってウォッチしていました。

あと前から学校の人と「コンテストとか一緒に出たいよなー」みたいな話をしていたのでいい機会だと思って応募しました。 住んでる地域が近いと同じチームにされやすいと聞いたので、学校が同じならきっと一緒のチームになるでしょと予想していました。

前日までの準備

.zshrcにaliasをいっぱい書きました。

f:id:yamasy1549:20161120220038p:plain

過去問 がいくつか公開されているようだったので解いて雰囲気を掴みました。私は日本語が弱くて問題文を理解するのに時間がかかり「やべぇ」と思いました。 ペアの人は黙ってするする解いていました。

このときめっちゃ場の雰囲気悪くて「これもうだめかもしんねぇな」とか思ってました。

当日の様子

はじまるまえ

なんかカフェみたいなところに着いたぞーと思ったらmixiのオフィスでした。

チームは全部でaからlまで12あって、d(delta-04)チームでした。名前かっこいい。 案の定同じチームに知った名前の人がいました。 他のテーブルは盛り上がっててなんだか楽しそうでしたが、deltaは特に喋りもしない微妙な空気の中、午前の説明を受けました。

お昼に寿司(カレー)が出ました。mixiでは寿司とカレーは同じ意味を持つみたいです。 社員さんに「コミュニケーション力が大事だよ」と言われて「詰んだめう〜〜」と思いました。 ペアの人も「ぼくコミュニケーション力マイナスなんで厳しいですね!」とか言ってました。

でも社員さん含めておしゃべりしながら食べてたら、ちょっと言葉を取り戻して調子が出てきました。 ペアの人に、コーヒーにシロップ2つも入れんのかよ子供かよ、とか煽ってたら完全に調子が戻りました。 そういえばよく煽りを入れあってて、そういう「調子のいい状態」をすぐ作り出せるって大事だなと思いました。これは知り合いならではです。

問題(全17問)のタイトルだけは公開されていたので、リストアップしてどんな問題になりそうか予想をしました、というかペアの人がしてくれていました。 聞いたことない単語の意味とか調べて「これ多分あのパターンだ」「このコマンド便利やで」とかをチャットでまとめていました。

はじまってから

奇数番/偶数番 で分けて問題を解くことにしました。 とりあえず簡単なレベルのものから解いていきます。 ちょっと詰まったら置いといて次の問題を解く、ペアの人が飛ばした問題を拾う、とかして★1は大した問題もなく埋まりました。 ★1全完はわりと早い方だったのではと思います。

★2は私が日本語うまく読めなくて何回もfailさせた問題があってちょっと時間がかかりました。 時間かけてる間にペアの人が「ぼく今日は頑張らないつもりやのに〜」とか言いながらめっちゃ解いてて良かったです。 このへんからちょっと考えて回答する問題が増えたので、「こんなことしたいんだけど〜」とか思考や手順を相手に話しながら進めたりしていました。ペアプロもどきです。

残り1時間ぐらいになって★3を解き始めました。と言っても私は★2の残りをやっていたのて、ペアの人がやろうとしてることを聞くテディベア役をしていました。ペアプロをもじってベアプロって言うみたいです。 ダメ元で投げた回答が通ったりしていてすごかったです。 私も最後の20分で★2の残りを通して全完し、ペアの人は残り10分で★3を全完していました。最高に気持ちよかったです。 その後は「あと10分もあるぞ??」と言って★5に果敢に挑戦しました。鍵になる箇所はわかったけどその先どうすればわからない、となったところで終了時間が来ました。

終わってから

f:id:yamasy1549:20161120220452p:plain

deltaの順位は1位タイでした。1位は3チームありました。

メダルとOctocat(Big)をもらいました。Octocatは家に2匹いるので家族が増えたねやったね

解けなかった問題の解説を聞いて、やばいgitきもちわるい、と思いました。きもちわるいけど合理的で感動しました。 今までよく内部構造を知らずにコマンドを叩いてたけど、ちゃんと知ってもっと便利に使いたいし、こんなに面白いのに知らないのはもったいないとも思いました。

解けた問題でも、解説を聞いて「自分のほうがもうちょっと簡単にできたやで」と思えるものがあって嬉しかったです。

私はSourceTreeを使わずtigでがんばる派なのですが、やっぱり複雑になってくるとそういうツールに頼ったほうが早いよなぁと思いました。

懇親会では作問された社員さんに、どうやってそんなに知識を身につけたのか聞いていました。

  • まずは man 読みましょう
  • 調べて、解決できそうな案に出会ったら、なぜそうなるか必ず納得する
  • 調べたことは(社内のドキュメントに)細かくまとめる
    • 自分で手間かけて調べたことは忘れにくい
    • コマンドなら、本題と関係ないオプションの使い方までまとめる。いつか必要なときに、こんなんあったなって思い出せる

全部あんまりできていないので心にぐさぐさ刺さりました。でもこれを地道にやっていけば圧倒的成長できる可能性があるということなので前向きにやっていきます。

さいごに

運営のみなさま、今回はこのような機会をありがとうございました。 知らないことはたくさんありましたが、次何をしたいか見えてきて目が覚めた気持ちでいます。参加できて楽しかったです!

ペアの人、やっと一緒にコンテスト出れて嬉しかったです。もうあんまりチャンスはないかもしれないけど、また体力があれば今度は開発か何かやりたいな?