본문 바로가기
  • 포르쉐타고싶다

인포테인먼트 - development/javascript4

[javascript] 문자열 Byte단위로 자르기 1. 배경 어플리케이션의 ui를 고도화 하다보면 거쳐야 하는 자잘한 관문들이 굉장히 많다. 그 중 하나가 바로 텍스트의 줄바꿈이다. ui에서 제한된 텍스트 상자 안에 임의의 길이의 텍스트가 들어가기 때문에 적절한 크기로 줄바꿈을 해주지 않으면 보기에 상당히 불-편해 보일 수 있다. 개행(줄바꿈)도 단순히 음절의 개수(subString)으로 자르면 안된다. 영어와 한글은 낱말 하나의 Byte크기가 다르기 때문에 같은 개수의 subString으로 자를 시 영어는 같은 낱말갯수의 한글 길이의 반 정도 되는 위치에서 줄바꿈이 되는 현상을 초래한다. 결국 낱말의 개수가 아닌 Byte의 크기를 단위로 잘라야 하는 것이다. 2. 문제 그렇다면 한 string값을 특정 Byte 크기만큼에서 자르려면 어떻게 해야할까 3.. 2020. 6. 9.
[javascript] join() - 배열을 문자열로 변환 1. 배경 서버와 DB간에 통신을 하는 과정에서 배열을 STRING으로 바꿔 보내야 하는 경우가 있다. 예를 들어, DB의 Stored Procedure의 인자로 배열을 넣고 싶을 때 서버에서 갖고있던 배열을 String으로 바꾸고 call [프로시저 이름] 의 인자로 넣어줘야 한다. 2. 개념 Array의 join() 메서드는 배열의 모든 요소를 연결해 하나의 문자열로 만든다. 3. 사용방법 const foodArr = ['Apple', 'Tomato', 'Orange']; console.log(foodArr.join()); // expected output: "Apple,Tomato,Orange" 중요한 것은!!!!! 콘솔창에 뜨는 것을 보면 콤마(,)와 다음 항복 사이에 공백이 없다! 프로시저를 부.. 2020. 4. 24.
[javascript] 객체{}에 프로퍼티(key : value) 추가하는 방법 이전에 정의해 놓은 객체에 속성을 추가하는 일이 생긴다 예를 들면 클라이언트가 게시글을 등록할 때 게시글 제목, 게시글 내용을 묶은 게시글 객체를 서버에 요청하고 서버 내에서 클라이언트로부터 받은 게시글 객체에 해당 유저 정보를 속성(프로퍼티)으로 추가하는 경우다 코드로 보면 클라이언트가 서버에 요청한 게시글(리뷰)객체 Review가 있다고 하자 { "reviewTitle" : "어서오세요", "reviewComment" : "안녕하세요 홍지원입니다" } 서버는 따로 갖고있던 리뷰를 쓴 유저 정보를 속성으로 추가한다고 하면 목표 : { "userIdx" : 3, "userName" : "홍지순", "reviewTitle" : "어서오세요", "reviewComment" : "안녕하세요 홍지원입니다" } .. 2020. 3. 1.
[javascript] 여러 property프로퍼티((key : value)쌍)을 갖고 있는 객체를 배열화하기 여러 (key, value)들을 갖고있는 객체를 배열화할 일이 있다. 예를 들면 클라이언트가 요청한 리뷰 내용들을 데이터베이스에 저장하는 상황에서 서버는 클라이언트가 요청한 데이터를 데이터베이스 쿼리문에 인용해야 한다. 클라이언트에서 보낸 { "reviewTitle" : "어서오세요", "reviewComment" : "안녕하세요 홍지원입니다" } 라는 Review 객체를 보냈다고 가정하자 데이터베이스의 테이블명이 review라고 할때 서버는 코드상에서 쿼리문을 query = 'INSERT INTO review (review_title, review_comment) VALUES (?, ?)' 라고 작성하고 저 두개의 ?에 클라이언트가 보낸 객체의 두 프로퍼티를 그대로 갖다 쓰면 된다. 물론 저 요청 객체.. 2020. 3. 1.