auの日記

プログラミング初心者の日記。(auはハンドルネームです)

プログラミング

読んでいる本でコンストラクタという用語が出てきたので調べてみた

auです。現在読んでいる本で「コンストラクタ」という用語が出てきたのですが、パッと出てこなかったので調べて、今度こそ概念を理解しようと思います。 コンストラクタとは コンストラクタ(Constructor)とは、オブジェクト指向のプログラミング言語で出てく…

型多相性(ポリモーフィズム)について調べてみた

auです。型多相性(ポリモーフィズム)という用語があるのですが、何のことかよく分からなかったので調べてみました。 型多相性とは 型多相性とは、プログラミングの型の性質を表し、複数の型を共通に扱える性質のことです。この型多相性を持った関数のことを…

カリー化について調べてみた

auです。「カリー化」という用語をみて、なんだこれはと思ったので調べてみました。参考 qiita.com カリー化とは カリー化(curry)とは、2つ以上引数がある関数を、1つの関数だけで表現するように書き換えることを指します。 def add(x, y): return x + y def…

プログラムの実行の際に使われるインタプリタとは

auです。今日はプログラムの実行に必要な「インタプリタ」について調べてみました。参考サイト www.otsuka-shokai.co.jp インタプリタとは インタプリタとは、人間が書いたソースコードを1命令ずつ解析して実行していくプログラムのことを指します。1命令ず…

最近Paizaが楽しい

auです。友人に勧められて、Paizaと言うプログラミングをトレーニングできるサービスをやってみました。paiza.jp 問題のレベルがD~Sに分かれており、色々なレベルの問題を解くことができます。このサービスの面白いところで、ある程度のプログラミングスキル…

OCamlの再帰で用いる「rec」って何の略称?

auです。OCamlの再帰を書く際に「rec」を用いるのですが、これって何の略称なのか気になってしまったので調べることにしました。 recは何の略称? 結論から言うと、再帰的の意味をもつ「recursive」でした。読み方はリカーシブです。以下のOCamlの英語のサイ…

プログラムのステップ数って何?

auです。ES(エントリーシート)を書く際に、今までに作成したプログラムを簡単に説明してくださいという欄があるものが多くあります。エンジニア系っぽいですね。そこに記入する際に「ステップ数」という項目があるのですが、ステップ数って何だ・・・となっ…

パターンマッチについて調べてみた

auです。OCamlを勉強しているときに、「パターンマッチ」という用語が出てきたので調べてみました。 パターンマッチとは パターンマッチとは、データから特定のパターンに合う値を探し出すことを指します。そのままですね。C言語で用いられる"switch-case文"…

プログラミングで用いられる環境とは

auです。プログラミングをしていて、「環境」という用語を使うのですが、どういう意味か気になったので調べてみました。 環境とは 環境とは、変数名と値のセットのことです。よく、クラスやモジュールで「環境を持つ」なんて言われることがあると思いますが…

プログラミングにおける副作用とは

auです。「プログラミングの副作用」というのを聞きますが、プログラミングも薬とか飲むのかなと思ったのでちゃんとした意味を調べてみました。こちらのサイトがとてもわかりやすかったです!qtamaki.hatenablog.com プログラミングの副作用とは プログラミ…

GASで画面遷移ができない場合の解決法

auです。きのう、main関数の結果をうまくhtmlで取得することができない問題が発生していました。 こんな感じで書けば、main関数の実行された返り値が保存されるはずです。しかし、色々調べていくうちに、HTMLを提供するための関数"HtmlService.createHtmlOu…

GASで画面遷移ができない

auです。現在GASを使って簡単なWebアプリケーションを実装しようとしているのですが、うまく画面の遷移が実装できません・・・ function main() { var html_file = SelectHTML(select_ball) return HtmlService.createHtmlOutputFromFile(html_file); } // p…

末尾再帰とは

auです。プログラミングにおける最適化の一つとして、「末尾再帰」というものがあります。どんな最適化なのか調べてみました。 末尾再帰とは 末尾再帰(Tail Call)とは、返り値が再帰関数の引数になるような再帰を指します。普通の再帰だと、スタックのように…

echoコマンドでASCIIコードを表示した

auです。特に難しいことではないのですが、echoコマンドを使ってASCIIコードを表示する方法があったのでメモ程度に書いておこうと思います。16進数を使って対応するASCIIコードを表示するにはこのようにやります。 echo -e "\x数字"例えば echo -e "\x65" e …

OCamlと友達になれない

auです。OCamlを初めて1ヶ月近く経ちましたが、なんだかまだ友達になれてないようで、エラーを生み出しまくってます。 This expression has type expression but an expression was expected of type int こんな感じの型がよくないというエラーがとてつもな…

