auの日記

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

2018-04-01から1ヶ月間の記事一覧

C言語でif分岐

auです。 私は少し前までPythonをやっていましたが、今はC言語を学んでいます。if分岐での処理の仕方は変わってないのですが、書き方がPythonから変わってしまったので、どこが変わってしまったのかを書きたいと思います。 Pythonでの書き方 Pythonでif分岐…

C言語でコンパイルをするプログラム「gcc」について

auです。 昨日コンパイルについて説明しました。 コンパイルとは、人間にわかりやすい形で書かれたプログラムを、機械語に翻訳することです。 本題のgccについて書いていきます。 gccとは GNU Compiler Collectionの略称で、gcc自体はオープンソースで公開さ…

コンパイラとインタプリタとは

auです。 プログラミングを学んでいて、「それコンパイルしておいて」などと言われたことがあるんですが、意味が分からなかったので調べてみました。 コンパイルとインタプリタ コンパイルとは、プログラミング言語で書かれたソースコードを実行する前に全て…

C言語の#include <stdio.h>の意味

auです。 C言語を書く際のおまじないの部分(#includeなど)の意味を調べてみました #include <stdio.h>の意味 プログラムの本文ではない部分(int aなど実行した際に動かない部分)をヘッダといいます。プログラムを実行したときに動かない#include <stdio.h>の部分はヘッダという</stdio.h></stdio.h>…

カプセル化するとデータの名前が変わる

auです。 ネットワークに関してです。OSI参照モデルでは、商品を配達するときのように、第7層のプレゼンテーション層から第1層の物理層にかけて「ヘッダ」と呼ばれる制御情報を付けていきます。このヘッダをつけていくことをカプセル化といいます。 逆に、デ…

TCP/IPモデルについて

auです。 OSI参照モデルとよく一緒にでてくる、TCP/IPモデルについて書きたいと思います。 TCP/IPモデルとは OSI参照モデルは国際標準化機構(ISO)が作った第7層からなるデータ通信機能のモデルにたいして、TCP/IPモデルは米国国防高等研究計画局(DARPA)が…

OSI参照モデル 第1層:物理層

auです。 OSI参照モデルの第1層に当たる「物理層」について書きたいと思います。 物理層とは ネットワークで通信して、データを取り扱います。このデータは人間では文字で見えていますが、機械では機械語(2進数)という"0"と"1"からなるビット列からなる電気…

OSI参照モデル 第2層:データリンク層

auです。 OSI参照モデルの第2層に当たる「データリンク層」についてまとめたいと思います。 データリンク層 データリンク層では、ケーブルで直接繋がっているネットワークで、正確にデータを送信することを役割としています。誰から誰に送受信しているか、デ…

OSI参照モデル 第3層:ネットワーク層

auです。 OSI参照モデルの第3層に当たる「ネットワーク層」について書きたいと思います。 ネットワーク層とは ネットワーク層では、複数のネットワークを識別・特定してエンド・ツー・エンド(自分から相手まで)にデータ(パケット)を送ること、送信までの…

OSI参照モデル 第4層:トランスポート層

auです。 OSI参照モデルの第4層に当たる、トランスポート層について書きたい他思います。 トランスポート層とは この層では、データを相手に送信する際に、エラーがないか、ちゃんと届いているかを確認する信頼性を保証する機能を持っている層です。 データ…

OSI参照モデル 第5層:セッション層

auです。 OSI参照モデルの第5層に当たる「セッション層」について書きます。 セッション層とは 第6層のプレゼンテーション層から解読されたデータを受け取り、第5層のトランスポート層に渡すという役目になります。 セッションの意味は、開始(接続)から終了(…

OSI参照モデル 第6層:プレゼンテーション層

auです。 昨日に引き続いて第6層である「プレゼンテーション層」について書きたいと思います。 プレゼンテーション層とは プレゼンテーション層では、第7層のアプリケーション層から受け取ったデータを、適切な形式に変換(解読)して、第5層のセッション層…

OSI参照モデル 第7層:アプリケーション層

auです。 OSI参照モデルは7層構造になっています。今日はその7層目のアプリケーション層について書きたいと思います。 アプリケーション層 ネットワークを利用するアプリケーションとやり取りをする部分に対する取り決めをしています。 最も上位に位置する層…

ACKとSYN

auです。 ネットワークについてまた調べました。 今回は、ネットワークの基本のACKとSYNについて調べてみました。 パケット ACKとSYNについて書く前に、「パケット」について知ったほうがいいので書きます。携帯などの契約でパケットが~などと聞いたことが…

OSI参照モデル

auです。 今回もネットワークについてです。OSI参照モデルについて書きます。 これについて知らないとエンジニアは語れないらしいのでがんばります。 OSI参照モデルとは OSI(Open System Interconnection)参照モデルとは、ISO(国際標準化機構)が決めた、異…

MACアドレス

auです。 今回もネットワークの基礎についてです。 MACアドレスについて調べてみました。 MACアドレス ネットワークに繋がっている機器に振られている固有の番号。12桁の16進数で書かれていて、購入時にすでに振られています。同じMACアドレスの機器は存在し…

ACKとSYN

auです。 ネットワークについてまた調べました。 今回は、ネットワークの基本のACKとSYNについて調べてみました。 パケット ACKとSYNについて書く前に、「パケット」について知ったほうがいいので書きます。携帯などの契約でパケットが~などと聞いたことが…

TLSv1.2について

auです。 ネットワークにおける、TLSv1.2とは何なのかわからなかったので調べてみました。 TLS1.2とは 通信における、暗号化のことだそうです。SSLとTLSがあるらしく、1.2はバージョンです。1.0、1.1、1.2があります。1.2が一番安全な暗号化です。 SSL/TLSと…

ネットワークのTCPについて

auです。 学校のネットワークの授業で「TCP」という言葉を聞いたが、あぁ〜以前学習したなぁくらいしか覚えてなかったので、改めて調べてみました。 TCPとは ネットワークで使うプロトコル(通信する際のルール)です。最も一般的なプロトコルで、1番信頼性が…

初心者が初めてC言語に触れてみた

auです。 今回はC言語について少し勉強しました。 エディタは「Visual Studio Code」を使用しています。 Visual Studio Code - Visual Studio C言語の書き方 今はまだ呪文だと思っておいておっけーって言われたので、まだ意味はよくわかってな部分が多いです…

Pythonでオームの法則(並列)

auです。 昨日は直列について作ってみたので、今回は並列処理を書いてみました。途中までしか書けなかったので、最後まで計算できるように今後プログラムしたいきたいと思います。 resistror_list = [] def resi(): resi_x = 1 num_res = int(input('抵抗器…

Pythonでオームの法則を作ってみた

auです。 学校の授業で「オームの法則」を利用した実験をしました。 その際に、自分なりにオームの法則を計算してくれるプログラムを組んでみました。 こうしたほうがいいなどあったら指摘してほしいと思います。 #オームの計算 while True: x = int(input('…

C言語とは

auです。 学校で習い始めるであろう「C言語」について書いてみたいと思います。 自分は、プログラミング言語といえばと聞かれて、すぐに答えるとしたらこの言語の名前を出すと思うくらいには、聞いたことのある言語です。C言語とは 学校の課題で一度C言語に…

JavaScriptについて

auです。 学校側でこれを勉強してきてというのに、JavaScriptとC言語があったので、今回はJavaScriptについて書いていこうと思います。 JavaScriptとは JavaScriptとはプログラミング言語です。主に、Webブラウザやウェブサービス、動的なWebサイトを作成す…

MySQLについて

auです。 今まで「SQLite3」について書いていましたが、どうせやるならほかのほうがいいというアドバイスをいただいたので、今回から「MySQL」について調べていきたいと思います。 MySQLとは MySQLとは、データベース管理システムです。世界で最も利用されて…

SQLite3でのインデックススキーマについて

auです。 インデックスの構造(インデックススキーマ)を確認したいと思います。 インデックススキーマの確認 sqlite_masterコマンドを使って確認してみます。 SELECT * FROM sqlite_master; type = table name = book tbl_name = book rootpage = 2 sql = C…

SQLite3でのUNIQUE制約

auです。 UNIQUEインデックスより先に、テーブルを作成する際にプライマリーキーのように指定できるUNIQUE制約について書くべきでした。 UNIQUE制約について UNIQUE制約とは、すでに格納してあるデータを重複を禁止する場合にカラムにUNIQUE制約を設定します…

SQLite3でのUNIQUEインデックス

auです。 今回は、インデックスを使用する際に、重複しないように制限する、「UNIQUE(ユニーク)」をインデックスを作る際に付けようと思います。 ユニークを付けてインデックスを作成する インデックスを作成するにはテーブルが必要なので、いつも通りテーブ…

SQLite3でインデックスの作成

auです。 今回は前回説明したインデックスを作成していこうと思います。 インデックスの作成の仕方 インデックスは以下のようにして作成します。 CREATE INDEX インデックス名 ON テーブル名(カラム名1, カラム名2...);テーブル作成と似ているようで少し違い…

SQLite3でのインデックスについて

auです。 今回は、インデックスについてまとめてみたいと思います。 インデックスとは インデックスは、カラム名を絞ってデータを見ることができる機能です。 SELECT * FROM user; id name address CULUMN ---------- ---------- ---------- ---------- 1 Sa…