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

join4

[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.
[알고리즘] DATABASE에서 여러 테이블을 JOIN해서 가져온 데이터배열 중복 제거, 정리(2) 두가지 프로퍼티를 재정리하기위해 데이터를 가져오면 훨씬 더 많은 중복되는 객체들이 나온다. 왜냐하면 프로퍼티의 개수만큼 객체가 곱해서 나오기 때문이다. (디비에서 가져오는 배열 크기 = 묶고싶은 객체 한덩어리 x 프로퍼티1 개수 x 프로퍼티2 개수) 하지만 전 포스팅에서 소개했던 방식을 그대로 추가된 프로퍼티에 대해 한 번씩만 더 써주면 된다. 먼저 상황을 가정해보자 - 우리가 원하는 배열 : A [ { board_idx : 1, comment : "안녕하세요", tag : [ 1, 2 ], img_url : [ "http://aaaa.aaaaa.aaaaaa", "http://bbbb.bbbbb.bbbbbb", ] }, { board_idx : 2, comment : "안녕히계세요", tag : [ 3,.. 2020. 4. 2.
[알고리즘] DATABASE에서 여러 테이블을 JOIN해서 가져온 데이터배열 중복 제거, 정리(1) 어느 어플이든 어느정도 진행이 나가고 나서부터는 database에서 한번을 깔끔한 데이터를 가져와 보기가 힘들다. 그 이유는 미래의 데이터의 확장성때문인데, 예를 들면, 가장 큰 예로 이미지가 있겠다. 페이스북 게시물을 보면 한 게시물에 여러개의 사진이 들어있다. 게시물의 내용과 이 사진의 데이터가 하나의 테이블에 존재하게 된다면 게시물 당 사진의 개수가 한정되어있어야하므로 유연성, 확장성이 극히 떨어지게 된다. 그래서 보통은 사진테이블과 게시물 테이블을 따로 두고 한 게시물에 대해서 게시물 테이블에서의 게시물 데이터와 사진 테이블에서 해당 게시물 사진 데이터들을 합쳐서(JOIN) 서버로 가져와야하는데 그렇게 되면 받아오는 배열의 결과는 우리가 원하는 한 게시물의 객체에 이미지배열이 프로퍼티로 들어가 있.. 2020. 3. 21.
[MySQL] 여러 테이블 합쳐서 SELECT하기 - JOIN ~ ON ~ 데이터베이스에서 게시글 정보를 꺼낼 때 '게시글'이라는 한 테이블이 게시글에 대한 모든 정보를 갖고있지 않는다. 예를 들면 우리가 한 게시글을 보면 게시글의 제목, 내용 뿐만 아니라 게시글을 쓴 사람, 게시글의 첨부파일, 게시글에 대한 좋아요수 등 완전 직접적이진 않은(?) 정보 또한 보여주고 있다. 이 게시글의 모든 정보를 데이터베이스에서 꺼낼 때 [게시글] 테이블엔 게시글의 '제목', '내용' 을 갖고있고 [유저] 테이블에 게시글을 쓴 '사람 정보' [게시글 좋아요] 테이블에 게시글과 좋아요 한 사람의 매칭되는 정보가 들어있다. 그리고 클라이언트가 게시글 정보 조회를 요청하면 서버는 이 세 테이블의 내용을 합쳐서 응답 데이터로 보내줘야 한다. 여기서 두가지 방법이 있다 1) 데이터베이스에서 세 테이블.. 2020. 3. 1.