しゅういちのぶろぐ

活動記です.アウトプットにも使う予定です.ジャンルは多岐にわたる予(ry.

Chatworkで最高の夏休みを過ごしてきた

TL;DR

  • Chatworkはいいぞ.
    • 環境がとてもいい.人はいいし社内・社外の環境全てがいい.
    • 社の人のインターンに対する本気度がとても伝わってきて,すごく嬉しかった.
  • Scalaスクラム開発でドメイン駆動設計をしてきた.
  • プログラミングを学んだことのある人なら誰もが参加のチャンスがある.
    • 事前学習や講義パートで必要な知識を身に付けることができ,その後のチーム開発(以降業務)パートでも手厚いサポートがある.
  • 合意の重要性を実感した
    • チームで合意を取らないとどこかでガタが来ることを,身をもって知れた.
続きを読む

AtCoderで水色になるまでに以下略ポエム

はじめに

先日3/30にあった企業コンでレート1200を超え,水色になりました.

水色になるのに時間がかかった順ではかなり遅い方な気がします. これまで茶色や緑色になった時に記事を書いたと思っていたのですがなかったので,慣例に従いなるまでにやったことポエムを書こうと思います.

続きを読む

「知的複眼思考法」(苅谷剛彦 著)を読んだ

読了時間: 14時間(たくさんメモをとって考えながら読んだので)

書籍情報

www.amazon.co.jp

目次

序章 知的複眼思考法とは何か
  • 知的複眼思考への招待
    • 「自分の頭で考える」ということ
    • 複眼思考を身につけよ
  • 「常識」にしばられたものの見かた
    • 授業の中のトリック
    • 単眼思考と複眼思考
  • 知ることと考えること
    • 「正解」という幻想
    • アメリカの大学での苦悩
    • 複眼思考への道
第1章 創造的読書で思考力を鍛える
  • 著者の立場、読者の立場
    • ステップ1 読書の効用
    • ステップ2 著者と対等な立場に立つ
  • 知識の受容から知識の創造へ
    • ステップ1 批判的に読む
    • ステップ2 鵜呑みにしない態度を身につける
    • ステップ3 批判的読書の実践法
    • ステップ4 批判的読書にチャレンジ
第2章 考えるための作文技法
  • 論理的に文章を書く
    • ステップ1 批判的読書から批判的議論へ
    • ステップ2 書くことと考えること
    • ステップ3 接続のことばの役割を知る
  • 批判的に書く
    • ステップ1 反論を書く
    • ステップ2 違う前提に立って批判する
第3章 問いの立てかたと展開のしかた-考える筋道としての〈問い〉
  • 問いを立てる
    • ステップ1 「疑問」から〈問い〉へ
    • ステップ2 「どうなっているの?」—〈実態を問う〉問い
    • ステップ3 「なぜ」という問いかけ
  • 「なぜ」という問いからの展開
    • ステップ1 因果関係を問う
    • ステップ2 疑似相関を見破る
    • ステップ3 問いの展開例
  • 概念レベルで考える
    • ステップ1 概念の働き
    • ステップ2 概念とはサーチライトである
    • ステップ3 概念・定義・ケース
    • ステップ4 問いを一般化・抽象化する
第4章 複眼思考を身につける
  • 関係論的なものの見かた
    • ステップ1 ものごとの二面性(多面性)に注目する
    • ステップ2 関係の中でものをとらえる
    • ステップ3 偏差値教育批判を関係論的に見直す
    • ステップ4 「ひとり歩き」をやめて考える
    • ステップ5 関係論的見方を導く手がかり
  • 逆説の発見
    • ステップ1 「行為の意図せざる結果」へのまなざし
    • ステップ2 当初のねらいと実際との比較
  • 〈問題を問うこと〉を問う
    • ステップ1 問題のはやり・すたり
    • ステップ2 作られる問題・隠される問題
    • ステップ3 問題とその文脈
    • ステップ4 メタを問う問いのかたち
コラム
  • バルトの「神話作用」
  • 歴史と比較の効用—「夫婦別姓」問題、常識のうそ
  • 著者とかかわりながら読書するコツ
  • 数字にだまされるな
  • 考える読書 四つのヒント
  • インディペンデント・スタディの思い出
  • アメリカの大学でのすぐれたレポート
  • 六つのなぜ?
  • 〈複眼思考のためのヒント〉禁止語のすすめ
  • 「何のケースか」を考える—抽象的思考のすすめ
  • 逸脱者は作られる—ラベリング論

はじめに,動機などのポエム

こんにちは,最近Twitterを引退気味のしゅういちです. Twitterをしない時間を作って読書をしていました.

というのも,こちらの記事の内容に感銘を受け,時間の使い方をもう一度考え直そうと思ったからでした.

gihyo.jp

またその一環として,効率的に学ぶためには?考えるためには?ということに興味を持ち,先日参加したイベントで紹介されていたこの冊子に興味を抱き,読むことにしました.

yahoo-osaka.connpass.com

また,アジャイル書評(執筆だった)がいいと言う声や,日々のアウトプットの成果を可視化しやすくするためにScrapboxで読書メモをとっていたので,この度書評(感想文)を書こうとなりました.

scrapbox.io

書評

端的に言うと,

「常識」というステレオタイプにとらわれないで,様々な視点から物事を考える方法

についての本でした.

具体的には,

  1. 序章では,「常識」によって思考が狭められている例を示すことで読者にインパクトを与え,
  2. 第1章では,著者の文を鵜呑みにせず,どうしてその文なのか,著者の目的や前提を考えながら読む「批判的」な読み方を,
  3. 第2章では,いろいろな視点から書くことで,多角的に文章を表現する「批判的」な書き方を,
  4. 第3章では,考えるのは疑問があるからだということで,疑問をさらに展開させて複数の視点から考える方法や,その問いを抽象化することで本質以外を捨象してより思考を展開していく方法を,
  5. 第4章では,タイトルの複眼思考を身につけるために,どのようにしたら複数の視点から考えることができるのか,

その具体的な方法を述べていました.

よかったところとして,自分の思考の基準というか考えの切り口のバリエーションを増やせたところだと思います. ある1つの問題があったとして,それを解決することで満足するのではなく,どうしてその問題が生まれたのか,その問題が生まれることで嬉しい人は?それはどうして?とどんどん思考を展開して膨らませることができます. これまでの私だと,どうしてそんな問題が,の時点で止まっていたのですが,そこからさらに先の視点に気付かされた時点でこの本を読む価値があったのではないかと思います. また,具体例や言い換えが豊富にあるので,じっくり考えれば読み込みやすいと思いました.

悪いというか著者が社会科学者でかつ専門だから仕方ないかもしれませんが,偏差値や受験といったテーマが非常に多く感じました. 他のテーマに関しての切り口を見てみたかったという気持ちがあったりします.

また,「著者と関わりながら読書をするコツ」というコーナーがあるのですが,そこで紹介されているフレーズをそれっぽく変換すると競プロerが感想ツイやリプ,記事を書くときに使う語録と一致していて,はぇ〜というお気持ちになりました.

また,この本を別の言葉で例えると,

(思考が)立ち止まるんじゃねぇぞ...!!!

かなと思います.

ステレオタイプで立ち止まり,そこから何も考えなくなることを悪として,どうすればそこから脱却できるかについて徹底的に書かれた本とも言えます.

オススメしたい人

たくさん本を読まないと頭がよくならない,と焦っている人,疑問に感じることをどう次に広げていけばいいか,また自分の考えをここからどうしたら発展させることができるのかその方法がわからず焦っている人にオススメです.

複眼思考の具体的方法については長すぎるため省略しましたが,目次を見て知りたいと思ったら読むことをオススメします. 注意として,本の中でもありましたが,文章に疑問を持たずにただ鵜呑みにしないよう注意しながら読み進めることをオススメします.

おわり

SECCON Beginners 広島行ってきた

きっかけ

先日セキュリティ・キャンプに行ってきて、そこで別の選択トラックの人達と話すうちにCTFやっていこうぜ!という機運が高まっていました。詳しくはこちら。

ups.hatenablog.jp

すると、今度SECCON Beginnersが広島という比較的近い(?)ところで開催されるということで、他にも2人ほどTLの人を誘って申し込むことにしました。
(まさか参加できるとは思っていなかった)

続きを読む

参加者内最弱による、セキュリティキャンプ全国大会参加記2018

はじめに

こんにちは。しゅういちです。インドカレーの人です。 この度セキュリティキャンプに行ってきたのでその報告をしたいと思います。
自分は参加者の中で技術的に一番弱いと自負(?)しているため、自分なんて弱いし応募を見送ろうかな...と思っている人が応募するきっかけになればいいなと思い書かせて頂きました。

続きを読む

ABC(AtCoder Beginner Contest)106 解説

はじめに

結構時間に余裕を持って全完できたため、初めて解説記事を書くことにした。 帰宅TLEしたのにこの成績なので少し嬉しい。

Sign In - AtCoder

A - Garden

https://beta.atcoder.jp/contests/abc106/tasks/ghi_q

はい。小学校か中学校の文章題ですね。 道をスライドさせたら面積は(A-1)*(B-1)ですね。 最初謎に道がダブっているところを足さなければ...と変なことを考えてしまい少しロス。

B - 105

B - 105

はい。奇数だけをまずは見てあげたらいいことは自明です。 また、制約がN<=200なので、該当するものに対してそれぞれ愚直に2重ループなどで約数が存在するかチェックし、その個数を数え上げ、条件に合えばカウントでOK。

C - ToInfinity

C - To Infinity

最初問題を見ると、なんかめっちゃ増えていくなぁというのがわかります。次に5000兆日後の文字列を想像すると、それぞれの数字を5000兆乗した個数分の数字が文字列のもともとあったものと交換されることがわかります。25000000000000000だなんて、明らかに1018を超えますね。しかし1はどれだけ掛けても1なので、文字列の最初から何個1が続いているか数えてあげて、それよりkの値が小さければ1、そうでなければ1の次にくる別の数字が答えとなります。

D - AtCoder Express 2

D - AtCoder Express 2

問題を読んでみると明らかにグラフ問題で、クエリで出された範囲内のうち、1以上のものを数えてあげればいい(同じ路線を通るやつがいるので、重み付き有向グラフにした)という双子の優しさに満ち溢れた問題だなと思いました。蟻本で一応確認してから、隣接行列を作って愚直に実装して3msだしO(109)だけど通る気がするという謎の自信で提出すると当然TLE。あっ、やべぇと思いながらも高速にするよう考えていました。まず最初に出発時点からの本数の合計値を配列に入れて前処理してループを1周だけしたら計算量落ちるでしょ!wとしてみるもサンプルが合わない(これは当然で、到着地点が範囲内に入るように設定していないため)。そこでふと前処理と言えば最近累積和多いなと思い出しました(エスパー)。とりあえずググって内容だいたいなるほどね(あまり理解していない顔)と思いながら2次元累積和を実装してみるとサンプルが合ったため提出するとAC(67:17)。そりゃ皆さん早いわとなって終了しました。

感想

久しぶりの競プロだったけど解けて嬉しかったし、ブログ書くことで理解度増した気がする。

ICPC 2018 国内予選 参加記

こんにちは,しゅういちです.先日ICPC 2018 国内予選に参加しましたので,その時のことをここに記そうと思います.

予選までの話

私達のチームhoge_piyo_matsuri(名前ダサすぎでは?)は,メンバーが私UPS(実質茶色の緑),同期のosamaki君(緑らしい),1個下のsugi君(実質緑の茶色らしい)の3人で参加しました. 競技中はdiscordを使用して行いました(後述).

私の所属しているサークル,DENXからは他にC94 Sunday PU a-22(サークルで夏コミにこの場所で参加しますので皆様よろしくお願いします),zangyo(期待の1年生チームです)が参加しました.

普段行っているC++講座(実質ICPC講座)では,主に初心者向けに行うものでしたので,一定レベル以上の問題を解くのは厳しいと思われていました.来年は予選までにもっと練習して強くなりたいですね.1年生にとても期待です.

国内予選当日

その日近畿地方は大雨に見舞われ,大学が休講になったりJRが終日運転見合わせになったりとてんやわんやでした. 私達のチームも,1名電車が運行しておらず大学に来れないとの事で,参加は絶望的かと思われましたが,自宅参戦OKというとてもありがたい措置をとっていただき,幸運なことに参加することができました.運営の皆様に感謝です.

予選開始

自宅参戦という性質上,印刷をしても仕方ないということで1人がログインして,問題のスクショを取るという感じで問題文を共有しました(後から別URLで問題だけ見れることが判明).

ムーブとしては,私が一番弱いと思われたので,A問題を私が,B問題をsugi君が,C問題を蟻本初級編を完全に理解しているosamaki君が(すごい)解いて,その後自分がD,Eあたりを見ていくという感じで行こうとなってました.その場で決めていた辺りガバガバだなぁって思いました.

A問題はやるだけでしたが,ICPCの問題がこんなにも簡単なわけがないと謎に考えてしまって,少しタイムロスをしてしまいました(12:56 AC).

その後私はD問題を見たのですが,書き出しているとう〜ん,わからん!wとなり,一旦E問題を軽く見てさらにわからん!wとなっていると,Cできたとの事で出してみると通って,osamaki君はプロだなぁとなりました(55:09).

D問題の概要を説明してからosamaki君に投げて,自分はsugi君のフォローに回りました.とりあえずどんな感じになっているか共有してもらい修正することに.自宅参戦は情報共有がかなり厳しいなとこの時思いました.色々と修正するとサンプルは通ったのでデータセットを試すとSegmentation fault: 11の魔の文字が.つらみ. あるケースで落ちていることがわかり,サイズを大きく取ると通ったためえいっと投げると通りました.嬉しいですね(2:07:49 AC).

この時点で70位で,残りの時間はとりあえずDを頑張ろうとの事でDを協力プレイしました.グラフっぽくね?や,DPっぽくね?や,全部見たらよくね?(これが惜しい)など色々な意見が出たものの,う〜ん,実装わからん!wとなり,来年は頑張りましょうや秋学期から講座しましょうや,サラダチキン食べていいですかや王将食べていいかなど楽しく雑談しながら席を暖めて終わりました.お疲れ様でした.

終了後

同期の他チームの人と王将食べに行ってきました.美味しかったです. とりあえず枝刈り全探索ができるようになりたいなと思いました.























これマジ???(嬉しいけど,自分達より解いてる人たちに申し訳なさがすごい)