전체 글 74

[리눅스] Jenkins 설치과정

내 환경에 jenkins를 깔아보려한다. brew install jenkins 터미널 창에 해당 명령어를 입력해준다. 근데 에러가 떨어졌다 xcode를 설치해야한다고 한다 이녀석을 설치 해준 후 다시 위의 명령어를 실행해주면 또로록 먼가 설치가 된다. 그리고 나서 실행을 준다. brew services start jenkins successfully started 'jenkins' 글자를 봤다면 성공적으로 실행 되었다는 뜻이고, 이제 http://localhost:8080으로 들어가보면 1차 성공 Unlock Jenkins를 만나게 된다면 해당 링크에 가서 initialAdminPassword 파일에 적혀있는 패스워드를 Administrator password에 넣어주면 2차 관문 통과 customize..

기타 2023.03.03

[리눅스] 파일 찾고 복사하고 삭제하기

사수님께서 내주신 숙제를 해보자! 먼저 find / -name 파일명으로 위치를 찾아준다. 그러면 이렇게 파일이 들어있는 위치를 찾을 수 있다. 다음으로 원하는 경로 내에 복사하기는 cp 파일경로 복사할 경로를 명령하여 복사해준다. 그리고 ls 명령어로 파일이 정상적으로 복사됐는지 확인해본다. 마지막으로 media의 dd폴더를 삭제한다. rm -r 경로 명령어로 삭제하려했는데 권한 문제로 거절당해서 sudo를 붙여 삭제해줬다. ll 명령어로 해당 폴더에 어떤 파일이 있는지 확인하면서 삭제가 잘 되었는지 확인하면 모든 조건의 숙제 완료!⭐️

기타 2023.03.03

[MySql] TINYINT

효율적으로 데이터 형식을 결정하기 위해 TINYINT를 쓸 수 있다. 만약, 키에 대한 컬럼의 형식을 정할 때 SMALLINT로 지정할 수 있지만, SMALLINT는 -32768 ~ 32767 까지의 정수를 담을 수 있는데, 이때 키는 그 정도까지의 숫자가 필요하지 않기 때문에 TINYINT를 쓸 수 있다는 것이다. 하지만 TINYINT는 -128 ~ 127 의 숫자를 담을 수 있는데 127 이상인 키를 가진 사람들을 어떻게 담을지 걱정일 수 있다. 이때 TINYINT UNSIGNED로 쓴다면 0 ~ 255로 변환하여 쓸 수 있게 된다. 다른 정수형도 마찬가지로 UNSIGNED를 붙이면 0부터 범위가 지정된다.

DataBase/MySql 2023.02.27

[MySql] HAVING절

HAVING 예를 들어서, 출력 된 결과 중에서 총 구매액이 1000이상인 회원에게만 어떤 조건을 주려한다면 아마 WHERE 절에 조건을 줘야하나 싶을거다. SELECT mem_id, SUM(price*amount) "총 구매금액" FROM buy WHERE SUM(price*amount) > 1000; GROUP BY mem_id; 그 생각대로 이렇게 하면 아마 바로 오류가 날 것이다. 이럴때 WHERE 대신 사용하는 것이 HAVING절이다. HAVING은 WHERE과 비슷한 개념으로 조건을 제한하는 것이지만, 집계함수에 대해서 조건을 제한하는 것이라고 생각하면 된다. 그리고 HAVING은 GROUP BY절 다음에 나와야 한다. SELECT mem_id, SUM(price*amount) "총 구매금액"..

DataBase/MySql 2023.02.24

[MySql] IN()

얼렁뚱땅뚱땅 개발하다보니 기초적으로 놓친것이 너무나 많다. IN() 만약 경기/전남/경남 중 한 곳에 사는 회원을 검색하려면 일일이 OR로 써줘야한다. SELECT mem_name, addr FROM member WHERE addr = '경기' OR addr = '전남' OR addr = '경남'; 이렇게말이다. 하지만 IN()을 사용하면 코드를 훨씬 간결하게 작성할 수 있다. SELECT mem_name, addr FROM member WHERE addr IN('경기', '전남', '경남'); 이렇게 말이다. 조건식에서 여러 문자 중 하나에 포함이 되는지 비교할 때는 IN()이 간결하다는 것을 알 수 있다.

DataBase/MySql 2023.02.24

최신 오픈소스 기술 트렌드(GraalVM)

2022년 12월에 진행한 전자정부 표준프레임워크 세미나를 회사 이사님께서 흥미롭다며 보라고 공유해주셨다. 내가 느끼기에도 꽤나 흥미로운 내용이었다. 현재 어플리케이션을 실행할 때 각각 작업에 맞는 서로 다른 언어들을 사용하고, 자바와 융합되는 환경이 구성되어지고 있는데, 이것은 시스템의 복잡성과 어플리케이션 실행에 있어서 시간적은 지연을 일으키게 된다. 이러한 문제점을 보완 시키고자 나온 것이 GraalVM인 것이다. GraalVM(그랄브이엠)으로 읽는다. G랄브이엠인줄; GraalVM, New Technology in Java 자바 쪽의 jvm 새로운 기술로, 낮은 메모리와 높은 처리량을 가지고 있기 때문에 기존 jvm보다 50% 빠르고, 기존 jvm 에서 GraalVM으로 변경만 해도 성능향상이 1..

기타 2023.02.03

[개발일기] 배열, 객체 복제하기

배열이나 객체를 복제할 수 있다. 먼저 배열로 예를 들어보자면 var arr = [1,2]; var arr2 = Array.from(arr); console.log(arr, arr2, arr === arr2); // 출력 결과물 = [1,2] [1,2] false Array.from()을 통해서 배열을 복제할 수 있고 arr와 arr2는 서로 다른 값이다. 객체 복제의 예로는 var a = {name:mandoo}; var b = Object.assign({},a); console.log(a,b,a===b); //출력결과 = {name:mandoo} {name:mandoo} false b.name = 'dooman'; console.log(a,b,a===b); //출력결과 = {name:mandoo} {..

[react] shouldComponentUpdate

성능을 향상시키기 위해서 컴포넌트의 render 함수가 실행될지 안될지를 개발자가 결정할 수 있도록 하는 특수한 약속의 함수 shouldComponentUpdate 가 있다. shouldComponentUpdate(newProps, newState){ console.log('=====toc render shouldComponentUpdate' ,newProps.data, this.props.data); return false; } 이 코드는 해당 컴포넌트의 render함수 전에 작성한다. newProps.data 로는 바뀐값을 알 수 있고, this.props.data 를 통해서 현재 값을 알 수 있다는 것이다. shouldComponentUpdate 함수의 결과값이 true 면 render함수가 호출되..

FrontEnd/react 2023.02.02
반응형