본문 바로가기

Study for Backend

(91)
[취직준비] 백엔드 전략 취직하기 앞서 전략적으로 짚고 넘어가야 할 부분 1. 적극적인 태도를 들어내면서 문제를 해결 할 수 있는지 -> 코테에서 짠 코드에 대해 잘 설명할 수 있어야 함. 백엔드는 코테가 가장 중요함!!! 2. 꾸준히 노력해서 어떠한 결과를 낼 수 있는가 -> 증빙자료로 링크나 포트폴리오로 작성( 하지만 포트폴리오가 전부가 아님 ), 이 또한 잘 설명할 수 있어야 함 3. 최소 5년 이상은 다닐 수 있는 사람인가 -> 면접시 성실하고 진실성 있는 언행이 필요. 조직 상 혼자 일하는 것이 아니기에 협력적인 인재인지 봄. 4. 직무에 대한 열정과 관련 스토리 -> 왜 이 직무에 지원하였는지 간단 명료하게 답변 필요. 묻는 것에만 대답하면 됨 5. 가독성있는 이력서 및 자소서 -> 기본에 충실하면서 최소한의 필요한 ..
[정보처리기사] 1과목 소프트웨어 구축 - 소프트웨어 공학 개념 [ 1 ] 소프트웨어 공학 1. 소프트웨어 공학 (Software Engineering) 소프트웨어의 개발, 운용, 유지보수 등의 생명 주기 전반을 체계적이고 서술적이며 정량적으로 다루는 학문이다. 2. 소프트웨어 공학의 3R ⑴ 역공학(Reverse Engineering) - 기존 개발된 시스템을 CASE(Computer Adied Software Engineering) 도구를 이용하여 요구 분석서, 설계서 등의 문서로 추출 - 개발 단계를 역으로 올라가 기존 개발된 시스템의 코드나 데이터로부터 설계 명세서나 요구 분석서 등을 도출 ⑵ 재공학(Re-Engineering) - 소프트웨어의 위기를 해결하기 위해 개발의 생산성이 아닌 유지보수의 생산성으로 해결하려는 방법 - 기존 소프트웨어를 폐기하지 않고 ..
[Java기초] 스트림 스트림(Stream) 배열이나 컬렉션 등 데이터를 하나씩 참조하여 처리 가능한 기능 for문 사용을 줄여 가독성을 높임 구성 : 데이터소스객체.Stream생성().중개연산().최종연산(); 데이터 처리 연산 스트림은 함수형 프로그래밍 언어에서 일반적으로 지원하는 연산과 데이터베이스와 비슷한 연산을 지원한다. 예를 들어 filter, map, reduce, find, match, sort 등으로 데이터를 조작할 수 있다. 스트림 연산은 데이터를 순차적으로 또는 병렬로 실행할 수 있다. 소스 스트림은 컬렉션, 배열, I/O 자원 등의 데이터 제공 소스로부터 데이터를 소비한다. 정렬된 컬렌션으로 스트림을 생성하면 정렬이 그대로 유지된다. 즉, 리스트로 스트림을 만들면 스트림의 요소는 리스트의 요소와 같은 순서..
[Java기초] 람다 표현식 익명함수로서 메소드 대신 하나의 식으로 표현하는 것 장점 - 일반적으로 코드가 간결해지고 코드 가독성이 높아 생산성 또한 높아짐 단점 - 재사용이 불가능하며 디버깅이 어렵고 재귀함수로는 맞지 않음 link https://ssdragon.tistory.com/14 람다식이란? 람다식(Lambda Expressions) 메서드를 하나의 식(expression)으로 표현한 것! 이름이 없는 메서드! 메서드를 람다식으로 표현하면 메서드 이름과 반환값이 없어지므로 익명 함수(anonymous function)라고도 부 ssdragon.tistory.com https://kihwan95.tistory.com/20 자바 람다식이란(Lambda expression) JDK1.8부터 추가된 람다식(Lambda expre..
[Java기초] 예외 처리 Exception이란 정상적이지 않은 Case이며 그것을 적절하게 처리하는 방법을 Exception Handling(예외 처리)이라고 한다. 정상적이지 않은 Case의 example - 0으로 나누기 - 배열의 인덱스 초과 - 없는 파일 열기 etc. finally 예외 발생 여부와 관계없이 항상 실행되는부분 throw 예외를 발생 시킴 throws 예외를 전가 시킴 link https://brunch.co.kr/@kd4/5 자바의 예외처리 checked exception과 unchecked exception | checked exception과 unchecked exception에 대해서 설명해주세요. checked exception과 unchecked exception에 대하여 설명을 하기에 앞서, ..
[Java기초] 컬렉션 프레임워크 Collection Framework란 여러 데이터를 편리하게 관리할 수 있게 만들어 놓은 것. 다시 말하면 다수의 요소를 하나의 그룹으로 묶어 효율적으로 저장하고, 관리할 수 있는 기능을 제공하는 일종의 컨테이너이다. - 자료 구조 및 알고리즘을 구조화 대표적으로 List 인터페이스 , Set 인터페이스 , Map 인터페이스가 있음 1. List 인터페이스 - 순서가 있는 데이터의 집합 - 데이터 중복 허용 - ArrayList, LinkedList, Vector 2. Set 인터페이스 - 순서가 없느 데이터의 집합 - 데이터의 중복 허용 불가 - HashSet, TreeSet 3. Map 인터페이스 - 키와 값의 쌍으로 이루어진 데이터 집합 - 순서를 유지하지 않음 - HashMap, TreeMap ..
[Java기초] next()와 nextLine()의 차이점 next()는 개행문자(Enter)를 무시하고 입력을 받고 nextLine은 한줄 단위로 입력을 받기 때문에 개행문자(Enter)도 포함한다. 좀 더 직관적으로 설명하자면 1234를 입력하고 Enter를 쳤다면 버퍼에 1234\n이 존재한다. 이 때 nextInt()가 버퍼의 내용을 가져올 때 분리자를 제외하고 가져오기 때문에 1234만 가져오게 된다. 그러면 버퍼에 \n이 남아있게 되는데 nextLine()은 공백과 개행문자(Enter)인 분리자를 포함시키기 때문에 \n만 가져오고 프로그램이 종료된다. 따라서 공백이 있는 한줄을 리턴받고 싶으면 nextLine() 메소드를 사용하고, 한 단어만 리턴받고 싶으면 next() 메소드를 사용하면 된다. 관련 메소드 참고 link https://summer-l..
[Java기초] 입출력 입출력 프로그래밍을 하면서 변수의 담긴 값이나 문자열을 확인하거나, 데이터를 입력받아 코드를 수행하도록 할 수 있다. 입력 메서드와 출력 메서드를 활용하여 콘솔 창에 입력 및 출력을 할 수 있다. 출력 값이나 문자열을 확인하기 위해 메서드를 활용하여 출력한다. 콘솔에 값을 출력하기 위해서는 System.out.print(), System.out.println(), System.out.printf() 메서드를 활용할 수 있다. System.out.print() 소괄호 안의 내용을 단순 출력하는 것으로 줄 바꿈을 하지 않는다. System.out.print("Hello"); System.out.print(" "); System.out.print("Java"); System.out.print("!!"); //..
[Java기초] 내부 클래스 내부 클래스 - 클래스나 인터페이스 내에서 선언된 클래스로서 내부클래스에서 외부클래스 멤버에 접근 가능 - 외부에서는 내부 클래스에 접근 불가하다. - 외부에 불필요한 클래스를 감추어서 코드의 복잡성을 줄일 수 있다. (캡슐화) 1. 멤버 이너 클래스 (member inner class) 클래스 내부에서 멤버 변수처럼 선언된 이너 클래스다. 인스턴스 멤버 클래스와 정적 멤버 클래스가 존재한다. ( 이너 클래스에서 필드나 메서드의 이름이 동일한 아우터 클래스 멤버를 참조하고 싶으면 "아우터 클래스명.this.멤버"처럼 사용할 수 있다. ) 2. 정적 이너 클래스 (static inner class) 정적 메서드와 동일하게 아우터 클래스의 정적 멤버에만 접근할 수 있다. 정적 이너 클래스도 정적 멤버이므로 ..
[Java기초] 인터페이스 인터페이스 다중 상속처럼 사용할 수 있는 기능 추상 메소드와 상수만으로 이루어짐 // Java 프로그래밍 - 인터페이스 // School 인터페이스 interface School { public static final int MAX_CLASS = 20; public static final int MAX_PERSON_PER_CLASS = 40; public abstract void printSchool(); } // Student 클래스 - School 인터페이스 이용 class Student implements School { public void printSchool() { System.out.println("00 University"); } } // Person 클래스 class Person { pu..