競技プログラミング参戦

AtCoderのDISCO presents ディスカバリーチャンネル コードコンテスト2017 予選に参戦。

A、Bは解けたがCは分からなかった。

相変わらずC問題の壁を超えられない。。

JavaScriptのプロトタイプとは何なのか What is JavaScript prototype?

JavaScriptのプロトタイプって何なん?と思い調べたのでメモ。

 

プロトタイプ(プロトタイプオブジェクト)とは、クラスで言うスーパークラスみたいなもので、

オブジェクトの継承元のオブジェクトのことを言うらしい。

 

JavaScriptの全てのオブジェクトはプロトタイプオブジェクトとリンクしていて、一番上 の親となるオブジェクトがObject.prototypeになっている。

 

このように、クラスの継承みたいに親子関係があってつながっているのをプロトタイプチェーンと呼ぶようだ。

 

あるオブジェクトのプロパティの値を取得しようとしたときに、そのプロパティが存在しなかったら親となるオブジェクト(つまりプロトタイプオブジェクト)にそのプロパティがないか探しに行く(最終的にObject.prototypeに行き着く)。これを委譲というらしい。知らんかった。。

 

参考↓

www.amazon.co.jp

JavaScriptのバイブルらしい。読み始めたばかりだけどおもしろい。

ディープラーニングの論文集 List of Deep Learning theses

機械学習ディープラーニングを最近勉強してて、

論文読みたいなと思ったんだが、まとまってるサイトがなさそうだったので

自分で調べてリンク貼ってみた。

どれもディープラーニングの分野ですごい成果を出した手法らしいので要チェックだと勝手に思っている。

GoogLeNet

AlexNet

ResNet

VGG

https://arxiv.org/というサイトが機械学習のオープンな論文投稿の場になっているらしく、ここをチェックしていれば良いのかな?? 

お金をかけずにプログラミングを学ぶ方法

インターネットでお金をかけずにプログラムを勉強する方法。

ドットインストール

動画でプログラミングを教えてくれる。一部有料のコースもありますがだいたい無料で見れます。自分もプログラミングを始めた頃はよく見ていました。今は物足りなくなって見てませんが...

Progate

prog-8.com

こちらは動画とかではなくて、はじめにスライドで勉強→ブラウザにコードを打ち込んでシミュレーション、みたいな流れ。こっちも一時期やってました。

 

自分は大学で情報系の勉強はほぼほぼやってない(3日ほどはやった記憶があるが、、)ので、どっちもお世話になりました。プログラムやったことない人は是非やってみてください。個人的には①、②どっちもおすすめです。プログラマとしての第一歩になるかも。

Linux初心者のための常用コマンド集 A List of linux command which beginners must check

  • mkdir   指定したディレクトリ作成(make directory)
  • cd        指定したディレクトリに移動(change directory)
  • ls         ディレクトリ内のファイルを表示(list)
  • mv       ファイルの移動、ファイル名の変更(move)
  • chown ファイル所有者の変更(change owner)
  • chmod ファイルパーミッションの変更(change mode)
  • rm        ファイル削除(remove)
  • man     コマンドの使い方を教えてくれる(manual)

英語を意識すると覚えやすいかも。使い方が分からんかったらgoogleで調べてください。manは使いこなせると便利かも

 

 

Macユーザー必見ショートカット集 Keyboard shortcuts Mac users must check

ctrl + 右( or 左 )矢印: 仮想デスクトップ切り替え   

ctrl + 上: アプリが一覧表示されるやつ

ctrl + space: Spotlight(アプリ名を入力してを起動するやつ)

command + tab: アプリ切り替え(めっちゃ使う)

ctrl + h: deleteと同じ(delete遠いからこっち使う)

ctrl + f: カーソルを進める

ctrl + b: カーソル戻る

ctrl + p: カーソルを上に移動

ctrl + n: カーソルを下に移動

 

他に思い出したら追加しますー♨

 

swiftでStoryboardを使わずにAuto Layoutを適用する方法

self.view.addSubview(sampleLabel)
self.view.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|-60-[button(200)]", options: NSLayoutFormatOptions(), metrics: nil, views: ["button": sampleLabel]))||<

 "H:|-60-[button(200)]"という部分がVisual Format Language と呼ばれるものらしく、これでググれば色々わかるんじゃないかと思います。