들어가기 전에 기본적으로, Apple Silicon(ARM 아키텍처를 사용해 애플이 설계한 프로세서)이 적용된 M1 맥북(M1 pro 포함)의 경우 oracle database 설치가 불가능합니다. 따라서, M1 맥북 사용자라면 로컬이 아닌 외부에 ORACLE 데이터베이스를 구성하시어 사용하시길 바랍니다. 이번 포스팅에서는, 사내에서 사용하고 있는 Oracle Database 버전인 Oracle Database 11g를 설치하는 법에 대해 알아보고자 합니다. 추가적으로, SQLPlus 실행과 Datagrip에서 Oracle Database에 접근하는 방법도 알아보겠습니다. 또한, Oracle Database 실습을 위한 학습용 계정인 SCOTT 계정 생성까지 진행해보도록 하겠습니다. 만약, Oracle ..
들어가기 전에 이 포스팅은 오라클로 배우는 데이터베이스 입문(이지훈 저)을 읽으면서 기억하고자 하는 내용 및 추가적으로 알아본 내용을 담았습니다. 책 전체 내용을 보시고 싶으신 분은 책을 구매하시어 읽어보시길 바랍니다. 데이터베이스 데이터베이스란, 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터 집합입니다. 데이터베이스 개념이 등장하기 전에는 주로 파일 시스템 방식을 사용하여 데이터를 관리하였습니다. 파일 시스템은 서로 다른 여러 응용 프로그램이 제공하는 기능에 필요한 데이터를 각각 저장하고 관리합니다. 이때, 각 응용 프로그램에서 사용하는 데이터는 서로 연관이 없기 때문에, 중복 또는 누락이 발생할 수 있습니다. 특히, 데이터가 점점 복잡해지고 거대해지면 응용 프로그램이 각각 데이..
하나의 쿼리로 여러 row update하는 법 update table_name as tb set column1 = data.column1, column2 = data.column2 from (values (1, 'column1_a', 'column2_a'), (2, 'column1_b', 'column2_b') ) as data(id, column1, column2) where 1 = 1 and tb.id = data.id values에 ()로 구분하여서 데이터 row를 넣어주고, 각 row의 컬럼이 어떤 컬럼을 의미하는지 넣어주면 됩니다.
if 조건식Syntax: if (condition) { ... }Context: server, locationNGINX의 if 조건식에서는 condition 부분에 여러 가지가 올 수 없고 한 가지 조건만 가능합니다.if 조건식 내 condition변수 이름을 넣어 해당 변수가 빈 문자열이거나 0이면 false로 간주합니다.=나 != 연산자를 사용하여 변수를 문자열과 비교합니다.~ 및 ~* 연산자를 사용하여 정규 표현식에 대해 변수가 일치하는지 비교합니다.!~ 및 !~*은 정규 표현식에 대해 변수가 일치하지 않는지 비교합니다.-f 및 !-f 연산자로 파일 존재를 확인합니다.-d 및 !-d 연산자로 디렉토리 존재를 확인합니다.-e 및 !-e 연산자를 사용하여 파일, 디렉토리 및 심볼릭 링크 존재를 확인합니..
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법을 통해 신용정보를 전송할 의무가 있습니다. 마이데이터 사업자는 금융위원회를 통해 허가 받은 이들이며, 고객 동의하에 고객의 개인신용정보를 수집할 수 있습니다. 정보 제공 시의 데이터 흐름은 금융보안원에서 정의한 마이..