목록2023/10 (12)
Coding Planet
1. 기본 폴더 구조 : layouts/tiles 2. LayoutController - top, left menu 그려주는 메서드 - 권한별로 다른 메뉴를 보여주기 때문에 필터링 필요 - 처리 후 jsp 경로 반환 (return "layouts/common/TopMenu") - 각 메서드는 c:import로 호출되는데 이 때 ~.do 로 가상의 경로를 만들어서 호출한다. 3. viewResolver 설정 @Bean public TilesConfigurer tilesConfigurer() { final TilesConfigurer configurer = new TilesConfigurer(); String[] definitions = {"classpath:tiles/tiles.xml"}; configur..
| View Resolver란 뷰 리졸버는 스프링 MVC 웹 어플리케이션에서 중요한 컴포넌트 중 하나이다. MVC 패턴에서 컨트롤러가 처리를 마친 후에 어떤 뷰로 응답을 생성할지 결정하는 역할을 한다. | View Resolver의 역할 뷰 이름의 매핑 : 컨트롤러는 특정 뷰를 식별하기 위해 문자열 형태의 뷰 이름을 반환한다. 뷰 리졸버는 이 이름을 실제 뷰 템플릿 파일로 매핑한다. 예를 들어 컨트롤러가 "home"이라는 뷰 이름을 반환하면, 뷰 리졸버는 이를 "home.jsp"나 "home.html"같은 실제파일로 변환할 수 있다. 다양한 뷰 기술 지원 : 스프링 MVC는 다양한 뷰 기술을 지원하며 이를 위해 여러 뷰 리졸버를 재공한다. JSP, Thymeleaf, FreeMarker 등 다양한 템플릿..
아래 포스트는 https://www.geeksforgeeks.org/introduction-to-less/의 내용을 번역, 요약, 발췌한 것입니다. | SASS란? SASS는 Syntactically Awesome Style Sheets의 약어이다. SASS는 변수, nesting, import, 믹스인, 상속 등의 고급 문법을 사용할 수 있다. 이렇게 작성된 문법은 프로그램에 의해 자동으로 CSS 파일로 컴파일되어 웹사이트에 적용된다. SASS에는 두 가지 유형의 문법이 있다. 1) SCSS(Sassy CSS): 현대적인 문법으로, CSS와 유사하며 `.scss` 확장자를 사용다. 2) Indented syntax(또는 sass): 오래된 문법으로, 들여쓰기를 기반으로 하며 `.sass` 확장자를 사용..
아래 포스트는 https://www.geeksforgeeks.org/introduction-to-less/의 내용을 번역, 요약, 발췌한 것입니다. | LESS란? LESS는 JavaScript를 기반으로 하는 동적 스타일 시트 언어로 스타일시트(Style Sheet)의 관리, 커스터마이징, 재사용성을 높혀준다. LESS는 크로스 브라우징에 유용하게 사용될 수 있으며 동작시 일반 CSS로 컴파일되기 때문에 사용이 간편하다. 이는 변수, 함수, 믹스인, 연산과 같은 기능을 제공하여 동적 CSS를 구축할 수 있게 해준다. LESS는 2009년 Alexis Sellier에 의해 디자인되었다. 첫 버전은 Ruby로 쓰여졌지만 이후 더 간단한 언어인 JavaScript로 대체되었다. | 왜 LESS를 써야하는가?..
1. ssh로 연결한 서버컴퓨터에 subversion 설치하기 -> sudo apt install subversion -> Y로 동의하고 설치하기 2. 새로운 저장소(Repository)를 생성한다. -> svnadmin create --fs-type fsfs svn-example - `--fs-type fsfs`: 저장소의 파일 시스템 유형을 지정하는 옵션. `fsfs`는 일반적으로 사용되는 파일 시스템 유형 중 하나 - `svn-example`: 생성하려는 저장소의 이름이나 경로. 이 경우, 현재 디렉토리에 `svn-example`라는 이름의 저장소가 생성 3. SVN Server에 접근하기 위해 'svnserve'설치하기 - svnserve는 SVN 저장소에 접근하기 위한 경량 서버로, 설정이 간단..
아래 포스트는 김영한님의 자바 ORM 표준 JPA 프로그래밍을 수강하고 기록한 내용이다. |SQL 중심적인 개발의 문제점 무한 반복, 지루한 코드 : CRUD의 반복, 자바 객체를 sql로...sql을 자바객체로 만약 member 객체에 연락처 필드가 추가된다면? 모든 쿼리문에 연락처를 추가해야하는 사태 발생! | 객체와 관계형 데이터베이스의 차이 1. 상속 관계형데이터베이스에는 기본적으로 java에서의 상속 관계가 존재하지 않는다. 대신 TABLE을 슈퍼타입과 서브타입으로 만들어 관계를 설정한다. 이는 완전히 대응하는 관계를 아니기 때문에 상속관계가 있는 객체를 각각의 테이블에 따로따로 저장하고 객체를 조회할 때는 JOIN을 사용해야한다. 따라서 코드의 복잡성이 증가한다. 따라서 실무에서는 DB에 저장..
스프링부트가 아닌 스프링의 로그레벨 설정은 이 포스트로! https://sharonprogress.tistory.com/198 1. 로그 레벨(Log level)이란? 로그 레벨(Log Level)은 로그 메시지의 중요도를 나타내는 수준을 의미한다. 로그 레벨은 로깅 시스템에서 사용되며, 로그 메시지의 중요도에 따라 해당 메시지를 기록할지 결정하는 데 사용된다. 2. 로그레벨 1) TRACE 가장 상세한 로그 레벨로, 애플리케이션의 실행 흐름과 디버깅 정보를 상세히 기록한다. 주로 디버깅 시에 사용된다. 2) DEBUG 디버깅 목적으로 사용되며, 개발 단계에서 상세한 정보를 기록한다. 애플리케이션의 내부 동작을 이해하고 문제를 분석하는 데 도움을 준다. 3) INFO 정보성 메시지를 기록한다. 애플리케이..
개발 과정에서 다음과 같은 오류 발생 cohttp://m.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class cohttp://m.example.demo.main.domain.Menu and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: java.util.ArrayList[0]) 1. 문제 원인 스프링 부트는 기본적으로 JSON 데이터와 Java 객체 간의 변환을 담당하는 라이브러리로 J..
| git branch 기본 전략 git workflow에서는 항상 유지되는 메인 브랜치(main, develop)과 일정 기간 동안만 유지되는 보조 브랜치들(feature, release, hotfix)을 합하여 총 5개의 브랜치를 사용한다. 다만 프로젝트의 규모와 관리의 용이성을 고려하여 다음 세개의 브랜치만을 사용하고자 한다. 1) Main Branch(Master Branch) 제품으로 출리될 수 있는 브랜치로 배포 이력을 관리한다. 즉, 배포 가능한 상태만을 관리하므로 개발중에는 merge 하지 않는다. github setting에서 잠궈두었으므로 push시 오류 발생하니 주의할 것. 2) Develop Branch 다음 출시 버전을 개발하는 브랜치이다. 기능 개발을 위한 브랜치들을 병합하기 위..
컴퓨터는 사람의 언어를 그대로 인식하지 않는다. ASCII는 사람의 언어인 문자를 컴퓨터의 언어인 숫자로 인코딩하는 문자 인코딩의 표준이다. ASCII 코드는 총 128개의 문자를 위와 같이 숫자로 지정하여 인식한다. 예를들어 사과 'apple'은 '97, 112, 112, 108, 101'로 변환되는 것이다. ASCII 표를 모두 외울 필요는 없지만 코딩테스트에도 자주 등장하는 문제 형식으로 대문자 A(65), Z(90), 소문자 a(97), z(122)정도는 외워두는 것이 유용하다. 이러한 방식을 통해 c + 1이라는 계산식이 컴퓨터에서는 실제로 이루어지는 것이다. c는 ASCII 코드상 43이므로 c+1은 44가된다. 다만 이때 주의해야할 것은 ASCII 코드 값 49번에 해당하는 '1'은 숫자 1..