전체 글

    Java란?

    목차 1) 프로그래밍이란? 2) Java를 왜 쓰는걸까? 3) Java 실행 과정 4) Java 코드의 구조 1) 자바 프로그램의 골격과 구성 1) 프로그래밍이란? 컴퓨터 프로그램 만드는 일을 프로그래밍(programming) 이라 하고, 프로그램 만드는 사람을 프로그래머(programmer)라고 한다. 프로그래밍을 한다는 것은 컴퓨터가 일을 하도록 컴퓨터 언어로 명령을 만들고 컴퓨터로 하여금 그 명령을 실행하게 하는것을 말한다. 프로그램을 만든 후 프로그래밍 언어 문법에 잘 맞는지 확인하고, 컴퓨터가 이해할 수 있는 언어로 번역해야 한다. 이 과정을 컴파일(compile)이라 말하며 컴파일 작업을 하는 프로그램을 컴파일러(compiler)라고 한다. 즉 우리가 말하는 프로그램 이란 프로그램에 들어 있는..

    Typora - 마크다운 편집기를 소개합니다.

    깃허브 에서 README 부분을 깔끔하게 작성하려고 하는데, 다른사람들의 README는 예쁘고 깔끔한데 대체 어떻게 작성한거지? 하고 찾아보다가.. README.md 에서의 파일명 md가 Markdown의 약자인걸 알게되었다. 마크다운 작성법에 대해서는 여기 가 제일 깔끔하고 잘 설명되어있다. 위의 작성법을 보고 그대로 작성해도 깃허브 리드미 수정할때에 Preview changes 를 보면서 작성을 해도 좋지만, 바로바로 어떻게 적용이 되는지 보여주는 편집기를 추천하고자 한다. Typroa 마크다운 문법에 맞춰 작성하면 서식이 바로 적용되어 보여진다. 마크다운 문법 뿐 아니라 기존의 잘 알려진 단축키를 통해서도 서식을 적용 할 수 있다. 무료 맥, 윈도우즈, 리눅스용 가능하다. 별다른 요구사항 없이 다운..

    [leetcode] 860. Lemonade Change

    ❗❗ 해당 문제는 JAVA 로 풀었습니다. http://leetcode.com/problems/lemonade-change/ 문제 레모네이드 판매대에서, 레모네이드 한 개당 가격은 5달러입니다. 고객들은 당신에게서 구입하기 위해 줄을 서서, 한 번에 하나씩 주문합니다(bills 순서대로). 각 고객은 레모네이드를 한 개만 구입하고 5, 10달러 또는 20달러 지폐로 지불합니다. 각 고객에게 올바른 거스름돈 을 제공해야만 고객이 5달러를 지불하게 됩니다. 처음에는 가지고 있는 잔돈이 없습니다. 모든 고객에게 올바른 거스름돈을 제공할 수 있는 경우에만 true로 반환하세요. 예시 Example 1: Input: [5,5,5,10,20] Output: true Explanation: From the first..

    Every derived table must have its own alias

    공부하다가 머리 식힐겸 프로그래머스 에서 풀었던 SQL 테스트들을 MySQL로 풀던 도중 재미있던 점을 공유하고자 한다. 바로 서브쿼리를 사용하는데 기존 Oracle로 작성했다가 Every derived table must have its own alias 라는 오류가 나왔다. 서브쿼리에 alias(이름)이 지정되지 않았기 때문. 해결 방법은 간단하다. 💡 서브쿼리에 alias(이름)을 지정해주면 된다. ERROR SELECT COUNT(*) FROM (SELECT DISTINCT NAME FROM ANIMAL_INS WHERE NAME IS NOT NULL); SOLUTION SELECT COUNT(*) FROM (SELECT DISTINCT NAME FROM ANIMAL_INS WHERE NAME I..

    트랜잭션(Transaction) 이란?

    트랜잭션(Transaction) 하나의 단위로 수행되길 바라는 쿼리의 묶음 논리적인 작업 단위 여러 가지 DML작업들을 하나의 단위로 묶어 둔 것 해당 트랜잭션 내에 있는 모든 DML이 성공해야 해당 트랜잭션이 성공하는 것이고 만약 1개의 DML이라도 실패하면 전체가 실패하게 된다. ✅ 은행에서 계좌 입,출금(송금)과 같은 개념 은행에서는 송금 자체를 하나의 트랜잭션(거래)로 보고 A통장에서 출금한 돈이 B통장에 정확히 입금히 확인되면 그 때 거래를 성사시키고(commit) 네트워크 장애로 인해 출금만 발생하고 입금이 되지 않았을 경우에는 이를 모두 취소(rollback)하게 된다. 💡 Commit 트랜잭션 내의 작업의 결과를 확정하는 명령어 메모리 상에서 변경된 내용을 데이터 파일에 반영. 💡 Roll..

    [Oracle] 프로그래머스 - 입양 시각 구하기(2)

    programmers.co.kr/learn/challenges 입양 시각 구하기(2) 문제설명 ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 종, 입양일, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE NAME VARCHAR(N) TRUE SEX_UPON_OUTCOME VARCHAR(N) FALSE 보호소에서는..

    PL/SQL (3) 트리거

    본 포스팅은 Oracle 11g를 이용하고있으며, Tool은 Toad for Oracle 13.4 를 이용했습니다. 트리거 🔎 insert, update, delete의 DML문이나 DDL문의 실행을 데이터베이스에서는 특정 이벤트가 발생되었다고 하는데, 이런 이벤트가 발생하면 자동으로 정해진 동작 을 실행하는 데이터베이스 객체를 트리거라고 함 서브 프로그램 단위의 하나인 트리거는 테이블, 뷰, 스키마 또는 데이터베이스에 관련된 PL/SQL 블록(또는 프로시저)으로 관련된 특정 사건(event)이 발생될 때마다 자동으로 해당 PL/SQL 블록이 실행 된다. 사전적인 의미로 보자면 방아쇠 를 뜻하는데, 방아쇠를 당기는 이벤트가 발생하면 총알이 발사된다는 의미처럼 오라클에서도 어떤 이벤트가 발생할 경우 연관된..

    PL/SQL (2) 저장프로시저, 커서, 함수

    본 포스팅은 Oracle 11g를 이용하고있으며, Tool은 Toad for Oracle 13.4 를 이용했습니다. PL/SQL 서브 프로그램 💡 데이터베이스 객체로 저장해서 필요할 때마다 호출하여 사용할 수 있는 PL/SQL 블록 익명블록과 달리 저장하여 공유할 수 있으므로 메모리, 성능, 재사용성 등의 장점이 있다. 프로시저 : 결과값을 반환하지 않는다. SQL문에서 사용 할 수 없다. 함수 : 리턴 값을 반드시 반환해야 하는 프로그램, SQL문에서 사용 가능 하다. 패키지 : 하나 이상의 프로시저, 함수, 변수, 예외 등의 묶음 트리거 : 지정된 이벤트가 발생하면 자동으로 실행되는 PL/SQL 블록 저장 프로시저 매개 변수를 받을 수 있고, 반복해서 사용할 수 있는 이름이 있는 PL/SQL 블록 연..