목록전체 글 (467)
코딩항해기

Promise Promise - JavaScript | MDNPromise 객체는 비동기 작업이 맞이할 미래의 완료 또는 실패와 그 결과 값을 나타냅니다.developer.mozilla.org 자바스크립트의 비동기 처리를 위한 하나의 패턴으로 콜백 함수를 사용한다. 하지만 전통적인 콜백 패턴은 콜백 헬로 인해 가독성이 좋지않다. 또한 발생한 에러의 처리가 곤란하며, 여러 개의 비동기를 한 번에 처리하는데도 어려움이 있다. 이러한 문제를 개선하기 위해 Promise가 도입됐으며, 단점을 보완하고 비동기처리 시점을 명확하게 표현한다. Promise 생성Promise는 생성자 함수를 통해 사용되며, 비동기 작업을 수행할 콜백 함수 resolve와 reject를 인자로 전달받느다.(resolve 성공 시 수행..

팀 프로젝트 git 관리 방식 최종 프로젝트에서는 git을 사용해 코드를 관리했는데, 크게 공개용(배포용) 브랜치와 개발 브랜치로 분리해 작업을 진행했다.개개인의 작업은 이슈를 생성해 해당 이슈 브랜치에서 작업을 하며, 작업 완료된 코드는 PR과 코드리뷰를 거쳐 개발 브랜치에 모두 모이게 된다. 개발 브랜치에 모인 코드는 검증을 통해 오류를 찾고, 연결 및 수정을 이슈 브랜치에서 진행해 다시 수정을 반영하며 진행된다. 개발이 모두 완료되면 최종 브랜치로 PR과 코드리뷰를 거치고 관리자 승인을 통해 코드가 업로드되면 최종 프로젝트가 완성된다. 해당 방식의 장점은 개발이 별도의 브랜치에서 이뤄지기 때문에 공개되는 브랜치까지 개발 중인 코드가 바로 전달되지 않아 (이미 서비스 제공 중인 프로젝트라면) 서비스 ..

이전 페이지로 이동하는 방법은 history를 사용하는 방법으로 간단하게 구현할 수 있지만 정말 순수하게 이전 페이지를 보여주는 것이기 때문에 데이터에 변동이 있을 경우 해당 내용이 반영되지 않는다. 이 때 Referer를 통해 Refererhtttp 헤더 중에 하나로 Referer 헤더는 사람들이 어디로부터 와서 방문 중인지를 인식할 수 있도록 해주며 해당 데이터는 예를 들어, 분석, 로깅, 혹은 캐싱 최적화에 사용될 수 있다. referer를 참조해 현재 표시하는 웹페이지가 어떤 웹페이지에서 요청되었는지 알 수 있다. Referer - HTTP | MDNReferer 요청 헤더는 현재 요청을 보낸 페이지의 절대 혹은 부분 주소를 포함합니다. 만약 링크를 타고 들어왔다면 해당 링크를 포함하고 있는 ..

붕어빵원정대 - 갈빵질빵 spring 프로젝트 git 주소 GitHub - miniBcake/bungeobbangContribute to miniBcake/bungeobbang development by creating an account on GitHub.github.com 코드 리뷰 및 회의를 git, 카톡 등으로 진행했기 때문에 중프에 비해 노션에는 작성한 내용이 적다.(코드 공유는 git 사용) [임베디드] 붕어빵 원정대 | Notion…flannel-earwig-97f.notion.site v1.0.0 : 프로젝트 최초 완성본 제출 1107 예정(+수정1107 : 1107 코드 main 업로드 완료 (최종본 브랜치))

에러 메세지 기록 : UncategorizedSQLExceptionlog: Member update Exception fail org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [UPDATE BB_MEMBER SET MEMBER_EMAIL = ?, MEMBER_NAME = ?, MEMBER_PHONE = ?, MEMBER_NICKNAME = ?, MEMBER_PROFILE_WAY = ? , MEMBER_ROLE = ? WHERE MEMBER_NUM = ?]; SQL state [HY000]; error code [3819]; Check constrain..

문제 발생 이유Java에서는 Camel case를 DB에서는 Snake case를 사용하기 때문에 컬럼명과 필드명이 불일치할 수 밖에 없고, 이 경우 값을 주입하지 못해 null값이 출력되게 된다. 하지만 Java에서 Snake case를 사용하는 것은 권장되지 않으므로 설정을 통해 해당 차이를 인지 시켜주는 것이 좋다. 해결방법mybatis설정파일(xml)설정 값을 추가해 Camel case로 변경되는 것을 인지시켜줄 수 있다. 별칭(AS) 설정alias를 통해 별칭으로 필드명을 지정해 주입시킬 수도 있다.예를 들어 컬럼명이 TEST_NUM이고, DTO의 필드명이 testNum이라면, 별칭을 통해 일치시키는 방식이다.SELECT TEST_NUM AS testNum FROM TEST; resultMa..

*만약 개발도구(IDE)가 이클립스라면 MyBatis 플러그인이 필요하다. (인텔리제이는 필요없음)*정리한 내용은 spring 방식으로 관련 어노테이션을 사용하는 springboot에서는 mapper인터페이스를 사용한다.마이바티스 MyBatis (IBatis)자바 개발자들이 데이터베이스를 쉽게 다룰 수 있도록 도와주는 오픈 소스 ORM(Object-Relational Mapping) 프레임워크이다.마이바티스는 SQL문과 프로그래밍 언어 코드를 분리해 응집도를 높이고 결합도를 낮춰 유지보수에 용이하다.매핑 Mapping서로 다른 데이터가 서로 오갈 수 있도록 변환하는 것이다.ORM의 경우 객체(DTO,VO)와 테이블(또는 SQL구문, ResultSet(결과) 등)의 데이터가 서로 오갈 수 있도록 변환(매핑..

GET http://localhost:8088/bungeobbang/%22/bungeobbang/uploads/board/2024-11-03+a508587d-3f50-4227-ae8b-485f33c31f57/2024-11-03+5ed616c0-a585-4d7f-916f-02c3af982a9f.png%22404 (Not Found) 404 에러가 발생했다. 원인은 "" 때문에 제대로 url을 인지하지 못하기 때문이었다. %22 (== " 를 의미한다.)즉 현재 url이 http://localhost:8088/bungeobbang/"/bungeobbang/uploads/board/2024-11-03+a508587d-3f50-4227-ae8b-485f33c31f57/2024-11-03+5ed616c0-a585..

ajax를 할 때 EL식을 작성해 오류가 발생한 경우가 빈번하게 발생해 관련 내용을 확실하게 정리해 놓기 위해 기록한다. 요약 JSTL과 EL은 서버에서 먼저 처리되어 순수 HTML로 변환된다.이후 HTML, CSS, JS는 브라우저에서 순차적으로 처리된다.(JS는 실행 시점을 async/defer로 제어 가능) 실행은 서버 사이드 -> 클라이언트 사이드 순으로 실행된다. 서버 사이드백단 작업을 의미하며 서버(제공자)측에서 즉시 처리하는 것으로 서버 사이드는 클라이언트로 보낼 웹페이지를 만들며 중요한 작업을 수행한다. JSTL, EL이 여기에 속한다. JSTL (JavaServer Pages Standard Tag Library) JSP 페이지가 서블릿으로 변환될 때 실행되어 , 등의 태그 처리한다. ..

팀 프로젝트를 진행하며 view 관련 에러 중 반복되는 에러를 기록해 대응 시간을 줄이고자 정리했다. Uncaught ReferenceError: $ is not defined / $ is not a functionJquery CDN이 누락되어 Jquery 명령어를 인식할 수 없다는 에러문구이다. Jquery CDN을 추가하면 해결된다. Uncaught ReferenceError: Swal is not defined스위트 알랏을 사용하는데 스위트 알랏에 대한 CDN이 누락되어 해당 명령어를 찾을 수 없다는 문구이다. Uncaught TypeError : Cannot read properties of null (reading 'value')null에서 속성 값을 불러오지 못한다는 것으로 해당 태그를 ..