新卒から文系エンジニア→人材業界に転職した人のブログ

新卒から文系エンジニア→人材業界に転職。技術・スキルがないためブログを通して勉強。その後、IT業界の業界知識が活かせる人材業界へ。異業種×異職種の転職経験有り。

このエントリーをはてなブックマークに追加

【読書メモ】「コーディングを支える技術」を読んで

【今回の紹介】

以下の本を後半戦を読んだのでいったんメモをしときます。

コーディングを支える技術 ~成り立ちから学ぶプログラミング作法 (WEB+DB PRESS plus)
コーディングを支える技術 ~成り立ちから学ぶプログラミング作法 (WEB+DB PRESS plus)

【内容】


 概要としては、どのプログラムでも共通する文法や関数、変数、制御文などについて
仕組みやその歴史を説明している本です。
本書を読んだからPGスキルが飛躍的に上がる訳ではないと思いますが、
普段なにげに使用しているものが
 ・どのような仕組み、考えを持って設計されているのか
 ・汎用的な部分の言語比較
 などなどを知ることは無駄でないと思います。

まだまだ初心者の域をでていない自分にとっても、おもしろいです




①メモ

「型について」

   1,0か1であらゆる情報を表現するにあたり、電気がとっているか通っていないか判断している
   2,一つのランプがついているかいないかを判断する(電気が通っているか否か)中で、より少ないランプでより多くの数を表現できるのが二進数だった。
3,おなじ0か1の連続でもどう解釈するかによって、情報がかわるため「型」が存在する
   4,ユーザ定義型の(型を組み合わせて新しい方を作る)試みがCの構造体
   5,ユーザ定義型の型にアクセス制御をつけていったものが、javaのpublicやprivate
 


「値をコンテナに格納することとメモリでの管理について」

  

  1,配列
   配列は、メモリ上に連続して領域を確保して格納するイメージ
   検索などの場合は、配列の格納番地+添字の数によってできるため、検索は得意
   値の登録や削除は、不得意。
   連続した領域に値を挿入または削除すると、後ろの値をつめたり、後ろにずらしたりする必要がある
   格納データの数が大きければ大きいほど、ロスになる
   
  2,リスト
   リストは、メモリ上に連続した領域を確保する必要がない。
   格納する値と後ろの値の格納先の情報がメモリに持っている。
   そのため、値の登録や削除は、登録されている値の数に左右されない
   一定の処理時間となる。
   
  3,連想配列
   連想配列は、まず
   ①適当な領域をメモリ上で確保
   ②添字にたいして、ハッシュ値を割りあてる。
    ハッシュ値はチラシ値とも言われているものらしいです。    
    ランダムの値を添字に割り当てるということですね。
   ③ランダムで割りあたった番地に値を格納する
   
   ちなみに
    ①ハッシュがかぶる場合の管理が必要
 


 参考:リストと配列

.hatena-module:nth-of-type(10) { background: transparent; } .hatena-module:nth-of-type(10) .hatena-module-title{ display: none; } .hatena-module:nth-of-type(10) .hatena-module-body { padding: 0; }