우주먼지
Stored Procedure
Database/SQL 2023. 3. 28. 22:16

💡 Stored Procedure 쿼리문들의 집합으로, 어떤 동작을 여러쿼리를 거쳐 일괄적으로 처리할 때 사용한다. 만들어놓은 SQL문을 저장하고 필요할 때마다 호출해서 사용하는 방식이다. 사용이유 성능 향상 SP를 처음 실행하면 최적화, 컴파일 단계르 거쳐 결과가 캐시에 저장된다. 이후 해당 SP를 실행하면 캐시에 있는 쿼리를 가져와 사용하므로 속도가 빠르다. 그렇기 때문에 일반 쿼리를 반복하는 것보다 SP를 사용하는게 성능 측면에서 좋다. 유지보수 및 재활용 C#, Java 등으로 만들어진 프로그램에서 직접 SQL 쿼리를 호출하지 않고, SP 이름을 호출하도록 설정하는 경우가 많다. 이 때, 개발자는 수정사항 발생 시 코드 내 SQL문을 건드리는게 아니라 SP 파일만 수정한다. 즉 한번 SP를 생성해..

SQL Operators
Database/SQL 2023. 3. 28. 22:15

💡 Operator SQL에는 다양한 연산자가 있다. 산술연산자, 비트연산자, 비교연산자, 논리연산자등 대부분 프로그래밍의 연산자와 비슷하다. SQL 산술연산자 Operator Description Example + Add Try it - Subtract Try it * Multiply Try it / Divide Try it % Modulo Try it SQL 비트 연산자 Operator Description & Bitwise AND | Bitwise OR ^ Bitwise exclusive OR SQL 비교 연산자 Operator Description Example = Equal to Try it > Greater than Try it = Greater than or equal to Try it

Null Functions
Database/SQL 2023. 3. 28. 21:42

💡 Null Function Null 함수엔 IFNULL(), ISNULL(), COALESCE(), NVL() 등이 있다. IF NULL은 해당 값이 Null일 경우 대체값을 설정해 그 값으로 변환한다. COALESCE는 지정한 표현식들 중에 NULL이 아닌 첫번째 값을 반환한다. 기본 형식 IFNULL(), ISNULL() 자바의 Map 메서드인 getOrDefault() 와 비슷하며, IF와 IS NULL로도 Null 체크를 할 수 있다. SELECT IFNULL(Column명, "Null일 경우 대체 값") FROM 테이블명; SELECT IF(IS NULL(name), "No Name", name) as name FROM Animal_ins COALESCE 표현식은 여러 항목 지정이 가능하고, ..

Kotlin Basic Types
Languages/Kotlin 2023. 3. 26. 04:25

💡 Kotlin Basic Types 코틀린에서 모든것은 객체이다. (Nullable을 위함) 모든것의 멤버 함수나 프로퍼티를 호출 가능하다는 장점이 있다. 숫자형 Java와 거의 비슷하게 처리한다. Kotlin에서 Number는 클래스이다. Java는 Primitive Type에 직접 접근이 불가능하다. Java에서 숫자형이던 char는 Kotlin에서 숫자형이 아닌 문자형이다. Representation 자바 플랫폼을 사용할 경우 숫자형은 JVM Primitive Type으로 저장된다. Nullable이나 Generic의 경우에는 Boxing 되어 Object로 사용된다. Boxing된 경우, Identity를 유지하지 않는다. '==='는 equals와 같은 의미이다 fun 숫자형() { // JV..

Kotlin Basic Syntax
Languages/Kotlin 2023. 3. 26. 02:23

💡 Basic Syntax 코틀린 기본 문법에 대해 IntelliJ를 이용해 학습한다. 함수 정의 함수를 생성할 때 리턴 값이 없는 경우 java/dart에서는 void로 생성해 주면 되지만, kotlin에서는 Unit 이라는 형태로 생성해주거나 아무 것도 넣어주지 않으면 된다. 리턴 값이 있는 경우에는 리턴 타입을 넣어주면 된다. /* ----- 함수 정의 ----- */ // 함수 바디가 식(Expression)인 경우 reutrn문 생략가능, return Type이 추론됨 fun sum(a: Int, b: Int) = a+b // Java의 void역할을 하는 리턴 타입이 없는 Unit(Object)이 있으며, Unit은 생략이 가능하다. fun print1(): Unit { println("Kot..

Try-With-Resource
Languages/Java 2023. 3. 25. 07:19

💡 Try-With-Resource JDK 1.7 부터 try-catch의 변형인 try-with-resources가 추가되었다. 주로 입출력에 필요한 클래스들 중 사용 후 닫아줘야 하는것들을 자동으로 닫아준다. 그래야 사용했던 자원(resources)가 반환되기 때문이다. 아래 예시는 DataInputStream을 이용해 파일로부터 데이터를 읽는 코드이다. 데이터를 읽는 도중 예외가 발생하더라도 Stream이 닫히도록 finnaly 안에 close()를 넣었다. 별 문제가 없어 보이는 코드지만 진짜 문제는, close()가 예외를 발생시킬 수 있다는데 있다. try { fis = new FileInputStream("score.dat"); dis = new DataInputStream(fis); } c..

Multi Catch Block
Languages/Java 2023. 3. 25. 07:18

💡 멀티 Catch 블럭 JDK 1.7부터 여러개의 catch 블럭을 '|'를 이용해 하나의 catch 블럭으로 합칠 수 있게 되었다. 중복 코드를 줄일 수 있으며, '|' 기호로 연결할 수 있는 예외 클래스의 개수는 제한이 없다. try { ... } catch (ExceptionA | ExceptionB e) { e.printStackTrace(); } // 상위, 하위 클래스가 | 기호와 같이 있다면 에러가 발생한다. try { ... } cathc (ParentException | ChildException) { // 에러 ... } 멀티 catch 블럭은 하나의 블럭으로 여러 예외를 처리하는 것이기 때문에, 발생한 예외를 처리할 때 실제로 어떤 예외가 발생한 건지 알 수 없다. 그래서 참조변수 ..

검색 태그