일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 코테
- 항해플러스ai
- DP
- 백준
- SWEA
- 알고리즘기본개념
- 항해플러스ai후기
- 알고리즘
- 항해솔직후기
- JPA
- 다익스트라
- 싸피
- 다시보기
- SSAFY
- 자바
- database
- 트러블슈팅
- JUnit
- Union Find
- DFS
- 코딩테스트
- BFS
- 완전탐색
- 유니온파인드
- Spring
- 그리디
- Java
- 코드트리
- 코딩테스트실력진단
- 그래프
- Today
- Total
목록workspace/backend (122)
HwangHub

구현 내용 요약 직원 정보를 전체 조회(보고서 출력), 조건 검색, 조건 삭제, 직원 추가, 조건 수정을 수행할 수 있는 프로그램 기본 요구사항을 넘어, “조건 수정” 기능을 추가 구현 자바 GUI 프로그램 제작을 위한 Java Swing 라이브러리를 활용하여 standalone 프로그램으로 구현 DB connector 는 Jdbc 라이브러리를 활용하여 MySQL 로컬 데이터베이스와 연결함 소스코드는 깃허브 레포지토리에서 확인할 수 있다. 개발 환경 Programming Language : Java 17 (openjdk-17) IDE : intelliJ Ultimate mainly-used library : java swing (GUI), jdbc (database connector) Database :..
질문받았던 에러를 기록한다. JPA를 활용하여 개발을 하다가 제목과 같은 SQL Error가 발생하였고, 문제의 SQL은 다음과 같다. SQL statement: insert into like (artist,date_time,item_id,item_name,raffle_state,user_id,venue,like_id) values (?,?,?,?,?,?,?,default) 이것과 유사한 에러를 나도 처음 마주했던 때를 생각하면, 도대체 SQL을 자동으로 완성해주는 data JPA를 사용했는데도 SQL Error가 뜬다는 것이 이해가 되지 않았었다. 사실 위 SQL문을 블로그에서 보면 문제가 뭔지 바로 보이긴 한다. 문제는 자바 코드를 기반으로 생성된 SQL 문에서 like 와 같은 SQL상에서 사용하는..
돌아가는 코드 짜기 아래 코드는 돌아가는 코드다. jdbc.connectJDBC(); Statement stmt = conn.createStatement(); for (String ssn : ssnList) { sb = new StringBuilder(); String sql = sb.append(baseDeleteClause).append("ssn = ").append(ssn).append(";").toString(); stmt.execute(sql); } jdbc.disconnectJDBC(); 그렇다. 원하는 현상을 구현하기 위해 개발을 하다 보면 가장 먼저 해야 할 일이 " 1. 돌아가는 코드 짜기 " 이다. 하지만 돌아가는 코드를 짜기만 하면 우리의 일은 끝인가? 아니다. 두 번째로 해야 할 일..
jdbc 프로젝트를 진행하다가 위와 같은 이슈를 마주했다. 문제 원인을 알아보니 문제의 코드는 아래 부분이였다. Statement stmt = conn.createStatement(); for (String ssn : ssnList) { sb = new StringBuilder(); String sql = sb.append(baseDeleteClause).append("ssn = ").append(ssn).append(";").toString(); stmt.executeQuery(sql); } 위 코드 중 .executeQuery()메서드가 문제다. 한번 이번 기회에 살짝 알아보자. 알아야 할 것 jdbc에서 지원하는 실행 메서드는 execute() , executeQuery() , executeUpda..

jdbc를 이용하기 위한 database vendor의 connector(ex. mysql connector J)가 의존성으로 연결되지 않아서 그렇다. intelliJ 기준으로 project setting에서 jar 모듈 의존성을 추가해주면 해결된다.

