coding-factory의 등록된 링크

키자드에 등록된 총 1000개의 포스트를 확인하실 수 있습니다.

Tistory

[Java] 자바 컬렉션 프레임워크(List, Set, Map) 총정리

컬렉션 프레임워크란? 배열을 사용하다 보면 여러가지 비효율적인 문제가 생깁니다. 가장 큰 문제점은 크기가 고정적이라는 것입니다. 배열의 크기는 생성할 때 결정되며 그 크기를 넘어가게 되면 더이상 데이터를 저장할 수 없습니다. 또 데이터를 삭제하면 해당 인덱스의 데이터는 비어있어 메모리가 낭비되는 등 여러 문제점들이 발생합니다. 그렇기에 자바는 배열의 이러한 문제점을 해결하기 위해, 널리 알려져 있는 자료구조를 바탕으로 객체나 데이터들을 효율적으로 관리(추가, 삭제, 검색, 저장)할 수 있는 자료구조들을 만들어 놓았습니다. 이러한 자료구조들이 있는 라이브러리를 컬렉션 프레임워크라고 합니다. 대표적으로는 List, Set, Map, Stack, Queue 등이 있습니다. List 컬렉션 컬렉션 프레임워크를 ..

Tistory

[Java] String, StringBuffer, StringBuilder의 차이점과 사용이유

자바에서는 문자열을 다루는 클래스로 String, StringBuffer, StringBuilder이라는 3가지 클래스가 있습니다. 위 3가지 클래스는 모두 문자열을 저장하고 관리하는 클래스이며 각 클래스 간에는 조금의 차이가 있습니다. String과 StringBuffer, StringBuilder의 차이점 String 객체는 한번 생성되면 할당된 공간이 변하지 않지만 StringBuffer나 StringBuilder의 경우 객체의 공간이 부족해지는 경우 버퍼의 크기를 유연하게 늘려줍니다. 이러한 특징을 일컬어 String은 불변(immutable)하고 StringBuffer와 StringBuilder는 가변(mutable)하다라고 합니다. StringBuffer와 StringBuilder의 차이점 S..

Tistory

[Java] 래퍼 클래스(Wrapper Class)란 무엇인가? (박싱, 언박싱)

래퍼 클래스란(Wrapper Class)? 자바의 자료형은 크게 기본 타입(primitive type)과 참조 타입(reference type)으로 나누어집니다. 대표적으로 기본 타입은 char, int, float, double, boolean 등이 있고 참조 타입은 class, interface 등이 있는데 프로그래밍을 하다 보면 기본 타입의 데이터를 객체로 표현해야 하는 경우가 종종 있습니다. 이럴 때에 기본 자료타입(primitive type)을 객체로 다루기 위해서 사용하는 클래스들을 래퍼 클래스(wrapper class)라고 합니다. 자바는 모든 기본타입(primitive type)은 값을 갖는 객체를 생성할 수 있습니다. 이런 객체를 포장 객체라고도 하는데 그 이유는 기본 타입의 값을 내부에..

Tistory

[Java] 자바 배열을 복사하는 다양한 방법 (깊은복사, 얕은복사)

자바에서 객체를 복사하는 유형으로 깊은 복사와 얕은 복사가 있습니다. 깊은 복사의 경우 객체의 실제값을 새로운 객체로 복사하는 것이고 얕은 복사는 단순히 객체의 주소 값만을 복사하는 것입니다. 이 두가지 방식은 각각의 장단점이 있습니다. 먼저 얕은 복사의 경우 여러 객체가 같은 주소를 참조하기 때문에 하나의 값을 변경해버리면 다른 대상의 값 또한 바뀌어 버리는 문제 등이 발생합니다. 하지만 깊은 복사의 경우 실제로 대상이 두개가 생기므로 이러한 문제에서는 자유로울 수 있겠습니다. 반대로 메모리 측면에서 본다면 한 객체로 할 수 있는 일은 하나로 끝내는것이 좋습니다. 쓸데없이 두개 세개가 되면 그야말로 메모리 측면에서 본다면 비효율적이게 됩니다. 이렇듯 얕은 복사로 객체가 복사된다면 실제로는 하나의 주소 ..

Tistory

[내돈내산] 아이패드 에어 3세대 + 애플펜슬 사용 후기

오늘은 얼마전 친동생이 구매한 아이패드 에어 3세대를 리뷰해보려 합니다. 동생이 전자기기에 큰 관심이 없는 줄 알았는데 뜬금없이 산다고 해서 조금 의외였습니다. 동생의 취미생활은 유튜브 & 넷플릭스, 트위치 같은 영상 시청인데 아무래도 작은 핸드폰 화면으로 장시간 시청하기에는 무리가 있다고 생각한 듯합니다. 실제로 동생 아이패드를 몇 번 써보니 침대에서 영상 같은 것 보는 목적이라면 제가 가지고 있는 노트북 그램보다 아이패드가 훨씬 보기 편했습니다. 부가적으로 공부와 노트필기를 주로 하시는 분이라면 노트북보다 아이패드를 구매하여 필기를 하는 것도 좋습니다. 제 동생은 그렇게 하더라고요. ※ 아이패드 에어는 아래 링크에서 쿠팡 최저가로 구매하실 수 있습니다. 아이패드 에어의 장점 1. 가벼운 무게와 큰 화..

Tistory

[내돈내산] 삼성 갤럭시 탭 S6 사용 후기

오늘은 갤럭시 탭 S6 사용후기에 대해 포스팅해보려 합니다. 갤럭시 탭 S6는 2019년 7월에 삼성에서 공개한 태블릿 PC이며 갤럭시 탭 S 시리즈의 여섯 번째 모델입니다. iOS에 아이패드가 있다면 안드로이드에는 삼성 갤럭시탭 시리즈가 대표라고 할 수 있습니다. 세계 태블릿PC 점유율에도 애플이 1위 삼성전자가 2위를 하고 있습니다. 갤럭시 탭의 판매율이 많이 떨어지긴했지만 애플대비 저렴한 가격으로 충분히 매리트가 있다고 생각됩니다. 국내 시장만 보면 거의 반반인 것 같습니다. ※ 갤럭시탭 S6은 아래 링크에서 쿠팡 최저가로 구매하실 수 있습니다. 삼성 갤럭시 탭 S6 사용 후기 갤럭시 S6의 전면 사진은 위와 같습니다. 적당한 크기도 좋고 개인적으로 버튼이 하나도 없는 풀스크린이 가장 마음에 듭니다..

Tistory

[내돈내산] 샤오미 스마트 쓰레기통(Townew) 2세대 구매 및 사용 후기

저는 이때까지 쓰레기통 자체를 사용하지 않고 생활해왔습니다. 쓰레기통을 사용한다는 것은 쓰레기를 오랫동안 방안에 보관하고 있다는 것인데 쓰레기들에서 나는 각종 악취와 쓰레기통 주변에 묻는 이물질들이 비위생적이다 생각하여 쓰레기가 생기면 그때그때 버려버리고, 쓰레기의 양이 많으면 편의점이나 마트등에서 장을 보고 난 뒤 생기는 봉투나 박스를 일회용 쓰레기통으로 삼아 쓰레기를 담고 한 번에 버려버리는 방식으로 오랫동안 생활해왔었습니다만 얼마 전 샤오미 스마트 쓰레기통을 리뷰하는 유튜브 영상을 보니 샤오미 스마트 쓰레기통은 제가 생각했던 쓰레기통의 단점들, 쓰레기에서 나는 냄새와, 이물질 등을 최소한으로 줄여주는 쓰레기통이라고 생각되어 한번 써볼까? 싶어 구매를 결정하였습니다. 오늘은 제가 올해 초 구매하여 4..

Tistory

[내돈내산] 삼성 갤럭시 버즈 플러스(블루) 구매 및 사용 후기

얼마 전 제가 잘 사용하고 있었던 저의 무선 이어폰 갤럭시 버즈를 분실하고 말았습니다. 갤럭시 버즈를 굉장히 만족하면서 사용하였었기에 재구매를 하려 했는데 갤럭시 버즈의 개선작인 갤럭시 버즈 플러스가 나왔더군요. 가격은 갤럭시 버즈보다 약 2~3만 원 정도 더 비싸기는 하지만 이미 샀었던 것을 또 사기도 그렇고 성능상으로 얼마나 개선되었을까 하는 궁금증에 갤럭시 버즈 플러스를 구매하게 되었습니다. ※ 갤럭시 버즈 플러스는 아래 링크에서 쿠팡 최저가로 구매하실 수 있습니다. 갤럭시 버즈 플러스 색상 선택 갤럭시 버즈 플러스는 위의 사진과 같이 블랙, 화이트, 블루, 레드 이렇게 4가지 색상이 있습니다. 무난하게 쓸것이라면 검은색 혹은 흰색같이 무채색을 추천드리지만 (무채색이 옷과 매치가 잘됩니다.) 저는 ..

Tistory

[자유여행] 경상남도 통영 여행 후기 (통영 케이블카, 전망대, 통영 수산시장)

2020년 있었던 4월 30일 ~ 5월 5일까지의 황금연휴, 기나긴 연휴를 그냥 보내기 아쉬워 떠난 통영으로의 1박 2일 힐링여행 통영 여행으로 가는 기나긴 여정이다. 부산에서 거가대로를 타면 금방 갈 줄 알았는데 생각보다 굉장히 멀었다. 연휴라서 그런지 놀러 가는 차들도 많아 차까지 막히더라. 오전에 출발했음에도 불구하고 하마터면 깜깜한 밤에 도착할뻔했다. 통영으로 가는길의 거가대로에서 찍었던 사진들 부산을 먹여살리는 항만도 구경하고 해안도로의 길이 멋있어 지루하지 않았다. 통영에 도착하자마자 숙소로 가서 짐부터 풀었다. 이곳이 나의 고등학교 친구들 4명과 함께 하룻동안 머물 숙소이다. 호텔급은 아니지만 생각보다 저렴한 가격에 넓고 깔끔해서 만족했다. 숙소 베란다에서 찍은 주변 풍경. 멀리 바다도 보이..

Tistory

[자유여행] 대구 이월드 여행 후기 (대구 갈만한 곳)

연휴 마지막 날, 5월 5일 어린이날 갔었던 대구 이월드, 놀이공원을 좋아하지는 않지만 대구에서 가볼만한 곳이 이월드밖에 없었다. KTX를 탈 수 있는 동대구역에서 이월드까지 지하철로 30분정도 걸린다. 대구 지하철에는 사회적 거리두기를 위해 좌석을 한 칸씩 비워서 앉을 수 있게 해 놓았더라. 지금은 잠잠해서 다행이지만 코로나가 한창 유행했을 때는 정말 정말 무서웠을 것 같다. 이월드 도착 위 사진은 이월드 정문의 모습이다. 나는 놀이기구보다는 전망대를 가보고싶어 전망대로 바로 직행했다. 전망대 관람을 앞두고 먹었던 파스타와 치킨 배가 고파서인지 정말 맛있었다. 맛있는건 맛있는거고 코로나 때문에 전망대는 운영을 안 하더라. 정말 눈물이었다. 아쉬운 대로 바라본 전망대 밑에서의 대구 전경, 전망대에서 봤으..

Tistory

[자유여행] 인천 차이나타운 여행 후기 (연경, 자유공원)

일상을 바쁘게 살면서 여유가 없던 시점 코로나가 조금 잠잠해진 틈을 타 다녀온 인천여행! 본래 1박 2일로 계획되어 있었던 여행이지만 피치 못할 사정으로 당일치기 여행이 되어버린 아쉬운 여행... 구글 맵 타임라인으로 본 인천 여행 뚜벅이인 나로서는 최선의 여행지였다. 총 지하철은 1시간 50분, 도보로는 1시간 22분을 걸었다고 기록이 나온다. 더 많이 걸었던 것 같은데 나의 착각이었나? 인천역에서 내리면 차이나타운까지 바로갈수도 있겠지만. 서울에서 인천으로 가는 급행열차가 동인천역까지만 간다고 하여 지하철을 갈아타기보다는 날씨도 좋은데 한번 걸어서 가보기로 했다. 가는 길에 겸사겸사 자유공원도 보고 그게 더 기억에 남을 것 같았다. 하늘색 라인선이 오늘 내가 걸었던 코스이다. 걸어가는 길이 예상과는 ..

Tistory

[자유여행] 인천 송월동 동화마을 여행 후기

인천 차이나타운 바로 옆에 있던 아름다운 벽화의 송월동 여행후기 귀찮지만 이렇게라도 써놔야 나중에 잊어버리지 않는다. 위치는 위와 같다. 인천역에서 내리면 금방 갈 수 있다. 차이나타운과 송월동 거리 사이에 있던 동화마을 입구 별도의 입장료나 입장 시한 같은 것은 없으니 마음 편하게 구경하면 된다. 동화마을에서 찍었던 사진들. 사진찍으러 가기 정말 괜찮은 여행지이다. 벽화만 잘 그려도 오래된 집들이 환골탈태한다. 벽화를 그리는데 그렇게 큰 가격이 들지는 않을 텐데. 관광으로 창출하는 부가가치가 어마어마할 것이다. 아이디어가 정말 좋은 것 같다. 부산에서 살았을때 종종 갔었던 감천문화마을이 생각나는 곳이었다. 잭과 콩나무. 빵댕이가 너무 귀여워서 찍었다. 무심코 하늘을 바라봤다. 익룡이 있어서 굉장히 놀랬..

