人間スペックを上げる10の技術(長田研アドベントカレンダー3日目)

おはようございます、許田重久@長田研M2です。
これまでブログを書くことを頑なに拒んできましたが、今回はそういうイベントらしいので乗っかり勢としては乗らざるを得ません。

ということで本題です。
色々迷いましたが、せっかくなのでちょっと趣向を変えた題材にしてみました。
これから書くことは主に思考方法の技術です。心です。目をつぶっていても磨くことができます。

1. 思考はスポーツだと思うべし

考えることはつらいことです。慣れている人や元々スポーツだと思っている人は別として四六時中頭を働かすことはつらいと思います。
しかし、慣れます!やればやるほど鍛えられます。
そして上手くいけば脳汁でます。

ちょっと考えて「もぅマヂ無理。リスカしょ・・・」って思う人は思考体力のない人です。
最初はそんなもんです。1分ですら無理でしょう。
めげずに毎日がんばりましょう(思考具体例はあとで)

効能:
時間が圧縮されます。知識が圧縮されます。思考スピードが圧縮されます。

※当たり前ですが一朝一夕でできるものではありません。

2. 感情のコントロールは技術

人間スペックを上げるには感情をコントロールすることが重要です。
感情のコントロールという言葉はあまりにもありきりたりで胡散臭いですが、自分の感情をコントロールすることは可能です。心の操作は技術です。訓練できます。
まわりを見ていると心の問題はどうにもならないと考えている人がすごく多いです。

さて、ではどうすればいいのか??
次に書きます。

3. 自分というロボットに搭乗する

初めは自分という身体(ロボット)に自分という意識(小人)が乗っかっていることをイメージします。脳にコックピットがあってそこで自分が身体を操縦していると思い込みます。
常日頃そういう状態であると想像しましょう。
想像するということが重要です。逆に言えばこれができないとアウトです。

想像した後、目の前にあるコップを右手で持ち上げろと指令を出してください。
コップを持ち上げることができたらいい具合です。

できなければ毎日1分ぐらい練習しましょう。

4. 自我との邂逅

コックピットに乗って待機していたはずが、自分が考えたくもないことをぺちゃくちゃぺちゃくちゃしゃべる野郎がいたるところからでてきましたね。
それが自我です。こいつらが諸悪の根源です。
こいつらは自分(という意識(小人))ではありません。

自我は何かとうるさいです。しゃべることを止めません。

2回言いますがこいつらは自分ではありません。
こいつらと折り合いをつけることが感情のコントロールです。

5. 自我との勝負

頑張ればこいつらをかき消すことができます。
そうそううまくできないと思います。ぶっちゃけ無理です。
この自我をかき消すことを瞑想といいます。
まあ、修行僧ではないので瞑想はいいです。上級者用です。

現段階では自我と小人がともに存在していれば問題無いです。
少なくとも自我を意識できている状態になることができれば勝ったも同然です。

また、自我があまりにもうるさい場合は小人の声を大きくしましょう。
現実世界と一緒で大抵、声の大きいほうが勝ちます。

6. ロボットの整備

実は最も重要です。
眠かったりお腹が空いていたりしたら勝てるものも勝てません。
今日はどうしても感情のコントロールができないというときにはさっさと寝ましょう。

7. 考え方のテンプレ作成

日常ではテンプレを作成しましょう。
アニメでもドラマでも対人でもなんでもいいです。常に考え方を拾い続けましょう。
そしてすぐに使いましょう。

あらゆる物事や人に一つのテンプレを当てはめるやからが多いですが、それは思考停止状態です。それぞれに最適なテンプレを考えましょう。また時間経過でもテンプレを変えていくようにしましょう。

8. テンプレとはアルゴリズム

テンプレの補足です。
例として新しい技術勉強に取り組むときのテンプレを考えてみます。

  • 30分きっかりやる。プラマイ1分のズレも許さない。
  • やったことはevernoteに適当に記述。
  • 何もわからなければまずは意味を抑える

みたいな感じです。これをテンプレAとして、技術勉強時のテンプレとして活用するとメリハリができて長続きします。
当然ですがテンプレが妥当でなければ適宜変えていきます。
思考訓練は柔軟性が大事です。

