전체 글97 Sitemesh 설정, 사용방법 웹페이지의 레이아웃을 효율적으로 처리할 수 있게 도와주는 프레임워크이다. 디자인 패턴은 여러개가 있는데 Sitemesh는 Decorator 패턴을 사용한다. 내가아는 레이아웃 프레임워크는 Sitemesh, Tiles가 있다 Tiles (타일즈) 는 Composite View Pattern 을 사용한다. 부모 뷰와 자식 뷰들을 전체와 부분 관계로 나타낸다. 모든 뷰는 자신보다 작은 부분들의 집합이며 여러 뷰에서 생기는 중복 코드를 감소시키는 역할을 한다. 각각의 뷰들 사이의 일관성을 높여 유지보수와 제어를 수월하게 할 수 있도록 한다. Sitemesh는 Decorator Pattern 을 사용한다. 웹서버로부터 웹브라우저로 제공되는 원본 컨텐츠를 파싱하고, 컨텐츠로부터 속성과 데이타를 추출하여 최종 결과물.. 2022. 9. 22. Postgresql With Recursive, UNION ALL 사용한 계층형 쿼리 Postgresql은 WITH RECURSIVE 구문으로 재귀쿼리로 사용가능하며 계층형 쿼리로 만들때 많이 사용한다. with recursive recursive_name [(column1,...)] as ( -- initial query (처음 호출하는 쿼리) SELECT [(column1, ...)] UNION [ALL] -- recursive query (재귀 쿼리) 반복되는 부분 SELECT [(column1, ...)] FROM recursive_name [WHERE] ) -- parent query SELECT * FROM recursive_name 이건 내 개인 프로젝트에서 사용하는 답글 기능을 추가한 댓글 리스트를 보여주는 쿼리다. WITH RECURSIVE cte AS ( SELECT a.. 2022. 9. 22. 제이쿼리 특정 단어로 시작하는 객체 찾아오기 일반 선택자 $(.class) = 클래스 선택자 $(#id) = id 선택자 $(input:[name='name 값']) $("[id^=faq_]").click(function(){ if($(this).children().hasClass('btn_open')){ $(this).next().show(); // next() 선택한 요소의 다음 요소를 선택합니다. $(this).children().removeClass('btn_open'); $(this).children().addClass('btn_fold'); }else{ $(this).next().hide(); $(this).children().removeClass('btn_fold'); $(this).children().addClass('btn_open.. 2022. 9. 21. 자바스크립트 데이터 속성 'data-' & 제이쿼리로 데이터 가공 특정한 데이터를 dom 요소에 저장하는 방법 여러 데이터를 동시에 사용할수도 있고 다양하게 데이터를 저장 할 수 있습니다. 제이쿼리에서는 이런식으로 데이터를 받을 수 있다. console.log( "attr :", $("#test").attr('data-code')); // attr : 200 console.log( "data :", $("#test").data('code')); // data : 200 console.log( "attr :", $("#test").attr('data-test')); // attr : test console.log( "data :", $("#test").data('test')); // data : test 자바스크립트에서 데이터를 수정할수도 있습니다. 그러나 이경우에는 d.. 2022. 9. 19. PostgreSQL merge문 PostgreSQL은 mysql랑 다르게 UPLICATE KEY UPDATE 가없기 때문에 with문으로 직접 구현해야 한다. with upsert as ( update tb_user set reg_userno = #{user_no} ,upd_date = to_char(now(),'YYYYMMDDHH24MISS') where id = #{id} and reg_userno = #{reg_userno} returning * ) INSERT into tb_user ( id ,reg_userno ,reg_date ) select #{id} ,#{reg_userno} ,to_char(now(),'YYYYMMDDHH24MISS') where not exists(select * from upsert); -- with.. 2022. 9. 19. 백엔드 공부 1. 인터넷 - 인터넷은 어떻게 작동 될까요? - HTTP는 무엇일까요? - 브라우저와 종작원리 - DNS와 작동원리 - 도메인 네임은 무엇일까요? - 호스팅은 무엇일까요? 2. OS 및 일반적인 지식 - 터미널 사용방법 - OS의 일반적인 작동 방식 - 프로세스 관리 - 스레드와 동시성 - 기본적인 터미널 명령어 - 메모리 관리 - 프로세스간 통신 (IPC) - 입출력(I/O) 관리 - POSIX 기초 - stdin, stout 등등 - 기본적인 네트워크 개념 3. 언어배우기 - JAVA - JavaScript - Ruby 4. 버전 관리 - Git 기본 사용법 5. 관계형 데이터베이스 - PostgreSQL - MySQL 6. NoSQL 데이터 베이스 - MongoDB 7. 데이터베이스 상세 정보 -.. 2022. 6. 15. 이전 1 ··· 12 13 14 15 16 17 다음