| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 29 |
| 30 | 31 |
- Java
- spring
- 실기
- 프로젝트
- param
- MVC
- forward
- 2021년
- forTokens
- c:out
- 웹개발자
- set
- 그레이들
- 스프링
- List
- jsp
- el표기법
- sql
- Oracle
- 정보처리기사
- servlet
- sendRedirect
- 개발자
- 리액트
- IT
- 1회
- 프레임워크
- JSTL
- DB
- map
- Today
- Total
목록전체 글 (45)
룽쓰의 개발도구
프로젝트를 진행하면서 내가 맡은 페이지를 제대로 정리한 적이 없는 것 같아 여기에 정리해보려고 한다. 우리 팀은 프로젝트를 진행하기 전에 가장 처음 정했던 것이 기술을 맡아서 업무분담을 할지 페이지로 나눠서 분담할지 결정했다. 우리 조는 후자를 선택했고 내가 맡은 페이지는 상품 리스트가 출력되는 부분이었다. 화면이 크기 때문에 브라우저 창을 축소해서 캡처했다. 내가 구현할 때 신경 썼던 요소 중 가장 큰 점은 각 상품에 맞는 해당 컬러가 배열로 나오게 되는 것이었다. 이클립스 + JSP를 사용했을 때는 객체를 들고 오고 다시 그것 중에서 해당 상품에 맞는 id값으로 color 배열을 재 조회할 수 있었겠지만 react는 비동기 특성상 그렇게 되지 않았다. 그럼 나는 어떻게 구현했을까? 처음 DB에서 들고..
하루하루 프로젝트를 진행하고 있어서 바쁜 일상을 보내고 있다. 블로그에 글을 쓸 시간조차 없는 것은 아니지만 휴식해야겠다는 핑계로 미뤄온 글을 하나 써보려고 한다. 프로젝트를 진행하면서 '이게 맞나?'라는 질문을 스스로에게 수도 없이 던지면서 코딩을 하고 있다. 당연히 쉬운 길이 있고 어려운 길이 있는 것 중 정답은 어려운 길이다. 왜 어렵다고 생각할까? 내가 모르기 때문이다. 프로젝트를 하면서 단순히 툴의 문제가 아닌 것을 깨달았고 intellij, gradle, react... cos 쇼핑몰을 클론 코딩하고 있는 상황에서 airbnb를 두고 경로를 바꾼 것에 대해 후회를 하지 않으려고 노력한다. 물론, airbnb를 했다면 백엔드를 더 많이 할 수 있는 기회가 있었을까? 프로젝트를 진행하면서 가장 어..
행을 열로 열을 행으로 바꾸는 pivot 개념이 오늘의 주제. 이전 프로젝트 관련 글을 쓰면서 막혔던 부분이 있었다. 정확히는 막혔다고 하기에는 애매하고 불필요하게 긴 쿼리문이 문제였다. 분명히 비슷한 역할을 하는 짧은 간략한 쿼리문이 있을 텐데... 오늘은 간략한 쿼리문을 한 번 알아보려고 한다. [ substr()을 이용한 지난 시간 쿼리문 ] select * from (select ROW_NUMBER() OVER(ORDER BY p.product_seq) RNUM, p.* ,c.product_color, c.product_size as product_size2 from product p, (select product_seq, substr(xmlagg(xmlelement(col,',',product_..
우리가 흔히 사용하는 코드가 있다. select * from board 개발을 해봤더라면 누구나 한 번쯤 사용해봤을 법한 순수한 SQL문이다. 하지만 이것을 사용하게 될 때 어떤 동작을 하고 어떤 상황에 놓이는지 자세히 생각해본 적이 없다. 오늘은 위 SQL문이 실행될 때 어떤 조건으로 진행되고 특이사항은 어떤 것이 있는지 알아보자 먼저, 어떤 SQL문을 사용하던지 간에 비용이 들기 마련이다. 여기서 비용이란? 1) 물리적인 메모리 비용 2) 시간적인 비용 우리가 중요하게 여겨야 할 부분이다. 아무리 좋은 성능을 가진 프로그램이더라도 사용자가 사용하기 위해서 들어왔는데 조회 속도가 무진장 느리면? 한건 조회하는데 10초가 걸린다면 어떻게 할 건가. 예전과 같으면 기다릴 수 있겠지만 현재 컴퓨터와 인터넷 ..
오늘의 주제는 프로젝트를 진행하면서 느낀 점과 해결했던 방법에 대해서 적을 예정이다. 주제는 글의 제목과 같다. # 어떻게 하면 많은 정보를 한 컬럼에 담을 수 있을까? 우리는 크게 DB에서 테이블을 만들 때 상품 테이블과 상품의 옵션 테이블을 만들게 되는데 상품의 옵션은 다대다 상황이 오기 때문에 상품 테이블에 같이 넣는 것이 아닌 따로 테이블을 만들어주게 됐다. 상품 테이블의 기본키를 옵션 테이블의 외래 키로 사용하면서 각 상품별 색상, 사이즈, 재고, 판매수량을 지정해줄 수 있게 됐다. 여기까지는 순탄하게 흘러갔다. 하지만 우리가 제작해야 할 홈페이지의 주제는 쇼핑몰이었고 한 상품에 다양한 색상과 사이즈가 존재하다는 것을 알게 되기까지는 얼마 걸리지 않았다. 특히, 내가 리액트를 잘 만지지 못하는 ..
웹 개발 공부를 하다보면 다양한 방법으로 데이터베이스에 접근할 수 있다. 정보처리기사를 공부할 때도 이론적으로 JDBC, ODBC, Mybatis, JPA등 아직까지 내가 제대로 알지 못한 용어들이 많다는 것을 알게됐다. 오늘은 그 중에 Mybatis가 무엇인지 알아볼 예정이다. Mybatis는 실무에서 현재 가장 많이 사용하는 것으로 최신 기술인 JPA보다 이전에 나왔고 범용적으로 사용되고 있어서 공부를 하게 된다면 Mybatis를 하는건 좋은 선택인 것 같다. 흔히 Mapper를 다루면서 Mybatis를 접하게 되는데 SQL문의 수정을 코드내에서 할 필요가 없이 설정해두는 XML에서 할 수 있어서 Mybatis가 좋은 점이다. 이론적으로 보기에는 무슨말인지 잘 알 수 없으니 코드를 보자 [ User_..
CREATE[UNIQUE] INDEX PRODUCT_INDEX ON PRODUCT(NAME,PRICE); 프로젝트를 진행하면서 사람들이 가장 많이 생각하는 것이면서도 막막하게 생각하는 게 Index였다. 자료 조회 속도에 대해 정확히 얼마나 차이 나는지 모르고 말로만 '인덱스가 좋다더라, 인덱스를 사용하면 조회 속도를 높일 수 있다.'라고 들었기 때문에 막연하게 인덱스를 사용해야겠다는 생각 하지만 인덱스는 어느 정도 데이터가 있어야 효율이 좋아지는지, 인덱스를 사용할 칼럼은 어떤 데이터로 이뤄져야 인덱스 효율이 더 높아지는지는 생각해 본 적이 없는 것 같다. 먼저 Index란 무엇일까? 인덱스는 데이터베이스 테이블에 있는 데이터를 빨리 찾기 위한 용도로 색인 기술인 포인터이다. 테이블에 index를 생성..
React를 공부하면서 가장 처음 막힌 부분이 이부분이다. 스프링부트에서는 객체라는 개념이 있는데 HTML로 이루어진 react에서는 객체라는 개념이 아니다. 물론, 일반 html에서는 객체라는 개념이 전혀 없는 것 같지만 react에서는 let user{username,password...}를 통해 객체처럼 사용할 수 있는 개념이 존재한다. 하지만 엄연히 말하면 객체는 아니다. 리액트는 HTML 스프링은 객체 그럼 스프링부트에서 리액트로 그리고 리액트에서 스프링부트로 데이터를 넘길 때 어떻게 해야하는 것일까? 먼저, 리액트에서 스프링부트로 데이터를 넘길 때 주의해야할 점을 알아보자. [ form을 통한 회원가입 데이터 전송 ] Save 사용자가 데이터를 모두 입력하고 나서 Save버튼을 누르게되면 on..