もう1個テンプレ例を上げておきます。
初めて会う人との接し方テンプレ

  • 開口一番に挨拶する
  • 名前や出身地、仕事を聞く
  • 取り敢えず終始ニヤニヤしとく
  • 相手の思惑を勝手に脳内で慮る

9. 妖精さんを呼び出す

上級者編です。
今、脳内には自我と小人がいます。
2人だと寂しいので住人を増やしましょう!
誰でもいいです。
が、やはりよく接している人や思い入れのあるキャラなんかを用いると良いです。
例:

  • 仮想比嘉(脳内で創りだした比嘉君と小人で会話させる)
  • 茉莉ちゃん(取り敢えず愛でる)
  • 悪魔と天使(自分をコピーした悪魔と天使)

これらのメンバーで脳内円卓会議をさせるとさらに面白くなるのでおすすめです。
効能は思考スピードが段違いで早くなります。

※自我を意識できない人がやると精神分裂症になるので注意

10. 思考訓練問題集

  • プログラミングや数学の問題
  • 単純に課題に対して答を探すでもいいですし、「そもそも微分積分って何に使うために考えられたの?」みたいなことでもいいです。

  • 一日の振り返り
  • 誰かと会話したのであればそのときの場面を思い浮かべてみます。
    あのとき比嘉君は何を思ってあんなことを言ったんだろうとかを思い返します。
    比嘉君の心を丸裸にする気持ちで考えましょう。

  • ルール決め、テンプレ作り
  • 自分が自覚している駄目な部分に対してテンプレ作りに励みます。
    コツは無理なく合理性のある、それでいて自分が心底嫌だとは思わない妥協点を探ることです。嫌なことは嫌です。でも変えられる部分は変えられます。

いかがでしたか。
長くなりましたが10のタイトルを脳内で咀嚼するだけで効果があるのではないでしょうか。
4ぐらいまでできるようになると社会に潰されることはないと思います。
また、これらを丸っと信じないで一考することをおすすめします。

CTF入門 (長田研アドベントカレンダー2日目)

こんにちは。
言い出しっぺなのに2日目に書く太田@M1です。

長田研のブログ、久しく更新してなかったというのと、このシーズンということで流行に乗りました。

12/3に2件投稿しているのは、12/2に1日目の記事を投稿する予定が、いろいろあって投稿時間が遅れて12/3になったためです。
そのため、1日目と2日目は同じ12/3の投稿となってます。

そんなわけで2日目のテーマですが、CTFです。

CTF ~ Capture The Flag ~

CTFというのは、セキュリティ技術を競う大会のことです。
セキュリティというより、コンピュータ全般とか?
日本ではSECCONとか、世界ではDEFCONとかがあります。

今回は、googleで
「CTF サイト」
と検索してトップに出てきたFlaggersというものをやってみます。

Flaggers

リンク: Flaggers
どうやら参加者同士で問題を出し合えるという、CTFのコミュニティサイトみたいな感じですね。

ここのeasycrackっていう問題をやってみようと思います。
問題のリンク: easycrack
簡単に問題を説明すると、
「オブジェクトファイルの中に答えあるから探してみてね」
っていう感じです。

では解いてみます。

解いてみる

貼付のファイルがあるので、それをダウンロードします。
実行ファイルですし、何があっても良いように仮想環境内で行うように注意してください。

まずは、fileコマンドを実行します。
すると、以下のように出力されます。
easycrack1.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, not stripped

ELFとあるので、オブジェクトファイル、実行ファイルであることが分かります。
intel 80386はi386ですね。
ファイル形式も分かったので、次はnmしてみます。

nmコマンドは、オブジェクトファイルのシンボルをリスト表示してくれるコマンドです。
特に変なことはしていなさそうです。
ということで実行してみます。

実行権限を与えて、実行してみると、
sorry…
という出力のみが得られます。

ここで実際にnmコマンドを使ってみた方は分かりますが、strcmpしている部分があります。
ので、これは実行ファイルに何らかの引数を与える必要がありそうです。

実際に引数を与えて実行してみると
wrong…
という出力に変化しました。

