ぴよまるの雑多な技術所

間違えて休職中ってずっと書いていて心配されていました。全部ちょっとずつ齧って好きって思える技術を見つけたい。研究分野は数理最適化。

夜間大学で学んだこと@1年生

私は某国立大学の夜間部(おそらく情報系に当たる)に通っているわけで、いつの間にか2年生も半ばを過ぎていました。 振り返ると大学に入ってから得たものが結構あったので、どんな授業があって、どう役立っているかを書き残しておこうと思います。1年に1記事になるかなあ。

1年生の間に受けた授業

微積分学

授業について

ひたすら矢野 健太郎さんの「微積分学」という教科書を解き続ける感じでした。 入学前も機械学習に興味があったので、マセマを独学していたのですが、やっぱり試験のために手を動かすと定着率が違いますね。 トピックとしては一通り指数関数や三角関数などの微分積分、部分積分とかの基本的なテクニック、そしてちょろっと偏微分なども行いました。 今の所、よくみるε-δ 論法とかは工学においては知っていなくても困らない印象です。具体的な問題が解ければいい科目。

役立ったこと

時間を作って問題を自分で解くみたいなくせがついて、試験慣れしたこと。この先工学系に出てくる科目に使う微積分の式変形に慣れて、数式でつまづくことが減ったこと。 シグマとかeとか出てきてもビビらなくなるので機械学習の本とか読みやすいです。

線型代数

授業について

教科書はほぼ使わず板書授業でしたが、演習をするならマセマでいいかもしれません。 行列の変形とか掃き出し法などを扱い、ちょろっとベクトル空間まで入りました。 この科目はあとで使う分、出てきたら復習すればいい感じはします。 この段階だと掃き出し法や基本的な行列の変形ができることが大事。

役立ったこと

行列の式変形に慣れたこと。機械学習はベクトルの扱いが想像できなくて漠然とつまづくことが多いと思うのですが、そう言うのの解決の糸口になったかと。独学と違って手で計算する機会が多くて、ある変形パターンに慣れているのは強い。

物理学・化学

授業について

この2つは理系教養的な感じ。内容は物理学はよくある高校物理学を微積分絡めて学んだ感じ、化学もスペクトルの話から始まって、エントロピーとかざっくり学びました。

役立ったこと

メリットは理系らしくなれたこと笑、物理学の区分けがわかったこと。

コンピューター基礎系

授業について

ざっと文字コードがどうとか、HTMLとか、アルゴリズムとか、全体を流す感じの授業でした。プログラムも組みます。

役立ったこと

アルゴリズムを自分で実装することで、コピペプログラマからは脱却した…かも?笑。ソートとか自分で書くのは実務でいるプログラミング能力とは違うかもしれませんが、動作の想像に役立ったり、思ったことをプログラムに落とし込む力みたいなのをつけたりするのに役立ちました。あと文字コードの理解が深まったのはラッキーかも。

Academic English、実験

授業について

この2つをまとめると不思議な感じですが、要は論文やレポートの書き方です。LaTexをよく使うとか、事実と結果を分けるとか、レポートは結果に対して調査を加えて書くとか。 事実を調べる癖みたいなのは身につきます。Englishの方は英語バージョンの時の体裁とか、IとかYouとか使わない、といった基本的な「アカデミックな文法」事項。

離散数学

授業について

これが地味に一番学生生活では役立っています。要は集合論です。集合についてと写像についてです。 数学的に厳密に話をするとどうしても、どの集合に対する議論かを最初に明示します。その辺りでつまづくと辛いので、数学っぽい科目の教科書を読むのに一番必要なのはこの辺の知識かも。群とかまではやっていないです。あとちょっとグラフ理論も入ってたかなあ。

役立ったこと

数学の教科書の一番最初を読むのが楽になった。定義的な部分はだいたい集合論とかが入っていて、そこでつまづくことが多かった気がします。

あとがき

夜間大学に入ってみて、独学では勉強できなかったことも身につくなあと思いました。周りを見ると大学を卒業すると、結構学んだことを忘れてしまっている人が多いように感じます。なので、まだ学んでいるうちに、何をしたかとか、どう思ったかみたいなのを残しておくのは有用かなと思いました。あと大卒じゃないから、論文書けないから、数式わからないから、と言うキャリアの狭めかたがなくなった気がするのは精神にとても良いです。学問上のコンプレックスがある人はみんな入ったら幸せになれるんじゃないかなと思っています。

webサイトを作り変えた時、古いサイトにアクセスされたらどうするか

webサイトのデザインを新しくして、ドメインも同じドメインを使い続ける時、子ディレクトリにアクセスされると404になるのをどうにかしました。 route53(=DNS)を使っていて、webサイト自体はS3からwixに載せ替えています。

301リダイレクト

恒久的なリダイレクトを意味しています。つまり、ヒットしなかったページは全部indexに飛ばす…みたいな設定ではなくて、新旧の対応するページをリダイレクトするイメージです。 今までのSEOを引き継げます。なお、404ではないと検索エンジンのインデックスからは消されないかも。 というわけで、今回はabout.htmlだとかservice.htmlだとかに個別にリダイレクトの設定をしました。 S3ならS3に、apacheなら.htaccessに設定を書きます。DNS側で設定するわけではなさそう。

たったこれだけなんですが、DNS側に設定するのかとか、301をどこにどう設定するか悩んだので共有。

