본문 바로가기

전체 글

(1315)
Java File다루기 ./의 파일 목록 출력 @Test void fileList(){ File dir = new File("./"); File files[] = dir.listFiles(); for (File file : files) { System.out.println(file); } } 결과 ./gradle ./gradlew ./build.gradle ./.gradle ./build ./gradlew.bat ./settings.gradle ./.idea ./src 파일 생성하기 ./ 의 파일 목록을 보았으니 ./에 numbers.txt 파일을 생성 해보겠습니다. @Test void createANewFile() throws IOException { File file = new File("./numbers.txt"); Sy..
Spring Jdbc로 mysql datetime 타입의 데이터 넣기 결론부터 이야기 하자면 Jdbc로 MySql의 Datetime타입에 값을 넣을 때 LocalDateTime을 이용하고 db에 insert할 때는 Timestamp로 바꿔서 합니다. 위 table의 created_at이 MySql datetime 타입 입니다. public class CarModel { private int id; private String name; private int level; private LocalDateTime createdAt; } Model은 LocalDateTime으로 했습니다. public void add(CarModel carModel) throws SQLException { this.jdbcContext.workWithStatementStrategy(new State..
Java Enum 쓰는 법 Enum은 enumeration 에서 앞에 4글자 입니다. 보통 열거형이라고 번역 되어 있습니다. 어플리케이션이 복잡해지다 보면 에러가 날 가능성도 올라가는데 넣을 수 있는 값들을 Enum에 미리 지정 해놓고 그 값 말고 다른 값들을 넣지 못하게 하여 에러를 방지하는 목적으로 사용 합니다. 예를들면 계절은 4계절 뿐이고 요일도 월~일이렇게 7일뿐입니다. 그래서 이 밖에 값들을 입력 할 수 없게 미리 정해 놓는 것입니다. public enum Season { 봄(1), 여름(2), 가을(3), 겨울(4); private final int value; Season(int value) { this.value = value; } } 보통은 위와 같이 사용 합니다. public enum Season1 { 봄, 여..
토비의스프링3 JdbcTemplate의 queryForObject 토비의 스프링3를 따라하면서 Spring버젼이 올라가면서 바뀐부분이 있어서 정리해서 올려놓습니다. 3장 Template queryForInt --> queryForObject 토비의스프링3를 따라하다가 JdbcContext를 JdbcTemplate으로 바꿔주는 구간에서 책이 오래 되었기 때문에 스프링을 최신버젼(저는 5버젼)을 쓰면 따라하기 힘든 구간이 나옵니다. public int getCount() throws SQLException { StatementStrategy st = new StatementStrategy() { @Override public PreparedStatement makePreparedStatement(Connection c) throws SQLException { Prepare..
동생을 키워 보자 - 제5편 MySql과 GitLab 이슈, insert, Function못짬 이제 입사한지 2주가 되었습니다. 지난 15일에 입사해서 26일까지 딱 2주 출근 했네요. 처음에 시켰던 것은 CRUD를 해보라는 것이었는데 어찌어찌 하긴 했습니다. 이렇게 깃랩에 이슈를 생성해서 체크 하는 방식으로 진행을 한주 해보았습니다. 이런식으로 db설치하는 것부터 진행 했습니다. DB연동과 select 여기에 vue.js까지 나름 열심히 시켰습니다. 본인도 책도 떼고 인터넷 강의도 떼고 했는데 3주정도 된 시점에서 간단한 function을 구현하지 못했습니다. 이 function에 대한 이해를 하는게 또 하나의 산인것 같습니다. 가장 처음 보는 책인 자바책들에는 이 function에 대한 언급만 몇장 있지 어떻게 구현 해야 하는지 연습은 어떻게 하는지 등이 대체로 빠져있는 것 같더라구요. jav..
토비의 스프링3 JdbcContext만들기 Context는 '맥락'이라는 뜻 입니다. 여기에서 context는 JDBC를 이용해 DB를 업데이트 한다는 변하지 않는 맥락이 있습니다. 맥락은 스타벅스에서 커피를 주문 하는 것과 비유를 해보면 1.고객은 스타벅스 직원에게 메뉴들을 주문하고 2.직원은 전체 얼마인지 계산을 해서 고객에게 알려주고 3.고객은 결제를 하고 4.주문한 메뉴들이 만들어 지면 받아가는 맥락입니다. 여기에서 핵심 메소드는 executeSql입니다. executeSql은 Sql문을 받아서 실행을 해주는 역할을 하고 있습니다. public class JdbcContext JdbcContext클래스는 DataSource를 외부에서 받아주는 기능이 있고 executeSql은 workWithStatementStrategy에 Prepared..
고객사에 AWS서버 비용 청구 AWS를 처음 쓰는 고객사의 경우 AWS에 대해 설명을 해주어야 하는데 이것이 굉장히 피곤하다는 것입니다. AWS가 비용이 은근 비쌉니다. 리눅스 용으로 EC2 2core, 2gb인 t3.small이 월 2만원 정도 하고 db는 t3.micro가 월 22000원 정도 합니다. 그러면 리눅스 1대, DB 1대 이렇게 총 2대를 쓰는데 월 4만 2000정도 들어갑니다. 이것은 AWS비용만 계산한 것이고 실제로 서비스를 운영 하려면 띄우기만 해서는 서비스가 안굴러가죠. 여기에 어플리케이션 올리기 위해서 docker올리고 k8s올리고 그리고 CI CD구축까지 하면 이런게 실제로는 더 비쌉니다. 하지만 IT를 안해본 고객사 같은 경우는 이런 인프라 비용에 대해 이해도가 낮기 때문에 눈에 보이지 않는 것이라 비용을..
동생을 키워 보자 - 제4편 Java 공부부터 동생에게 Java를 시킨지 10일 정도 되었습니다. Java를 시키는 이유는 Java, Python, Javascript 이 세가지 언어가 요즘은 가장 많이 쓰이는데요 3가지 언어에 모두 객체지향 개념이 들어가 있고 Java가 객체지향을 공부하는데는 가장 좋다고 판단 했기 때문입니다. 제가 다니는 회사의 고객사들에서도 Java를 많이 쓰기도 하구요. 이전회사 퇴사는 11월 5일부로 했습니다. Java에서 중요한 것들 객체지향이란 무엇인지, static, extends, abstract class, interface 등까지 이해는 100% 되지는 않았겠지만 일단은 용어를 익히고 예제 코드를 따라 해보는 수준으로 시켰습니다. 이번주 안에 자바는 끝내는 것으로 했습니다. 정말 번개불에 콩 구워먹듯이 떠 먹여 ..