ここで大体予想はつきました。
どうやらこの引数の値に正しいものを入力すると良さそうです。

というわけで、objdumpでオブジェクトファイルのダンプをしてみます。
.rodataセクションを見てみると…
答えがありました。

入力するとちゃんと正解となり、ポイントもプラスされました。

終わりに

と、いうわけで今回はここまでです。

このように、コンピュータの知識を使って問題を解いていくCTF、勉強にもなるし、とても楽しいです。
競技プログラミングとか流行ってますが、この辺りもみなさん、是非挑戦してみてはどうでしょう?

次回は、M2の許田さんにお願いしようと思います。
B4の安里君とかは、ネタ考えておいて下さい〜。

CSSの基本から(長田研アドベントカレンダー1日目)

こんにちは。
大城佳明@長田研M1です。

アドベントカレンダー1日目です。
太田くんの急な思いつきから、長田研で技術系アドベントカレンダーを行うことになりました。
(なぜ自分が1番目なのか…)

問題はなにを書くかってことですよね。
需要がありそうな話はデザインかなーって思います。
まぁ絵心がないのでデザインはデザイナーさんにまかせて、デザイナーさんが考えたデザインを実際にWebとして表示させることが情報工学科らしいのかな!!
とう言うわけで、自分はCSSについて書こうと思います(`・ω・´)ゞ

CSSとは?
CSS(Cascading Style Sheets、カスケーディング・スタイル・シート)とは、ウェブページのスタイルを指定するための言語です。

Webの見た目を作るに必要なのはHTMLとCSSの知識です。
HTMLは枠組み。CSSは色や配置などを整形するためにあります。
実際はスタイルを書く方法は2つある。

  1. HTMLのstyleに書く方法
  2. CSSに書く方法

今日はこの2つの方法の違いについて書いていくことにします。

1.HTMLのstyleに書く方法

<div style=”border: 1px solid #aaa; margin: 10px; padding: 10px; background-color: #ffffcc; color:#663333;”>

htmlに直接書く!

</div>

HTMLのスタイルに直接書くほうがぶっちゃけ楽なんですよね。
でも、Webサイトを作る上でこの方法であまりよろしくないです。。
ブログの本文にhtml書くときにスタイルを直接書かない方がいい理由
デザイン変えたいときにすべてのページのすべての個所を修正しなきゃいけなくなる!

では、どういう時にHTMLのsytleに書くのか。
ブログの本文にhtml書くときにスタイルを直接書いてもいい理由
たった一度のオリジナル記事を書くために!

つまり、ここだけのスタイルを変更したい!!!!!!
って時にはこのような書き方で書いてもいい(^^)

2.CSSに書く方法

<h5>CSSに書く!!</h5>

<style type=”text/css”>
h5 {
background-color: #ffffcc; #背景色は黄色っぽい
border: 1px solid #aaa; #周りに線を引く
margin: 10px; #外側にスペースを作る
padding: 10px; #内側にスペースを作る
color: #663333; #文字色は茶色っぽい
}
</style>

HTML内でCSSを書く場合、<style type=”text/css”>の中に記述する必要があります。
h5タグすべてに記述したスタイルが適応させます。
1のsytleに書くこととは違って、CSSで書くと指定したタグやクラスすべてに適応される。
そのため、複数同じようなデザインを使う場合はCSSを使うのが良いでしょう。
HTMLのコードを見やすくするためにもCSSで書くことをオススメします\(^o^)/

しかし、このブログを書くのにcssが使えないのは。。。
(方法はあると思うので後で探そう)

まとめ

  1. 基本的にCSSに書く方が良い
  2. HTMLのstyleに書く場合は1度しか使わないスタイルを
  3. 何度も使うスタイルはCSSに記述しよう
  4. このブログを書くのはCSSが向いているが、styleにしか書けないのは辛い。

書きたいことがたくさんあるけど、今回はこんな感じでいいのかな?
ちょっと基本的なこと過ぎたかもしれない(^_^;)
まぁなにか言われたら次回から直していくことにしましょう!
次ブログ書く時はCSSの勉強の仕方とかツールとかの紹介でもしますかね。

次の技術系アドベントカレンダーのブログは太田くんが書いてくれることでしょう。