728x90
728x90

  Node.js  

JavaScript 런타임
"node.js"

 

 

개발환경 구성

nodejs 설치

설치 환경

os : window10 x64

nodejs version: v14.16

nodejs.org/en/

 

Node.js

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org

 

728x90
728x90

Naming 2021.04.03

 

코드를 짜다보면 항상 고민하게 되는 것중 하나, 은근히 시간을 잡아 먹게 되는 것중 하나는 네이밍인 것 같다.

변수명 부터 시작해서 함수명 URL ,DB , Table, 파일명, 명명명

설계된 프로젝트에 맞춰서 미리 정해 놓은 경우에는 너무나 편하겠지만, 설계 뿐만아니라 특정 기능에대한 추가사항에 관해서 새롭게 코드를 짜야할때 일정한 규칙을 정해 놓지 않으면 중구난방되기 쉬운게 네이밍이 아닐까한다.

 

개인 적인 프로젝트야 크게 상관이 없겠지만, 누군가에게 보여 줘야 한다거나 협업을 한다거나, 또는 이런 블로그에 올리기 위한 코드를 작성 할때 만큼은 고민이 많아질수 밖에 없는것 같다.

그래서 알기 위운 이름들을 사용하는게 아닐까 생각해본다.

 

728x90
728x90
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');

var left = canvas.offsetLeft;
var top = canvas.offsetTop;
var pixel;
var data;
var r = 0;
var g = 0;
var b = 0;
draw(r,g,b);
$('canvas').mousedown(function (e) {
    
    $('canvas').mousemove(function (e) {
        var x = e.clientX - left;
        var y = e.clientY - top;
        console.log(x,y);
        pixel = ctx.getImageData(x, y, 1, 1);
        data = pixel.data;
    })
})
$('canvas').mouseup(function (e) {
    r = data[0];
    g = data[1];
    b = data[2];
    draw(r,g,b);
    console.log(r,g,b)
})

var gradient;

gradient = ctx.createLinearGradient(0, 5, 0, 140);
gradient.addColorStop(0, "rgb(255, 0, 0,1)");
gradient.addColorStop(0.2, "rgba(255, 255, 0, 1)");
gradient.addColorStop(0.4, "rgba(0, 255, 0, 1)");
gradient.addColorStop(0.6, "rgba(0, 255, 255, 1)");
gradient.addColorStop(0.8, "rgba(0, 0, 255, 1)");
gradient.addColorStop(1, "rgba(255, 0, 255, 1)");
// gradient.addColorStop(0, "rgba(255, 255, 255, 1)");
// gradient.addColorStop(0.5, "rgba(0, 255, 0, 1)");
// gradient.addColorStop(1, "rgba(0, 0, 0, 1)");
ctx.fillStyle = gradient;
ctx.fillRect(280, 0, 10, 200);
function draw(r,g,b){

    for(var i=0 ; i<256 ; i++){
        var ri  = i * (1 - r/255)
        var gi  = i * (1 - g/255)
        var bi  = i * (1 - b/255)
        var endpoing = [String(255-ri),String(255-gi),String(255-bi)].join(',')
        gradient = ctx.createLinearGradient(0, 5, 0, 160);
        gradient.addColorStop(0, "rgb("+endpoing+")");
        gradient.addColorStop(1, "rgb(0, 0, 0 , 1)");
        // gradient.addColorStop(0, "rgba(255, 255, 255, 1)");
        // gradient.addColorStop(0.5, "rgba(0, 255, 0, 1)");
        // gradient.addColorStop(1, "rgba(0, 0, 0, 1)");
        ctx.fillStyle = gradient;
        ctx.fillRect(i, 0, 2, 200);
        pixel = ctx.getImageData(0, 0, 1, 1);
    }
}
728x90

'개발 중 아까운 코드' 카테고리의 다른 글

[Javascript] Ajax 통신 progress bar  (0) 2021.07.28
728x90

텐서플로우 인덱스 참조

- 텐서의 인덱스 참조도 넘파이와 유사

 

1차원 인덱싱

- 1차원 텐서 만들기 

>>> t = tf.constant([1,2,3,])
>>> t

<tf.Tensor: shape=(3,), dtype=int32, numpy=array([1, 2, 3], dtype=int32)>

- 인덱싱

>>> t[:2]
<tf.Tensor: shape=(2,), dtype=int32, numpy=array([1, 2], dtype=int32)>

 

2차원 인덱싱

- 2차원 텐서만들기

>>> t = tf.constant([[1,2,3],[4,5,6]])
>>> t

<tf.Tensor: shape=(2, 3), dtype=int32, numpy=
array([[1, 2, 3],
       [4, 5, 6]], dtype=int32)>

- 2차원 인덱싱

>>> t[:1]

<tf.Tensor: shape=(1, 3), dtype=int32, numpy=array([[1, 2, 3]], dtype=int32)>

>>> t[:,2]

<tf.Tensor: shape=(2,), dtype=int32, numpy=array([3, 6], dtype=int32)>

>>> t[:2,:2]

<tf.Tensor: shape=(2, 2), dtype=int32, numpy=
array([[1, 2],
       [4, 5]], dtype=int32)>

 

3차원 인덱싱

- 3차원 텐서만들기

>>> t = tf.constant([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])
>>> t

<tf.Tensor: shape=(2, 2, 3), dtype=int32, numpy=
array([[[ 1,  2,  3],
        [ 4,  5,  6]],

       [[ 7,  8,  9],
        [10, 11, 12]]], dtype=int32)>

- 3차원 인덱싱

>>> t[:2,1:,:2]

<tf.Tensor: shape=(2, 1, 2), dtype=int32, numpy=
array([[[ 4,  5]],

       [[10, 11]]], dtype=int32)>
728x90

'Development Study > tensorflow' 카테고리의 다른 글

[tensorflow] 텐서플로우 - 텐서 만들기 #1  (0) 2021.03.10
728x90

MongoDB Import

데이터 가져오기

mongoimport --host "연결할 DB ip 또는 host 이름" --port "포트 번호" -d "데이터베이스명" -c "컬렉션 명" -u "계정명" -p "계정비밀번호" --file "파일명"

MongoDB Export

데이터 내보내기

mongoexport --host "연결할 DB ip 또는 host 이름" --port "포트 번호" -d "데이터베이스명" -c "컬렉션 명" -u "계정명" -p "계정비밀번호" --o "파일명"
728x90

'Development Study > DB' 카테고리의 다른 글

[오라클] 랜덤 추출  (0) 2023.04.14
728x90
728x90

+ Recent posts