반응형
전체 글

전체 글

    곰돌이 푸 다시 만나 행복해

    곰돌이 푸는 어렸을때 꿀을 좋아하던 곰이 나오는 만화로써 기억하고 있었다.크게 내 기억속에 자리 잡고 있지 않았던 만화였다. 이번에 디즈니에서 곰돌이푸를 대상으로 만화가 아닌 영화로써 출시 하였다. 어떻게 표현 하였고 어떤 내용을 담고 있는지 궁금하기도 했지만 곰돌이푸를 좋아하는 여자친구의 권유로 보게되었다. 주인공 크리스토퍼 로빈은 순수한 마음을 가지고 곰돌이 푸 친구들과 즐거운 유년시절을 보냈다. 하지만 학업, 전쟁, 생계 과정을 거치게 되면서 어린시절 가졌던 마음가짐을 잃고 무엇이 정답인지 모르고 그냥 가기 바쁜 우리들처럼 일상생활을 보내고 있었다.그렇게 살아가던 크리스토퍼 로빈은 우연히 찾아온 곰돌이 푸를 만나게 되고 소중한 것이 무엇이었는지 다시 한번 돌이켜 보게 되고 다시 그 곳으로 돌아가게 ..

    nodejs 비동기 프로그래밍을 위한 deferred

    node.js에서 비동기 프로그래밍을 위해서 사용할 수 있는 deferred 라이브러리를 정리해보자. 우선 deferred의 경우에는 이전글에 작성했던 Promise와 동일한 개념이다. (https://wedul.tistory.com/508) promise와 마찬가지로 deferred는 비동기로 작업을 진행하고 비동기 처리가 완료되고 resolve, reject 메소드를 실행해서 비동기 동작 이후에 결과를 전달 할 수 있다. 우선 필요한 라이브러리를 다운로드 받아보자. https://www.npmjs.com/package/deferred1npm i deferredcs 그리고 라이브러리 예제에 나와있는대로 deferred 라이브러리를 사용해서 비동기 프로그램을 실행시켜보면 간단하게 promise와 동일 한..

    Javascript promise에 대해 알아보자.

    기존에 ajax와 같은 비동기 요청이 종료가 되고 특정한 작업을 수행하고 싶을경우 콜백함수를 설정하여 진행했었다.1234567891011 Common.sendAjax({ url: Common.getFullPath('user/cert/check'), param: { 'otp' : $otpNum.val(), 'userId' : $joinEmail.val() }, type: 'POST', success: (e) => { // 성공 시 발생할 콜백함수 }, failed: () => { // 실패시 발생할 콜백함수 } });Colored by Color Scriptercs 이런 비동기 프로그래밍은 기존 동기식 프로그래밍 보다 작업을 요청하고 다른 작업을 할 수 있는 장점이 있다. 하지만 이는 그 유명한 콜백 지옥..

    JPA 기본 어노테이션 설명

    JPA에서 사용되는 기본적인 어노테이션 몇개를 정리해보자. @Entity- 클래스와 테이블과 매핑한다고 JPA에게 알려준다. 이렇게 @Entity가 사용될 클래스를 엔티티 클래스라고 한다. @Table- 엔티티 클래스에 매핑할 테이블 정보를 알려준다. (이 어노테이션을 생략하면 클래스 이름을 테이블정보로 매핑한다.) @Id- 엔티티 클래스의 필드를 테이블에 기본키로 매핑한다. (데이터베이스는 엔티티를 구별할때 이 키값으로 구분한다.) @Column- 필드를 컬럼에 매핑한다. 매핑 정보가 없는 필드- @Column을 생략하면 필드명을 사용해서 컬럼명과 매핑하게 된다. 만약 대소문자를 데이터베이스가 구분할 경우에는 꼭 위에 @Column어노테이션을 사용해서 진행해야한다. #Dialect(방언)- 데이터베이스..

    JPA(Java Persistence Api)의 장점과 단점 및 사용해야 하는 이유.

    국내에서는 Mybatis를 사용하지만 대기업과 여러 스타트업에서는 JPA를 사용하고 있는 추세이다. 그리고 세계적으로 JPA 특히 ORM 프레임워크인 하이버네이트 사용률이 더 높다.그래서 더 자세한 부분을 이해하기 위해서 공부를 시작했다. 공부 시작하기전에 왜 JPA가 좋은지 정리해봤다. 생산성- 개발자가 일일히 CRUD용 쿼리를 작성해줘야하던 Mybatis와 같은 Mapper방식은 컬럼이 추가되거나하면 수정해주어야하는 부분이 상당히 많았다. 이로 인해서 자바를 사용하지만 객체중심 개발이 아니라 데이터베이스 흐름으로 개발을 하게되는 문제가 있다. JPA를 사용하게 되면 쿼리를 직적 생성하는 것이 아니고 만들어진 객체로 데이터베이스를 다루기 때문에 객체 중심으로 개발을 진행할 수 있다. 유지보수- SQL을..

    node.js에서 aws s3 스토리지에 이미지 저장하기

    AWS에서 제공하는 S3 스토리지는 다양한 파일을 bucket에 보관할 수 있다. 자세한 내용은 생활코딩 강의 참고하면 좋다. https://opentutorials.org/course/608/3006 그럼 우선 aws sdk를 설치하여야 한다.1npm i aws-sdk --savecs 그리고 AWS IAM에서 생성한 사용자가 있어야 한다. 사용자는 S3에 대한 권한을 가지고 있어야 한다. 사용자를 생성하고 권한을 부여하는 기능은 어렵지 않기때문에 검색해서 적용하면 된다. 그리고 해당 사용자를 생성하면 csv 파일로 secretkey를 받을 수 있다. 이를 AWS S3에 접근하여 사용하기 위해서 사용된다. 기본 정보가 담긴 config.json 생성 우선 부여 받은 사용자 accessKeyId와 secr..

    swagger api 보안 oauth2 설명

    swagger ui 페이지가 아무에게나 노출되면 보안에 문제가 발생할 수 있다. 그래서 swagger 사용시에 접속권한이 있는 사용자만 접근 가능하도록 해야한다. 그 인증 방식중에는 여려가지 방식이 있는데 그 중 Oauth2 방식을 사용하는 법을 살펴보자. 우선 기본적인 swagger 설정이 되어 있어야 하고 그 부분은 이 곳에서 살펴보자. https://rokking1.blog.me/221349422825?Redirect=Log&from=postView 해당 링크에 들어가서 보면 swagger.js에 정의했었던 SwaggerDefinition을 보면 필요한 정보들을 입력하는데 보안을 적용하기 위해서 이 옵션 중에 가장 상위에 Security Definitions와 Security Requirements..

    백준 4936 - 섬의개수

    결국은 순회하면서 하는 DFS를 했는데 다음번에는 DP 또는 그래프 문제를 좀 많이 풀어 보고 싶다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126import java.util.*; public class Main { public static void main(String[..

    엘라스틱 서치 (elasticsearch) fielddata

    엘라스틱 서치에서 aggregations를 사용하여 text 필드를 그룹화 하려고 했다. 하지만 이런 오류와 함께 사용이 되질 않았다.12Fielddata is disabled on text fields by default. Set fielddata=true on [your_field_name] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory.cs 그래서 엘라스틱 서치 문서를 살펴보던 중 text 필드에 fielddata에 대해 알게 되었다. 대 부분의 필드 들은 기본적으로 자신의 필드가 검색가능하도록 인덱스 처리가 된다. 그러기 위해서..

    elasticsearch percolating 쿼리

    엘라스틱 서치에서 일반적인 검색 기능은 특정 인덱스에 문서를 저장하고, 쿼리에 매칭되는 문서를 불러오는 방식으로 수행된다. 하지만 percolating 쿼리 방식은 그 반대로 동작한다. 쿼리를 사전에 저장하고, 새로 유입된 문서가 매칭되는 쿼리가 있는지 확인해 매칭되는 쿼리를 반환한다. 업무적으로 필요한 기능이어서 알아보던 중 알게되어서 정리해본다. https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-percolate-query.html 인덱스 생성아래 인덱스생성에 보면 두 가지 필드를 볼 수있다. 먼저 message 필드는 percolator에서 정의된 문서를 임시 인덱스로 인덱싱하기 전에 사전 처리하는 데 사용되는 필드이..

반응형