複数独自ドメインをSEOを意識してRoute53でルーティングする

webサイトのルーティングに困ったので備忘録です。

状況

XXX.comとXXX.co.jpのドメインを取得していて、webサイトをどちらからでもアクセスできるようにしたい。 www.XXX.comやwww.co.jpでもアクセスできるようにしたい。 ルーティングはRoute53を使っていて、webサイト自体はAWSの外部のサーバに乗っている。

SEOで気をつけること

まず、トップレベルドメインとセカンドレベルドメインSEOには関係ないようです。つまり、.comだろうと.co.jpだろうと.xyzだろうと気にしなくて良い。 しかしwwwをつけるかどうか、つまりサブドメインを使っているかどうかは区別されます。ここでは評価を引き継ぐために301リダイレクトをするとよさそう。

今回はAWSのRoute53を使った設定なので、CNAMEを設定することにしました。

設定内容

そもそもwebサイトのルーティングは以下を参照。 例: 独自ドメインを使用して静的ウェブサイトをセットアップする - Amazon Simple Storage Service

今回はAWSのサービスではないのでエイリアスの設定ではなく、外部のサーバのIPをAレコードに設定しました。あとNSも外部のドメイン管理しているところに変更。 wwwがついたサブドメインをCNAMEレコードに設定して完了。

(もう1つのドメインの設定はおそらくCNAMEだけ設定すればいいと思いますが、調査中。あとで追記します)

インフラとかネットワークは疎いので間違いがあったらすみません。

ポートフォリオを作って見た

完全な静的サイトとして、副業探すときのネタになるかなと思って作りました。

作ったサイト

http://piyomaru.girly.jp

全体的な話

見た目はmaterializeなどの選択肢もありましたが、よく使うのでbootstrapを使いました。 JavaScriptでゴリゴリ動きをつけたり、CSSのanimationでゴリゴリ動きをつけるのも考えたんですが、あとでReactのデモアプリを作ろうと思っていたため、開発スピードを重視して取捨選択しました。具体的には8時間縛りにしました。

やってみたこと1:フォント

仕事で関わったデザイナーさんによく「フォントが全てだ」と言われました。 google fontをおすすめされたので、そのあたりから選んでいます。 色味と形も重要ですが、フォントとページの構成がうまくいっていることがwebサイトには重要だとか。

やってみたこと2:オープニングアニメーション

最初のアニメーション、どうやってるんだろうと思ったらCSSなんですね。 今回のはCSSのアニメーションで最初にページ全体を覆っておいたdivを消したり、擬似要素で色味のあるレイヤーを重ねたりしています。

やってみたこと3:SVG

SVGを使うと簡単に図形を動かせて、今時っぽいサイトになります。 今回は単純に曲線描いて動かしただけなんですが、例えばイラレとかでsvg出力して、線をチカチカさせたりとかもできるようです。 あとでちゃんと勉強したら記事書きます。

ドメインについて

選択肢は3つありました。 - github.ioに乗せる - レンタルサーバに乗せる - AWSに乗せる(S3+CloudFront+Route53) 今回はレンタルサーバロリポップを使っています。 登録すると独自ドメインもどきもついてきて、ファイルをFTPでアップロードするだけで公開できます。 個人利用だと安価で手っ取り早い。 github.ioはドメインいじれないのと、リポジトリに紐づくので決定打はないですが却下。 AWSは手間がかかり、8時間に収まらなくなりそうなので諦めました。

何を得たか

  • イマドキっぽいwebサイト作りの概要知識(SVG要素、CSS Animation、CSSフレームワークあたり)
  • 個人でwebサイト運用するときの選択肢(レンタルサーバーが最強な気がした)
  • 自己アピール手段

アウトプットを継続する

こんにちは。弱いweb系エンジニアのぴよまるです。
私は自分に自信がないです。仕事でもその性質を発揮し、うまく社会に対して自分の価値を表現できません。なのでせめてアウトプットをして感情ナシでもやってきたことを表現できるようにしたいと思っています。

何を書くか

今扱っているAWSとか、苦手な設計周りとか、その時々で挑戦してみたことを書き連ねようと思います。
このブログを始める前に「読む人を巻き込むんだ!」とアドバイスをもらったので、もうちょっと生くさい雑多なことも書きます。

誰のための記事か

私と同じような境遇の人にとって参考になればいいなと思います。つまり、

  • 高卒で大卒資格がなくて苦労している人
  • プログラミングスキルがひよっこな感じがする人
  • 色々挑戦するけどLチカレベルをやって何も発信せず終わる人

こういう人です。

始めたきっかけ

2つあります。1つはエンジニアから「強いエンジニアはアウトプットの習慣を早いうちにもつ」と言われたこと、もう1つは広報の仕事をしている方から「今日の出来事でもいいから毎日呟いていくことで、”ただあるだけ”じゃなくなる」と言われたことです

いい加減技術力を上げたい。何年も「ひよっこエンジニア」と名乗りたくない。好きなものを好きに作るスキルが欲しいし、もっと自由に生きたい。という気持ち。
それから、仕事でも後ろ向きて口下手だと「いてもいなくてもいい人間」になってしまうな、という気づき。

そういうのが理由です。

 

もう最初にこういう記事を書いてしまう時点でお気づきかもしれませんが、最初に書いた「自分の価値を表現」どころか何かをまとめて文字にすること自体苦手です。切り口を見失います。そういう練習もして早く人間になります。