蟹者

@kanimono

WEB技術の勉強をして得られそうなものなど

WEBを勉強して、プログラミングをとりあえず今よりもう少し(そしてマジメに)やってみようと思っています。

仮想環境や、UNIXコマンドや、gitを利用したVCS関連や、データべースなりといったことです。

特に、スクレイピングや言語処理辺りの技術は、使いこなすことができたら非エンジニアにとっても有益なんじゃないかと考えています。

例えば・・・

  • 特定の技術や業界の動向などについて自分のデータベースを作れる
  • 職場のPCでプログラムを走らせて、用語の辞書を作る
  • 職場のサーバーが、各々が勝手にフォルダを作って全体として整理されたものになっていないため、更新履歴やカテゴリー(ドキュメントに含まれる文字列により分類)を可視化することで整理上のルールを提案することができるんでは?
  • 無造作にメモやウェブページのコピーを突っ込むだけになっている、Evernoteをなんとか自動で(できるだけ頑張らずに)整理したい
  • 最終的には、人工知能に俺の部屋の掃除をさせたい!


まあ、実際にやり始めたら、本当に実用的な高度なことは難しいなあということになるのかもしれませんし、もしかしたらデータベース設計?というか”情報アーキテクチャ”分野も勉強しなきゃいけないかもしれません。

ということで『何者』の烏丸ギンジよろしく、やってもいないことやその計画を書き連ねようと思い書いているのがこの記事です。

はじめにモチベーションを整理します。

  • 楽しそう
  • 何か成果物(プロダクト)をパソコン一つと少額のクレジットカードの残額だけで魔法のように作ってしまえる事にロマンがある。
  • 成果物(プロダクト)を世界中に公開する事ができるし、身近な人にドヤれる。
  • 楽しそうだけではなく、現在のプロのエンジニアが使っているような効率の良い作業の進め方やコーディングやツールを会得したい

  ・画像処理なり科学技術計算(ゆくゆくは言語処理も)なんかでpythonを使っていると、既存のモジュールを使用方法だけ理解して使うということだけでも、環境設定や配布の方法についての知識がないので行き詰まる。

  • メタ的な視点を手に入れたい

  ・関連するドキュメント等を読んでいると、正規表現に始まり、webアプリケーションフレームワークなど、メタ的な視点(同じ作業をしない、全体的な効率的なカタチにする)からの考え方によく出会う。
  ・将来的には、人工知能クラウド分散化や停止することのないネットワーク等により、今の自分のような仕事、一応フロントオフィスだけど、機械やアルゴリズムに代替していくような動きというのが、近い将来起きるであろうと思う。その時に、共存するのか、淘汰されるのかというのはわからない*1。けれども、それを逆手に取り、よりロバストな生き残り戦略を立てるために今の仕事・タスク・作業について捉えなおす視点を手に入れたい。

  • そして僕は「何か学問(一定の理論に基づいて体系化された知識や方法)を学ぶことで、その知識が直接役に立たなくても、身につけた思考の型により、柔軟で多角的な思考が可能になる」といった教義の宗教を信仰している。*2
  • ゆくゆくはWEBエンジニアになりたい*3

教材

基本的にはこれに沿って、淡々とドットインストールを進めていく。
プログラミング未経験者がWEBエンジニアになるためにやるべきこと

あと、これやりたい。
言語処理100本ノック 2015


計画(スケジュール感)

基本条件
  • 僕は社会ギリギリ適合者で、異常に飽きっぽいので、最短で目に見える形で成果物を作る。
  • 使える時間が平日1時間ないし2時間、土日は大抵用事があるので合わせて4時間程度と考え、週に10時間確保。よって、月に40時間の可処分時間がある(実績をもとに算出)。

 ・年末年始は実家帰って何もしないので、7日×4時間=28時間のボーナスタイム。夏季も同様に夏季休暇でボーナスタイム。

  • 可処分時間のうち、半分は資格試験(測量士等)、ブログ更新なんかに当てるものとする。
  • ドットインストールは3分で終わるけど、理解する時間や通信のタイムラグ等で、1回あたり20分。言語処理100本ノックについては、1問あたり30分とする。


ということで来年の5月には神になれる計画です。

*1:考えやすく古典的なマルクス的に考えれば、経営者は今配置している人間を機械に代替していき、経営の最適化の結果、人間の方がコスト高と考えれば「淘汰」ということになるだろう。ただ、ブロックチェーンや電子決済技術の発達により、会社という組織を経営者と株主が「所有」しているという考え方が変わるかもしれない。その中での超楽観的な未来予測イメージは、大企業は組織として存続するけれども、各部署は独立した採算システムを持ち(もちろん個人で経営的に独立するケースもある)、そこが各々、機械(人工知能含む)を投資して所有する(あるいは所有せず、時間調達する)。その中で人間は、自分や、所属する小規模なグループがどんな付加価値を世界に提案できるか。そのために計算リソースをいかに最適に配分し、利潤を最適化するか、というクリエイティブな問いに悩まされることになる

*2:思考の「型」を身につけよう 人生の最適解を導くヒント (朝日新書)

*3:これも長くなりそうなので脚注で。理由としては、僕の知る限り、一番自由に近い職業だから。場所や人的な制限を一番受けにくい点、進歩的でリベラルな人間が多い点、最先端技術に触れやすい点、収入などを考えて。また、自分の能力を定量的に把握しやすいし、そのための専門知識もネットが繋がりさえすれば何の制約条件もなく、深め続けることができる(と、思っている)。ただ、だらっと何となく就いた土木職種の職歴をまっさらに帰すのも甚だバカバカしいので、土木技術・公共事業関連の知識体系については一度整理を行い、これから来る第4次産業革命に何か使えそうなネタが眠っていないか検討する作業をしたいと考えている。ちなみに私は繰り返しこのブログに書くように、土木の世界は今書いたようなWEBの世界とは「真逆」だと思っていて、知識体系についての整理は相当の難航が予想される。