読者です 読者をやめる 読者になる 読者になる

hoz blog

営業からSEに転職した文系エンジニアです。プログラミングと趣味の株に関してブログを書いていこうと思います。

eclipseのパッケージエクスプローラーの表示を見やすく変更する<文系エンジニアのプログラミング>

eclipse

パッケージエクスプローラーの表示方法は階層表示に変更することが可能です。

格段に見やすくなるためお勧め。

 

1.Eclipseのパッケージエクスプローラー上部ツールバーの右端の下三角(▽)をクリック
2.「パッケージ・プレゼンテーション」→「階層(H)」を選択

 

 

git deletedファイルを元に戻す<ゼロからのgit入門>

git

$ git checkout HEAD -- 消したファイル名

 

誤って必要なファイルを削除してしまった場合、上記コマンドで削除されたファイルを元の状態に戻せます。

 

 

◆git関連

takanori5.hatenablog.com

コールバック関数は汎用化に最適!<JavaScript勉強中>

JavaScript

配列に対して、

・値を取り出して1ずつ足すという処理

・値を取り出して2乗じるという処理

 

以下の二つの関数を定義したい場合にコールバックを使わずにそれぞれ実装すると以下のように実装できます。

 

var a = [1, 2, 3, 4, 5];

//1ずつ足す関数

function addOne() {

  var resultArray = ;

  for (var i = 0; i< a.length; i++){

    r[i] = a[i] +1;

  }

}

 

//2乗じる関数

function multiTwo() {

  var resultArray = ;

  for (var i = 0; i< a.length; i++){

    r[i] = a[i] * 2;

  }

}

 

for文の中の要素に対して+1するか*2するかの部分しか処理が異なりません。

これはコールバック関数を利用することで以下のように汎用化可能です!

 

var a = [1, 2, 3, 4, 5];

//汎用化部分(コールバック関数fで切り替え)

function _map(f, a) {

  var resultArray = [];

  for (var i = 0; i< a.length; i++){
    resultArray[i] = f(a[i]);
  }
  return resultArray;

}

 

var addOne = function (x){return x +1;};

//1ずつ足す関数

function mapAddOne(a) {
  return _map(addOne, a)
}
b = mapAddOne(a);

 

var multiTwo = function (x){return x *2;};

function mapmultiTwo(a) {
  return _map(addOne, a)
}
b = mapAddOne(a);

console.log(b);

コールバック関数を理解する<JavaScript勉強中>

JavaScript

コールバック関数とは何か

コールバックとは、ある処理に対して別の処理を呼び出すように指定することを指します。

ある処理をトリガーに別の処理を呼び出すことです。

GUIプログラミングでよく利用されるようです。例えばボタンが押されたという処理をトリガーにコールバック関数を呼び出すといった感じ。

 

まずは普通に関数を使って面積計算してみます。

var squere = {
  width : 100,
  hight : 50
}

function calc(squere) {
  return squere.width * squere.hight;
}
console.log(calc(squere));//5000

 

上記のfunction以下をcallbackにしてみます。

 

function calcCall(squere, f) {
var calc = squere.width * squere.hight;
f(calc);
}
calcCall(squere, function(calc){console.log(calc)});//5000

 

コールバックでは、面積を計算する処理をトリガーにコンソールにログを出しています。

引数に渡すコールバック関数fを変えることで柔軟に処理の内容を変更できます

 

上記の簡単な例ではコールバックを使う必要がないですが、javascriptの組みこみ関数では普通にコールバック関数が使われているので覚えておく必要があります!

クロージャを使ってみる<JavaScript勉強中>

JavaScript

javascriptでは無名関数クロージャを定義できます。

 

クロージャの定義の仕方

1.関数の中に関数をつくる

2.外側の関数のスコープ内に変数を定義する

3.内側の関数から2で定義した変数を参照する

4.関数の中で入れ子になった関数内関数を戻り値で返す

 

面倒臭いですね。。

 

試しに使ってみます!!

function outer() {
  var a = 2;
  var inner = function() {
    return a; 
 }
}

var func = outer();
var result = func();
console.log(result); //2

 

クロージャを利用するメリット

なぜこんなに面倒な手順を踏んでまでクロージャを利用するのか当初は意味不明でした。

クロージャを利用することで得られるメリットは二つです。

1.グローバル変数を使わなくて済む

通常の関数では、関数の呼び出しが終わると、その関数のスコープ内で使われていたローカル変数の値は消えてしまい、次の呼び出し時に使うことはできません。

この対処法としてグローバル変数を定義しておき、そこで値を保持することで対処します。

ただし、グローバル変数はどこからでもアクセスできるため意図しない改ざんが起こりえます。

クロージャを利用することでグローバル変数を定義せずにローカル変数の値を保持することが可能となります。

 

2.関数を動的に生成できる。

クロージャは入れ子になった関数を使って定義します。

この時外側の関数は、関数を作り出すための関数と見なせ、外側の関数に渡す引数に応じて、パラメータのことなる様々な関数が生み出せます。

 

 

 

nodebrew install が失敗する

node.js

nodebrew install-binary latestを実行

|ターミナル|

Warning: Failed to create the file

Warning: /Users/hodzumitakanori/.nodebrew/src/v7.7.2/node-v7.7.2-darwin-x64.tar

Warning: .gz: No such file or directory

||<

mkdirをすれば解決!

|ターミナル|

hodzumitakanori-no-MacBook-Air:~ hodzumitakanori$ mkdir ~/.nodebrew

hodzumitakanori-no-MacBook-Air:~ hodzumitakanori$ mkdir ~/.nodebrew/src

hodzumitakanori-no-MacBook-Air:~ hodzumitakanori$ nodebrew install-binary v7.7.2

||<

################################################################## 100.0%

Installed successfully

index.htmlとは何か<文系エンジニアのプログラミング>

HTML5

TOPページのファイル名はindex.htmlと決まっているそう。

 

WWW サーバーのコンピューターが、アドレスにファイル名の指定が無い場合は「index.html」を探す仕組みになっています。 ホームページへのアクセスがあれば「index.html」のファイルを自動的にHPのTOPのページとして認識しそのデータを渡してくれます。 それをブラウザが受け取ってそのデータのHTMLを解釈してページを表示するようになっています。

 

特殊なファイル名であるindex.html

 

リンク先のファイル名がindex.htmlの場合はURLやパスからファイル名であるindex.htmlを省略可能。

 

同フォルダのindex.htmlにアクセスする場合はパスに「./」と書けば良い。

 

<a href="index.html">

<a href="./">