기록 21

[Java] try catch 문

예외를 처리하려면 try-catch문을 사용해야 한다. try { // 예외가 발생할 가능성이 있는 문장들을 넣는다. } catch (Exception1 e1) { // Exception1 이 발생했을 경우, 이를 처리하기 위한 문장을 적는다. } catch (Exception2 e2) { // Exception2 가 발생했을 경우, 이를 처리하기 위한 문장을 적는다. ... } catch (ExceptionN eN) { // ExceptionN 이 발생했을 경우, 이를 처리하기 위한 문장을 적는다. } try 블럭 내에서 예외가 발생한 경우 1. 발생한 예외와 일치하는 catch 블럭이 있는지 확인한다. 2. 일치하는 catch 블럭을 찾게 되면 그 catch 블럭 내의 문장들을 수행하고 전체 try-..

백엔드/Java 2022.09.28

[Java] 예외 처리와 예외 클래스의 계층 구조

컴파일러가 하는 일 1. 구문체크 2. 번역 3. 최적화 컴파일 에러 : 컴파일 할 때 발생하는 에러 런타임에러 : 실행 중 발생하는 에러 (프로그램 종료) 논리적 에러 : 작성 의도와 다르게 동작 (프로그램 종료 X ) Java의 런타임 에러 - 에러 : 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 - 예외 : 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류 예외 처리의 정의 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것 목적 : 프로그램의 비정상 종료를 막고 정상적인 실행상태를 유지하는 것 예외 클래스의 계층 구조 - Exception 클래스 : 컴파일 과정중에 발생할 수 있는 예외로 코드 상에 명시적으로 예외 처리 (try-catch, throw)를 해줘..

백엔드/Java 2022.09.28

[GitHub] error:failed to push some refs to 에러 해결 방법

이 에러는 github에 내 로컬에 없는 파일이 있고 그 상황에서 push를 하면 생기는 오류라고 한다 git pull 빠짐없이 했는데 .. 어쨌든 이러한 에러를 해결하기 위해서는 딱 두줄만 입력하면 된다 git pull {원격저장소 이름 } { branch ( main, master ... ) 브런치} // 아마 요즘에는 대부분 main이 아닐까 싶다 ! 이렇게 pull을 해준 후에 push를 해주면 잘 올라가는걸 확인할 수 있다 git push { origin 원격저장소 이름 } { branch ( main, master ... ) 브런치} 근데 나는 이렇게는 뜨는데 올라가있진 않아서 git pull부터 다시했다 또 에러가 뜨면 어쩌지싶었는데 다행히 에러없이 정상적으로 올라갔다 !

Github 2022.09.27

[GitHub] error: Pulling is not possible because you have unmerged files 해결 방법

평소처럼 git pull 을 했는데 에러가 발생했다 error: Pulling is not possible because you have unmerged files 와 함께 main 옆에 | MERGING가 생겼다... 병합되지 않은 파일이 있다니 갑자기 무슨 ㅜㅜ stackoverflow를 찾아본 결과 , 여러가지의 답변이 있었으나 그중 하나인 해결방법을 적용해보았다. 변경 사항을 병합하지 않고 로컬을 업데이트하려면 다음 코드를 입력하라길래 입력해봤는데 귀신같이 해결됐다.. git reset --hard HEAD HEAD를 사용하여 로컬을 재설정한 다음 git pull을 사용하여 원격을 당기는 코드라고 한다. 만약 이미 병합을 로컬로 커밋했지만 되돌리고싶은 경우에는 다음 코드를 입력하면 된다고 한다. ..

Github 2022.09.27

[Java] 상속과 오버라이딩 , 오버로딩 (자바의 정석 참고)

상속(inheritance)이란 ? - 상속은 캡슐화, 추상화와 더불어 객체 지향 프로그래밍을 구성하는 중요한 특징 중 하나로 상위 클래스 (부모 클래스)의 맴버변수와 메서드를 하위클래스 ( 자식 클래스) 가 물려받는 기술을 의미한다. 자바에서 상속을 구현할 때는 extends 예약어를 사용한다. 포함관계 : 포함관계는 상속과 같은 방식으로 관계를 맺는 게 아닌 클래스 내에서 다른 클래스의 인스턴스를 생성하면 포함 관계라고 볼 수 있다. 쉽게 말해 한 클래스의 맴버로 참조변수를 선언하는 것 class Circle { int x; int y; int r; } class Circle { Point c = new Point(); int r; } circle이 Point를 포함하고 있다. 상속관계 : '~은 ~..

백엔드/Java 2022.09.27

[Java] 객체지향언어의 특징

객체지향프로그래밍(Object Oriented Programing) 이란 ? 컴퓨터 프로그래밍의 한가지 기법으로 객체를 생성하고 사용하는 프로그래밍 방법이다. 프로그램을 그저 데이터와 처리방법으로 나누는게 아닌 다수의 객체를 만들고 이들의 상호작용을 통해 만들어지는 방식이다. 명령어들로 이루어진 목록이 아니라 역할이 나뉘어져 있는 독립된 객체들의 그룹으로 생각하면 편하다. 객체 지향 프로그래밍(OOP)의 특징 캡슐화 캡슐화는 일반적으로 변수와 함수를 클래스로 묶는 작업을 말한다. private으로 정의하며 정보은닉이 가능하다는 장점이 있다. 상속 자식 클래스에서 부모 클래스로부터 부모의 모든 자원을 물려받는 것을 의미한다. 지정예약어인 extends에 의해서 정해진다. 하나의 부모 클래스가 여러 자식 클..

백엔드/Java 2022.09.27

Nodejs 로 랜덤 강아지 사진 출력하기 실습

nodejs : backend에서 서버에 대한 개발을 하는 도구 nodejs는 chrome의 자바스크립트 엔진 v8을 사용한다. 오늘은 nodejs로 랜덤으로 강아지 사진이 출력되는 예제를 만들어볼것이다. npm init Nodejs 프로젝트를 실행할때 package.json을 생성 해준다. npm init -y npm init만 입력하면 기본 양식을 직접 정해줘야하는데 -y라는 속성을 사용하면 default값으로 설정된 packge.json을 만들겠다라는 의미다. npm init보다 조금 더 편하고 한번에 packge.json을 만드는거라고 생각하면 된다. 이 예제를 위해서는 express, ejs, request 템플릿이 필요하기때문에 설치해주겠다. npm install express ejs requ..

[javascript] 회원가입 유효성 , form 입력값 확인 구현 + 코드 리뷰 피드백

회사에서 이틀동안 html,css , javascript 교육을 받은 후, 회원가입 폼을 구현하는 실습시간을 가졌다. 오후에는 코드 리뷰 시간을 가졌는데 리뷰를 할줄 알았으면 조금 더 성의있게 열심히 했을텐데 ... 조금은 아쉬웠다 다음부터는 작은거라도 꼼꼼히 코드 작성하기 ...!! 코드 리뷰를 한다길래 처음에는 떨렸지만 막상 해보니까 재미있고 더 열심히 공부해서 다른 사람들의 코드를 다 이해하고 싶어졌다 ...!!! 화이팅 /* 1. 정규식을 이용해서 이메일 유효성 검사 기능구현하기 */ document.getElementById('email').addEventListener('blur', function(event) { const value = this.value, elParent = this.pa..

[javascript] blur와 focus

focus 이벤트는 요소가 포커스를 받을때 blur 이벤트는 포커스를 잃을 때 발생한다. javascript.info에 설명이 잘 되어있어서 참고해서 적었다 input.onblur = function(){ if(!input.value.includes('@')) { input.classList.add('invalid'); error.innerHTML = "올바른 이메일 주소를 입력하세요." } }; input.onfocus = function() { if (this.classList.contains('invalid')) { // 사용자가 새로운 값을 입력하려고 하므로 에러 메시지를 지움 this.classList.remove('invalid'); error.innerHTML = ""; } }; blur 핸..

인턴 교육 시작 + <fieldset> , <table> 태그 정리

오늘부터 본격적인 교육이 시작된다 틈틈히 기록해야지 ! 요소 : 웹 양식의 여러 컨트롤과 레이블()을 묶을 때 사용함. 요소로 그룹의 설명을 제공할 수 있음 *특성 disabled : 지정한 경우, 모든 자손 컨트롤 비활성화되므로 편집 불가능 단, 안의 양식 요소는 비활성 상태로 전환되지 않음 form : 요소와 연결할 요소의 id name : 그룹과 연관지을 이름 Disabled fieldst Name: 비활성화 된 을 볼 수 있따 순서가 있는 목록을 만들때는 ol 의미없는 목록을 만들때는 ul 항목은 li 태그 : 테이블을 만드는 태그 : 테이블의 헤더부분을 만드는 태그 테이블의 행을 만드는 태그 테이블의 열을 만드는 태그 * 와 의 개수는 동일한 것이 좋고 값을 비워야한다면 로 열을 생성 후 , 값..