전체 글 35

[Java] JOptionPane.showInputDialog() import 에러 뜰 때 해결 방법

Swing 패키지의 JOptionPane.showInputDialog () 를 사용하여 입력을 받아보겠다. import javax.swing.JOptionPane; 상단에 위와 같은 코드를 입력해준다. 만약에 여기서 빨간줄이 뜬다면 패키지를 생성할 때 Create module-info.java file 이라는 부분의 체크를 해제해준다. 나도 에러가 떠서 패키지를 다시 만들었다. package study; import javax.swing.JOptionPane; public class test { public static void main(String args[]) { String id = JOptionPane.showInputDialog("아이디를 입력해주세요"); System.out.println(id..

백엔드/Java 2022.09.28

[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..

html <label>, <small> 태그 정리

백엔드 인턴으로 입사하였지만 현재는 프론트엔드 교육을 받기때문에 html, css, javascript를 하고있다 오늘은 , 태그를 정리할것이다 뜬금없이 둘을 정리하는 이유는 ,, html코드를 보는데 이 두개의 태그만 낯설어서 하게 되었다 폼의 양식에 이름을 붙이는 태그 for 속성을 사용하여 다른 요소와 결합할 수 있으며 이때 요소의 for 속성값은 결합하고자하는 요소의 id 속성값과 같아야지 연결이 가능하다. label은 브라우저에 의해 일반적인 텍스트로 랜더링되지만 클릭하면 연결된 양식에 입력할 수 있도록 하거나, 체크를 하거나 해제까지 한다. 아이디 text가 아닌 아이디를 클릭했는데 text창이 강조되는걸 볼 수 있다 덧붙이는 글이나, 저작권과 법률 표기 등의 작은 텍스트를 나타내는 태그 아이..