전체 글 90

[인프런] 김영한의 스프링 입문 - MVC와 템플릿 엔진

MVC - thymeleaf 템플릿 엔진더보기더보기hello! emptyhtml의 파일 경로를 연 뒤 서버 없이 웹브라우저의 도메인에 그대로 입력해도 껍데기를 확인할 수 있다. 그런데 템플릿 엔진으로서 동작하면 렌더링을 하여 th:text의 내용으로 치환한 html을 반환하게 된다.정적 컨텐츠일 때는 변환하지 않고 그대로 반환한다.  단축키command + p: 파라미터 정보 확인  API1. 문자 전달@ResponseBody@GetMapping("hello-string")@ResponseBodypublic String helloString(@RequestParam("name") String name) { return "hello " + name; // hello spring} html의 head, bo..

inflearn 2024.06.25

[Spring] MyBatis Repository 인터페이스와 XML 매핑 파일 연결

DataSource- 데이터베이스와의 연결을 관리하는 객체- 데이터베이스 접속 정보를 중앙에서 관리- 데이터베이스 연결 설정을 외부화하여 애플리케이션의 코드와 분리 Mapper- SQL 쿼리를 매핑하는 인터페이스나 XML 파일- 객체지향 프로그래밍 언어인 자바와 관계형 데이터베이스 사이의 매핑을 돕는 프레임워크@MapperScan("com.example.mapper") - Mapper 인터페이스가 있는 패키지를 스캔 동작 방식 1. MybatisBookRepository 인터페이스의 메서드가 호출될 때 MyBatis는 XML 파일에서 해당 메서드 이름과 일치하는 id를 가진 SQL 쿼리를 찾아 실행합니다. 2. 예를 들어, MybatisBookRepository 인터페이스에서 findAll 메서드를 호출..

Spring 2024.06.12

[Spring] JPA, Hibernate, Spring data JPA

https://suhwan.dev/2019/02/24/jpa-vs-hibernate-vs-spring-data-jpa/ JPA, Hibernate, 그리고 Spring Data JPA의 차이점개요 Spring 프레임워크는 어플리케이션을 개발할 때 필요한 수많은 강력하고 편리한 기능을 제공해준다. 하지만 많은 기술이 존재하는 만큼 Spring 프레임워크를 처음 사용하는 사람이 Spring 프레suhwan.dev 1. JPA- Java Persistence API: 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스- 자바 진영의 표준 인터페이스- 인터페이스이기 때문에 특정 기능을 하는 라이브러리가 아니다- JPA의 핵심이 되는 EntityManager도 javax.persisten..

Spring 2024.06.11

[RN] JS- 계산된 속성 이름, 속성 정의 및 접근 방법

계산된 속성 이름(Computed Property Name)계산된 속성 이름: 객체 리터럴에서 속성 이름을 동적으로 할당할 수 있게 한다. 즉, 속성 이름을 고정된 문자열이 아니라, 변수나 표현식의 값을 사용하여 동적으로 결정될 수 있도록 한다. 계산된 속성 이름을 사용할 때는 대괄호('[]')를 사용하며, 대괄호 안의 표현식은 항상 문자열로 변환된다.const ID = 'task_1';const newTask = 'Learn React Native';const newTaskObject = { [ID]: { id: ID, text: newTask, completed: false },};console.log(newTaskObject);// {// task_1: { id: 'task_1', text: ..

[RN] CSS, Hooks, import/require, Object 메서드

1. alignSelf, alignItems, alignContentalign-self: grid나 flex item를 정렬, flexBox 내에서 교차 축에 정렬 즉, flexDirection에 따라 교차 축이 달라짐align-Items: 상위 요소에서 아이템들을 일괄적으로 적용align-content: flexBox의 교차축을 따라 content items 사이의 간격 설정, 두 줄부터 사용해야 의미있다, flex-wrap: wrap;인 상태에서 사용(nowrap이면 의미 없음)https://dkrnfls.tistory.com/247 css align-content, align-items, align-selfcss속성중 위의 3개 속성들은 flexbox 혹은 grid에서 컨텐츠 들을 정렬시킬때 사용합..

[RN] VSCode prettier 적용, 오류 해결

확장 프로그램 손 보는 데 많은 시간이 걸렸다... 이곳저곳 손 보면서 기 좀 빨렸더니 나도 prettier이 이제 실행이 됐다! 나는 확장 프로그램에서 prettier를 설치하고 루트 디렉터리의 .vscode>settings.json에서 필요한 속성들을 입력하는 방식을 택했다. 설정(mac; cmd + ',')-prettier에서 필요한 것들을 체크하면 settings.json에 자동 반영된다고 한다. 나도 처음에 몇몇 개는 자동 반영이 되었지만 나중에는 잘 되지 않아서 답답한 마음에 직접 추가했다. 결정적인 문제 또한 이 파일에서 수정하면서 해결했다. 계속... 1. default formatter (기본 포맷터) 를 prettier로 설정한다. 처음에 null로 되어 있으면 실행이 안될텐데 defa..

[RN] 연산자 종류 (==, !=, ===, !==)

https://miiingo.tistory.com/337 [Node.js] javascript: 비교 연산자 ==, ===, !=, !==의 차이점비교 연산자 ==와 ===, !=와 !==는 비슷해 보이지만 자세히 보면 서로 다른 연산자이다. 그동안은 둘의 차이를 잘 모르는 상태에서 그냥 사용했지만, 오늘은 이에 대해 알아보도록 한다. javascript는miiingo.tistory.comhttps://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/NaN NaN - JavaScript | MDN전역 NaN 속성은 Not-A-Number(숫자가 아님)를 나타냅니다.developer.mozilla.orgNaN: Not-A-Numb..

[RN] Props 중괄호 사용 (feat. 구조 분해 할당)

Props에 중괄호 {}를 사용하여 속성 전달요점만 바로 파악할 수 있도록 필요한 부분의 코드만 가져왔고, 시뮬레이터를 제외한 터미널의 출력 화면으로만 살펴볼 것이다. 터미널을 통해 props가 값으로 들어오는 것인지, 객체로 들어오는 것인지를 확인할 것이다. // App.jsconst App = () => { return ( );};export default App; 위의 코드는 메인 함수인 App.js에서 각각의 컴포넌트로 age와 name을 전달한다. 이때 숫자를 전달할 때는 중괄호로 감싸야지 빨간 줄 오류가 안 생긴다. // Ages.jsconst Ages = ({age}) => { console.log(age); return ( ..

[Spring] 'return + view명', 'redirect:/주소' 차이

https://blog.naver.com/PostView.nhn?isHttpsRedirect=true&blogId=sim4858&logNo=221007278858 [Spring & Web] return "redirect:/주소" 와 일반 return "view이름"의 차이이번 포스팅에서는 Spring Web Project에서 URL 요청에 따른 Controller의 처리 중에서 return "red...blog.naver.comhttps://velog.io/@chori/301-302-%EB%A6%AC%EB%8B%A4%EC%9D%B4%EB%A0%89%EC%85%98%EC%9D%98-%EC%B0%A8%EC%9D%B4 301, 302 리다이렉션의 차이페이지 리다이렉션을 하는 방법으로 두가지 종류가 있다는 것을..

Spring 2024.05.14

[RN] Button 표현 방법, state, event 정리 _ 처음 배우는 리액트 네이티브 (24.05.13)

Button 표현 방법리액트 네이티브에서는 다양한 내장 컴포넌트(core components)를 제공한다.ex. View, Text, Button.. 같은 컴포넌트일지라도 iOS, 안드로이드에서 다르게 표현될 수 있기 때문에 두 플랫폼으로 다 테스트해 보는 것이 중요하다. 즉 컴포넌트 속성이 다르게 표현될 수 있기 때문에 커스텀 컴포넌트를 만들어 문제를 해결해 볼 수 있다. 아래는 그 예시이다. 의 color 속성은 iOS에서 text color를 나타내지만, 안드로이드에서는 버튼의 배경색을 나타낸다. 따라서 의도한 결과와 다르게 나오기 때문에 Button 컴포넌트를 대체할 TouchableOpacity + Text 조합을 만들 수 있다. Button   →   TouchableOpacity + Text..