TIL

    [DB] 데이터 삽입과 수정(insert() vs save() vs update())

    DB 메소드 차이 정리 Create, Update API를 구현하다 보면 빈번히 insert()와 update(), save() 함수를 사용하게 된다. 정형화된 템플릿처럼 메소드를 사용해왔는데, 정확히 db에서 어떤식으로 작동하는지에 대해서 알고있지 않았던 것 같아 정리해보기로 했다. insert()와 update()는 명확하다. 하지만 문제는 save() 인데, 이 함수는 삽입에도 수정에도 사용해서 더 헷갈림을 유발했던 것같다. 그래서 삽입 시 insert()와 수정 시 update()를 각각 save()와의 동작방식을 비교해 차이점을 적어보았다. 삽입 시 insert()와 save() insert : id가 동일한 값을 저장하려 한다면 오류 발생 save: id가 동일해도 저장한다(수정한다) 기존에 ..

    [Java] 문자열 비교 ==, equals() 차이점

    [Java] 문자열 비교 ==, equals() 차이점

    예전에 알고리즘을 푸는 도중, String 변수를 무심코 == 연산자를 사용해 비교해 동작하지 않았던 경험이 있다. 물론 equals() 함수를 사용하니 잘 동작했는데, 그동안 이 둘의 차이가 뭔지 정확히 이해하고 있지 않았던 것 같아서 정리하려고 한다. Java에서는 int와 boolean과 같은 일반적인 데이터 타입의 비교는 == 연산자를 사용해서 비교한다. 하지만 String같이 Class의 값을 비교할 때는 == 가 아닌 equals()라는 메소드를 사용하여 비교를 해야한다. 이 둘의 차이는 뭘까? String 변수 생성 시 주소할당 String 변수를 생성할 때는 두가지 방법이 있다. 리터럴을 이용한 방식 new 연산자를 이용한 방식 위 두 가지 방식에는 큰 차이점이 있는데, 리터럴을 사용하게 ..

    [Java] int와 Integer의 차이

    1. int vs Integer int (primitive type, 원시형 타입) int는 변수의 타입(data type, 자료형)이다. 자료형은 ‘data의 type에 따라 값이 저장될 공간의 크기와 저장형식을 정의한 것’ 이다. 자료형은 기본형(primitive type)가 참조형(referece type)으로 나뉨 Integer (wrapper class, 래퍼 클래스) 매개변수로 객체를 필요로 할 때 기본형 값이 아닌 객체로 저장해야할 때 객체 간 비교가 필요할 때 위와 같은 경우, 기본형을 객체 다루기 위해 사용하는 클래스들을 래퍼 클래스라고 함. Integer은 int의 래퍼 클래스 라고 할 수 있음. int vs Integer int : 자료형(primitive type) 산술 연산 가능 ..

    [Git] 원격 저장소 연결 및 끊기 원격브랜치 갱신, 조회, 삭제

    협업을 하다보면 로컬 저장소(local repository)와 구분되게 원격 저장소(remote repository)를 연결해야 할 때가 있다. 현재 연결되어 있는 원격 저장소(remote repository) 확인 $ git remote -v 원격 저장소 연결 $ git remote add 원격 저장소 연결 끊기 $ git remote remove 원격 브랜치 갱신 ( 원격 저장소에 있는 브랜치들을 가져온다.) $ git remote update 원격 브랜치 조회 $ git branch -r 원격 브랜치 삭제 $ git push --delete 삭제된 연격 브래니를 원격 저장소에 반영하기 $ git remote prune

    [Node.js] express를 backend로 하는 Create-react-app

    1. 개발환경 세팅 이번 프로젝트에서 Node.js에서 많이 사용하는 프레임워크인 Express로 백엔드를 구성하고 Create-react-app으로 프론트를 구성해보려고 한다. 이번 포스팅에서는 Express 앱을 만들고 react앱과 서버를 연결해주려고 한다. 프로젝트의 전체 폴더 안에 back와 front폴더를 각각 나눠주고, back 폴더에는 express, front폴더에는 react 앱을 세팅해준다. 2. Express Generate 로 express 앱 만들기 Express-generator는 Express 환경을 간단하게 구축해주는 npm이다. 따라서 사용하면 쉽게 Node.js 개발을 할수 있다는 장점이 있다. express-generator를 설치해서 Express App을 만든다. ..

    [Java] 프로그래머스 : 문자열을 정수로 바꾸기(feat. String to Int)

    https://programmers.co.kr/learn/courses/30/lessons/12925 코딩테스트 연습 - 문자열을 정수로 바꾸기 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니 programmers.co.kr 풀이 1. Integer.parseInt(); String -> Int 로 형변환을 해주면 한줄로 끝낼 수 있다. int answer = Integer.parseInt(s); 2. 알고리즘으로 풀기 먼저 맨 앞에 부호가 오는 경우를 고려해야 한다. '-' , 즉 음수가 오는 경우엔 boolean 변수 sign에 false..

    [JS] 이벤트(Event)와 이벤트 핸들러(Event Handle)

    이벤트(Event)란? 웹 브라우저가 알려주는 HTML 요소에 대한 사건의 발생 자바스크립트는 발생한 이벤트에 반응하여 특정 동작을 수행할 수 있다. 이벤트 타입 발생한 이벤트의 종류 (폼, 키보드, 마우스, HTML DOM, Window 객체 등) // 마우스 클릭 이벤트 예시 여길 클릭하세요! this : 태그에서 나온 DOM 객체의 자기자신을 의미 이벤트 핸들러 이벤트가 발생했을 때 그 처리를 담당하는 함수 지정된 이벤트가 발생하면, 웹 브라우저는 그 요소에 등록된 이벤트 핸들러를 실행 // 이 함수는 HTML 문서가 로드될 때 실행됨. window.onload = function() { // 아이디가 "text"인 요소를 선택함. var text = document.getElementById("t..

    [JS] 노드(Node) 객체와 window 객체

    노드(Node)와 노드 트리 노드(Node) : HTML DOM 에서 정보를 저장하는 계층적 단위 노드 트리 : 노드들의 집합으로 노드 간의 관계를 나타냄 자바스크립트에서는 HTML DOM을 이용하여 노드트리에 포함된 모든 노드에 접근할 수 있다. 노드 간의 관계 노드 트리의 모든 노드들은 서로 계층적 관계를 맺고 있다. 노드의 종류 문서 노드(document node) : HTML 문서 전체를 나타내는 노드 요소 노드(element node) : 모든 HTML 요소는 요소 노드로, 속성 노드를 가질 수 있는 유일한 노드 주석 노드(comment node) : HTML 문서의 모든 주석은 주석 노드 속성 노드(attribute node) : 모든 HTML 요소의 속성은 속성 노드이며, 요소 노드에 관한 ..