항상 코드를 조금만 수정해도 반복해줘야 하는 배포 작업이 번거롭고 부담스러운 작업이라 느꼈다. 또한 여러 스크립트를 입력해야 하므로 보통 복붙을 하게 되는데, 만약 손으로 타이핑할 필요가 있을 때마다 오타 등의 휴먼 에러가 종종 발생하기도 했다. 따라서 이를 최소화하기 위해 배포 자동화에 관심을 갖게 되었고, 깃허브를 소스코드 보관 플랫폼으로 이용하고 있는 김에 젠킨스나 다른 툴 보다도 접근성도 좋고 무료인 깃허브 액션으로 먼저 해당 기술을 익혀보고자 했다. 다음 내용은 송곳매 프로젝트 진행 중에 발생한 이슈를 해결한 내용입니다. 배포 자동화 스크립트 전문을 우선 첨부한 뒤에, 차근차근 작성했던 것들을 설명해보고자 한다. 배포 자동화 스크립트 전문은 다음과 같다. name: stage-server-dep..

ec2와 rds를 이용하여 배포를 진행하던 중, 아래와 같은 에러가 발생했고 이를 해결한다고 하루를 낑낑댔다. 분명 저번에는 비슷하게 했을 때 이런 에러가 없었던 것 같은데, 왜 이번에는 이런게 발생했을까 원망도 하고... 데이터베이스 이름이 틀린 것도 아닌데 unknown database라고 해버리니까 몹시 당황스러웠다. 원인 알아보니, RDS에서 보통은 database schema를 기본적으로 생성해주는 것 같다. 지금까지 이런 에러가 없었던 거 보면. 근데 당연히 이런 과정에서 에러가 발생할 수 있고, 자동으로 처리되지 않은 데이터베이스 생성을 수동으로 SQL을 입력해주어 처리하면 된다. 데이터베이스 스키마를 "생성"하는 SQL은 아래와 같다. MySQL 공식문서에 따르면 database 대신 sc..
다음 내용은 송곳매 프로젝트 진행 중에 발생한 이슈를 해결한 내용입니다. ubuntu 환경의 ec2에 docker를 이용하여 배포를 하려고 docker를 나름대로 설치하고 docker ps를 수행했는데 다음과 같은 에러가 발생하였다. $ docker ps Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 알아보니 systemctl status docker 를 통해 체크해보면 대부분 아래와 같이 docker가 ec2 컴퓨터 내에서 실행되고 있지 않아서 그렇다고 한다. $ systemctl status docker docker.service - Docker Application Con..

채팅을 구현할 때나 push 알림을 구현해야 할 때 자연스럽게 소켓 방식을 사용한다고 이해하고 있었는데, 여기서 소켓이라는 개념이 정확히 어떤 느낌인지 네트워크 전공수업을 들을 때에도 명확하게 이해하기가 어려웠다. 생각이 난 김에 공부하고, 이를 내 언어로 정리해 보았다. 웹 소켓은 오늘날 웹 환경에서 두 컴퓨터 간 통신을 하는 방식 중 양방향 통신을 구현할 수 있는 표준 기술이다. 그간 통신 방식을 훑어보면서 웹 소켓 방식에 대해 이해해보자. 단순 터미널 텍스트 통신 가장 원시적인 방법이자 통신의 시작 IP와 포트를 지정하여 특정 컴퓨터 간 터미널에서 텍스트를 주고받았던 방식 윈도우 기준 아래처럼 파워쉘에서 그냥 상대 ip 주소와 포트 번호를 지정하여 udp 또는 tcp로 텍스트를 통신하는 개념이라고 ..

나는 멋쟁이사자처럼 커뮤니티 개발 프로젝트에서 백엔드 리드를 맡아, 서버 리드와 함께 어플리케이션 설계에 대하여 같이 고민하였다. 우리는 이 프로젝트를 ver1.0으로 끝낼 생각이 없었고, 향후 계속 유지보수를 해야 하는 프로젝트로 계획하고 있었기에 유지보수성을 어떻게 가져갈지 고민하지 않을 수 없었다. 우리는 기획팀의 화면정의서를 바탕으로 요구사항을 정리하였고, 기본적으로 백오피스, 채팅, 그리고 클라이언트를 위한 API 서버를 구현해야 함을 이해했다. 이를 구현함에 있어서 각각의 서비스는 반드시 같은 버전으로 업데이트 될 필요가 없다. 다시 말해서, 백오피스 버전을 업그레이드 했다고 해서 클라이언트를 위한 API 코드들까지 전부 리빌드할 필요가 없다는 의미이다. 이처럼 빌드 종속성을 최대한 느슨하게 ..