NetworkXでつまったとこメモ

auです。大学の課題でNetworkXを使ってグラフを解析するというのがあったのですが、NetworkXで一部はまってしまったところがあったので自分のメモ程度に残そうと思います。 remove_nodeができない 単純にグラフのコピーの仕方の問題でした。 X = G // Gのグ…

Macでゆっくりボイスを実装できるか調べてみた

auです。現在ゆっくり動画をあげているのですが、ゆっくりボイスを追加できるのが、Macだとユクモというサイトにアクセスして、mp3として音声データをダウンロードして貼り付けるくらいしかありませんでした。www.yukumo.netそれが非常にめんどくさくていや…

OCamlで出てくるヴァリアントとは

auです。最近OCamlを学んでいるのですが、「ヴァリアント」という様々な型に代入できるようにする用語があるんですけど、白猫プロジェクトの職業にしか見えないのでちゃんと調べることにしました。ちなみに白猫で一番好きなのはジュダです。 ヴァリアントと…

Vimで入力補完はCtrl+nで実はできた

auです。きのうの記事でVimでPHPを利用していることを書きました。その際、「Vimで入力補完してくれたらいいのになぁ」という感じのことを書いたのですが、友人に聞いたらできるみたいです。 Vimで入力補完をする Vimで入力補完をするには Ctrl + nでできる…

授業でPHPを書いたので感想を書いてみる

auです。今日の授業で仮装マシンを起動し、Vimを使ってPHPを記述しました。HTMLで書いたファイルをWebブラウザで呼び出し(localhost)、記入欄に記入された内容を送信し、POSTで受け取った内容をPHPで受け取るみたいな内容でした。初めてPHPに触ったのでどん…

よく聞くフロントエンドとは

auです。「フロントエンドの設計が〜」とか、フロントエンドエンジニアと聞きますが、なんだかふわふわした状態だったので、調べてみました。「フロント」とついているので、表側で何かすることだと思います。 フロントエンドとは フロントエンドとは、Webペ…

MVCモデルについてもう一度学習した

auです。インターン先でPythonを使ってアプリケーション開発をしています。どんな感じの構成で開発をしようかと悩んでいると、MVCモデルというWebフレームワークを使って開発するやり方がインターン社内では使われていることが分かりました。もともと授業で…

OCamlをMacで使えるようにした(方向キーで操作できるよ!)

auです。OCamlというプログラミング言語を使ってみました!C言語ともPythonとも違う、不思議なコードの書き方のような気がしました。とりあえずOCamlについて調べてみました。 OCamlとは OCamlとは、int型やchar型といった明示的な型変換は行われるず、コン…

Jupyter LabとJupyter Notebookって何が違うの?

auです。授業でJupyter Labというソフトウェアに触りました。以前までJupyter Notebookなのに?違いはなんだろう?と思ったので、違いについて調べてみました。 Jupyter Notebookとは Jupyter Notebookとは、手軽にコードの共有やデータ分析を行うことのでき…

手続き型プログラミングとは

auです。手続き型プログラミングという用語について調べてみました。 手続き型プログラミングとは 手続き型プログラミングとは、プログラムの上から順番に処理を実行していくプログラミング言語のことを言います。命令型プログラミングと同義として扱われる…

プログラミング用語のネストとは

auです。プログラミングで使われる、ネストという用語の意味について調べました。 ネストとは ネストとは、入れ子とも呼ばれており、以下のような「if文の中にif文が入っているような状態」のコードのことを言います。他にも、for文の中にfor文が入っている…

プログラミング用語のリファクタリングとは

auです。リファクタリングという用語がよくわからなかったので調べてみました。 リファクタリングとは リファクタリングをするタイミング 参考サイト リファクタリングとは リファクタリングとは、プログラムの動きは変わらないが、ソースコードを書き換える…

優れたコードを読んで理解する勉強法がすごかった

auです。リーダブルコードを読んでいて、「優れたコードは見ているだけで何をしているかが伝わってくる」という言葉が出てきます。優れたコードって本当に見てるだけで理解できるのかよ、ていうか、それならコードを理解するだけで勉強になるんじゃね?と思…

プログラミングのコードを綺麗にするために本を買った

auです。インターン先でプログラミングをしている大学2年生です。プログラミングをしているときに、関数名や変数名に困ることがあると思います。私は常に困っています。やりたい機能はこれなんだけど、他の関数で同じような名前使っちゃってるしなぁという場…

マジックナンバーについて調べてみた

auです。インターン先でプログラミングをしていると、マジックナンバーを使うなという指示が結構な数飛んできました。ごめんなさい。マジックナンバーって何?魔法の番号ってなんかかっこいいなーと思ったので調べてみました。 マジックナンバーとは マジッ…