JVM이란 무엇인가? 알아보자 자바 프로그램 실행순서는? public class Main { public static void main(String[] args){ } } 클래스를 IntelliJ나 Eclipse로 만들면 생성되는 Main 클래스와 그 안의 mian 메서드를 많이 봤을 것이다. IDE에서 코드를 작성하고 Run 버튼을 누르면 콘솔창에는 결과가 나왔는데 그 안에는 아래와 같은 과정들이 포함돼있다. 소스코드를 자바 컴파일러로 컴파일한다.(.java -> .class) JVM에 컴파일된 바이트 코드를 넣는다 JVM은 바이트코드를 읽어 OS가 실행할 수 있는 네이티브 코드로 변환 및 실행한다. JVM은 컴파일된 바이트코드를 읽어와 OS에 맞는 특화된 코드로 변환 및 실행하는 프로그램이다. 소스코..
슬슬 프로젝트 시작하면서 맨날 강의들을 때 쓰던 H2 DB가 아니라 MySQL 연결하면서 application 설정파일에 db url, username, password 등을 깃허브에 노출시키면 안될 것 같아 구글링해서 적용한 ignore 하고 싶은 application을 깃허브에 올리는 application에 import하는 방법을 정리한다. 방법 1. 민감정보를 담은 application-dev.yml 파일 생성 해당 파일의 on-profile 정보 작성 적용시엔 {} 없이 자신의 DB URL, User Name, Password 작성 spring: config: activate: on-profile: dev datasource: driver-class-name: {DBDriverClass} url:..
대학교도 졸업하기도 하고 최근에 블로그를 하기 시작하면서 22년도 끝나가는데 올해를 회고해보려고 한다. 개발 📋Node.js CRUD 게시판 전공자이긴 하지만 학점을 위한 공부만 하고 수업실습도 웹 통신 안쓰는 쪽으로만 했어서 입문 난이도가 쉽고 구현이 빠른 Express.js로 졸업작품을 준비하기 위해 시작했다. 코딩애플 강의를 들으면서 자바스크립트 언어도 익스프레스 프레임워크도 처음 써봐서 기초가 탄탄하다기 보다는 익스프레스 사용법을 빠르게 익히기 위해 강의를 들으며 진행했었다. MongoDb 연동도 처음해봐서 신기했고 ejs와 ajax 활용한 서버사이드 렌더링 비동기 통신, 비교적으로 배포가 쉬운 구글 클라우드도 경험해봤다. 게시판 후기 이걸 다 끝내고 나서도 그냥 백엔드만 배운 건줄 알았는데 나중..
문제 N*N 배열에 1~100 사이의 높이가 주어지고 비가 안잠긴 영역의(Connected Component)의 개수가 가장 큰 경우의 수를 출력해야한다. 입력 첫째 줄에는 어떤 지역을 나타내는 2차원 배열의 행과 열의 개수를 나타내는 수 N이 입력된다. N은 2 이상 100 이하의 정수이다. 둘째 줄부터 N개의 각 줄에는 2차원 배열의 첫 번째 행부터 N번째 행까지 순서대로 한 행씩 높이 정보가 입력된다. 각 줄에는 각 행의 첫 번째 열부터 N번째 열까지 N개의 높이 정보를 나타내는 자연수가 빈 칸을 사이에 두고 입력된다. 높이는 1이상 100 이하의 정수이다. 출력 첫째 줄에 장마철에 물에 잠기지 않는 안전한 영역의 최대 개수를 출력한다. 예시 풀이 0,0 부터 N-1, N-1까지 돌면서 비 때문에 ..
서론 저번주와 마찬가지로 이전 기수의 우테코 프리코스 주제를 5시간동안 구현해보고 서로 코드리뷰를 하는 방식으로 진행했다. 이번주는 자동차 경주게임이 당첨됐고 구현은 생각보다 쉬워서 책임의 분리와 스트림을 적용하는데 시간이 다갔던 것 같다. PR링크 코드의 링크를 남깁니다. 리뷰는 언제든 환영합니다... 기능 요구사항 정리 일단 입출력을 보고 기능목록을 작성을 어떻게 했나 설명하겠다. 💻 프로그래밍 실행 결과 예시 경주할 자동차 이름을 입력하세요.(이름은 쉼표(,) 기준으로 구분) pobi,woni,jun 시도할 회수는 몇회인가요? 5 실행 결과 pobi : - woni : jun : - pobi : -- woni : - jun : -- pobi : --- woni : -- jun : --- pobi :..
개가 먹고살기 위한 어떤 일도 하지 않는 유일한 동물이라는 것을 생각해 본 일이 있는가? 개는 그저 인간에게 관심을 갖고 진심으로 사랑하는 것 외엔 일을 하지 않는다. 이번 장에선 개와 여러 사람들의 이야기가 나오는데 사람이 다른 사람에게 진심으로 관심을 가지면 관계에 진전을 이룰 수 있다는 내용이었다.
유스케이스란? 시스템에서 제공해야하는 기능이나 서비스를 명세한 다이어그램으로 사용자와 시스템 사이의 상호 작용에 집중해 도식화 시킨다. 내부 기능보다는 외부에서 본 시스템의 기능을 표현해 사용자가 수행하는 기능을 파악하고 싶을 때 작성한다. 일단 바로 작성한 게시판 유스케이스를 보겠다. 유스케이스 작성 draw io에서 diagram.net 으로 바뀐 사이트에서 다양한 다이어그램을 위한 서비스를 제공하고 깃허브와 연동해 커밋까지 날려줘서 이용하게 됐다. 게시판 서비스 외부의 사용자와 DB는 액터고 게시판 서비스 내부의 시스템들의 기능은 유스케이스라고 한다. 액터 프라이머리 액터는 시스템을 사용하는 액터로 대체로 보통 외부 객체가 사람일 때를 말하며 사람모양으로 시스템의 왼쪽에 위치한다. 세컨더리 액터는 ..
모각코 하게 된 이유? 우테코 프리코스 끝나고 아직 자바의 기초와 클린코드가 부족하다고 생각해서 우테코 프리코스 슬랙에서 대전지역 모각코 스터디에 들어감. 일단은 코테 발표를 기다리면서 2주정도 할 것 같은데 그 이후에 일정은 잘모르겠지만 학교를 벗어나 대전에서 개발하는 사람 찾는 건 유니콘 같은 느낌이였는데 처음 만나봐서 신기했음. 배울 것도 매우 많음. 1주차 간단하게 목표 설정, 매주 주말 이틀 나와서 토요일엔 5시간 동안 우테코 전 기수들 문제 랜덤하게 골라서 풀고, 일요일엔 서로 코드리뷰 및 리팩터링하는 시간을 갖기로 함 2주차 첫 날 랜덤하게 문제를 골랐는데 우테코 자판기 미션이 걸렸다. getter 안쓰기에만 용쓰다 너무 코드 짤 때도 답답했고 애플리케이션 거의 다 만들고 나서 기초 로직이 ..