전체 글 31

[MySQL] varchar 에서 number로 / 특정 문자 제거

varchar 타입의 column에 가격 정보를 '3,000,000' 와 같이 저장했는데 숫자로 크기를 비교하기 위해 가공을 해야 했다. MySQL의 내장 함수 두 개를 사용하여 이를 해결했다. SELECT MIN( cast( replace(goods_price, ',', '') as unsigned)) as price_min, MAX( cast( replace(goods_price, ',', '') as unsigned)) as price_max FROM GOODS 우선 replace()로 goods_price의 , 를 빈 문자열로 바꿨다. 그리고 cast( X ) as unsigned 로 문자열 숫자 데이터를 숫자로 바꿔주었다.

개발 이슈 2019.07.11

[MySQL] 순위 매기기. MySQL 변수 사용.

오라클 SQL은 ROW_NUMBER(), RANK(), DENSE_RANK() 등의 함수를 이용해 순위를 쉽게 메길 수 있지만 MySQL에서는 지원하지 않는 함수이기 때문에 다른 방법으로 순위를 메겨야 했다. 그래서 발견한 방법이 MySQL 에서 변수를 사용해 순위를 메기는 것이다~~!!!!!!👻 SELECT @x := @x+1 as food_rank, food_idx, food_name FROM FOOD, (SELECT @rownum := 0) as R ORDER BY food_score DESC 이렇게 하면 food_score를 기준으로 food_rank를 1부터 순위를 메길 수 있다.

개발 이슈 2019.07.11

[AWS-RDS] Handshake inactivity timeout

위와 같이 dbConfig.js에서 aws rds 정보를 가지고 createPool()하여 pool을 받아왔다. 받아온 pool로 getConnection()을 했는데 위의 사진처럼 err로 Handshake inactivity timeout connection으로 undefined가 나왔다. 원인) RDS의 이 특정 IP로 설정이 되어있었기 때문..ㅎㅎ 해결 방법) RDS로 들어가서 해당하는 데이터베이스를 클릭한다 밑으로 내려서 중 Inbound에 해당하는 것을 클릭 선택 후 소스를 으로 변경해준다

개발 이슈 2019.05.19

8장) 브라우저 객체 모델

BOM은 웹 페이지 콘텐츠와 무관하게 브라우저 기능을 노출하는 객체이다. 제대로 된 명세가 없는 기간이 길었기에 브라우저 제조사들은 자신들이 원하는 대로 BOM을 확장했고, 이는 흥미로운 결과를 낳기도 했지만 문제도 많이 생겼다. HTML5 명세에서 BOM의 주요 부분을 다룹니다. 8.1 window 객체 BOM의 핵심에는 브라우저의 인스턴스인 window 객체가 있다. window 객체는 브라우저 창의 자바스크립트 인터페이스 구실을 하고 다른 한 편으로는 ECMAScript Global 객체로 기능한다. 따라서 웹 페이지에서 정의한 모든 객체, 변수, 함수에서는 window가 Global 객체 구실을 하며 window에 정의된 parseInt()등의 메서드를 이용한다. 8.1.1 전역 스코프 전역에서 ..

프로그래밍/JS 2016.04.06

7장) 함수 표현식

이 장에서 다루는 내용 - 함수 표현식의 특징 - 함수와 재귀 - 클로저를 이용한 고유 변수 5장에서 배웠듯이 함수를 정의하는 방법은 함수 선언과 함수 표현식 두 가지이다. 함수 선언의 뚜렷한 특징은 '함수 선언 끌어올림'이다. 함수 표현식에는 여러 가지 형태가 있는데 가장 많이 쓰이는 형태는 다음과 같다.var funcName = function (arg) { };이렇게 생성된 함수는 함수 이름이 없으므로 익명 함수로 간주한다. (람다 함수라고 부르기도 함.)따라서 익명함수의 name 프로퍼티는 빈 문자열이다. if문 안에서도 함수 선언으로 정의된 함수는 끌어올려지므로 의도와 다르게 작동할 수 있어 주의해야 한다. 7.1 재귀재귀 함수를 사용할 때는 항상 함수 이름 대신 arguments.callee(..

프로그래밍/JS 2016.03.30

5장-6,7) 참조타입 - 원시 래퍼 타입, 내장된 싱글톤 객체

5.6 원시 래퍼 타입Boolean, Number, String은 원시 값을 편리하게 조작하기 위해 디자인된 참조 타입이다.이들은 다른 타입과 같이 동작하지만 대응하는 원시 값과 연관된 독특한 동작 방식도 가진다.원시 값을 읽을 때마다서 이에 해당하는 래퍼 타입이 이면에서 생성되므로 메서드를 사용할 수 있다.ex)var s1 = "some";var s2 = s1.substring(2);이 코드에서 s1은 원시 값인 문자열을 담고 있는 변수다.다음 행에서 s1은 substinrg()메서드를 호출하고 결과를 s2에 저장한다.원시 값은 객체가 아니므로 논리적으로 메서드를 가질 수 없지만 별다른 코드 없이도 메서드를 호출했다.사실은 이면에서 이를 수행되게 만드는 많은 코드가 실행된다.두 번째 줄에서 s1에 접근..

프로그래밍/JS 2016.02.01

5장-3,4,5) 참조 타입 - Date 타입, RegExp 타입, Function 타입

5.3 Date 타입자바 초기 버전의 java.util.Date에 기반한다.따라서 날짜와 시간을 저장할 때 1970년 1월 1일 0시부터 몇 밀리초가 지났는지 나타내는 숫자를 사용한다.1970년으로 부터 285,616년 전후의 날짜를 정확히 표현할 수 있다.생성 방법var now = new Date();매개변수를 넘기지 않으면 현재 날짜와 시간이 저장된다.밀리초를 넘기면 특정 날짜와 시간을 나타낼 수 있는데 이 계산은 복잡하므로이를 계산하는 메서드 Date.parse()와 Date.UTC()를 보통 사용한다.Date.parse()날짜를 표현하는 문자열을 받아 해당 문자열을 밀리초 표현으로 변환한다.- 월/일/년- 월이름 일, 년- 요일 월이름 일 년 시:분:초 타임존- YYYY-MM-DDTHH:mm:ss..

프로그래밍/JS 2016.01.20

5장-1,2) 참조 타입 - Object 타입, Array 타입

참조 값(객체)이란 특정 '참조 타입'의 인스턴스이다.ECMAScript에서 참조 타입은 데이터와 기능을 그룹으로 묶는 구조이다.참조 타입을 '클래스'라 부르는 것은 잘못된 표현이다.참조 타입은 객체가 가져야 할 프로퍼티와 메서드를 정의한다는 점 때문에 '객체 정의'라 불리기도 한다.(ECMAScript는 객체 지향 언어이지만 클래스나 인터페이스 같은 구조를 갖고 있지 않다. 객체(참조 값)는 특정 참조 타입의 '인스턴스'이다.객체를 생성할 때는 new 연산자 뒤에 '생성자'(객체를 생성하는 함수)를 쓴다.ex)var person = new Object();-> 참조 타입 Object의 인스턴스를 생성해서 변수 person에 할당한다. 5.1 Object 타입객체 생성법1. new 연산자와 Object ..

프로그래밍/JS 2016.01.20