일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- GIT
- JavaScript
- docker
- spring security
- Java
- 비동기
- OAuth
- 스프링
- spring boot
- 코딩테스트
- Spring Cloud
- map()
- map
- STS
- EUREKA
- 도커
- Spring
- 자바
- date
- 프로그래머스
- 스프링부트
- gitlab
- JS
- 자바스크립트
- IntelliJ
- jQuery
- 유레카
- leetcode
- 스프링 클라우드
- SpringBoot
- Today
- Total
목록분류 전체보기 (110)
RATSENO
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cOVZvd/btqzS0Zauqb/udPKzHrVYVKRnKvRBgillK/img.png)
Ajax는 비동기적 자바스크립트와 XML의 약어입니다. AJAX를 통해 서버와 비동기적 통신하면 페이지 전체를 새로 고칠 필요없이 서버에서 데이터를 받아올 수 있습니다. Ajax의 핵심 개념은 간단합니다. 브라우저 자바스크립트에서 HTTP요청을 만들어 서버에 보내고 데이터를 받습니다. 받는 데이터는 보통 JSON 형식입니다. XML로 받을 수도 있지만 JSON이 자바스크립트로 처리하기 훨씬 쉽습니다. 그리고 브라우저에서 받은 데이터를 사용합니다. Ajax를 사용하려면 서버가 필요합니다. 간단하게 node.js로 서버를 만들어 Ajax 서비스를 제공하겠습니다. https://nodejs.org/ko/ Node.js Node.js® is a JavaScript runtime built on Chrome's ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/NMADM/btqzRNevNJJ/0uJfE53tYO2XdKxivkXfI1/img.png)
HTML은 계층적이므로 이벤트를 꼭 한곳에서만 처리해야 하는 건 아닙니다. 예를 들어 버튼을 클릭했을 때 물론 버튼 자체에서 이벤트를 처리할 수 있지만, 버튼의 부모에서 처리해도 되고 그 부모의 부모에서 처리해도 되는 식입니다. 여러 요소에서 이벤트를 처리할 수 있다면, 그 이벤트에 응답할 기회는 어떤 순서로 주어지는가 하는 의문이 생깁니다. 기본적으로 두 가지 방법이 있습니다. 하나는 가장 먼 조상부터 시작하는 방법으로, 캡처링(capturing)이라 부릅니다. 밑에서 보여드릴 예제 HTML에서 버튼은 에 들어있고 는 에 들어있습니다. 따라서 도 버튼에서 일어난 이벤트를 '캡처'할 수 있습니다. 다른 방법은 이벤트가 일어난 요소에서 시작해 거슬러 올라가는 방법입니다. 이런 방법을 버블링(bubbling..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cR1qg4/btqzHTAI0lA/zGuH69VVKOjEWP6LPWE3JK/img.png)
자바스크립트 Date 객체에서 제공하는 날짜 형식은 별로 다양하지 않고, 이 형식 중에 원하는것이 없다면 직접 만들어야 합니다. moment.js는 원하는 형식을 쉽게 만들 수 있은 편이므로, 날짜 표시에 유용하게 쓰일 수 있습니다. moment.js의 format 메서드를 써서 날짜를 원하는 형식으로 만들 수 있습니다. 이 메서드는 메타 문자가 포함된 문자열을 받고, 메타 문자는 그에 해당하는 날짜 구성 요소로 변환됩니다. 예를 들어 문자열 YYYY는 네 자리 연도로 바뀝니다. 밑의 예제는 Date 객체의 내장된 메서드와 moment.js 메서드로 날짜 형식을 만든 예제입니다. const d = new Date(Date.UTC(2019, 11, 13)); //d -> Fri Dec 13 2019 09:..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bxqVsz/btqzKGsGMBN/mHaKPnrlwuODyiLelX1kv1/img.png)
서버에서 브라우저로 날짜를 전송하거나, 반대로 브라우저에서 서버로 날짜를 전송할 때는 조금 복잡할 수 있습니다. 서버와 브라우저가 다른 타임존에 있더라도 사용자는 자신의 타임존을 기준으로 날짜를 보고 싶어 할 겁니다. 다행히 자바스크립트의 Date 인스턴스는 날짜를 저장할 때 UTC를 기준으로 유닉스 타임스탬프를 저장하므로, Date 객체를 그냥 전송해도 일반적으로 안전합니다. 자바스크립트에서 날짜를 전송하는 가장 확실한 방법은 JSON을 사용하는 겁니다. 날짜는 JSON에서 1:1 대칭이 되게끔 파싱할 수 없으므로 JSON 명세에는 날짜에 대한 데이터 타입을 정의하지 않습니다. const before = { d : new D //before -> {d: Wed Nov 13 2019 09:47:06 GM..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/FIpL9/btqzI3u2GAZ/AHbVpKF6DqMdlUNGa9wsp1/img.png)
날짜 조작에 자주 사용되는 moment.js 라이브러리를 소개하겠습니다. moments.js 타임존을 지원하는 버전과 지원하지 않는 버전 두가지가 있습니다. 타임존 버전은 세계의 타임존 정보를 모두 담고 있어서 꽤 양이 많습니다. 다음 설명은 모두 타임존 버전을 기준을 합니다. 웹 기반 프로젝트를 만들고있다면 cdnjs 같은 CDN을 통해 Moments.js를 불러올수 있습니다. 하지만 저는 직접 파일을 다운받아서 https://momentjs.com/ Moment.js | Home Format Dates moment().format('MMMM Do YYYY, h:mm:ss a'); moment().format('dddd'); moment().format("MMM Do YY"); moment().form..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bbeBrI/btqzFVrpx8B/4RDck4ESfuxXOIJo3iyrh0/img.png)
Date 객체는 네 가지 방법으로 만들 수 있습니다. //아래 결과는 해당 지역의 표준시(UTC+tzOffset)에 따라 다를 수 있습니다. //즉 사용자의 위치가 한국일 경우 UTC +9시간 된 결과가 나옵니다. new Date(); //Tue Nov 12 2019 10:43:55 GMT+0900 (한국 표준시) //자바스크립트의 월은 0으로 시작합니다. 즉 0은 1월이고, 1은 2월입니다. new Date(2019, 0; //Tue Jan 01 2019 00:00:00 GMT+0900 (한국 표준시) - 2019년 1월 1일 0시 new Date(2019, 1); //Fri Feb 01 2019 00:00:00 GMT+0900 (한국 표준시) - 2019년 2월 1일 0시 new Date(2019, ..
LIKE 연산자DBMS에서는 LIKE 연산자를 많이 사용한다. LIKE 연산자는 인덱스를 이용해 처리할 수 있다. LIKE 연산자는 정규 표현식을 검사하는 것이 아니라 어떤 상수 문자열이 있는지 없는지 정도를 판단하는 연산자다. 다음 예제를 통해 LIKE 연산자의 사용법을 한번 살펴보자. SELECT 'abcdef' LIKE 'abc%' ==============================결과 : 1 SELECT 'abcdef' LIKE '%abc' ==============================결과 : 0 SELECT 'abcdef' LIKE '%ef' ==============================결과 : 1 LIKE에서 사용 할 수 있는 와일드 카드 문자는 "%" 와 "_" 가 전부..
날짜다른 DBMS에서 날짜 타입을 비교하거나 INSERT하려면 반드시 문자열을 DATE타입으로 변환하는 코드가 필요하다.하지만 MySQL에서는 정해진 형태의 날짜 포맷으로 표기하면 MySQL 서버가 자동으로 DATE나 DATETIME 값으로변환하기 때문에 복잡하게 STR_TO_DATE()와 같은 함수를 사용하지 않아도 된다. SELECT * FROM dept_empWHERE from_date = '2011-04-29'; SELECT * FROM dept_empWHERE from_data = STR_TO_DATE('2011-04-29', '%Y-%m-%d'); 첫 번째 쿼리와 같이 날짜 타입의 칼럼과 문자열 값을 비교하는 경우, MySQL 서버는 문자열('2011-04-29') 값을 DATE 타입으로 변환..
숫자숫자 값을 상수로 SQL에 사용할 때는 다른 DBMS와 마찬가지로 따옴표(' 또는 ") 없이 숫자 값을 입력하면 된다.또한 문자열 형태로 따옴표를 사용하더라도 비교 대상이 숫자 값이거나 숫자 타입의 칼럼이면 MySQL 서버가문자열 값을 숫자 값으로 자동 변환해준다. 하지만 이처럼 숫자 값과 문자열 값을 비교할 때는 한 가지 주의해야 할 사항이 있다. 서로 다른 타입으로 WHERE 조건 비교가 수행되는 다음 쿼리를 잠깐 살펴보자 SELECT * FROM tab_test WHERE number_column='10001'; SELECT * FROM tab_testWHERE string_column=10001; 위 쿼리와 같이 두 비교 대상이 문자열과 숫자 타입으로 다를 때는 자동으로 타입의 변환이 발생한다..