Tistory

[Java] 문자열 길이 구하기, 제한하기 length()

자바에서 배열의 길이를 구하고 싶을떄는 length()이라는 메소드를 사용합니다. length() 메소드는 Static으로 이루어져 있어 Import나 클래스 선언 없이 바로 사용이 가능합니다. 문자열 길이 구하기 public class len { public static void main(String[] args) { String s = "abcdefg"; int s_len = s.length();//길이 구하기 System.out.println("문자열길이 : " + s_len); } } length() 메소드는 문자열의 길이를 리턴해줍니다. 문자열 길이 제한하기 import javax.swing.JOptionPane; public class len { public static void main(St..

Tistory

[Java] 문자열 비교하기 == , equals() 의 차이점

Java에서 int와 boolean과 같은 일반적인 데이터 타입의 비교는 ==이라는 연산자를 사용하여 비교합니다. 하지만 String처럼 Class의 값을 비교할때는 ==이 아닌 equals()라는 메소드를 사용하여 비교를 합니다. equals와 == 은 어떤 차이점이 있을까요. String 변수 생성시 주소할당 String변수를 생성할때는 두가지 방법이 있습니다. 1. 리터럴을 이용한 방식 2. new 연산자를 이용한 방식 위의 두 가지 방식에는 큰 차이점이 있습니다. 리터럴을 사용하게 되면 string constant pool이라는 영역에 존재하게 되고 new를 통해 String을 생성하면 Heap 영역에 존재하게 됩니다. String을 리터럴로 선언할 경우 내부적으로 String의 intern() ..

Tistory

[일상] 양산 덕계동 두산위브 이사 후기

평생을 금정구 특히 남산동의 한 주택에서 20여년을 살아오다 얼마 전 양산 덕계동에 있는 신축 아파트로 이사를 했다. 나는 이제 서울에서 살기는 하지만 가끔씩 부산에 내려왔을 때 깔끔한 건물에서 지낼 수 있다는 것은 매우 기분 좋은 일이다. 가족들이 이사한 아파트는 양산 덕계동 두산위브라는곳이다. 양산 덕계동은 부산과 울산이라는 두개의 대도시 사이에 있고 아파트 바로 옆에 부산과 울산을 가로지르는 7번 국도가 있어 차를 가지고 있다면 부산과 울산으로 15분 남짓한 시간으로 갈 수 있다. 부산과 울산과의 접근성이 좋다는 것이 가장 마음에 든다. 아직 발전할게 많아 보이는 양산 덕계동이다. 옆동네 정관신도시는 이제 발전할 만큼 다 발전해서 밤중에 지나가다 보면 불빛으로 휘황찬란하던데 조만간 덕계도 그렇게 되..

Tistory

[Java] 문자열 대소문자 변경 & 비교 (toUpperCase , toLowerCase)

자바에서 String타입 알파벳의 대문자 혹은 소문자로 통일하고 싶다면 String클래스의 toUpperCase와 toLowerCase를 사용하면됩니다. toUpperCase()와 toLowerCase() 메소드는 모두 정적이므로 Import나 클래스 선언 없이 바로 사용이 가능합니다. 대문자로 변경(toUpperCase) public class toUpperCase { public static void main(String[] args) { String target = "abcdefg"; //대상 문자열 target = target.toUpperCase(); //대문자로 치환 System.out.println(target); //출력 } } toUpperCase()메소드는 문자열을 모두 대문자로 바꾼 ..

Tistory

[Java] 문자열에 특정 문자 포함 / 검색하는 다양한 방법(indexOf, contains, matches)

프로그래밍을 하다보면 특정 문자열에서 원하는 문자가 포함되어 있는지 확인해야하는 소스를 넣을때가 종종 있습니다. 문자열을 찾는 방법은 String클래스의 indexOf(), contains(), matches()메소드를 활용하여 찾을 수 있습니다. 다만 그 용도에 따라서 3가지의 메소드가 조금 다릅니다. indexOf( ) ,contains( ),matches( )의 메소드의 사용용도 메소드 사용처 indexOf() 대상 문자열에서 찾고자 하는 문자의 index값을 찾고싶을때 contains() 대상 문자열에서 찾고자 하는 문자열이 포함되어있는지 여부를 알고 싶을때 matches() 대상 문자열에서 정규표현식(숫자, 영문자, 한글)등이 포함되어있는지 여부를 알고 싶을때 indexOf( )을 활용하여 문자..

Tistory

[Java] 자바 거듭 제곱 구하기 Math.pow()

자바에서 특정값의 제곱을 구하려면 java.lang.Math 클래스의 pow()메소드를 사용하면 됩니다. java.lang.Math 클래스는 수학 계산에 사용할 수 있는 메소드를 제공하고 있습니다. Math 클래스가 제공하는 메소드는 모두 정적이므로 Import나 Math클래스 선언 없이 바로 사용이 가능합니다. 거듭 제곱 구하기 Math.pow() public class Pow { public static void main(String[] args) { double result = Math.pow(5, 2); //5의제곱 System.out.println("5의 제곱은 : "+result); } } >Math.pow() 메소드는 입력값과 출력값은 모두 double형이며 Math.pow(대상숫자,지수)를..

Tistory

[Java] 자바 제곱근(루트) 구하기 Math.sqrt()

자바에서 특정값의 제곱근(루트)을 구하려면 java.lang.Math 클래스의 sqrt()메소드를 사용하면 됩니다. java.lang.Math 클래스는 수학 계산에 사용할 수 있는 메소드를 제공하고 있습니다. Math 클래스가 제공하는 메소드는 모두 정적이므로 Import나 Math클래스 선언 없이 바로 사용이 가능합니다. 제곱근(루트) 구하기 public class Sqrt { public static void main(String[] args) { double result = Math.sqrt(25); //25의 제곱근 System.out.println("25의 제곱근 : "+ result); } } Math.sqrt() 메소드는 입력값과 출력값은 모두 double형이며 Math.sqrt(대상숫자)를..

Tistory

[Java] 자바 정규 표현식 (Pattern, Matcher) 사용법 & 예제

정규표현식(Regular Expression)이란 컴퓨터 과학의 정규언어로부터 유래한 것으로 특정한 규칙을 가진 문자열의 집합을 표현하기 위해 쓰이는 형식언어 입니다. 개발을 하다보면 전화번호, 주민등록번호, 이메일등과 같이 정해져있는 형식이 있고 사용자가 그 형식대로 제대로 입력했는지 검증을 해야하는 경우가 종종 있습니다. 이런 입력값을 정해진 형식에 맞는지 검증해야 할 때에는 정규표현식을 사용하면 쉽게 구현할 수 있습니다. 자주 사용하는 정규 표현식 정규 표현식 설명 ^[0-9]*$ 숫자 ^[a-zA-Z]*$ 영문자 ^[가-힣]*$ 한글 \\w+@\\w+\\.\\w+(\\.\\w+)? E-Mail ^\d{2,3}-\d{3,4}-\d{4}$ 전화번호 ^01(?:0|1|[6-9])-(?:\d{3}|\d{..

Tistory

[Java] 자바 난수(랜덤 숫자) 생성하기 (Math, Random)

자바에서 난수를 얻어내는 방법은 Random클래스를 활용하는 방법과 Math클래스를 활용하는 방법 2가지가 있습니다. 두 방법의 차이점은 Math.random() 메소드는 0.0에서 1사이의 double 난수를 얻는데만 사용한다면, Random 클래스는 boolean, int, long, float, double 난수를 얻을 수 있습니다. 또 Math.random()은 종자값(seed)가 현재시간으로 고정인 반면 Random클래스는 종자값(seed)을 설정 할 수 있습니다. 종자값은 난수를 만드는 알고리즘에 사용되는 값으로 종자값이 같으면 같은 난수를 얻습니다. Math.random() public class RandomExample { public static void main(String[] args..

Tistory

[Java] 자바 시스템 프로퍼티(시스템 속성) System.property() 사용법

시스템 프로퍼티는 JVM이 시작할 때 자동으로 설정되는 시스템 속성값입니다. 시스템 프로퍼티는 키(key)와 값(value)로 구성되어 있으며 운영체제에서 사용되는 파일 경로, 구분자, 운영체제의 종류 및 자바 프로그램을 실행시킨 사용자 아이디 JVM의 버전등이 여기에 속합니다. 시스템 프로퍼티 읽기(getProperty()) 키 설명 키(Key) 값 설명(Value) java.version Java 버전 java.vendor Java 공급자 java.vendor.url Java 공급자 주소 java.home Java가 위치한 디렉토리 java.class.version Java 클래스 버전 java.class.path Java 클래스의 경로 java.ext.dir Ext ClassLoader에 로드할 클..

Tistory

[Java] 자바 OS 환경변수 값 불러오기 System.getenv() 사용법

대부분의 운영체제는 실행되는 프로그램들에게 유용한 정보를 제공할 목적으로 환경변수를 제공합니다. 환경 변수는 운영체제에서 이름(Name)과 값(value)로 관리되는 문자열 정보이며 운영체제가 설치될 때 기본적인 내용이 설정되지만, 사용자가 직접 설정하거나 응용프로그램이 설치될 때 자동적으로 변경되기도 합니다. 자바에서는 OS의 환경변수의 값을 System.getenv( ) 라는 메서드를 통해서 불러올 수 있습니다. 환경 변수 읽기 System.getenv( ) //String value = Sytstem.getenv(String name); //사용법 System.out.println("전체 OS 환경변수 값 : " + System.getenv()); System.out.println("OS 환경변수 ..

Tistory

[Java] 자바 상수 final의 의미와 사용법

final의 의미는 최종적이란 뜻을 가지고 있습니다. final 필드는 초기값이 저장되면 최종적인 값이 되어 프로그램 실행 도중에 수정을 할 수 없습니다. final 사용법 final 필드 final int number = 1; //final 타입 필드 [= 초기값]; final 필드는 위와 같이 선언하며 final 필드의 초기값을 줄 수 있는 방법은 딱 두가지 방법밖에 없습니다. 첫번째는 필드 선언시에 주는 방법이 있고, 두번째는 생성자를 통해서 주는 방법이 있습니다. 단순 값이라면 필드 선언시에 주는 것이 가장 간단하지만 복잡한 초기화 코드가 필요하거나 객체 생성 시에 외부 데이터로 초기화를 시켜야한다면 생성자를 통해서 초기값을 부여하는 방법을 써야 합니다. 생성자는 final 필드의 최종 초기화를 ..

Tistory

[Java] 자바 프로그램 강제 종료 System.exit() 사용법

System 클래스를 이용하면 운영체제의 프로그램 종료, 키보드로부터 입력, 모니터로 출력, 메모리 정리, 현재 시간 읽기, 시스템 프로피티 읽기, 환경 변수 읽기등의 일부 기능을 사용할 수 있습니다. 프로그램 종료(System.exit( )) 강제적으로 JVM을 종료시키고 싶을 때는 System 클래스의 exit() 메소드를 호출하면 됩니다. exit() 메소드는 현재 실행하고 있는 프로세스를 강제 종료시키는 역할을 합니다. exit() 메소드는 int 매개값을 지정하도록 되어 있습니다. 이 값을 종료 상태값이라고 합니다. 일반적으로 정상 종료일 경우 0으로 지정하고 비정상 종료일 경우 0이외의 다른값을 줍니다. System.exit(0); //정상종료 System.exit(1); //비정상종료 Sys..

Tistory

[Java] 열거 타입(Enum) 사용법 & 예제

프로그래밍을 하다보면 몇가지의 한정된 데이터들을 가지는 경우가 있습니다. 대표적으로는 "요일"이나 "계절" 같은것이지요 요일은 월,화,수,목,금,토,일 이렇게 7가지밖고 계절도 봄,여름,가을,겨울 4가지 계절로 한정되어 있습니다. 이렇게 이와 같이 한정된 데이터들을 갖는 데이터들은 열거형으로 묶어주면 편합니다. 열거형(Enum) 선언 방법 enum Season { //class 외부에서 선언 봄, 여름, 가을, 겨울 } public class enum_ex { public enum Season { //class 내부에서 선언 봄, 여름, 가을, 겨울 } } enum 키워드는 열거 타입을 선언하기 위한 키워드입니다. 열거 타입(Season)이름을 지정하고 열거 상수(봄,여름,가을,겨울)를 나열하면 됩니다...

Tistory

[Java] 자바 this의 의미와 사용법

People클래스에 Age필드와 setAge( ) 메소드가 다음과 같이 선언되어 있다고 가정해보겠습니다. public class People{ //필드 int age; //메소드 void setAge(int a){ age = a; } } 위와같이 age에 외부의 값을 입력받을 수 있는 setAge( )라는 Setter함수를 선언하였습니다. 위에서는 메서드의 인자 변수이름을 int a라 하였는데 여기서 인자값의 변수를 필드의 이름과 같이 하려면 어떻게 해야할까요? this를 사용하면, 메서드의 인수나 변수에 필드와 같은 이름을 붙여도 그것들을 구분하여 사용할 수 있습니다. this는 주로 생성자와 메소드의 매개변수 이름이 필드와 동일한 경우, 인스턴스 멤버인 필드임을 명시하고자 할때 사용됩니다. publi..

Tistory

[Java] 자바 static의 의미와 사용법

정적(Static)이란? 정적(static)은 고정된이란 의미를 가지고 있습니다. Static이라는 키워드를 사용하여 Static변수와 Static메소드를 만들 수 있는데 다른말로 정적필드와 정적 메소드라고도 하며 이 둘을 합쳐 정적 멤버라고 합니다. (클래스 멤버라고도 합니다.) 정적 필드와 정적 메소드는 객체(인스턴스)에 소속된 멤버가 아니라 클래스에 고정된 멤버입니다. 그렇기에 클래스 로더가 클래스를 로딩해서 메소드 메모리 영역에 적재할때 클래스별로 관리됩니다. 따라서 클래스의 로딩이 끝나는 즉시 바로 사용할 수 있습니다. 정적(Static) 멤버 생성 Static 키워드를 통해 생성된 정적멤버들은 Heap영역이 아닌 Static영역에 할당됩니다. Static 영역에 할당된 메모리는 모든 객체가 공..

Tistory

[Windows] 윈도우10 스티커 메모(Stick Note) 사용법

가끔 업무를 하다보면 전화번호 같이 특정 정보를 메모해야할 경우가 종종 있습니다. 이럴때 포스티잇을 사용하면 좋은데 윈도우10에서 기본으로 포스티잇 프로그램 스티커메모 (Stick Note)가 탑재되어 있으니 모르시는 분이 있으셨다면 한번쯤 사용해보시면 좋을듯 합니다. 프로그램이 심플하여 업무를 할 때 굉장히 유용하게 사용이 가능합니다. 스티커 메모(Stick Note) 실행방법 방법 1 : 윈도우 검색에서 스티커(한글버전의 윈도우) or Stick(영문버전의 윈도우)를 검색하여 실행합니다. 방법 2 : [Windows Key] + W를 눌러 Windows lnk 작업 영역창을 띄우고 가장 위에있는 스티커 메모를 실행시킵니다. 스티커 메모(Stick Note) 사용법 스티커 메모(Stick Note)의 ..

Tistory

[Java] 비트(Shift) 연산자 사용법 & 예제

비트 연산자는 데이터를 비트 단위로 연산합니다. 그러므로 0과 1로 표현이 가능한 정수 타입이나 정수형으로 캐스팅이 가능한 자료형만 비트 연산이 가능합니다. 비트 연산자는 기능에 따라 비트 이동연산자, 비트 논리연산자로 구분합니다. 비트 이동 연산자(, >>>) 연산식 설명 x > y 정수 x의 각 비트를 y만큼 오른쪽으로 이동시킵니다. (빈자리는 정수 a의 최상위 부호비트와 같은 값으로 채워집니다. x >>> y 정수 x의 각 비트를 y만큼 오른쪽으로 이동시킵니다. (빈자리는 0으로 채워집니다.) 비트 이동 연산자는 정수 데이터의 비트를 왼쪽 또는 오른쪽으로 이동시키는 연산을 합니다. 2 3 -16 >> 3 16 >> 3 은 16을 32비트로 분해한다음 오른쪽으로 3비트를 이동시키는 연산입니다. 비트를..

Tistory

[Windows] 윈도우10 마이크로소프트 계정 연동 방법

한개의 마이크로소프트 계정으로 다수의 PC를 등록하여 사용할 수 있습니다. 이렇게 여러대의 PC를 하나의 계정으로 묶어놓으면 기본기본 설정을 모두 저장해 기본 인터넷 익스플로러의 즐겨찾기 문서까지 동기화가 되고, 또 어떤 PC가 무슨 작업을 했는지 타임라인 등을 볼 수 있는등 다양한 기능을 활용할 수 있습니다. 본래 윈도우 설치 시 계정을 연동할 수 있는 순서가 있지만 이 순서를 그냥 뛰어넘으셨다면 마이크로소프트 계정으로 연결이 되어 있지 않고 로컬계정으로 로그인이 되어있을 것입니다. 이번 포스팅에서는 PC를 로컬 계정에서 마이크로소프트 계정으로 전환하는 방법에 대해 알아보도록 하겠습니다. 윈도우10 로컬 계정에서 마이크로소프트 계정으로 전환하기 1. [Windows Key] + [ I ] 를 눌러 Wi..

Tistory

[Windows] 윈도우10 마이크로소프트 계정 연동 해제 방법

한개의 마이크로소프트 계정으로 다수의 PC를 등록하여 사용할 수 있습니다. 이렇게 하나의 계정으로 여러대의 PC를 등록해놓으면 어떤 PC가 어떤 작업을 수행한 기록들이 전부 공유되는데 이것이 장점이 될 수도 있지만 만약 여러명이서 같이 사용하는 PC라면 나의 사적인 PC들의 기록들이 공유된다는것이 문제가 될 수 있습니다. 공용 PC에 개인 마이크로소프트 계정이 연동되어있다면 연결을 해제하고 로컬 계정으로 바꿔주시는것이 좋습니다. 윈도우10 마이크로소프트 계정을 로컬계정으로 변환하기 1. [Windows Key] + [ I ] 키를 눌러 Windows 설정에 들어간 뒤 계정을 클릭합니다. 2. 대신 로컬 계정으로 로그인을 클릭합니다. 만약 마이크로소프트 계정의 패스워드를 중간에 변경한적이 있다면 업데이트 ..

Tistory

[블로그] 블로그로 돈을 번다는 생각의 정리 (블로그 VS 유튜브)

내가 아는 것은 빙산의 일각이기에 내가 모르는 것이 많을지도 모른다. 하지만 지금까지 블로그를 운영한 경험을 토대로 나는 블로그와 수익의 상관관계에 대해 스스로 결론을 내렸다. 결론부터 말하자면 블로그 하나만으로 부자가 된다는 생각은 허황된 망상에 가깝다. 물론 블로그로 돈을 벌수는 있다. 전업 블로거들은 여러개의 블로그를 운영하며 한달에 수백만원의 수입을 올린다는 이야기도 들었다. 하지만 수천만원, 수억원 정도의 큰돈은 결코 벌 수 없다. 수익을 목표로 부업을 하고자 한다면 블로그보다는 유튜브를 하는것이 낫다. 블로그와 유튜브의 한계치는 극렬히 다르다. 지금은 텍스트 종말의 시대이며 영상의 시대이다. 인터넷 속도가 빨라짐에 따라 영상의 로딩시간 거의 없다시피한다. 글을 읽을바에야 영상을 시청하는것이 이..

Tistory

[일상] 국민은행 적금 만기 시 해지방법 (모바일)

국민은행 적금 만기 시 꼭 은행에 방문하지 않아도 모바일 어플리케이션으로 간편하게 해지를 할 수 있습니다. 저도 얼마전에 적금 하나가 만기가 되어 모바일로 해지하였는데 혹시 방법을 모르시는 분이 있으실까 싶어 포스팅합니다. 1. 만기 된 적금을 클릭합니다. 2. 만기된 날짜를 확인한 후 해지예상조회를 클릭합니다. 3. 조회버튼을 클릭합니다. 4. 해지구분에 만기해약으로 표시된 것을 확인 후 해지 버튼을 클릭합니다. 5. 해지할 적금계좌 비밀번호만 입력 한 후 해지버튼을 클릭하면 국민은행 적금 해지가 완료됩니다.

Tistory

[블로그] PC와 모바일 광고의 숫자와 배치, 크기를 다르게 하는 방법 (with 애드센스)

인터넷에 접속할 수 있는 수단이 PC뿐이었던 과거와 비교해 최근에는 모바일, 태블릿등의 디바이스의 접속량이 많아지는등의 극적인 변화가 생기고 있습니다. 스마트폰의 출현이후 인터넷에 접속하는 디바이스의 종류가 다양해졌습니다. 그리고 인터넷에 접속하는 디바이스들은 화면의 크기가 다양합니다. 스마트폰은 화면이 작고 PC는 크지요. 화면이 다른만큼 스마트폰과 PC는 사용성이 좋은 UI가 서로 다를것입니다. 광고도 마찬가지입니다. PC에서는 큰 광고, 여러개의 광고가 지저분하게 느껴지지 않을 수 있지만 스마트폰에서는 지저분하게 느껴질 수 있습니다. 이러한 문제의 해결책으로 구글 애드센스에서 제공하는 반응형 광고를 사용하게되면 크기라는 부분에서는 최적화가 되지만 광고의 배치와 출력하는 광고의 숫자는 직접 소스를 건..

Tistory

[블로그] PC와 모바일 인피드광고 서로 다르게 출력하는 방법 (with 애드센스)

기술의 발달함에 있어 인터넷에 접속하는 디바이스가 점차 다양해지고 있습니다. 디바이스가 다양해 지는만큼 접속하는 디바이스의 크기도 다양한데요. 각각의 디바이스에는 최적의 UI가 서로 다를것입니다. 그렇기에 웹사이트도 고정형이 아닌 거의 모든 웹페이지를 반응형 웹페이지로 만듭니다. 반응형 사이트는 접속한 디바이스의 크기에 따라 UI가 바뀌는데 여기서 블로그의 카테고리 목록도 크기가 바뀌게 됩니다. 애드센스에는 카테고리에 글 목록인것처럼 해서 들어가는 광고유형이 있습니다. 인피드 광고라고 하는 광고 유형입니다. 인피드 광고는 구글 애드센스에서 인피드광고를 만들때 접속 디바이스가 PC냐 모바일이냐를 구분하여 자연스럽게 만들어줍니다. 이 인피드광고의 장점은 글 목록과 광고가 매우 흡사하여 마치 글 목록인것처럼 ..

Tistory

[Linux] 리눅스 쉘(Shell) 확인 및 변경하는 법

리눅스에서 쉘은 사용자와 리눅스 커널 사이에서 중간자 역할을 수행합니다. 우리가 쉘이라고 부르는 특별한 프로그램은 한가지만 있는것이 아니라 여러가지가 있습니다. 리눅스에서는 대표적으로 배시쉘이라는 쉘을 사용합니다. 여러가지 쉘은 기본적인 기능은 비슷하지만 편리기능이나 사용자 환경설정 등에 약간씩 차이를 보입니다. 쉘이 제공하는 기능은 크게 명령어 해석기능, 프로그래밍 기능, 사용자 환경설정 기능으로 구분할 수 있습니다. 현재 사용하고 있는 쉘 확인하기 현재 사용중인 쉘의 종류를 알아보는 가장 간편한 방법은 프로세스 정보를 보는 방법입니다. grep [사용자 이름] / etc /passwd 라는 명령어를 입력하면 현재 사용하고 있는 쉘을 볼 수 있습니다. 가장 마지막에나온 /bin/bash가 현재 사용하고..

Tistory

[Linux] 리눅스 쉘(Shell) 간단한 스크립트 작성 및 실행 방법

쉘을 사용해서 프로그래밍도 할 수 있습니다. 주로 서버 작업 자동화 프로그래밍을 만들 때 사용하며 생각보다 자주 사용합니다.쉘 스크립트는 파일안에 스크립트를 작성 후 실행하는 방식을 사용하며 파일의 가장 위 첫라인은 "#!/bin/bash"로 시작됩니다. 쉘스크립트 파일은 실행권한을 가지고 있어야 실행시킬 수 있습니다. 쉘(Shell) 스크립트 작성 방법 vi [쉘 파일명]을 입력하여 쉘 파일 생성 후 편집모드로 들어갑니다. 저는 파일명을 ex_shell이라고 주었습니다. 첫줄에 #!/bin/bash 을 주고 그 뒤에 echo "hello world"라고 입력을 합니다. echo 명령어는 쉘 프로그래밍 언어에서 출력문입니다. "hello world"라는 문구를 출력하겠다는 의미입니다. 그리고 마지막 줄에..

Tistory

[블로그] 쿠팡 파트너스 4개월차 후기 (수익 인증 & 하는법)

쿠팡 파트너스란? 쿠팡 파트너스는 쿠팡에서 운영하는 온라인 제휴 마케팅 서비스입니다. 개인 홈페이지나 블로그, SNS 등과 같이 쿠팡 API를 통하여 만든 상품 링크를 공유할 수 있는 플랫폼을 가지고 있는 사람이라면 누구나 이용할 수 있습니다. 쿠팡 API를 통하여 만든 상품 링크를 소비자가 클릭하여 24시간 내에 구매가 발생하게 되면 구매 상품의 일정 퍼센티지의 커미션을 받는 구조입니다. 안 할 이유가 없습니다. 제 블로그는 코딩에 관련된 정보를 올리는 블로그입니다. 제휴 마케팅을 하면 제 블로그의 정체성이 흔들린다 생각하여 본래 제휴마케팅을 하지 않았습니다. 하지만 쿠팡 파트너스는 조금 다릅니다. 제 블로그에는 제가 구매해보고 사용해본 IT제품들의 후기를 적는 [제품리뷰]라는 카테고리가 있습니다. 코..

Tistory

[Linux] 리눅스 터미널 명령어 모음 총정리

리눅스 명령어 모음집 명령어 설명 alias 명령어 간소화 apropos 관련 명령어 검색하기 arch 컴퓨터 종류 확인하기 arp 같은 서브넷 IP 조회하기 at 작업시간 설정하기 atd 계획성 있는 작업 실행하기 awk 특정 패턴 문자열 처리하기 a2p 펄 파일로 바꾸기 badblocks 배드 블록 검사하기 bc 계산기 실행하기 biff 메일 수신 소리로 확인하기 bg 배경화면 설정하기 bind 키나 함수 순서 바인딩하기 break 루프 빠져나가기 cal 달력 확인하기 bubuiltin 내부 명령어 확인하기 case 조건절 처리하기 cat 화면상에서 파일 확인하기 cd 디렉토리 이동하기 cfdisk 디스크 설정하기 chattr 파일 속성 변경하기 chfn 사용자 정보 변경하기 chgrp 파일, 디렉토..

Tistory

[Linux] 리눅스 문서 편집기 vi 사용법 & 명령어 총정리

파일을 작성하거나 수정하기 위해서는 편집기가 필요합니다. 윈도우에서는 메모장을 편집기의 기본으로 지원하는 반면 리눅스에서는 기본 편집기로 vi 라는 편집기를 지원합니다. vi는 리눅스에서 일반적으로 사용하는 화면 편집기 입니다. 명령이 매우 단순하여 빠르게 편집할 수 있어 사용법만 익힌다면 효율적으로 활용하실 수 있습니다. 이번 포스팅에서는 리눅스 문서 편집기 vi를 사용하는 방법에 대해 알아보도록 하겠습니다. 리눅스 문서 편집기 vi 열기 vi example.txt -> example txt 파일 실행 (example.txt 파일이 없으면 빈 파일이 실행됩니다.) vi -> vi 편집기 실행 (빈파일) vi를 시작할때는 파일을 지정할 수 있습니다. 지정한 파일이 존재하는 파일이면 해당 파일이 열리고 없..

Tistory

[Linux] 리눅스 편집기 vi 환경설정 하는 법

vi는 사용자가 환경설정을 할 수 있습니다. 환경설정은 set이라는 명령어를 통해서 설정이 가능합니다. vi의 환경설정을 하는 방법은 아래 3가지 방법이 있습니다. 이중 첫번째 방법 .exrc파일로 저장을 하게 되면 vi를 시작할때 자동으로 이 설정파일을 읽어 적용하고 세번째 방법 마지막 행 모드에서 명령으로 실행하면 vi가 종료될때 설정이 초기화 됩니다. vi 환경설정 방법 1. 사용자 홈 디렉토리에 .exrc파일로 저장합니다. 2. 쉘의 환경변수 EXINIT에 지정합니다. 3. vi의 마지막 행 모드에서 명령으로 설정합니다. vi 환경 설정 명령어 명령어 설명 set nu 각 행의 행 번호를 표시합니다. set nonu 각 행의 행 번호를 표시하지 않습니다. set list 눈에 보이지 않는 특수문자..

Tistory

[Linux] 우분투 Git 설치 / 다운로드 & 사용 방법

깃허브란? 깃(git)은 프로그램 등의 소스 코드 관리를 위한 분산 버전 관리 시스템입니다. 깃의 작업 폴더는 모두 기록하고 있어서 추적이 가능하고, 완전한 형태의 저장소입니다. 우분투에서 git 설치 1. sudo apt-get install git 명령어를 입력하여 패키지 리스트를 업데이트합니다. 2. sudo apt install git 명령어를 입력하여 깃을 설치합니다. 3. git --version이라는 명령어를 입력하면 설치할 git의 버전을 알 수 있습니다. 저는 2.17.1버전이군요. 4. 아래 명령어를 입력하여 깃에 push했을때 올라갈 내 정보를 입력해줍니다. git config --global user.name [이름] git config --global user.mail [메일 주소..

Tistory

[Linux] 우분투 안드로이드 스튜디오 설치 / 다운로드 방법

안드로이드란? 안드로이드는 구글에서 서비스하고 있는 스마트폰용 운영체제입니다. 운영체제와 미들웨어, 사용자 인터페이스, 어플리케이션, MMS 서비스 등을 하나로 묶어 서비스를 제공하며 다양한 어플리케이션을 만들어 설치하면 실행될 수 있도록 구성된 운영체제 입니다. 현 시간 기준으로 안드로이드는 세계 모바일 시장에서 가장 성공한 OS라는 평가를 받고있습니다. 안드로이드는 리눅스(Linux)를 기반으로 제작되었고 언어는 자바를 사용합니다. 안드로이드 스튜디오란? 안드로이드 어플리케이션을 개발하는 방법은 다양한 방법이 있지만 가장 많이 사용하고 대중화 되어있는 방법은 바로 안드로이드 스튜디오를 활용하여 어플리케이션을 개발하는 방법입니다. 안드로이드는 기본적으로 자바를 필요로 하기 때문에 Java SDK를 먼저..

Tistory

[Linux] 디렉토리 관련 명령어 총정리(확인, 이동, 생성, 삭제, 복사, 잘라내기)

디렉토리 경로 확인 : pwd 현재 디렉토리를 경로를 확인하는 명령어는 pwd입니다. 현재 디렉토리의 절대 경로명을 출력합니다. 우분투 터미널을 바로 실행한 뒤 pwd를 입력하면 /home/계정명이 출력됩니다. 이는 현재 디렉토리의 절대 경로명이면서 동시에 접속한 계정의 홈 디렉토리에 대한 절대 경로명이 됩니다. 디렉토리를 이동하면 해당 경로가 바뀌게 됩니다. 디렉토리 이동 : cd [이동할 디렉토리] 현재 디렉토리에서 다른 디렉토리로 이동할때는 cd라는 명령어를 사용하여 이동합니다. 접근이 금지된 디렉토리를 제외하고는 어느 디렉토리든지 이동할 수 있습니다. cd 명령어와 함꼐 이동하고자 하는 디렉토리를 위와같이 입력하게 되면 해당 디렉토리로 이동하게됩니다. cd [디렉토리명] : 해당 디렉토리로 이동합..

Tistory

[Linux] 파일 관련 명령어 총정리(생성, 출력, 복사, 이동, 삭제)

텍스트 파일 생성하기 : touch [파일명] 예제로 사용할 텍스트 파일을 하나 만들어주겠습니다. 텍스트 파일을 만드는 명령어는 touch [파일명]입니다. 편집기를 사용해서 텍스트 파일에 텍스트도 삽입해보세요. 저는 위와 같은 텍스트를 넣고 저장하였습니다. 파일 내용 출력하기: cat [파일명], more [파일명] 파일 내용을 출력하는 명령어는 cat과 more이 있습니다. cat명령어는 텍스트 파일의 내용을 화면에 연속적으로 출력합니다. 하지만 파일 내용이 길다면 cat을 사용하면 스크롤이 되므로 내용 확인이 조금 어렵게 됩니다. 이럴때는 화면단위로 내용을 출력해주는 more이라는 명령어를 사용하시면 됩니다. cat -n : 라인번호 붙여서 출력합니다. more +[시작할 행번호] : 출력을 시작할..

Tistory

[Linux] 우분투 크롬(Chrome) 설치 / 다운로드 방법

우분투에 기본으로 파이어폭스(Firefox)라는 웹 브라우저가 탑재되어있습니다. 하지만 저는 크롬(Chrome)에 워낙 익숙해져있기에 파이어폭스(Firefox)가 굉장히 불편하게 느껴지더군요. 그래서 우분투에 크롬(Chrome)을 설치한뒤 주 웹브라우저로 사용하려 합니다. 이번 포스팅에서는 우분투 운영체제에서 크롬(Chrome)을 설치하는 방법에 대해 알아보도록 하겠습니다. 우분투에서 크롬(Chrome) 설치 / 다운로드 방법 wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - 1. 단축키 Ctrl + Alt + T를 눌러 터미널창을 띄운 뒤 위의 명령어를 입력하여 크롬 브라우저 패키지 설치용 인증키..

Tistory

[Linux] 리눅스 파일의 종류와 디렉토리 구조

리눅스는 기본적으로 유닉스 계열의 운영체제이므로 유닉스의 많은 부분을 그대로 이어서 사용하고 있습니다. 유닉스에서는 시스템과 관련된 정보와 하드웨어 같은 장치를 모두 파일로 관리합니다. 리눅스도 유닉스와 마찬가지로 시스템과 관련된 정보들을 파일로 관리합니다. 리눅스는 파일을 효율적으로 관리하기위해 디렉토리를 사용하는데 디렉토리는 계층구조를 가지고 있습니다. 리눅스는 전체 파일을 용도에 따라 계층 디렉토리로 구분하여 관리하며 이것을 파일 시스템이라고 합니다. 리눅스 파일의 종류 일반 파일 일반파일은 데이터를 저장하는데 주로 사용됩니다. 각종 텍스트 파일, 실행파일, 이미지 파일 등 리눅스에서 사용하는 대부분의 파일은 일반파일입니다. 실행파일이나 이미지 파일의 경우 데이터가 바이너리 형태로 저장되어 바이너리..

Tistory

[Linux] 우분투 한글 설정 키보드 세팅 (한글 입력 안될 시 해결 방법)

우분투를 설치하고 처음 실행시켰더니 한글 자판이 입력 되지 않았습니다. 윈도우에서 한/영 Key로 한글과 영어를 전환해서 사용하고 있어 우분투도 마찬가지겠거니 했는데 확인해보니 디폴트로 잡힌 한/영 전환키가 엉뚱한 키로 되어있더군요. 이번 포스팅에서는 우분투 설치 후 한글 입력키 세팅에 대해 포스팅 하도록 하겠습니다. 우분투 한글 설정 키보드 세팅 1. 우분투 바탕화면의 7시쪽을 보면 위와 같은 아이콘이 있습니다. 이 아이콘을 클릭합니다. 2. 아이콘을 클릭하게 되면 현재 우분투에 설치되어 있는 전체 프로그램의 아이콘이 뜰텐데요. 여기서 위 사진에 보이는 설정이라는 아이콘을 클릭합니다. 3. 설정 창 좌측의 지역 및 언어를 선택한 뒤 한개의 입력소스만을 남기고 모두 - 버튼을 눌러 삭제합니다. 그런 뒤 ..

Tistory

[Linux] 우분투 그림판 (간단한 이미지 편집기) Kolourpaint 설치 / 다운로드 방법

우분투에는 윈도우와 달리 기본적으로 탑재되어있는 이미지 편집툴이 없습니다. 하지만 저는 우분투에서 가끔 화면 캡처도 하고 캡처한 이미지를 간단하게 편집도 하고 싶어 우분투에서 사용할 수 있는 간단한 이미지 편집기를 다운받으려 합니다. 우분투 이미지 편집기에 대해 조금 알아보니 우분투 판 그림판인 Kolourpaint라는 프로그램이 있더군요. 실제로 사용해보니 기능이 윈도우 그림판에 비해 다소 부실하기는 하지만 가벼운 이미지 편집용으로 사용하기에는 무리가 없을듯 합니다. 이번 포스팅에서는 Kolourpaint 설치방법에 대해 포스팅 해보도록 하겠습니다. 우분투 그림판(Kolourpaint) 설치 방법 1. Ctrl + Alt + T 를 눌러 터미널을 실행시킨 뒤 sudo apt-get install kol..

Tistory

[Linux] 우분투 비밀번호 분실 및 변경(초기화) 방법

리눅스에서는 master계정인 root 계정을 리눅스의 경우는 일반 사용자보다 서버로 이용하기 위한 경우가 더 많기 때문에 root 계정에 대한 보안이 상당히 중요합니다. 고로 root계정에는 암호가 필수적으로 걸려있는데요. 이 암호를 잊어버리게 되면 sudo로 시작하는 모든 명령어들을 사용할 수 없게되어 우분투 사용에 심각한 제약이 걸립니다. 오늘은 우분투 root계정 분실 시 초기화 하는 방법에 대해 알아보도록 하겠습니다. 우분투 비밀번호 분실 및 변경(초기화) 방법 1. 우분투 실행 시 Shift 혹은 Esc를 눌러 Ubuntu용 고급설정(Advanced options for Ubuntu)으로 진입합니다. 2. Ubunut, with Linux generic (recovery mode)로 들어갑니다..

Tistory

[Windows] 윈도우 10 하드디스크 파티션 합치기

하나의 드라이브를 너무 많은 파티션으로 나누어 놓으면 저장공간의 비효율성이 발생하게 됩니다. 파티션을 나누면서 소실되는 저장공간도 그렇고, 각 파티션에 너무 작은 공간이 남아있다면 여기에 용량이 많은 프로그램을 설치하기도 힘듭니다. 이렇게 저장공간의 효율성면에서 본다면은 파티션을 하나로 합치는것이 좋습니다. 이번 포스팅에서는 여러개로 분할되어있는 파티션을 초기화 시키고 하나로 합치는 과정에 대해 포스팅하도록 하겠습니다. 하드디스크 파티션 초기화 & 합치기 1. [윈도우 KEY] + [S] 단축키를 사용하여 검색창을 띄운 다음 내 PC -> 내 PC 우 클릭 -> 관리를 클릭하여 컴퓨터 관리로 이동합니다. 컴퓨터 관리 컴퓨터를 관리할 수 있는 전반적인 기능들을 모아놓은 관리창입니다. 작업 스케줄러, 장치 ..

Tistory

[Linux] 리눅스 우분투(Ubuntu) 설치하기 for PC (듀얼 운영체제)

PC의 운영체제는 윈도우가 거의 필수적으로 자리를 잡았습니다. 하지만 PC 운영체제가 윈도우만 있는 것은 아니고 리눅스라는 운영체제도 있습니다. 개인 PC에서 주 운영체제로 리눅스를 사용하기는 불편한 점이 많지만 실무에서 서버를 구성하고 있는 OS로 리눅스를 많이 채택하고 있으므로 공부 목적으로라도 리눅스라는 플랫폼의 운영체제를 사용해보고 싶을 경우도 있을 수 있습니다. 이럴 경우 윈도우와 리눅스 두 가지 운영체제를 모두 설치하여 번갈아가며 부팅 & 사용하는 방법으로 두 가지 운영체제를 효율적으로 사용할 수 있습니다. 리눅스의 장점 리눅스의 가장 큰 장점은 무료라는 점입니다. 윈도우의 경우 마이크로소프트에서 판매를 하고 있는 운영체제이지만 리눅스는 대부분의 버전이 무료로 배포되고 있기에 비용이 전혀 들지..

Tistory

[Windows] 새 하드디스크(SSD,HDD) 인식 불가 시 대처법

컴퓨터를 오랜기간 사용하다보면 파일이 계속해서 쌓이게 됩니다. 이렇게 파일이 쌓이다보면 하드디스크의 저장공간이 자연스레 부족해지게 되는데요. 저장공간의 부족함을 느낀다면 SSD나 HDD를 추가로 구매하여 장착해야 합니다. 최근들어 SSD와 HDD의 가격이 많이 내려가면서 저장공간을 늘리는데 있어 가격부담이 줄어듦에 따라 많은분들이 추가로 하드디스크의 용량을 늘리기위해 새로운 SSD나 HDD를 추가로 구매하여 장착하곤 합니다. 하지만 이렇게 장착만 한다고해서 바로 내 PC에 드라이브가 인식이 되는것이 아니라 파티션 할당을 해주어야 정상적으로 인식됩니다. 내 PC에서 하드디스크가 제대로 인식이 되지 않는다면 십중팔구 파티션이 제대로 할당되지 않았을 경우입니다. 새 하드디스크(SSD,HDD) 인식이 안될때 대..

Tistory

[Windows] 윈도우 10 하드디스크 파티션 나누기

하드디스크의 파티션을 나눈다는것은 하나의 하드디스크를 마치 두개의 하드디스크 처럼 사용하는 것을 말합니다. 하나의 하드디스크를 쪼개어 C드라이브, D드라이브 이렇게 나눌 수 있습니다. 자주 있는 일은 아니지만 듀얼 운영체제를 사용할때나 하드디스크를 따로 나누어 관리하고 싶을 경우 파티션을 나눠야 할 경우가 종종 있습니다. 이번 포스팅에서는 하드디스크 파티션을 나누는 방법에 대해 알아보도록 하겠습니다. 하드디스크(HDD, SSD) 파티션 나누기 1. [윈도우 KEY] + [S] 를 눌러 윈도우 검색창을 띄운 다음 내 PC를 검색하고-> 내 PC 아이콘 오른쪽 클릭 -> 관리를 클릭하여 컴퓨터 관리로 이동합니다. 컴퓨터 관리 컴퓨터를 관리할 수 있는 전반적인 기능들을 모아놓은 관리창입니다. 작업 스케줄러, ..

Tistory

[Windows] 무료 화면 캡처 프로그램 추천 픽픽 설치 / 다운로드

픽픽은 컴퓨터 화면을 캡처하고 편집하는 프로그램입니다. 현재 나와있는 캡처 프로그램 중에 가장 강력한 기능을 탑재하고 있다고 생각됩니다. 단순 캡처만을 위해서라면 윈도우10에 내장되어있는 캡처 도구라는 프로그램을 사용해도 무방하나 캡처 이후 편집에서의 기능이 많이 떨어집니다. 하지만 픽픽은 간편하고 강력한 편집 도구를 지원합니다. 개인적으로 그림판의 편집기능보다 훨씬 나은 편집기능을 가지고 있다고 생각됩니다. 캡처 프로그램 픽픽 주요 기능 픽픽의 주요 기능은 위와 같습니다. 아래 링크를 클릭하시면 픽픽에 대한 더 자세한 정보를 확인할 수 있습니다. https://picpick.app/ko/ 캡처 프로그램 픽픽 설치 / 다운로드 방법 1. 아래 링크를 클릭하여 픽픽 다운로드 페이지로 들어간 뒤 다운로드 버..

Tistory

[Windows] 오피스 365 설치 / 다운로드 방법 (+오피스365란?)

오피스 365란? Office365는 기존 Office 2016/ Office 2019에 비하여 항상 최신 버전으로 업데이트가 이루어지는 버전이며, 최신 버전인 만큼 기존의 오피스2016/2019에 비하여 더 많은 기능을 제공합니다. Office365는 마이크로소프트에서 주기적으로 업데이트를 진행해줍니다. 주기적인 업데이트를 받으므로 현재까지 출시된 오피스 프로그램 중에서 가장 진보된 기능을 가지고 있으며 오피스의 모든 기능을 사용할 수 있습니다. Office365버전은 한대의 PC에서만 사용이 가능한것이 아니라 다수의 유저와 여러 디바이스에 설치해서 사용이 가능합니다. 한개의 계정으로 총 5개의 디바이스에서 사용이 가능하니 하나의 계정을 통해서 온가족이 같이 사용할 수 있습니다. 오피스 365의 장점 ..

Tistory

[Windows] 윈도우10 정품 인증하는 다양한 방법 총 정리

윈도우를 정상적으로 구매하여 설치하신것이 아니라면 윈도우 정품인증이 안되어 있을것입니다. 윈도우 정품 인증을 하지 않아도 윈도우가 부팅이 안되는 등의 크리티컬한 이슈는 발생하지 않으며 대부분의 기능도 사용이 가능합니다.하지만 바탕화면이나 잠금화면, 테마 등 자신이 원하는 사진으로 분위기를 바꿀 수 있는 커스터마이징등의 기능은 사용할 수 없고, 시작 메뉴, 작업표시줄 옵션 등 개인설정과 관련된 옵션을 사용할 수 없는 사소한 제약이 생깁니다. 그리고 가장 신경쓰이는것이 정품인증을 하지 않으면 우측 하단에 아래와 같이 인증하라는 워터마크가 뜹니다. 이 문구를 제거 하고 싶다면 정품 인증을 하셔야 합니다. 윈도우 라이선스가 곧 만료됩니다. 라는 팝업창이 떠도 아래에서 설명하는 방식으로 해결이 가능합니다. 쿠팡 ..

Tistory

[Windows] 카카오톡 PC 버전 설치 / 다운로드 방법

카카오톡은 전세계 어디서나 사용자 간에 무료로 메시지를 주고받을 수 있는 국내 1위 메신저입니다. 최근에는 일상 대화뿐만 아니라 업무도 카카오톡으로 진행을 많이 합니다. 모바일에서도 카카오톡이 사용이 가능하지만 컴퓨터 작업을 오랫동안 하시는 분들은 카톡이 올 때마다 스마트폰을 들어 메시지를 확인하는 것도 수고스러운 일입니다. 장시간 PC를 사용하는 분들이라면 카카오톡 PC버전을 설치해서 사용하시는 것이 좋습니다. 스마트폰 자판보다 키보드가 입력속도도 빠르고 사용하기 편리하기에 PC버전 카카오톡이 모바일 버전 카카오톡보다 사용성도 더 좋습니다. 카카오톡 PC버전 설치 / 다운로드 방법 1. 아래 링크를 클릭해 카카오톡 다운로드 링크에 들어간 뒤 카카오톡 PC버전 다운로드에서 Windows를 클릭해 윈도우 ..

Tistory

[H/W] 노트북 램(RAM) 추가 업그레이드 (with LG 그램)

램(RAM)은 하드디스크로부터 일정량의 데이터를 복사해 임시 저장한 후, 이를 필요 시마다 CPU에 빠르게 전달하는 역할을 합니다. 램(RAM)의 용량이 충분하다면 속도가 느린 하드디스크를 배제하고 CPU와 램끼리만 데이터를 교환하므로 전반적인 작업을 고속으로 처리할 수 있습니다. 램(RAM)의 용량이 작으면 하드디스크와 CPU끼리의 데이터 교환 작업을 해야 하므로 전반적인 작업 속도가 크게 저하됩니다. 특히 여러 개의 프로그램을 동시에 띄워놓고 작업할 때에는 작업 속도의 체감이 많이 됩니다. 요즘은 대부분 8GB의 램(RAM)을 사용하지만 무거운 프로그램, 혹은 프로그램을 여러개 띄워놓고 작업하실 분이시라면 램(RAM)을 업그레이드 시키는것이 좋습니다. 램(RAM)의 용량은 클수록 유리하지만 저는 16..

Tistory

[H/W] 노트북 SSD 추가 업그레이드 (with LG 그램)

컴퓨터를 오랜 기간 사용하다 보면 항상 부족한 용량에 시달리는 경우가 많습니다. 이럴 때 SSD를 추가로 달아 용량을 늘려주면 좋은데요. 최근에는 SSD 가격도 많이 떨어져 부담 없는 선에서 컴퓨터 용량을 추가할 수 있으니 저장공간이 부족하시다면 한번 시도해보는 것도 괜찮을 것 같습니다. 저는 이번에 LG 2020그램을 사전 구매하며 사은품으로 받은 1TB짜리 SSD를 추가하였습니다. 2020년도 2월 기준 1TB SSD는 제조사마다 다양하지만 가장 많이 쓰는 삼성 SSD의 경우 약 26만 원 정도 하네요. ※ 노트북용 SSD는 아래 링크에서 쿠팡 최저가로 구매하실 수 있습니다. 노트북 SSD 업그레이드 진행 방법 SSD추가는 노트북마다 조금씩 상이하겠으나 노트북 뒤 하판을 뜯어 추가 SSD 슬롯에 추가..

Tistory

[Windows] USB 윈도우 10 설치 / 다운로드 방법

컴퓨터를 살 때 윈도우 운영체제가 탑재하여 판매를 하기도 하지만 대부분의 경우 윈도우가 설치되어 있지 않은 프리도스 모델을 같이 판매합니다. 윈도우의 설치 유무에 따라 많게는 20만원 ~ 30만원의 금액의 차이가 발생합니다. 현명한 소비자라면 윈도우가 미 설치되어있는 프리도스 모드를 구매하여 자신이 직접 윈도우를 설치하는 것이 돈을 SAVE 할 수 있는 좋은 방법이 될 수 있습니다. 예전에는 USB를 윈도우10 크랙으로 부팅USB로 만들어 설치하는 복잡한 과정을 거쳤지만 최근에는 마이크로 소프트에서 자체적으로 윈도우 설치를 지원하고 있어 윈도우를 설치하는 방법은 크게 어렵지 않습니다. 하지만 이렇게 설치한 윈도우는 정품인증을 꼭 거쳐야합니다. 쿠팡같은 이커머스마켓에서 윈도우10을 구매하신다면 5천원정도의..

Tistory

[블로그] 티스토리 2차 도메인 주소 설정 방법 및 후기 (with 가비아)

최근 들어 제 『코딩팩토리』라는 블로그를 기반으로 여러 가지 사업을 한번 해보고 싶다는 욕구가 커짐에 따라 블로그의 확장성을 위해 도메인을 구입하였습니다. 블로그에 2차 도메인 설정 시 걱정되는 부분 2차 도메인을 사용하기 앞서 걱정이 많습니다. 많은 분들께서 2차 도메인을 사용하고 난 뒤 방문자 유입에 악영향을 끼쳤다라는 후기를 많이 봤기에 그렇습니다. 알고 보니 2차 도메인을 설정하는 작업은 블로그를 시작하는 초창기 때나 추천하는 방법이지 어느 정도 블로그가 성장한 뒤는 추천하지 않는다라고 하더군요. 블로그의 주소가 바뀜으로써 기존에 제가 발행했던 글들의 주소와 신규로 발행하는 글의 주소가 엉키는 현상이 발생한다고 합니다. 제 블로그는 이미 400개가 넘는 글이 발행되었고 평일 기준으로 15000명 ..

Tistory

[블로그] 티스토리 2차 도메인 설정 후 발생한 여러가지 문제들

티스토리 블로그에 도메인을 설정하고 여러 사이트로 확장하려 마음을 단단히 먹고 도메인을 5년치를 구매하였습니다. 하지만 2차 도메인을 설정하자마자 여러 가지 문제점이 튀어나왔습니다. 오늘은 티스토리에 2차 도메인을 설정하고 이틀간 제가 겪었던 여러 가지 문제점에 대해 써보려 합니다. [Web] 도메인 구입 방법 및 구매 후기 (with 가비아) [블로그] 티스토리 2차 도메인 주소 설정 방법 및 후기 (with 가비아) 애드센스 노출이 안됨 저는 미리 알고 있었지만 혹시나 모르는 분이 있을까 싶어 적어봅니다. 2차 도메인을 설정하면 애드센스가 정상적으로 작동하지 않습니다. 새로운 도메인에서 애드센스를 송출하려면 새로 애드센스를 승인받아야 합니다. 애드센스를 승인받은 URL이 아니라 신규 도메인을 넣었기에..

Tistory

[C++] 메모리 동적 할당 (new, delete)

C와 C++은 다른 개발언어와 달리 포인터를 사용하여 메모리를 직접 관리할 수 있다는 장점이 있습니다. C에는 malloc()과 free()라는 함수를 통해서 메모리를 할당하고 해제하였는데 C++에서는 new와 delete라는 연산자를 활용하여 메모리를 관리합니다. new는 malloc() 함수와 달리 메모리 크기를 정하지 않고 동적으로 할당합니다. new와 delete 사용법 //메모리 할당 사용법 타입 *변수명 = new 타입; //메모리 할당 delete 변수명 //메모리 할당해제 #include using namespace std; int main(){ int *point = new int; //메모리 동적할당 *point = 100; cout

Tistory

[Web] 도메인 구입 방법 및 구매 후기 (with 가비아)

아주 오래전 『나만의 도메인을 가지면 어떨까?』 라는 생각을 한 적이 있습니다. 그 당시에는 도메인을 구매하는 비용과 계속해서 도메인을 갱신해주어야 한다는 압박감, 그리고 도메인을 바꾸면 블로그가 죽어버린다는 소문에 득보다는 실이 많은 것 같다 생각되어 그냥 티스토리 기본 도메인을 사용하자는 결론을 내렸었는데 최근 들어 이 『코딩팩토리』라는 블로그를 기반으로 여러 사업을 확장시키고 싶다는 욕구가 커짐에 따라 도메인 구입을 다시 고려하게 되었고 더 늦기 전에 개인 도메인을 구매하여 넣어주자라는 결론에 도달하게 되었습니다. 도메인 구매 사이트 결정 도메인의 가격의 원가는 ICNN(인터넷 관리 협회) 등록 수수료와 네임서버 운영비를 합쳐 대략 2천원 ~ 3천원 사이라고 합니다. 이 도메인을 여러 도메인 판매 ..

Tistory

[내돈내산] 삼성 정품 케이스 LED 뷰 커버 구매 후기

저는 기존에 삼성 정품 케이스 중 하나인 프로텍티브 스탠딩 케이스를 사용하고 있었는데 너무 낡아 이번에 새 케이스로 교체하였습니다. 이번에 교체한 케이스도 삼성 정품 케이스입니다. 삼성 정품 케이스들은 시중에 파는 일반 케이스보다는 가격이 조금 비싼 편이지만 비싼 만큼 그 값어치를 하는 것 같습니다. LED 뷰 커버는 특정 이벤트가 발생했을 때마다 케이스에 나타나는 LED 아이콘을 통해서 정보를 확인할 수 있는 재미있는 기능이 탑재되어 있는 케이스입니다. ※ 삼성 정품 LED 뷰 커버 케이스는 아래 링크에서 쿠팡 최저가로 구매하실 수 있습니다. 삼성 정품 케이스 LED 뷰 커버 구매 후기 인터넷으로 구매를 해서인지 사용설명서 같은 건 없고 심플하게 케이스만 포장되어 배송되었습니다. LED뷰 커버는 핸드폰..

Tistory

[C++] 입력문 / 출력문 (cin, cout) 사용법 & 예제

C언어에서는 에 있는 scanf, printf를 통해서 입출력문을 사용합니다. 물론 C++에서도 scanf, printf를 통해서 입력, 출력을 할수도 있지만 C++의 표준 입력 및 출력은 cin, cout를 사용합니다. std 네임스페이스에 속한 cin, cout객체는 클래스내에 있는 인스턴스입니다. 출력문 std::cout include int main() { std::cout

Tistory

[내돈내산] 입문형 로드자전거 2018 자이언트 SCR1 사용 후기

남는 시간을 활용하여 혼자 할 수 있는 취미 생활을 찾아보니 자전거를 생각하게 되었고 로드 자전거를 구매하게 되었습니다. 입문형 로드 자전거 브랜드는 여러 가지가 있지만 그중에서 제가 판단하기로는 대만의 자이언트라는 브랜드가 입문형으로 적합하다 생각됩니다. 자이언트 입문형 로드 자전거는 SCR1과 SCR2가 있는데 SCR1이 SCR2보다 더 상위급 모델입니다. 자전거의 경우 연도별로 나오는 제품이 아닌 모델이 중요합니다. 2020년도 SCR2보다 2018년도 SCR1이 더 좋을 수 있습니다. SCR1은 소라 구동계를 사용하고 SCR2는 클라리스 구동계를 사용하기 때문입니다. 자전거 같은 경우 중고거래가 워낙 활성화가 잘 되어 있어 신제품 구매보다는 중고거래를 하는 것도 좋습니다. 저도 중고로 자이언트의 ..

Tistory

[내돈내산] 갤럭시 버즈 케이스 추천 (미니모리)

저는 무선 이어폰으로 갤럭시 버즈를 계속 사용해오고 있습니다. 이때까지는 케이스를 사용하지 않고 그냥 사용하고 있었는데요. 케이스를 사용하지 않으니 버즈 본체에 잔 스크래치가 계속 나서 이번에 케이스를 씌워주기로 하였습니다. 디자인이 괜찮은 버즈 케이스를 여러 군데 찾아보다 미니모리라는 사이트에서 버즈 케이스를 구매하였습니다. 제가 구매했었던 링크는 아래 첨부해두겠습니다. https://smartstore.naver.com/mini-mori/products/4480970769?NaPm=ct%3Dk5anj0r1%7Cci%3Dcheckout%7Ctr%3Dppc%7Ctrx%3D%7Chk%3D60aca9 9138472a533bdb65b97544a7941ae789ee 삼성 갤럭시 버즈케이스 에어팟 프로 1 2 P..

Tistory

[내돈내산] 갤럭시 노트 펜 분실 후 재구매 후기

얼마 전 갤럭시 노트 펜을 분실하였습니다. 저는 노트 펜을 잘 사용은 하지 않아 그냥 없는 채로 살았는데요. 계속 노트 펜이 없으니 장착하라는 알림 창이 떠서 이번 기회에 하나 샀습니다. 다행히도 노트 펜만 저렴한 가격에 따로 구매가 가능하더라고요. ※ 갤럭시 노트 펜은 아래 링크에서 쿠팡 최저가로 구매하실 수 있습니다. 갤럭시 노트 펜 분실 후 재구매 후기 갤럭시 노트 펜이 잘 포장되어 왔습니다. 자신의 핸드폰 색상에 맞게 알맞은 색상을 구매하시면 될 듯합니다. 만원 안쪽으로 저렴하게 구매가 가능합니다. 제가 예전에 사용하던 펜과 같은 것이 왔습니다. 이제 펜이 장착이 안되어있다는 짜증 나는 알림 소리를 안 들을 수 있겠군요. 이상으로 포스팅을 마치겠습니다. "본 포스팅은 쿠팡 파트너스 활동을 통해 일..

Tistory

[자유여행] 충청남도 태안 여행 후기 (갯벌 체험)

어느 날 부모님께서 친척들과 갯벌로 충청남도를 간다며 서울에서 멀지 않으니 괜찮으면 합류하라는 연락이 왔다. 무료한 서울생활 중 할 것도 없는데 바람이나 쐴 겸 간다고 했다. 친척이 차를 태워다 주신다고 하셔서 편하게 갔다. 위 사진은 구글 타임라인으로 본 나의 하루 여정기이다. 당일치기 여행이여서 조금 피곤하기는 했다. 갯벌 체험 태어나서 처음 가본 갯뻘 친척 동생들 두 명이랑 같이 놀러 가봤는데 내가 생각했던 갯벌 하고는 조금 많이 달랐다. TV에서만 보던 푹푹 빠지는 갯벌을 상상했는데 여기 갯벌은 진흙도 딱딱하고 그랬다. 이 날 날씨가 엄~청 더웠다. 나는 왜 장마, 땡볕 이럴때만 여행을 가는지... 숙소에서 친척들하고 이런저런 이야기도 하고 사촌동생들이랑 갯벌에도 가고 주변 산책도 가고 맛있는 고..

Tistory

[내돈내산] 2020 그램 17인치 다크실버 구매 후기

저는 이때까지 노트북을 살 때는 무조건 성능을 우선으로 보고 무조건 성능위주, 가성비 위주로 노트북을 골라서 사용하였습니다. 지금까지 제가 쓰고 있던 노트북은 2016년도에 산 아수스 게이밍 노트북이고요. 하지만 이렇게 성능 좋은 게이밍 노트북을 사용하다 보니 너무나도 단점이 많았습니다. 우선 너무 무거웠습니다. 가끔씩 카페에 가서 공부를 할 때 노트북을 꼭 챙겨가는데 노트북 자체가 너무 무겁다 보니 노트북을 들고 다닐 때마다 가방에 벽돌을 하나 메고 있는 듯한 느낌이었습니다. 게임용 CPU다 보니 배터리도 빨리 닳아 채 2시간을 못 버텨 충전기도 꼭 들고 다녀야 하고요. 충전기가 있더라도 카페에 콘센트가 있는 자리가 없다면 노트북을 제대로 사용도 하지 못합니다. 이러한 여러 가지 이유로 인해 노트북의 ..

Tistory

[일상] 구글 타임라인(Google Maps Timeline) +2019년 나의 발자취

구글에게서 흥미로운 한통의 메일을 메일을 받았습니다. 구글에서 제공하는 Google Maps Timeline이라는 서비스를 기반으로 수집된 저의 2019년 데이터를 정리해서 보내주더군요. Google Maps Timeline이라는 서비스는 핸드폰에 로그인된 구글 계정에 GPS접근이 허용되어 있으면 받을 수 있는 서비스인 듯합니다. 구글에서 받은 메일에는 핸드폰에 로그인된 제 구글 계정에 위치 기록 사용을 허용해두었기에 보내드리는 이메일이라고 명시되어 있었습니다. 자신의 타임라인이 궁금하시다면 아래 링크를 클릭하셔서 확인하시면 됩니다. www.google.com/maps/timeline 위 사진은 Google Maps Timeline서비스를 기반으로 제가 이때까지 다녀왔던 장소를 표시한 것입니다. 제가 모..

Tistory

[자유여행] 강원도 강촌 여행 후기 (여름에 갈만한 곳)

나에게는 고등학교 친구들 8명이 있다. 벌써 알고 지낸 지 10년 된 그래도 제일 친하다고 할 수 있는 친구들이다. 이제 다들 취직을 앞두고 있는 시점에서 이렇게 한 번에 다 모이기 힘들 수 있다는 생각에 단체 여행을 계획하였다. 원래는 해외로 생각을 했으나 유일한 회사원이었던 저의 회사일이 너무 바빠져 1주일로 계획되어 있었던 여름휴가가 뒤로 밀리는 바람에 해외는 가지 못하고 가까운 춘천을 다녀왔다. 춘천이라기보다는 정확히는 가평 / 강촌 쪽이다. 비록 국내이지만 8명이서 함께하니 즐거웠다. 춘천 여행 첫날 2019.07.26 여행 첫날 느긋하게 일어나 준비하고 출발했다. 애들이 부산에서 올라오는데 너무 멀다고 멀미 난다고 징징거렸다. 하지만 나는 서울이기에 안락하게 지하철을 타고 갔다, 경춘선은 신의..

Tistory

[블로그] 애드센스 수익을 높이는 여러가지 방법들

애드센스 홈페이지 메인에 『여러분의 열정을 수익으로 돌려드립니다』 이런 문구가 있습니다. 멋진 말입니다. 저는 취미가 블로그 운영입니다. 퇴근하거나 주말이 되면 블로그를 운영하는데 열정과 시간을 쏟고 있습니다. 일이 아니라 취미로 블로그를 운영하는 것이기에 애드센스 수입은 저에게는 불노소득입니다. 불노소득이 생기면 꽁돈이 생겼다는 느낌에 기분이 매우 좋아집니다. 저는 애드센스를 시작하고 지금까지 계속해서 수익증대에 대한 연구를 하고 있습니다. 이번 포스팅에서는 애드센스 수익증대를 위한 제 생각을 써보고자 합니다. 애드센스 수익구조 애드센스의 수익을 증가시키려면 애드센스의 수익이 어떻게 발생되는지 알아야 합니다. 애드센스의 수익구조는 광고 노출에 대한 수익과 광고 클릭에 의한 수익 두 방식이 있는데 90%..

Tistory

[블로그] 효율적인 애드센스 광고배치 전략

좋은 광고 배치가 애드센스 클릭률(CTR)을 높일 수 있습니다. 저는 구글 애드센스를 시작하고 최적의 효율을 내는 광고 형태를 알아내기 위해 연구해왔고 오늘날 제 블로그에 부착한 광고의 형태가 가장 수익이 좋다고 판단하여 지금의 광고 배치 형태를 사용하고 있습니다. 오늘은 지금까지 수많은 시행착오를 거치며 수정해왔던 제가 생각하는 효율적인 구글 애드센스의 광고 배치에 대해 포스팅해보려 합니다. 구글 애드센스 광고 위치 구글 애드센스를 부착할 수 있는 공간은 위와 같습니다. 상단광고 가장 블로그 수입이 높은 광고 공간입니다. 이용자가 블로그에 들어와 가장 먼저 볼 수 있는 광고입니다. 이 광고 위치가 수익에 있어서 절대적으로 중요하며 제 블로그 기준으로 60% 정도의 수익 비중을 차지하고 있습니다. 본문 ..

Tistory

[블로그] 2019년 블로그 결산 및 애드센스 수입공개

안녕하세요 코딩팩토리입니다. 2019년도가 끝이 나고 새로운 한 해가 시작되었습니다. 작년에도 제 블로그에 방문해주신 모든 분들께 감사드립니다. 좋은 글을 쓰려고 노력하였으나 돌이켜보니 부족한 부분이 많았습니다. 2020년에는 미흡한 부분을 보완하여 더 좋은 블로그를 만들도록 노력하겠습니다. 작년 한 해 170개의 글을 올렸습니다. 거의 이틀에 한 번꼴로 글을 작성하였으며, 블로그의 디자인과 사이트 속도 개선 등 블로그의 성장을 위해 많은 시간을 사용하였고 그 결과 제 블로그도 많은 성장을 이루었던 한 해였습니다. 이번 포스팅에서는 작년 한 해의 제 블로그의 기록을 공유하고자 합니다. 2019년 블로그 결산 및 애드센스 수입 공개 방문자수가 약 2배 정도 증가하였습니다. 2019년 1월 16만 명 정도 ..

Tistory

[블로그] 사이트 속도 확인 및 향상 방법

사이트 속도가 느리면 방문자가 사이트가 로딩되는 도중 이 사이트가 죽은 사이트라고 판단하고 그냥 바로 이탈할 가능성이 높아집니다. 반대로 사이트 속도가 빠르면 방문자가 늘어나는 효과를 볼 수 있습니다. 또 사이트 속도에 신경을 써야 하는 이유는 구글 검색 로직에서 사이트 속도가 빠른 웹 페이지를 검색 우선순위에 올려주기 때문입니다. 사이트 속도는 구글 검색 노출 순위에도 영향을 미칩니다. 이 블로그의 경우에도 속도 최적화 작업을 한 뒤 약 15% 정도의 방문자가 추가로 유입되었습니다. https://webmasters.googleblog.com/2010/04/using-site-speed-in-web-search-ranking.html 사이트 속도 측정 사이트 측정방법은 구글 애널리틱스를 활용하는 방법이..

Tistory

[블로그] 구글 검색엔진 상위 노출 순위를 높이는 SEO 최적화 방법

사람들마다 블로그를 하는 목적은 다양하지만 내 블로그의 방문자수를 늘리는 것은 공통된 관심사일 것입니다. 저 역시 제가 정성 들여 쓴 포스팅을 많은 사람들이 봐줄 때 행복을 느끼기에 블로그를 시작하면서 지금까지 방문자수를 높이는 여러 가지 방안에 대해 고민하고 있습니다. 오늘은 제가 지금까지 고민했던 방문자수를 늘릴 수 있는 나름의 노하우를 글로 써보고자 합니다. 검색엔진 최적화(Search Engine Optimization, SEO)의 필요성 당연한 말이겠지만 내 글이 검색엔진에서 상위에 노출된다면 방문자수가 늘어납니다. 위 그림과 같이 첫 페이지의 클릭률이 무려 91.5%로 첫 페이지에 노출이 되지 않는다면 사실상 아무도 봐주지 않는 죽은 글이 되어버립니다. 방문자수를 높이기 위한 방안으로 SNS를..

Tistory

[ETC] 코딩을 잘하는 사람들의 특징

세상에는 코딩을 잘하는 사람들이 참 많다. 그중에서는 얼마 배우지도 않았는데 이해력이 남들보다 훨씬 빠른 사람들, 흔히들 코딩에 재능이 있다고 하는 사람들도 있다. 나는 코딩을 잘하는 사람들을 열심히 관찰하고 따라 해보려 노력하고 있다. 오늘은 내가 지금까지 그들을 관찰하며 느꼈던 코딩을 잘하는 방법에 대해 이야기해보려 한다. 혼자서 해결하는 능력 프로그래밍이란 끊임없이 오류와 마주치고 그 오류를 해결하는 과정의 연속이다. 이 오류들을 혼자서 해결할 수 있느냐 없느냐에서 실력이 갈린다. 가끔 『모르면 물어봐야지』라는 생각을 가진 개발자들이 있다. 나는 이 생각에는 동의하지 않는다. 이러한 생각은 사람을 의존적으로 만들어 문제를 스스로 해결할 수 있는 능력의 발전을 막기 때문이다. 영화를 제대로 보려면 중..

Tistory

[Oracle] 오라클 열을 행으로 변환하기 (UNPIVOT)

저번 포스팅에서 행을 열로 바꾸는 PIVOT절에 대해 알아보았습니다. 항상 언어는 반대의 속성도 가지고 있습니다. 행을 열로 바꾸는 방법이 있으면 열을 행으로 바꾸는 방법도 있습니다. 열을 행으로 바꿔주는 방법은 UNPIVOT절을 활용하면 됩니다. [Oracle] 오라클 행을 열로 변환하기 (PIVOT) 샘플 데이터 SELECT * FROM SCORE 위의 데이터는 시험명으로 국어, 수학, 영어 성적을 나타낸 데이터입니다. UNPIVOT의 컬럼과 로우를 바꿔주는 기능을 활용하여 위 데이터의 열과 행을 바꿔보도록 하겠습니다. UNPIVOT을 활용하여 열을 행으로 바꾸기 SELECT 컬럼 FROM (조회할 데이터 SELECT문) OR 테이블 UNPIVOT(가상 컬럼1) FOR (가상 컬럼2) IN (열으로 ..

Tistory

[Oracle] 오라클 계층형 쿼리(START WITH.. CONNECT BY)

계층형 쿼리란? 계층형 구조는 상하 수직관계의 트리형태의 구조로 이루어진 형태를 말합니다. 예를 들자면 특정회사의 부서, 특정학교의 학과등이 있습니다. 계층형 쿼리는 테이블에 저장된 데이터를 계층형 구조로 반환하는 쿼리를 말합니다. 오라클에서의 계층형 쿼리는 START WITH ... CONNECT BY 절로 생성할 수 있으며 계층형 정보를 표현하기 위한 목적으로 오라클 8부터 지원되었습니다. 수행순서 1. START WITH 절에 시작 조건을 찾습니다. 2. CONNECT BY 절에 연결조건을 찾습니다. 샘플데이터 생성 위와같은 구조를 이루도록 부서 테이블을 생성하도록 하겠습니다. CREATE TABLE DEP ( DEP_CD NUMBER NOT NULL, -- 부서코드 PARENT_CD NUMBER,..

Tistory

[Oracle] 오라클 스케줄러 사용법 & 예제

오라클 잡과 스케줄러 데이터베이스를 운영하다보면 하루에 한번씩 운영서버의 데이터를 개발서버에 데이터를 넣어주거나 하는 주기적인 작업을 처리할 때가 있습니다. 이렇게 일정한 주기의 작업을 잡(Job)이라고 합니다. 이러한 주기적인 잡을 수행하는 방법은 스케줄러를 활용하는 방법이 있습니다. 오라클 스케줄러 (DBMS_SCHEDULER) 기존에는 주기적인 작업을 잡 패키지(DBMS_JOB)라는 것을 활용하여 작업을 하였지만 다양한 문제점으로 인해 오라클 10g부터 새로운 스케줄러 패키지인 오라클 스케줄러 (DBMS_SCHEDULER)라는 패키지가 추가되었습니다. 최근에는 이 오라클 스케줄러라는 패키지를 통해서 주기적인 잡(Job)을 처리합니다. 오라클 스케줄링 사용법 잡 객체를 이용한 스케줄링 BEGIN DB..

Tistory

[Oracle] 오라클 그룹별 소계 합계 구하기 (ROLLUP, CUBE)

ROULLUP과 CUBE을 사용하면 그룹별 소계 및 합계를 출력할 수 있습니다. 그룹별 소계 및 합계를 구하려면 우선 그룹핑된 데이터가 필요합니다. 샘플 데이터 SELECT PERIOD, GUBUN, SUM(LOAN_JAN_AMT) FROM KOR_LOAN_STATUS GROUP BY PERIOD, GUBUN ORDER BY PERIOD 위의 데이터는 대출년도, 대출명으로 대출금액의 합계값을 나타낸 데이터입니다. 이 데이터를 바탕으로 소계와 합계를 구해보도록 하겠습니다. ROLLUP ROLLUP은 추가적인 집계 정보를 보여주는 기법입니다. ROLLUP절에는 그룹핑 된 컬럼을 나열 할 수 있으며 명시된 나열한 컬럼의수에 따라 레벨 별로 집계한 결과가 반환됩니다. 나열한 컬럼의 수가 N개이면 N+1레벨까지,..

Tistory

[Oracle] 오라클 행을 열로 변환하기 (PIVOT)

아주 가끔 SELECT문의 행을 열로 변환해야 할 경우가 있습니다. 과거에는 행을 열로 바꿀때 CASE WHEN이나 DECODE, WITH절을 통해서 컬럼을 로우로 변환하였었는데 오라클 11g에서 새로나온 피벗테이블을 활용하면 과거에 사용하던 방법보다 훨씬 간단한 문장으로 행과 열을 전환 할 수 있습니다. 이번 포스팅에서는 PIVOT절을 활용하여 행을 열로 바꾸는 방법에 대해 알아보도록 하겠습니다. [Oracle] 오라클 열을 행으로 변환하기 (UNPIVOT) 샘플 데이터 SELECT * FROM KOR_LOAN_STATUS 위의 데이터는 대출년도, 지역, 대출종류, 대출금을 나타낸 데이터입니다. PIVOT의 로우와 컬럼을 바꿔주는 기능을 활용하여 위 데이터의 행과 열을 바꿔보도록 하겠습니다. PIVOT..

Tistory

[Oracle] 오라클 패키지 사용법 & 예제 (PL/SQL)

패키지란? 패키지란 변수, 상수, 서브프로그램등의 항목을 묶어놓은 객체입니다. 여러가지 항목들을 모아 하나의 이름으로 묶어놓은 객체라고 생각하시면 됩니다. 패키지는 컴파일 과정을 거쳐 데이터베이스에 저장되며 다른 프로그램에서 패키지의 항목을 참조하고 실행할 수도 있습니다. 패키지를 사용하는 이유 프로그래밍을 하다보면 프로시저같은 서브 프로그램의 수가 기하급수적으로 많아지게 됩니다. 이렇게 항목들이 많아지게되면 관리하기가 힘들어지게되고 자신이 필요한 항목을 찾는것마저 어려워지는 상황이 옵니다. 이 상황을 방지하기 위해 여러가지 항목들을 좀 더 손쉽게 관리하자라는 요지에서 나온 것이 바로 패키지라는 개념입니다. 패키지 사용법 패키지는 선언부, 본문, 실행부로 이루어집니다. 선언부 CREATE OR REPLA..

Tistory

[Oracle] 오라클 동적 쿼리 사용법 & 예제 (PL/SQL)

동적쿼리란? 동적쿼리란 실행시에 쿼리문장이 만들어져 실행되는 쿼리문을 말합니다. 쿼리문이 변하냐 변하지 않느냐에따라 변하지 않으면 정적쿼리 변한다면 동적쿼리로 생각하시면 됩니다. 대부분 동적쿼리를 사용할때에는 텍스트문장으로 쿼리문을 가지고 있다가 실행할때마다 텍스트 쿼리문장을 바꿔서 실행하는 방식을 사용합니다. 동적쿼리 사용법 BEGIN EXECUTE IMMEDIATE '쿼리문 (선언한 변수활용)' END; 동적쿼리를 사용하는 방법은 DECLARE상에서 동적으로 받을 변수를 먼저 생성한 후 생성한 변수를 활용해서 쿼리문을 작성한 후 EXECUTE IMMEDIATE로 실행시켜주시면 됩니다. 동적쿼리 예제 CREATE OR REPLACE FUNCTION FUNC1( W_PRODUCT_ID IN NUMBER ..

Tistory

[Oracle] 오라클 프로시저(Procedure) 생성 및 실행 (PL/SQL)

프로시저란? 오라클에서의 프로시저는 PL/SQL을 통해 만들어집니다. 자주 사용하는 SQL을 프로시저로 만든 뒤 필요 할때마다 호출,사용하여 작업 효율을 늘릴 수 있습니다. 함수는 특정 연산을 수행한 뒤 결과 값을 반환하지만 프로시저는 특정한 로직을 처리하기만 하고 결과 값은 반환하지 않는 서브 프로그램입니다. 프로시저 생성 CREATE OR REPLACE PROCEDURE EX_PROC ( P_DEPARTMENT IN VARCHAR2, P_STUDENT_CNT IN NUMBER ) IS P_UNIVERSITY VARCHAR2(100) := '서울대학교'; BEGIN INSERT INTO UNIVERSITY1 (UNIVERSITY, DEPARTMENT, STUDENT_CNT) VALUES (P_UNIVE..

Tistory

[Oracle] 오라클 예외처리 (PL/SQL)

프로그램을 개발할때면 다양한 경우의 수를 예상 해 예외처리를 해야합니다. 이번 포스팅에서는 오라클 PL/SQL 예외처리 방법에 대해 알아보도록 하겠습니다. 예외처리 종류 오라클 예외처리는 크게 시스템 예외와 사용자 정의 예외로 나뉩니다. 시스템 예외는 오라클에서 발생시키는 에러로 나누기 연산 시 제수를 0으로 나누면 에러가 발생하는 에러 같은 것처럼 오라클 내부에 미리 정의된 에러를 의미합니다. 사용자 정의 예외는 사용자가 직접 예외를 정의해서 사용하는것을 말하는데 저는 실제로 실무에서 써본적은 없습니다. 예외처리 방법 EXCEPTION WHEN 예외명 THEN 예외처리 --예외명을 알 경우 WHEN OTHERS THEN 예외처리 --예외명을 모를 경우 오라클에서 예외를 처리하는 문법은 위와같습니다. 첫..

Tistory

[Oracle] 오라클 커서 사용법 & 예제 (PL/SQL)

커서란? 커서란 특정 SQL 문장을 처리한 결과를 담고있는 메모리 영역을 가리키는 일종의 포인터입니다. 대부분의 SQL문 결과 ROW는 여러개인데 커서를 사용하면 이 ROW에 순차적으로 접근이 가능합니다. 커서의 종류에는 묵시적 커서와 명시적 커서가 있습니다. 묵시적 커서는 오라클 내부에서 자동으로 생성되어 SQL문장이 실행될때마다 자동으로 만들어져 실행되는 커서이고, 명시적 커서는 사용자가 직접 정의해서 사용하는 커서를 말합니다. 이번 포스팅에서는 사용자가 직접 만드는 명시적 커서를 만들어보고 사용하는 방법에대해 알아보도록 하겠습니다. 커서를 만드는 단계 커서를 만드는 단계는 크게 커서 선언 -> 커서 열기 -> 패치 단계에서 커서 사용 -> 커서 닫기 크게 이렇게 4가지로 분류할 수 있습니다. 커서 ..

Tistory

[Oracle] 오라클 변수 및 상수 선언 및 사용법 (PL/SQL)

PL / SQL이란? PL/SQL은 상용 관계형 데이터베이스 시스템인 오라클 DBMS에서 SQL 언어를 확장하기 위해 사용하는 컴퓨터 프로그래밍 언어 중 하나입니다. 오라클에서 변수를 선언 후 사용하시려면 이 PL/SQL을 사용하시면 됩니다. 변수 및 상수 선언 --변수 선언 변수명 데이터타입 : = 초기값; EX_NUM NUMBER := 1; EX_STR VARCHAR2(10) := 'STR1'; --상수 선언 상수명 CONSTRANT 데이터타입 : = 상수값; EX_NUM CONSTANT NUMBER := 1; 변수 선언법은 위와같습니다. PL/SQL에서는 일반적인 프로그래밍 언어에서 사용하는 = 이 아니라 :=입니다. 특정 변수에 :=을 기준으로 오른쪽 값을 왼쪽에 할당한다는 뜻을 가지고 있습니다...

Tistory

[Oracle] 오라클 조건문 (IF, CASE)문 사용법 (PL/SQL)

프로그램을 짜다보면 특정 조건에 맞을때 처리하는 조건문이 굉장히 많이 사용됩니다. 오라클에서 지원하는 PL/SQL에도 이 조건문이 존재합니다. 조건문 IF문 --사용법 IF 조건 THEN 처리문 ELSIF 조건2 THEN 처리문 ...... ELSE 처리문 END IF; IF문은 조건값이 참이면 해당 조건의 처리문장이 실행됩니다. 사용법은 위와같으며 다른 언어와 비교하여 전체적인 구조는 다르지 않으나 3가지가 다릅니다. 조건 다음에 THEN을 붙인다는것이 다르고, 여러개의 조건을 붙일 경우 다른 언어에서는 ELSE IF라고 많이 하지만 PL/SQL에서는 ELSIF 라는 명령어를 사용합니다. 그리고 마지막에는 IF를 끝낸다는 END IF를 붙인다는 점이 다릅니다. DECLARE SCORE NUMBER :=..

Tistory

[Oracle] 오라클 반복문 (LOOP, WHILE, FOR)문 사용법 (PL/SQL)

다른언어와 마찬가지로 PL/SQL에서도 반복문을 지원합니다. PL/SQL에서의 반복문 종류는 LOOP문, WHILE문, FOR문이 있습니다. LOOP문 --사용법 LOOP 처리문; EXIT[조건]; END LOOP; --예제 DECLARE NUM1 NUMBER :=1; BEGIN LOOP DBMS_OUTPUT.PUT_LINE(NUM1); --출력 NUM1 := NUM1+1; --NUM = NUM +1 EXIT WHEN NUM1 >10; --NUM1이 10보다 크면 LOOP종료 END LOOP; END; LOOP문 사용법은 위와같습니다. 반복문은 특정조건까지만 반복하며 로직을 수행하는데 LOOP의 반복문은 EXIT[WHEN 조건]; 이라는 구절에서 실행됩니다. 따라서 EXIT를 누락하면 해당 LOOP는 무..

Tistory

[Oracle] SELECT문 중복된 데이터만 추출하기 INTERSECT (교집합)

SELECT문을 실행하면 데이터가 조회됩니다. 만약 이렇게 조회한 여러개의 SELECT문을 가지고 데이터를 가공하고 싶다면 집합연산자를 사용하시면 됩니다. 집합연산자는 SELECT문 활용하여 조회한 데이터를 연산하는 연산자이며 우리가 어릴적 배웠던 그 집합과 동일합니다. 집합 연산자에는 UNION, UNION ALL, INTERSECT, MINUS가 있는데 이번 포스팅에서는 SELECT문들의 중복된 데이터만 추출해주는 INTERSECT에 대해 알아보도록 하겠습니다. 교집합 INTERSECT 두개의 SELECT문의 중복값을 출력하고 싶은 경우에는 INTERSECT를 사용하면 됩니다. INTERSECT를 사용하면 두개의 데이터 집합에서 공통된 항목만 추출해냅니다. 위의 그림과 같은 데이터를 가진 두개의 테이..

Tistory

[Oracle] SELECT문 중복된 값 제거 MINUS (차집합)

SELECT문을 실행하면 데이터가 조회됩니다. 만약 이렇게 조회한 여러개의 SELECT문을 가지고 데이터를 가공하고 싶다면 집합 연산자를 사용하시면 됩니다. 집합 연산자는 SELECT문 활용하여 조회한 데이터를 연산하는 연산자이며 우리가 어릴적 배웠던 그 집합과 동일합니다. 집합 연산자에는 UNION, UNION ALL, INTERSECT, MINUS가 있는데 이번 포스팅에서는 첫번째 SELECT문을 기준으로 두번째 SELECT문과의 공통된 데이터를 제거한 후 반환하는 MINUS에 대해 포스팅 해보도록 하겠습니다. 차집합 MINUS 첫번째 SELECT문에서 두번째 SELECT문을 빼고 싶다면 MINUS를 사용하면 됩니다. MINUS를 사용하면 첫번째 SELECT문을 기준으로 두번째 SELECT문과의 공통..

Tistory

[Oracle] 오라클 WITH절 사용법 & 예제 (임시 테이블 만들기)

WITH절이란 WITH절은 오라클9 이후 버전부터 사용이 가능하며 이름이 부여된 서브쿼리라고 생각하시면 됩니다. 임시테이블을 만든다는 관점에서본다면 VIEW와 쓰임새가 비슷한데 차이점이 있다면 VIEW는 한번 만들어놓으면 DROP할때까지 없어지지 않지만 WITH절의 같은경우 한번 실행할 쿼리문내에 정의되어 있을경우, 그 쿼리문안에서만 실행된다는 차이점이 있습니다. WITH절을 사용하는 이유 WITH절은 복잡한 SQL에서 동일 블록에 대해 반복적으로 SQL문을 사용하는 경우 그 블록에 이름을 부여하여 재사용 할 수 있게 함으로서 쿼리 성능을 높일 수 있는데 WITH절을 이용하여 미리 이름을 부여해서 Query Block을 만들 수 있습니다. 자주 실행되는 경우 한번만 Parsing되고 Plan 계획이 수립..

Tistory

[Oracle] SELECT문 합치기 유니온(UNION, UNION ALL) 합집합

SELECT문을 실행하면 데이터가 조회됩니다. 만약 이렇게 조회한 여러개의 SELECT문을 가지고 데이터를 가공하고 싶다면 집합연산자를 사용하시면 됩니다. 집합연산자는 SELECT문 활용하여 조회한 데이터를 연산하는 연산자이며 우리가 어릴적 배웠던 그 집합과 동일합니다. 집합 연산자에는 UNION, UNION ALL, INTERSECT, MINUS가 있는데 이번 포스팅에서는 복수의SELECT문을 합쳐주는 UNION, UNION ALL에 대해 포스팅해보려 합니다. 합집합 UNION (중복제거) 두개의 SELECT문을 서로 합치고 싶은데 그 중에서도 두개의 조회문의 중복되는 데이터를 한번만 출력하고 싶다면 UNION을 사용하시면 됩니다. UNION은 합집합을 의미하며 사용하게되면 두개의 SELECT문을 서로..

Tistory

[Oracle] 오라클 순번 매기기 (ROWNUM, ROW_NUMBER) 함수

오라클 순번매기기 ROWNUM SELECT ROWNUM, A.PRODUCT_NAME, A.STANDARD_COST FROM PRODUCTS A ROWNUM이라는 시스템 함수를 사용하면 위와 같이 라인별 순번을 가져올 수 있습니다. 하지만 위와 같이 아무런 정렬이 되지 않은 데이터에 순번을 매긴다면 그 순번은 상당히 의미 없는 숫자가 되어 버릴 것입니다. 정렬된 데이터에 순번매기기 위의 예제와 같이 순번을 매기는 시스템 함수는 ROWNUM이고 정렬은 ORDER BY를 사용하시면 되는데 ROWNUM와 ORDER BY를 같이 사용할 경우 매겨놓은 순번이 섞여버리는 현상이 발생합니다. SELECT ROWNUM,--순번매기기 A.PRODUCT_NAME, A.STANDARD_COST FROM PRODUCTS A O..

Tistory

[Oracle] 오라클 그룹별 순번, 순위 매기기(ROW_NUMBER, RANK) 함수

그룹별 순번매기기 ROW_NUMBER() 카테고리(CATEGORY_ID)별 저렴한 금액(STANDARD_COST)순으로 순번 매기기 SELECT A.CATEGORY_ID, B.CATEGORY_NAME, A.STANDARD_COST, ROW_NUMBER() OVER (PARTITION BY A.CATEGORY_ID ORDER BY A.CATEGORY_ID, A.STANDARD_COST) AS NUM --그룹별 순번 FROM PRODUCTS A INNER JOIN PRODUCT_CATEGORIES B ON A.CATEGORY_ID = B.CATEGORY_ID 카테고리별 가격의 순번을 매기는 쿼리입니다. CPU카테고리에서는 70번까지의 순번이 값이 작은 순에서 큰 순으로 순번이 매겨졌고 그 뒤로 두번째 카테고..

1 2 3 4 5 6 7 8 9 10