観衆を壇上に惹きつける能力たるや。内容と同じくらい見せ方も大事なのだなと思った。Cohnが楽しそうに熱く話している姿にはとても感銘を受けた。コンピュータ・サイエンスを極めている人はかっこいい。海外もイベントも初めてだったが、それゆえ触れるものすべてが刺激的だった。共に参加した人は初対面の方だったが、とても興味深い人で、たくさん話をして色々と教えていただいた。彼との出会いは僕の人生観に影響を与えるであろう。このイベントを通して、新しい技術の開発とその技術を世の中に導入するところに興味を持った。前者は研究、後者は論文から実用の間のところ。これからの研究に活かしていきたい。本当に良い経験になった。macふとしたことがきっかけでOSを勉強してみようと思った。パソコンの内側を知りたい。コードがコンパイルされてからの先をもう少し知りたい。それならOSを作りながら学べば良いのではと思った次第である。大学の講義でOSは学んだことはあるが、コードは一切出てこないし理論だけだったので面白くなかった。コードを書きながらOSを学べる本が良かったので、この本を図書館で借りてきた。見るさて勉強しようと思ったが、この本はwindows向け。最近、macを手に入れwindowsを手放した矢先のことであった。!なんと!macでも勉強できるようにしてくれている人がいた!github.comだが、ここに書いてあるようにやってもできなかったので少しメモ。OS自作入門ここにあります。"HariboteOS.iso"ってやつです。次に2.シェルスクリプト実行の項。ターミナルで実行せよとあるが、これをやっても上手くいかない。そこで、このページのgitリポジトリをダウンロードし、その中のbin/install/install.shを実行する。次のように表示されれば成功。その後は3.確認の項にあるようにすれば同じように動くはず。macTweet広告を非表示にするもっと読むコメントを書く2015-12-15IBMメインフレーム・コンテスト2015Essay2015年12月10日をもって、メインフレーム・コンテスト2015が終了した。www-06.ibm.com10月に大学の後期が始まり、掲示板を確認しに行ったときに張り紙を見て知った。それから申し込みをして、約2か月取り組んだ。コンテスト通して思ったことをまとめようと思う。メインフレーム?「メインフレーム」。アーキテクチャ系の講義の「コンピュータの歴史」で聴いたことがあるような・・・。張り紙を見た時に「プログラミングにチャレンジ!」と書いてあったから、参加してみただけで、正直メインフレームが何か良く分からなかった。学生向けのコンテストであるが、現在の学生はコンピュータ=パソコン世代なので、知っている方が珍しいに違いない。学生でそれを触ったことがある人なぞ、さぞいないだろう。いうわけで、このコンテストでは初めにメインフレームについてのpdfが配られる。そこには少しの説明しかないし、コンテストを終えてみても少し分かったような・・・。Wikipedia詳しくはwikipediaを見るのがいい。述べると、企業や銀行などで使われるシステムを動かすための基盤のコンピュータ。高額でハイスペックなコンピュータ。メインフレームコンテスト?IBMが主催するメインフレーム・コンテストは世界中40ヵ国で開催されている。日本での開催は初めてとのこと。いうわけで、問題文が全て英語。これを知ったときは、ビビった。「プログラミングにチャレンジ!」って日本語で書いてあったじゃん。そこは仕方ないと割り切り問題を解くことにした。このコンテストはPart1、Part2(17問)、Part3(16問)から成り立っている。Part1はコンテストの説明くらいで、問題を解くのはPart2から。問題を解くといっても、このコンテストは一問一問解きながらメインフレームを理解しよう!というスタンスらしく、各問題には、メインフレームに使われている技術や歴史の説明と課題文があり、参加者は説明を基にしながら課題を解くといった具合だ。Part2よりもPart3の方が難しいとあるが、難易度は変わらない。簡単なのもあれば、難しいのもある。実際にどんな問題がでるかというと、これが幅広い。C・C++・Java・Cobol・Assemblerなどの言語から、SQL・JSON・MongoDBなどのDBに関するものから、JCL・Linuxコマンド・Z/OSコマンドから、いろいろと出題される。CobolやDBなんて、学生は使ったことない。ほとんどの技術が授業で少しやったことがある程度で、やんわりとしか分からない。このような感じで正直なところ、「コンピュータスキル・コンテスト」という方が正しい気がする。最後にこれらの知識の集大成として、JavaとSQLを使ってプログラムを作成する。感想このコンテストは、よく分からない技術について英語の説明文を読んで、問題を解く。客観的に見てすごいと思うし、自分自身よくできたと思う。大学3年の後期で何か成せねばなと考えていたときだったので、張り紙を見た時に、これで上位に入賞しようと思ったのがきっかけだった。根気よく初めてみたものの、この問題を解いても意味があるのだろうか?コンテストで入賞して意味あるの?随時そんなことを考えていた。Part2を解き終わってPart3に進むときやめようと思った。それから10日ほど経ってからPart3を解くことに決めた。中途半端にしたくないなという気持ちと純粋に問題を解くことが楽しかったから。それからは諦めることなく問題を解き進めた。コンテストを終えて思う事は、良く頑張れたなということ。英語も得意な方ではないが、調べながらでも書いてあることが理解できたし、初めて知る技術についても、経験則を利用してすぐに身に付けることができた。問題の大半がこれまで大学で勉強してきたことで、自分にも力が付いたのだなと実感することができた。これは尊い経験となった。コンテストの解答には自信があるし、上位入賞は狙っている。アメリカにも行く気でいる。それ以上にコンテストで得られたものが大きかった。自分も力が付いてきているし、社会で戦えることが分かった。自分は何者でもないし、力が欲しいと思って、大学で通っているわけだから、力が付いたことが分かったのはとても自信になる。大学からコンピュータについて学び始めたことは遅いことだと思っていた。それでもたくさん勉強したことで、コンテストでも戦えるくらいになれたし、やってきたことは間違いではなかったようだ。IBMメインフレーム・コンテスト2015。参加して良かったと思う。P.S.このコンテストは普段は触れることがないような技術に触れることができる素晴らしい機会だと思う。社会の基盤となっているものこそ、学生が接する機会が少ない。IBMさんにはとても感謝している。これを機に、他のところでもこのようなコンテストや勉強会などを開催して、学生が経験できないような技術に触れることができる機会を設けていただきたい。Railsを使うことになり、Rubyの勉強から始めた。Rubyについて分かったきたので、下記のサイトでRailsの勉強を始めた。www.rubylife.jp一つ問題。'booklist#bye'endと記載するとあるが、この通りにすると、と表示される。分からないが、"match"ではなくて"get"を使えとのこと。'booklist#bye'end希望通りに表示された。なんとか解決したが、routes.rbにおける、matchとgetの違いが分からない・・・。分かり次第、追加記載しようと思う。Lispでは何byteで書けるかな?と思ったのでやってみた。結論から言うと、あまり短いコードは書けなかった(技量的に)。面白いことを2つ発見したのでまとめておく。負の剰余Cで配列のインデックスを指定する場合や素数判定のプログラムを書くときに剰余演算子を用いたことはあった。そのときは正の剰余を想定して書いたので、負の剰余のことなぞ考えたこともなかった。Lispではどうなるのかな?と思ったのでまとめてみた。処理系はCCL1.6。-5rubyと同じようだ。15の倍数なら"FizzBuzz"を取り出すのが良いのではないかと考えた。取り出すための関数として"subseq"を選んだ。すると以下のようになる。"FizzBuzz"これを任意のnを与えてできないかと考えていたら、妙な数式が出来上がった。8これを使うと、以下の様になる。"FizzBuzz"ほぼ数字遊びのような感じだが、うまく動くので何らかの数学的要因があるかもしれない。これが面白いのは、3でも5でも15の倍数でもない値のときは""となるところだ。これをいざコードにすると、計算式が長い。3でも5でも15の倍数でもない値のとき、その数を返すわけではないのではないので、その値を表示させるには、さらに一工夫必要で、結果としてコードが長くなる。Lispで最短でFizzBuzzを解くというのは達成できなかったが、なかなか面白い発見はできた。Lispの技量が上がったらまた解いてみようかな。新しい言語の取得の一環として最短でFizzBuzzを解くというのは、良い訓練ではないかと思った。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。