ArrayList 객체 생성 및 초기화(기본형) List arr = new ArrayList(); arr.add(1); arr.add(2); arr.add(3); ArrayList 한 줄로 초기화 List arr = new ArrayList(Arrays.asList(1,2,3)); ArrayList의 constructor를 이용하면 추후 Arrays.asList를 통해 만들어진 리스트에 값을 추가할 수 있습니다. List arr = Arrays.asList(1, 2, 3); Arrays.asList()로 생성한 리스트는 값을 추가할 수 없습니다. 만약 위와 같은 경우에 arr.add(4);를 하게 되면 하기와 같은 runtime error가 발생합니다. ArrayList 중괄호 초기화 List arr =..
분류 전체보기
length 배열의 길이를 알고자 할 때 사용 String[] cars = {"Volvo", "BMW", "Ford", "Mazda"}; System.out.println(cars.length); // Outputs 4 length() String과 관련된 객체의 길이를 알고자 할 때 사용 - String, StringBuilder .. String txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; System.out.println("The length of the txt string is: " + txt.length()); size() Collection 객체의 길이를 알고자 할 때 사용 - ArrayList, Set .. List cars = new ArrayList(); cars.si..
들어가기 전에 이번 포스팅은 mutual TLS에 대해 간단하게 알아보고자 합니다. mutual TLS를 알아보기 전에 TLS에 대해 먼저 알아보겠습니다. SSL과 TLS? mutualTLS에 대해 알아보기 전에, SSL과 TLS에 대해 간단하게 살펴보도록 하겠습니다. SSL(Secure Sockets Layer, 보안 소켓 계층) SSL은 웹사이트와 브라우저(혹은 두 서버) 사이에 전송된 데이터를 암호화하여 인터넷 연결의 보안을 유지하는 표준 기술입니다. 이는 해커가 개인 정보 및 금융 정보를 포함한 전송되는 모든 정보를 열람하거나 훔치는 것을 방지합니다. TLS(Transport Layer Security, 전송 계층 보안) TLS은 현재는 deprecated된 SSL을 계승하는 보다 더 강력한 보안..
들어가기 전에 이번 포스팅에서는 마이데이터 서비스를 정보제공자로 구축시 알아야 하는 부분에 대해 정리해보고자 합니다. 하기 포스팅은 koscom을 중계기관으로 하여 정보제공자로써 세팅한 내용 위주로 포스팅되었습니다. 마이데이터 생태계 마이데이터 생태계는 아래 그림과 같이 표현할 수 있습니다. 고객은 정보제공자의 금융서비스에 있는 본인의 개인신용정보를 본인 동의를 통해 마이데이터 사업자가 수집할 수 있도록 합니다. 정보제공자는 기존에 개인신용정보를 보유하고 있는 금융기관 등이며 마이데이터 3법을 통해 신용정보를 전송할 의무가 있습니다. 마이데이터 사업자는 금융위원회를 통해 허가 받은 이들이며, 고객 동의하에 고객의 개인신용정보를 수집할 수 있습니다. 정보 제공 시의 데이터 흐름은 금융보안원에서 정의한 마이..
들어가기 전에nginx에서 주로 사용되는 reverse proxy 기능과 함께 reverse proxy와 forward proxy간 차이점에 대해 알아보고자 합니다. ProxyProxy는 클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터 시스템이나 응용 프로그램을 가리킵니다.서버와 클라이언트 사이에 중계기로서 대리로 통신을 수행하는 것을 proxy라고 합니다. Proxy 서버 구축 목적Speed: proxy 서버는 사용자의 요청을 캐싱하여 동일한 요청이 들어올 경우 캐시된 자원을 반환할 수 있습니다.ACL: 사이트 접근에 대한 접근 정책을 정의할 수 있습니다.Security: 중요한 일을 하는 내부 서버에 직접 익명의 사용자가 접근하는 것을 막을 수 있습니다.For..
들어가기 전에 하기 내용은 구글링과 기존에 알고 있던 부분을 토대로 tomcat JDBC connection pool 속성에 대해 정리한 글입니다. Tomcat JDBC Connection Pool 설정 아래 표는 tomcat7 기준 tomcat JDBC Connection pool 속성에 대한 설명입니다. 버전에 따라 default 값이 상이할 수 있습니다. 속성 이름 설명 factory tomcat JDBC를 사용할 경우, org.apache.tomcat.jdbc.pool.DataSourceFactory로 설정(내부적으로 상속 tomcat JDBC를 상속 받은 custom을 설정할 수도 있음) initialSize BasicDataSource 클래스 생성 후 최초로 getConnection() 메소드..
들어가기 전에 기존에는 아래와 같이 AWS Beanstalk을 사용하여 개발용 SpringBoot(Backend)을 관리하였고, DB는 AWS RDS를 이용하였습니다. AWS 초심자다보니, 운영 어플리케이션을 AWS에 올리기 전에 미리 AWS를 사용해보자는 취지로 위와 같은 구조로 진행했었습니다. 하지만, 비용 이슈로 인해 개발용은 각자 로컬에서 띄우는 것이 맞다는 생각이 들었습니다. 이에 docker-compose를 통해 SpringBoot와 DB를 하나로 묶어서 띄워서 테스트할 수 있는 환경을 구성해 보았습니다. Front-End에서 Back-End 어플리케이션을 띄워 API 테스트가 필요했던 터라, docker-compose로 어플리케이션과 DB를 함께 묶어 손쉽게 테스트를 진행할 수 있도록 했습니..
들어가기 전에 하기 포스팅은 일반적으로 많이 사용하는 Google SMTP나 Naver SMTP 서버가 아닌 따로 구성된 SMTP 서버를 통해 email을 전송하는 법에 대해 다룹니다. 사내 SMTP 서버의 경우 relay server이기 때문에, postfix의 mynetworks 변수로 관리되는 IP를 통해 email이 전송된다면 따로 username/password가 필요하지 않습니다. 이로 인해, Google SMTP 또는 Naver SMTP를 통해 email을 전송하기 위해서는 application.yml과 같은 설정 파일 내 추가 설정이 필요할 수 있습니다. 이 점 고려하시고 봐주시길 바랍니다. SpringBoot를 이용한 Email 전송하기 Dependencies 추가하기 먼저, Spring..