bluedayj의 등록된 링크

 bluedayj로 등록된 티스토리 포스트 수는 123건입니다.

파이썬과 프로그램 설치 #2 [내부링크]

파이썬과 프로그램 설치 #2 IDLE 쉘 사용법 지난 포스팅 마지막에서 아래의 그림처럼 IDLE Shell 3.12.1화면이 나오면 정상적으로 설치되었다고 했습니다. IDLE 쉘이 실행되면 쉘 프롬프트 >>> 다음에 1+2를 입력하고 엔터키를 눌러봅니다. 그러면 3이라는 숫자가 출력됩니다. >>> 1 + 2 3 다음은 "Hello Python"이라는 문자열을 출력해 보겠습니다. >>> print("Hello Python") Hello Python 프로그램 작성 및 실행 파이썬 프로그래밍을 할 때 텍스트 에디터로 프로그램을 작성하여 파일로 저장한 다음 IDLE 쉘에서 실행하여 결과를 확인합니다. 파이썬 프로그래밍 에디터 메모장 : 대부분 모든 컴퓨터에 설치되어 있기 때문에 간단한 프로그램 작성이 편리 파이..

[진료 순서 정하기] 외과의사 머쓱이는 응급실에 온 환자의 응급도를 기준으로 진료 순서를 정하려고 합니다. 정수 배열 emergency가 매개변수로 주어질 때 응급도가 높은 순서대로 진료 순서를 .. [내부링크]

외과의사 머쓱이는 응급실에 온 환자의 응급도를 기준으로 진료 순서를 정하려고 합니다. 정수 배열 emergency가 매개변수로 주어질 때 응급도가 높은 순서대로 진료 순서를 정한 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 중복된 원소는 없습니다. 1 ≤ emergency의 길이 ≤ 10 1 ≤ emergency의 원소 ≤ 100 입출력 예 emergencyresult [3, 76, 24][3, 1, 2] [1, 2, 3, 4, 5, 6, 7][7, 6, 5, 4, 3, 2, 1] [30, 10, 23, 6, 100][2, 4, 3, 5, 1] 입출력 예 설명 입출력 예 #1 emergency가 [3, 76, 24]이므로 응급도의 크기 순서대로 번호를 매긴 [3, 1, 2]를 ..

[외계행성의 나이] 우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하.. [내부링크]

우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, ..., j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때 PROGRAMMER-962식 나이를 return하도록 solution 함수를 완성해주세요. 제한사항 age는 자연수입니다. age ≤ 1,000 PROGRAMMERS-962 행성은 알파벳 소문자만 사용합니다. 입출력 예 ageresult 23"cd" 51"fb" 100"baa" 입출력 예 설명 입출력 예 #1 age가 23이므로 "cd"를 return합니..

파이썬과 프로그램 설치 #1 [내부링크]

파이썬과 프로그램 설치 #1 이 세상에는 수 많은 컴퓨터 프로그래밍 언어가 있습니다. 필자는 전공으로 전자계산을 하였는데요. 어셈블리어, 코볼, 포트란, GW 베이직을 배웠었습니다. 지금은 하나도 기억이 나질 않습니다. 현재는 C/C++, C#, VB, Java, 파이썬 등을 주로 사용하고 있습니다. 그런데 이러한 프로그래밍 언어 중에 프로그래밍을 접하는 초보자가 쉽게 접근할 수 있는 언어는 파이썬이라고 생각됩니다. 물론 필자는 C언어를 접하고 파이썬을 한다면 더할 나위없다고 생각합니다만... 필자는 앞으로 인공지능학 전공예정이라 파이썬을 정리하려고 합니다. 오류가 있거나 다른 내용이 있다면 댓글 많이많이 달아주세요!! 파이썬개요 파이썬이란? 1991년 네덜란드 수학자 귀도 반 로선(Guido van R..

[배열 자르기] 정수 배열 numbers와 정수 num1, num2가 매개변수로 주어질 때, numbers의 num1번 째 인덱스부터 num2번째 인덱스까지 자른 정수 배열을 return 하도록 solution 함수를 완성해보세요. [내부링크]

정수 배열 numbers와 정수 num1, num2가 매개변수로 주어질 때, numbers의 num1번 째 인덱스부터 num2번째 인덱스까지 자른 정수 배열을 return 하도록 solution 함수를 완성해보세요. 제한사항 2 ≤ numbers의 길이 ≤ 30 0 ≤ numbers의 원소 ≤ 1,000 0 ≤num1 < num2 < numbers의 길이 입출력 예 numbersnum1num2result [1, 2, 3, 4, 5]13[2, 3, 4] [1, 3, 5]12[3, 5] 입출력 예 설명 입출력 예 #1 [1, 2, 3, 4, 5]의 1번째 인덱스 2부터 3번째 인덱스 4 까지 자른 [2, 3, 4]를 return 합니다. 입출력 예 #2 [1, 3, 5]의 1번째 인덱스 3부터 2번째 인덱스..

[짝수의 합] 정수 n이 주어질 때, n이하의 짝수를 모두 더한 값을 return 하도록 solution 함수를 작성해주세요. [내부링크]

정수 n이 주어질 때, n이하의 짝수를 모두 더한 값을 return 하도록 solution 함수를 작성해주세요. 제한사항 0 < n ≤ 1000 입출력 예 nresult 1030 46 입출력 예 설명 입출력 예 #1 n이 10이므로 2 + 4 + 6 + 8 + 10 = 30을 return 합니다. 입출력 예 #2 n이 4이므로 2 + 4 = 6을 return 합니다. 내 풀이 [Java] class Solution { public int solution(int n) { int answer = 0; for(int i = 1; i

[양꼬치] 머쓱이네 양꼬치 가게는 10인분을 먹으면 음료수 하나를 서비스로 줍니다. 양꼬치는 1인분에 12,000원, 음료수는 2,000원입니다. 정수 n과 k가 매개변수로 주어졌을 때, 양꼬치 n인분과 음.. [내부링크]

머쓱이네 양꼬치 가게는 10인분을 먹으면 음료수 하나를 서비스로 줍니다. 양꼬치는 1인분에 12,000원, 음료수는 2,000원입니다. 정수 n과 k가 매개변수로 주어졌을 때, 양꼬치 n인분과 음료수 k개를 먹었다면 총얼마를 지불해야 하는지 return 하도록 solution 함수를 완성해보세요. 제한사항 0 < n < 1,000 n / 10 ≤ k < 1,000 서비스로 받은 음료수는 모두 마십니다. 입출력 예 nkresult 103124,000 646768,000 입출력 예 설명 입출력 예 #1 10인분을 시켜 서비스로 음료수를 하나 받아 총 10 * 12000 + 3 * 2000 - 1 * 2000 = 124,000원입니다. 입출력 예 #2 64인분을 시켜 서비스로 음료수를 6개 받아 총 64 * ..

[각도기] 각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각.. [내부링크]

각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요. 예각 : 0 < angle < 90 직각 : angle = 90 둔각 : 90 < angle < 180 평각 : angle = 180 제한 사항 0 < angle ≤ 180 angle은 정수입니다. 입출력 예 angleresult 701 913 1804 입출력 예 설명 입출력 예 #1 angle이 70이므로 예각입니다. 따라서 1을 return합니다. 입출력 예 #2 angle이 91이므로 둔각입니다. 따라서 3을 return합니..

[특정 문자 제거하기] 문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요. [내부링크]

문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ my_string의 길이 ≤ 100 letter은 길이가 1인 영문자입니다. my_string과 letter은 알파벳 대소문자로 이루어져 있습니다. 대문자와 소문자를 구분합니다. 입출력 예 my_stringletterresult "abcdef""f""abcde" "BCBdbe""B""Cdbe" 입출력 예 설명 입출력 예 #1 "abcdef" 에서 "f"를 제거한 "abcde"를 return합니다. 입출력 예 #2 "BCBdbe" 에서 "B"를 모두 제거한 "Cdbe"를 return합니다. 내 풀이 [Java] cl..

[문자 반복 출력하기] 문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요. [내부링크]

문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요. 제한사항 2 ≤ my_string 길이 ≤ 5 2 ≤ n ≤ 10 "my_string"은 영어 대소문자로 이루어져 있습니다. 입출력 예 my_stringnresult "hello"3"hhheeellllllooo" 입출력 예 설명 "hello"의 각 문자를 세 번씩 반복한 "hhheeellllllooo"를 return 합니다. 내 풀이 [Java] class Solution { public String solution(String my_string, int n) { String answer = ""; String[] arr = ..

[짝수 홀수 개수] 정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요. [내부링크]

정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요. 제한사항 1 ≤ num_list의 길이 ≤ 100 0 ≤ num_list의 원소 ≤ 1,000 입출력 예 num_listresult [1, 2, 3, 4, 5][2, 3] [1, 3, 5, 7][0, 4] 입출력 예 설명 입출력 예 #1 [1, 2, 3, 4, 5]에는 짝수가 2, 4로 두 개, 홀수가 1, 3, 5로 세 개 있습니다. 입출력 예 #2 [1, 3, 5, 7]에는 짝수가 없고 홀수가 네 개 있습니다. 내 풀이 [Java] class Solution { public int[] solution(int[] num_list) { i..

[직각삼각형 출력하기] "*"의 높이와 너비를 1이라고 했을 때, "*"을 이용해 직각 이등변 삼각형을 그리려고합니다. 정수 n 이 주어지면 높이와 너비가 n 인 직각 이등변 삼각형을 출력하도록 코.. [내부링크]

"*"의 높이와 너비를 1이라고 했을 때, "*"을 이용해 직각 이등변 삼각형을 그리려고합니다. 정수 n 이 주어지면 높이와 너비가 n 인 직각 이등변 삼각형을 출력하도록 코드를 작성해보세요. 제한사항 1 ≤ n ≤ 10 입출력 예 입력 #1 3 출력 #1 * ** *** 입출력 예 설명 입출력 예 #1 n이 3이므로 첫째 줄에 * 1개, 둘째 줄에 * 2개, 셋째 줄에 * 3개를 출력합니다. 내 풀이 [Java] import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for(int i = 1; i

[문자열 뒤집기] 문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요. [내부링크]

문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요. 제한 사항 1 ≤ my_string의 길이 ≤ 1,000 입출력 예 my_stringreturn "jaron""noraj" "bread""daerb" 입출력 예 설명 입출력 예 #1 my_string이 "jaron"이므로 거꾸로 뒤집은 "noraj"를 return합니다. 입출력 예 #2 my_string이 "bread"이므로 거꾸로 뒤집은 "daerb"를 return합니다. 내 풀이 [Java] class Solution { public String solution(String my_string) { String answer = ""; for(int i = ..

[배열 뒤집기] 정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return하도록 solution 함수를 완성해주세요. [내부링크]

정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return하도록 solution 함수를 완성해주세요. 제한 사항 1 ≤ num_list의 길이 ≤ 1,000 0 ≤ num_list의 원소 ≤ 1,000 입출력 예 num_listresult [1, 2, 3, 4, 5][5, 4, 3, 2, 1] [1, 1, 1, 1, 1, 2][2, 1, 1, 1, 1, 1] [1, 0, 1, 1, 1, 3, 5][5, 3, 1, 1, 1, 0, 1] 입출력 예 설명 입출력 예 #1 num_list가 [1, 2, 3, 4, 5]이므로 순서를 거꾸로 뒤집은 배열 [5, 4, 3, 2, 1]을 return합니다. 입출력 예 #2 num_list가 [1, ..

[나이 출력] 머쓱이는 40살인 선생님이 몇 년도에 태어났는지 궁금해졌습니다. 나이 age가 주어질 때, 2022년을 기준 출생 연도를 return 하는 solution 함수를 완성해주세요. [내부링크]

머쓱이는 40살인 선생님이 몇 년도에 태어났는지 궁금해졌습니다. 나이 age가 주어질 때, 2022년을 기준 출생 연도를 return 하는 solution 함수를 완성해주세요. 제한사항 0 < age ≤ 120 나이는 태어난 연도에 1살이며 1년마다 1씩 증가합니다. 입출력 예 ageresult 401983 232000 입출력 예 설명 입출력 예 #1 2022년 기준 40살이므로 1983년생입니다. 입출력 예 #2 2022년 기준 23살이므로 2000년생입니다. 내 풀이 [Java] import java.time.*; class Solution { public int solution(int age) { int answer = 0; LocalDate dt = LocalDate.now(); int year ..

[아이스 아메리카노] 머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 5,500원입니다. 머쓱이가 가지고 있는 돈 money가 매개변수로 주어질 때, 머쓱이가 최대.. [내부링크]

머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 5,500원입니다. 머쓱이가 가지고 있는 돈 money가 매개변수로 주어질 때, 머쓱이가 최대로 마실 수 있는 아메리카노의 잔 수와 남는 돈을 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. 제한사항 0 < money ≤ 1,000,000 입출력 예 moneyresult 5,500[1, 0] 15,000[2, 4000] 입출력 예 설명 입출력 예 #1 5,500원은 아이스 아메리카노 한 잔을 살 수 있고 잔돈은 0원입니다. 입출력 예 #2 15,000원은 아이스 아메리카노 두 잔을 살 수 있고 잔돈은 4,000원입니다. 내 풀이 [Java] class Solution { public int[] s..

[옷가게 할인 받기] 머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다.구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 so.. [내부링크]

머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다.구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요. 제한사항 10 ≤ price ≤ 1,000,000 price는 10원 단위로(1의 자리가 0) 주어집니다. 소수점 이하를 버린 정수를 return합니다. 입출력 예 priceresult 150,000142,500 580,000464,000 입출력 예 설명 입출력 예 #1 150,000원에서 5%를 할인한 142,500원을 return 합니다. 입출력 예 #2 580,000원에서 20%를 할인한 464,000원을 return 합니다. 내 풀이 [Java] class So..

[배열의 평균값] 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요. [내부링크]

정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요. 제한사항 0 ≤ numbers의 원소 ≤ 1,000 1 ≤ numbers의 길이 ≤ 100 정답의 소수 부분이 .0 또는 .5인 경우만 입력으로 주어집니다. 입출력 예 numbersresult [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]5.5 [89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]94.0 입출력 예 설명 입출력 예 #1 numbers의 원소들의 평균 값은 5.5입니다. 입출력 예 #2 numbers의 원소들의 평균 값은 94.0입니다. 내 풀이 [Java] class Solution { public double so..

[피자 나눠 먹기 (3)] 머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice와 피자를 먹는 사람의 수 n이 매개변수로 주어질 때, n명의 사람이 .. [내부링크]

머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice와 피자를 먹는 사람의 수 n이 매개변수로 주어질 때, n명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요. 제한사항 2 ≤ slice ≤ 10 1 ≤ n ≤ 100 입출력 예 slicenresult 7102 4123 입출력 예 설명 입출력 예 #1 10명이 7조각으로 자른 피자를 한 조각 이상씩 먹으려면 최소 2판을 시켜야 합니다. 입출력 예 #2 12명이 4조각으로 자른 피자를 한 조각 이상씩 먹으려면 최소 3판을 시켜야 합니다. 내 풀이 [Java] class Solution { public int sol..

[피자 나눠 먹기 (2)] 머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조.. [내부링크]

머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요. 제한사항 1 ≤ n ≤ 100 입출력 예 nresult 61 105 42 입출력 예 설명 입출력 예 #1 6명이 모두 같은 양을 먹기 위해 한 판을 시켜야 피자가 6조각으로 모두 한 조각씩 먹을 수 있습니다. 입출력 예 #2 10명이 모두 같은 양을 먹기 위해 최소 5판을 시켜야 피자가 30조각으로 모두 세 조각씩 먹을 수 있습니다. 입출력 예 #3 4명이 모두 같은 양을 먹기 위해 최소 2판을 시키면 피자가 12조각으로 모두 세 조..

[피자 나눠 먹기(1)] 머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return .. [내부링크]

머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요. 제한사항 1 ≤ n ≤ 100 입출력 예 nresult 71 11 153 입출력 예 설명 입출력 예 #1 7명이 최소 한 조각씩 먹기 위해서 최소 1판이 필요합니다. 입출력 예 #2 1명은 최소 한 조각을 먹기 위해 1판이 필요합니다. 입출력 예 #3 15명이 최소 한 조각씩 먹기 위해서 최소 3판이 필요합니다. 내 풀이 [Java] class Solution { public int solution(int n) { int answer = 0; if(n % 7 == 0){ answer = ..

[짝수는 싫어요] 정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요. [내부링크]

정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 100 입출력 예 nresult 10[1, 3, 5, 7, 9] 15[1, 3, 5, 7, 9, 11, 13, 15] 입출력 예 설명 입출력 #1 10 이하의 홀수가 담긴 배열 [1, 3, 5, 7, 9]를 return합니다. 입출력 #1 15 이하의 홀수가 담긴 배열 [1, 3, 5, 7, 9, 11, 13, 15]를 return합니다. 내 풀이 [Java] class Solution { public int[] solution(int n) { int[] answer = new int[(n + 1) / 2]; for(int i = 1; i

[최빈값 구하기] 최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개.. [내부링크]

최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다. 제한사항 0 < array의 길이 < 100 0 ≤ array의 원소 < 1000 입출력 예 arrayresult [1, 2, 3, 3, 3, 4]3 [1, 1, 2, 2]-1 [1]1 입출력 예 설명 입출력 예 #1 [1, 2, 3, 3, 3, 4]에서 1은 1개 2는 1개 3은 3개 4는 1개로 최빈값은 3입니다. 입출력 예 #2 [1, 1, 2, 2]에서 1은 2개 2는 2개로 최빈값이 1, 2입니다. 최빈값이 여러 개이므로 -1을 return 합니다. 입출력 예 #3 [1]에는..

[중앙값 구하기] 중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 .. [내부링크]

중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요. 제한사항 array의 길이는 홀수입니다. 0 < array의 길이 < 100 -1,000 < array의 원소 < 1,000 입출력 예 arrayresult [1, 2, 7, 10, 11]7 [9, -1, 0]0 입출력 예 설명 입출력 예 #1 본문과 동일합니다. 입출력 예 #2 9, -1, 0을 오름차순 정렬하면 -1, 0, 9이고 가장 중앙에 위치하는 값은 0입니다. 내 풀이 [Java] import java.util.*; class ..

[나머지 구하기] 정수 num1, num2가 매개변수로 주어질 때, num1를 num2로 나눈 나머지를 return 하도록 solution 함수를 완성해주세요. [내부링크]

제한사항 0 < num1 ≤ 100 0 < num2 ≤ 100 입출력 예 num1num2result 321 1050 입출력 예 설명 입출력 예 #1 num1이 3, num2가 2이므로 3을 2로 나눈 나머지 1을 return 합니다. 입출력 예 #2 num1이 10, num2가 5이므로 10을 5로 나눈 나머지 0을 return 합니다. 내 풀이 [Java] class Solution { public int solution(int num1, int num2) { int answer = -1; answer = num1 % num2; return answer; } } [C] #include #include #include int solution(int num1, int num2) { int answer = ..

[배열 두배 만들기] 정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요. [내부링크]

제한사항 -10,000 ≤ numbers의 원소 ≤ 10,000 1 ≤ numbers의 길이 ≤ 1,000 입출력 예 numbersresult [1, 2, 3, 4, 5][2, 4, 6, 8, 10] [1, 2, 100, -99, 1, 2, 3][2, 4, 200, -198, 2, 4, 6] 입출력 예 설명 입출력 예 #1 [1, 2, 3, 4, 5]의 각 원소에 두배를 한 배열 [2, 4, 6, 8, 10]을 return합니다. 입출력 예 #2 [1, 2, 100, -99, 1, 2, 3]의 각 원소에 두배를 한 배열 [2, 4, 200, -198, 2, 4, 6]을 return합니다. 내 풀이 [Java] class Solution { public int[] solution(int[] numbers)..

[머쓱이보다 키 큰 사람] 머쓱이는 학교에서 키 순으로 줄을 설 때 몇 번째로 서야 하는지 궁금해졌습니다. 머쓱이네 반 친구들의 키가 담긴 정수 배열 array와 머쓱이의 키 height가 매개변수로 .. [내부링크]

머쓱이는 학교에서 키 순으로 줄을 설 때 몇 번째로 서야 하는지 궁금해졌습니다. 머쓱이네 반 친구들의 키가 담긴 정수 배열 array와 머쓱이의 키 height가 매개변수로 주어질 때, 머쓱이보다 키 큰 사람 수를 return 하도록 solution 함수를 완성해보세요. 제한사항 1 ≤ array의 길이 ≤ 100 1 ≤ height ≤ 200 1 ≤ array의 원소 ≤ 200 입출력 예 arrayheightresult [149, 180, 192, 170]1673 [180, 120, 140]1900 입출력 예 설명 입출력 예 #1 149, 180, 192, 170 중 머쓱이보다 키가 큰 사람은 180, 192, 170으로 세 명입니다. 입출력 예 #2 180, 120, 140 중 190보다 큰 수는 없..

[중복된 숫자 개수] 정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는 지를 return 하도록 solution 함수를 완성해보세요. [내부링크]

제한사항 1 ≤ array의 길이 ≤ 100 0 ≤ array의 원소 ≤ 1,000 0 ≤ n ≤ 1,000 입출력 예 arraynresult [1, 1, 2, 3, 4, 5]12 [0, 2, 3, 4]10 입출력 예 설명 입출력 예 #1 [1, 1, 2, 3, 4, 5] 에는 1이 2개 있습니다. 입출력 예 #2 [0, 2, 3, 4] 에는 1이 0개 있습니다. 내 풀이 [Java] class Solution { public int solution(int[] array, int n) { int answer = 0; for(int arr : array){ if(arr == n){ answer++; } } return answer; } } [C] #include #include #include // arr..

[두 수의 나눗셈] 정수 num1, num2가 매개변수로 주어질 때, num1을 num2로 나눈 몫을 return 하도록 solution 함수를 완성해주세요. [내부링크]

제한사항 0 < num1 ≤ 100 0 < num2 ≤ 100 입출력 예 num1num2result 1052 723 입출력 예 설명 입출력 예 #1 num1이 10, num2가 5이므로 10을 5로 나눈 몫 2를 return 합니다. 입출력 예 #2 num1이 7, num2가 2이므로 7을 2로 나눈 몫 3을 return 합니다. 내 풀이 [Java] class Solution { public int solution(int num1, int num2) { int answer = 0; return num1 / num2; } } [C] #include #include #include int solution(int num1, int num2) { int answer = 0; return num1 / num2;..

[두 수의 곱] 정수 num1, num2가 매개변수 주어집니다. num1과 num2를 곱한 값을 return 하도록 solution 함수를 완성해주세요. [내부링크]

제한사항 0 ≤ num1 ≤ 100 0 ≤ num2 ≤ 100 입출력 예 num1num2result 3412 2719513 입출력 예 설명 입출력 예 #1 num1이 3, num2가 4이므로 3 * 4 = 12를 return합니다. 입출력 예 #2 num1이 27, num2가 19이므로 27 * 19 = 513을 return합니다. 내 풀이 [Java] class Solution { public int solution(int num1, int num2) { int answer = 0; return num1 * num2; } } [C] #include #include #include int solution(int num1, int num2) { int answer = 0; return num1 * num2..

[숫자 비교하기] 정수 num1과 num2가 매개변수로 주어집니다. 두 수가 같으면 1 다르면 -1을 retrun하도록 solution 함수를 완성해주세요. [내부링크]

제한사항 0 ≤ num1 ≤ 10,000 0 ≤ num2 ≤ 10,000 입출력 예 num1num2result 23-1 11111 799-1 입출력 예 설명 입출력 예 설명 #1 num1이 2이고 num2가 3이므로 다릅니다. 따라서 -1을 return합니다. 입출력 예 설명 #2 num1이 11이고 num2가 11이므로 같습니다. 따라서 1을 return합니다. 입출력 예 설명 #3 num1이 7이고 num2가 99이므로 다릅니다. 따라서 -1을 return합니다. 내 풀이 [Java] class Solution { public int solution(int num1, int num2) { int answer = 0; answer = num1 == num2 ? 1 : -1; return answer; ..

[두 수의 차] 정수 num1과 num2가 주어질 때, num1에서 num2를 뺀 값을 return하도록 soltuion 함수를 완성해주세요. [내부링크]

제한사항 -50000 ≤ num1 ≤ 50000 -50000 ≤ num2 ≤ 50000 입출력 예 num1num2result 23-1 100298 입출력 예 설명 입출력 예 #1 num1이 2이고 num2가 3이므로 2 - 3 = -1을 return합니다. 입출력 예 #2 num1이 100이고 num2가 2이므로 100 - 2 = 98을 return합니다. 내 풀이 [Java] class Solution { public int solution(int num1, int num2) { return num1 - num2; } } [C] #include #include #include int solution(int num1, int num2) { return num1 - num2; } [Python] def s..

[C언어] for문을 이용한 역정삼각형 [내부링크]

********* ******* ***** *** * #include int i, j, k; for(i = 5; i >= 1; i--){ for(j = 0; j < 5 - i; j++){ printf(" "); } for(k = 1; k < i * 2 - 1; k++){ printf("*"); } printf("\n"); }

[C언어] for문을 이용한 정삼각형 [내부링크]

* *** ***** ******* ********* #include int i, j, k for(i = 1; i

[C언어] for문을 이용한 역직각삼각형 [내부링크]

***** **** *** ** * include void main(){ int i, j; for(i = 5; i >= 1; i--){ for(j = 1; j

[C언어] for문을 이용한 직각삼각형 [내부링크]

* ** *** **** ***** #include int main(){ int i, j; for(i = 1; i

[C언어] 구구단 [내부링크]

세로형 구구단 2 * 1 = 2 2 * 2 = 4 ... 3 * 1 = 3 3 * 2 = 6 ... 9 * 8 = 72 9 * 9 = 81 #include void main(){ int i, j; for(i = 2; i

정보처리기사실기 2021년 1회 [내부링크]

1. 물리 네트워크(MAC) 주소에 해당하는 IP 주소를 알려주는 프로토콜로 역순 주소 결정 프로토콜을 무엇이라고 하는지 쓰시오. 2. 다음은 DB 설계 절차에 관한 설명이다. 다음 빈칸에 들어갈 알맞은 용어를 쓰시오. ( A )은/는 특정 DBMS의 특성 및 성능을 고려하여 데이터베이스 저장 구조로 변환하는 과정으로 결과로 나오는 명세서는 테이블 정의서 등이 있다. ( B )은/는 현실 세계에 대한 인식을 추상적, 개념적으로 표현하여 개념적 구조를 도출하는 과정으로 주요 산출물에는 E-R 다이어그램이 있다. ( C )은/는 목표 DBMS에 맞는 스키마 설계, 트랜잭션 인터페이스를 설계하는 정규화 과정을 수행한다. [보기] : 구현 / 개념적 설계 / 논리적 설계 / 요구사항 분석 / 물리적 설계 3. ..

[C언어] main 함수 [내부링크]

#include int main(){ printf("Hello world"); return 0; } 위의 코드에서 main()은 함수이다. 프로그램은 하나 또는 여러개의 함수들이 모여 실행된다. main 함수는 프로그램 실행 시 처음 시작이며 하나의 프로그램에는 하나의 main함수만 존재한다. 함수는 리턴형 함수와 그렇지 않은 함수로 나뉠 수 있다. 리턴형 함수는 함수 앞에 자료형을 선언하고 리턴하지 않는 함수는 void을 선언하면 된다. 그리고 코드 실행문은 함수뒤에 중괄호 { } 안에 작성하고 문장의 끝은 세미콜론(;)으로 끝내면 된다. #include void main(){ printf("Hello world"); } 위의 코드는 return하지 않는 함수이다.

[MariaDB] MariaDB 암호화, 복호화 [내부링크]

MariaDB 암호화, 복호화 단방향 암호화 SELECT SHA2('1234567890',256) 암호화 FROM dual 양방향 암호화 HEX(AES_ENCRYPT('평문', '암호화키값') SELECT HEX(AES_ENCRYPT('1234567890', 'KEY')) FROM DUAL 양방향 복호화 AES_DECRYPT(UNHEX('암호화문'), '암호화키값') SELECT AES_DECRYPT(UNHEX('42E7EF87950D06526A68A9642A0CF320'), 'KEY') 복호화 FROM DUAL; 복호화하면 정상적인 복호화 문으로 보이지 않는다. 아래와 같이 CONVERT하면 정상적으로 복호화문이 보일 것입니다. SELECT CONVERT(AES_DECRYPT(UNHEX('42E7EF8..

[Ubuntu 18] OpenJDK 8 설치(JDK 1.8) [내부링크]

자바 버전 확인 java -version 먼저 자바가 설치 되어 있는 지 확인해 봅니다. 설치가 되어 있지 않으면 install 할 수 있다는 메시지가 나옵니다. 자바 설치 셋 중 하나를 선택하여 고대로 타이핑하면 됩니다. 저는 아래와 같이 openjdk-8 버전을 설치하겠습니다. apt-get install openjdk-8-jdk 설치가 다 끝나면 자바 버전을 다시 확인해 봅니다.

[MariaDB] MariaDB 계정생성, 조회, 비밀번호 변경, 권한 조회 [내부링크]

계정 생성 CREATE USER 'bluedayj'@'%' IDENTIFIED BY 'password'; CREATE USER 'bluedayj'@'localhost' IDENTIFIED BY 'password'; CREATE USER 'bluedayj'@'192.168.0.100' IDENTIFIED BY 'password'; 계정은 'ID'@'Host'의 형식으로 이루어짐 * : 모든 접속 허용 localhost : 로컬 서버에서만 접속 가능 '192.168.0.100' : 특정IP에서만 접속 가능 계정 조회 SELECT * FROM mysql.user; 권한 부여 GRANT ALL PRIVILEGES ON 'DB명'.* TO 'bluedayj'@'%'; GRANT SELECT ON 'DB명.TABL..

상수와 변수 #2 - 변수 [내부링크]

변수 변수(Variable)는 변하는 값이다. 변수 이름 변수 이름은 영문자(a-z,A-Z), 숫자(0-9), 밑줄(_)을 조합하여 구성할 수 있다. 하지만 숫자를 시작으로 하는 변수 이름은 사용할 수 없음. name, age, Date, age01, _name (O) 4, 9_age, &name, name 1 (X) 변수 선언 int data1; int data2; int data3; int data4; 또는 int data1, data2, data3, data4; 변수에 저장된 값 출력 #include "stdio.h" void main(){ int age; age = 30; printf("현재 나이는 %d입니다.", age); } 컴파일 후 실행하면 위의 화면처럼 한글이 깨질 경우가 있다. 아래 코..

HTML5 기본태그 #2 - 본문글자 [내부링크]

글자태그 본문 글자 본문 글자 p 본문 문단 br 줄 바꿈 hr 수평줄 삽입 Lorem Ipsum What is Lorem Ipsum? Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic t..

NginX IP 접근제어하기 [내부링크]

NginX IP 접근제어하기 server{ listen 80; server_name www.example.com; location /{ deny 192.168.0.1; allow 192.168.0.2; } } 192.168.0.1 차단, 192.168.0.2 허용 server{ listen 80; server_name www.example.com; location /{ allow 192.168.0.2; deny all; } } 192.168.0.2 허용, 나머지 IP 차단 server{ listen 80; server_name www.example.com; location /{ allow 192.168.0.1/25; deny all } } 서브넷 마스크로 하면 192.168.0.1~192.168.0.12..

안드로이드 화면회전 방지하기 [내부링크]

안드로이드의 화면회전(Screen Rotation) 방지 //세로모드 //가로모드

ERWIN 논리모델에서 작성한 컬럼명 코멘트에 나오게 처리하기 [내부링크]

1. 물리모드(Physical)에서 Database > Pre & Post Script > Model-Level 선택한 후 New하고 Name에 대충 이름넣고 Code 탭에 Code에 아래와 같이 넣습니다. Oracle %ForEachTable() { COMMENT ON TABLE %TableName IS '%EntityName'; %ForEachColumn() { COMMENT ON COLUMN %TableName.%ColName IS '%AttName'; } } MySQL %ForEachTable() { alter TABLE %TableName COMMENT = '%EntityName'; %ForEachColumn() { ALTER TABLE %TableName CHANGE COLUMN %ColNam..

WebToB 명령어 [내부링크]

버전확인 wsadmin -version 웹투비 종료 wsdown 웹투비 시작 wsboot 웹투비 컴파일 wscfl -i http.m 웹투비 위치확인 폴더/web/config

상수와 변수 #1 - 상수 [내부링크]

상수 프로그램이 실행될 때 한 번 값이 결정되면 프로그램이 종료될 때 까지 다른 값으로 바뀌지 않는 정보. 숫자형, 문자형, 문자열형으로 구분 숫자형 상수 가장 기본적인 형태의 상수이며 정수형과 실수형으로 나뉩니다. #include int main(){ unsigned int num = 1000; float f = 3.17; num = 2000; printf("%d", num); } VS Code로 실행했을 경우 위의 소스에는 문제가 발생하지 않습니다. 이론상으로 num = 1000; 한 후에 num = 2000;이라고 하면 불가능하나 조금 유연해져서 저 자체로는 상수가 아닌 변수로 인식합니다. #include int main(){ const unsigned int num = 1000; float f =..

사이트에 연결할 수 없음 - DNS_PROBE_FINISHED_NXDOMAIN 오류 해결 방법 [내부링크]

인터넷을 하다보면 가끔 사이트에 연결할 수 없음이라는 에러를 만날 수 있다. DNS_PROBE_FINISHED_NXDOMAIN 에러를 발생했을 때 해결하는 방법에 대해서 알아보도록 하겠습니다. DNS_PROBE_FINISHED_NXDOMAIN 오류란? 해당 에러는 크롬에서 발생하는 오류입니다. DNS_PROBE_FINISHED_NXDOMAIN 에러는 도메인 네임 서버(DNS)에서 실제 주소를 못 찾았다는 메시지입니다. 이건 크롬 브라우저 문제가 아니라 DNS의 문제입니다. DNS 서버 설정 변경 네트워크 및 인터넷의 이더넷 속성을 클릭합니다.(윈도우10 기준) IP설정 편집을 클릭하면 IP주소와 게이트웨이, DNS입력란이 있습니다. 대부분 기본 설정 DNS에 셋팅만 되어 있을 수 있습니다. 여기에 대체 ..

HTML5 기본태그 #1 - 제목글자 [내부링크]

글자태그 제목 글자 태그 설명 제목글자 h1 첫 번째 큰 제목 글자 h2 두 번째 큰 제목 글자 h3 세 번째 큰 제목 글자 h4 네 번째 큰 제목 글자 h5 다섯 번째 큰 제목 글자 h6 여섯 번째 큰 제목 글자 제목 글자 태그1 제목 글자 태그2 제목 글자 태그3 제목 글자 태그4 제목 글자 태그5 제목 글자 태그6

HTML5 작성과 실행 [내부링크]

에디터 설치 Visual Studio Code 를 먼저 설치합니다. https://code.visualstudio.com/download?wt.mc_id=DX_841432 Download Visual Studio Code - Mac, Linux, Windows Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows. Download Visual Studio Code to experience a redefined code editor, optimized for building and debugging modern web and cloud applications. code.visualstudio..

HTML5 문서구조 [내부링크]

HTML 문서의 기본 구조 웹문서의 시작은 이고 웹문서의 끝은 입니다. 웹 브라우저 화면에는 보이지 않지만 웹 브라우저가 알아야 할 정보들은 부분에 입력합니다. 태그 - 문서제목 태그 - 문자인코딩, 문서 키워드 및 요약 정보 등 Hello, HTML5 실제 브라우저에 표시될 내용을 입력합니다.

자료형의 종류 #2 [내부링크]

실수형 float 32비트 부동소수점 범위는 1.2E-38 ~ 3.4E38 32비트 float는 저장 범위는 int와 같지만 정수와 소수를 모두 저장해야 하므로 소수점 이하 숫자는 6자리밖에 안됩니다. float f; f = 3.14; 출력값 : 3.14 float f: f = 3.141592654; 출력값 : 3.141592 double 64비트 부동소수점 범위는 2.2E-308 ~ 1.8E308 64비트 double는 소수점 이하 14자리까지 저장할 수 있습니다. double d; d = 3.141592654 출력값 : 3.14159265400000

자료형의 종류 #1 [내부링크]

정수형 signed char 부호가 있는 1바이트 저장 공간 signed char는 1바이트 크기의 자료형 부호 있는 데이터를 처리하기 위해 첫 1비트는 부호(+/-) 비트로 사용하고 나머지 7비트에만 숫자 저장 범위는 -128 ~ 127 부호 비트가 0이면 양수이고 0~127 중 하나 저장 부호 비트가 1이면 음수이고 -128~-1중 하나 저장 signed를 생략한 char로 표현가능 signed char c; c = -5; /*-5를 c 변수에 저장*/ unsigned char 부호가 없는 1바이트 저장 공간 unsigned char는 부호비트 없이 1바이트 전체를 저장 범위는 0 ~ 255 unsigned char c; c = 255; /*0에서 255까지만 변수에 저장*/ signed short ..

HTML5 기본용어 [내부링크]

HTML5는 기본적으로 태그(tag), 요소(element), 속성(attribute) 용어를 알아야합니다. 태그와 요소 HTML페이지를 구성하는 각 부품을 요소라고 하며 태그는 이런한 요소를 만들 때 사용하는 작성 방법입니다. HTML 요소들은 내용을 가질 수 있는 요소와 내용을 가질 수 없는 요소로 나뉘며 내용을 가질 수 있는 요소는 내용형태이고 내용을 가질 수 없는 요소는 행태입니다. Hello, HTML : 시작태그 Hello, HTML : 내용 : 끝태그 ※ 내용을 가질 수 있는 요소 속성 속성은 태그에 추가 정보를 부여할 때 쓰이는 것으로 h1태그에 title 속성을 부여할 수 있습니다. Hello, HTML 시작 태그에 title은 속성이름이고 "안녕 HTML"은 속성 값입니다. 마무리 기본..

프롤로그 [내부링크]

C언어를 배울려고 하는 목적이 무엇인가? 그냥? 남들이 해서?? 필자는 대학입학을 해서 프로그래밍 언어 보다는 이론적인 걸 더 많이 배운 듯 하다. 컴퓨터학개론이 어쩌고, 자료구조가 어쩌고... 본격적으로 언어는 C가 아닌 코볼, 포트란이었다. 물론 코볼, 포트란을 배움으로해서 프로그래밍언어 습득하였지만 C언어 만한 것이 없다고 생각된다. 요즘 많은 학원들이 자바개발자 양성을 하고 있다. 대부분 비전공자들이 배우고 익힌다. 솔직히 C언어를 학습한 후 자바를 배웠으면 하는 바람이 있지만 ... 암튼...기본적인 언어의 문법, 알고리즘은 C언어에서 파생됐다고 생각하는 필자다. C언어 개발자가 아니더라도 예를 들어 자바개발자, 닷넷개발자, 기타 백엔드/프론트엔드 개발자 되려고 하는 분들이 계신다면 꼭!! C언..

블로그 정리 [내부링크]

추석 명절연휴 기간 동안 블로그 정리를 단행. 네이버와 티스토리 블로그 카테고리도 중복되고 정체성 혼돈으로 IT프로그래밍 관련은 티스토리로 옮기고 IT제품과 기타 맛집/카페관련 등등은 네이버로 옮기고... 손 모가지 나가는 줄... 암튼 정리는 마쳤고... 앞으로 열심히 블로그 포스팅하는 일만 남았다.. 이상 끝.

AWT - GUI 프로그래밍 #3 Button [내부링크]

Button 프로그램에서 기본적으로 사용되는 컴포넌트입니다. 주로 사용자의 입력을 받아들일 때 사용됩니다. 주요 생성자 - Button() : 빈 버튼 생성 - Button(String label) : 주어진 label을 표시하는 버튼을 생성 Button button = new Button("버튼"); 주요 메소드 - String getLabel() : 버튼의 텍스트를 얻음 - void setLabel(String label) : 버튼의 텍스트 설정 package awt; import java.awt.Button; import java.awt.Frame; import java.awt.Panel; class ButtonFrame{ private Panel panel; private Butto..

AWT - GUI 프로그래밍 #2 Label [내부링크]

컴포넌트 컴포넌트는 특정 기능을 수행하는 최소단위 컴포넌트와 다른 컴포넌트를 담을 수 있는 컨테이너 컴포넌트, 독립된 창으로 실행될 수 있는 최상위 컴포넌트로 구분할 수 있습니다. 최소단위 컴포넌트 Label, Button, Canvas, Checkbox, Choice, List, Scrollbar, TextField, TextArea, Menu, MenuItem, MenuBar 일반적으로 컴포넌트라고 하면 최소단위 컴포넌트라고 할 수 있습니다. 최소단위 컴포넌트는 독립적으로 수행할 수 없기 때문에 최상위 컴포넌트에 포함되어야 합니다. Label AWT 컴포넌트 중 가장 단순한 형태 "종류:, 파일 시스템 :, 용량 : " 이런 것들이 Label입니다. 주요 생성자 - Label() : 빈..

AWT - GUI 프로그래밍 #1 [내부링크]

AWT(Abstract Windows Toolkit)란 자바에서 GUI 프로그래밍을 지원하기 위해서 제공되는 패키지 모음을 말합니다. 지금까지 했던 프로그래밍은 윈도우에서 command창으로 실행을 한거라고 하면 AWT는 비주얼베이직이나 비주얼 C#과 비슷한 윈폼이라고 생각하면 됩니다. 그렇다고 윈폼과 동일 수준을 기대하시면 안됩니다. AWT 프로그래밍 구조 AWT 프로그래밍의 구조는 크게 컴포넌트와 레이아웃 그리고 이벤트 처리로 나눌 수 있습니다. 컴포넌트는 버튼과 같은 GUI를 구성하는 요소를 말하고 레이아웃은 요소들의 위치를 설정하는 것이며 이벤트 처리는 버튼을 마우스로 클릭했을 때 특정 작업을 처리하는 것을 말합니다. Hello AWT 거의 모든 GUI프로그램은 프레임을 프로그램 단위로 사용합..

예외 처리 [내부링크]

예외 처리 프로그램에서 예외 처리는 안정적인 프로그램을 만들기 위해서입니다. 그러나 빌게이츠든 스티브 잡스든 100% 완벽한 프로그램은 못 만듭니다. 예외는 오류보다는 정상적인 프로그램의 처리를 벗어난 잘못된 동작이라고 할 수 있습니다. 예외가 발생했다면 최소한의 일을 처리할 수 있어야 합니다. 어떤 이유로 오류가 발생했는 지 사용자에게 알려주어야 합니다.(꼭 그렇지만도 않음. 공공프로젝트에서 오류코드와 오류명을 화면에 표시하면 보안상의 문제가 있다고 표시 못하게 하는 경우도 있음) 어떤 데이터를 다루는 중이었다면 모든 데이터를 저장해합니다.(가능할지 모르겠어요) 최악의 경우 안전한 방법으로 프로그램을 종료할 수 있어야 합니다. 예외 타입 프로그램에서 오류를 모두 처리해 줄 수 있는 것은 ..

날짜 다루기 [내부링크]

Date 사용하는 시간은 1970년 1월 1일 기준으로 현재까지의 사간을 1/1000초 단위로 나타냅니다. 주요 생성자 Date() : Date 객체 생성, 1970년 1월 1일부터 현재까지 흐른 시간으로 초기화 Date(long date) : 1970년 1월 1일부터 지정한 만큼 흐른 시간으로 초기화 주요 메소드 boolean after(Date when) : 주어진 시간보다 나중 시간이면 true 아니면 false boolean before(Date when) : 주어진 시간보다 이전 시간이면 true 아니면 false long getTime() : Date 객체의 현재 시간을 1/1000초 단위로 리턴 void setTime(long time) : Date 객체의 시간 설정 D..

벡터와 해시테이블 [내부링크]

벡터 다수의 데이터를 다루기 위해 배열이라는 것을 사용했습니다. 사용 방법이 간단하기 때문에 자주 사용되죠. 그런데 배열에는 단점이 있습니다. 배열의 크기가 한번 정해지면 크기 변경이 어렵고 생성된 배열과 같은 종류의 데이터만 사용할 수 있다는 거죠. 이러한 배열의 단점을 보완한 것이 벡터입니다. 벡터의 특징 1. 용량 변경이 가능하다. 2. 여러 객체를 포함시킬 수 있다. 주요 생성자 Vector() : 초기 용량 10, 용량 초과 시 크기를 두 배씩 증가 Vector(int initCapacity) : 지정한 크기의 용량으로 초기화, 용량 초과 시 크기를 두 배씩 증가 Vector(int initCapacity, int capacityIncrement) : 지정한 크기의 용량으로 초기화, ..

자바 문자열 다루기 #2 [내부링크]

StringBuffer 클래스 StringBuffer 클래스의 기능은 String 클래스와 대부분 동일합니다. StringBuffer 클래스는 String클래스가 갖지 못하는 몇몇 장점을 가지고 있습니다. String보다 빠르다는 것과 문자열의 동적 조작이 가능하다는 것입니다. 주요 생성자 StringBuffer() : 버퍼의 크기가 16인 객체 생성 StringBuffer(int length) : 버퍼의 크기가 length인 객체 생성 StringBuffer(String str) : 주어진 문자열을 초기값으로 객체 생성 주요 메소드 StringBuffer append(모든형태의 데이터) : 문자열에 주어진 데이터 추가 StringBuffer delete(int start, int en..

자바 문자열 다루기 #1 [내부링크]

String 클래스 String 클래스는 API문서의 java.lang 패키지에서 찾아볼 수 있습니다. 자바 API문서는 아래 링크를 참조하시면 됩니다. https://docs.oracle.com/javase/8/docs/api/ Java Platform SE 8 docs.oracle.com 그렇다면 String 클래스를 사용하기 위해서는 import java.lang.String 해주지 않을까? 자바는 기본적으로 java.lang 패키지를 자동으로 import해 줍니다. 그래서 따로 import 작업을 해주지 않아도 됩니다. java.lang.String 클래스의 주요 메소드 char charAt(index) : 주어진 위치의 한 문자 리턴 boolean endsWith(String suffix..

자바 클래스와 객체 #6 [내부링크]

내부 클래스 내부 클래스란 클래스 내부에 포함된 클래스를 의미합니다. 내부 클래스 특징 1. 내부 클래스는 외부 클래스의 변수나 메소드에 접근할 수 있습니다. 2. 내부 클래스를 사용하기 위해서는 반드시 객체를 생성해야 합니다. 3. 내부 클래스는 static 변수나 메소드를 가질 수 없습니다. 단, 상수는 가능합니다. 4. 내부 클래스는 외부에서 단독으로 접근 할 수 없습니다. 예제를 통해서 알아보도록 하겠습니다. InnerTest라는 클래스를 생성합니다. package com.bluedayj; public class InnerTest { public static void main(String[] args) { Outer outer = new Outer(); Outer.Inner inner = oute..

자바 클래스와 객체 #5 [내부링크]

static 프로그램에서 사용하는 메모리를 할당하는 방식이 두 가지가 있습니다. 동적 할당과 정적 할당인데 동적 할당은 프로그램이 실행 하는 중에 필요할 때 필요한 만큼 메모리를 할당하는 것이고, 정적 할당은 프로그램을 시작하기 전에 원하는 만큼 메모리를 할당받는 것입니다. 자바에서 객체를 생성할 때 즉, new를 사용하여 실행 시간에 메모리를 할당받는 것이 동적 할당에 해당되며 static 메소드나 static 변수가 정적 할당에 해당됩니다. 예제를 통해서 한번 살펴보도록 하겠습니다. Static 이라는 클래스를 생성합니다. package com.bluedayj; public class Static { public String a = "일반 변수"; public static String b = "s..

자바 클래스와 객체 #4 [내부링크]

final 클래스의 구성요소가 더 이상 변경되지 않길 바랄 때 final을 사용합니다. 클래스에서 final을 사용하면 상속할 수 없고, 메소드에서 사용하면 오버라이딩할 수 없습니다. 클래스에서 사용 final로 선언된 클래스는 절대로 상속될 수 없습니다. 클래스 앞에 final를 붙여주면 됩니다. final class 클래스명{ } 두 개의 클래스를 만들어서 상속 여부를 확인해 보겠습니다. 먼저 FinalA라는 클래스를 만들고 소스 코드를 입력합니다. package com.bluedayj; public class FinalA { protected String name; protected int age; public FinalA(String name, int age) { this.name = name; ..

자바 클래스와 객체 #3 [내부링크]

패키지 클래스를 통합 관리할 목적으로 패키지(package)를 사용합니다. 이전 포스팅 접근 제한자의 한 종류였던 package와 다른 개념입니다. 예를 들어 Controller만 모아서 관리하거나 Util만 모아서 관리하고자 할 때 패키지를 이용하시면 됩니다. 일종의 폴더(디렉토리)라고 생각하시면 됩니다. 패키지 만들기 소스의 처음에 package문을 사용하여 패키지를 선언합니다. 단, package의 선언은 반드시 소스의 가장 처음 부분이어야 합니다. package 패키지명; 이클립스로 클래스를 생성하실 때 상단에 Package부분에 사용하실 패키지명을 입력하시고 클래스명을 입력하시면 자동으로 패키지가 생성되고 그 패키지안에 클래스에 생성됩니다. 패키지 이용 패키지에 포함되어 있는 클래스를 사용하기 ..

자바 클래스와 객체 #1 [내부링크]

클래스와 객체, 객체지향 프로그래밍은 서로 떼어낼 수 없어서 클래스와 객체는 끊임없이 나옵니다. 객체 지향 언어 객체지향 프로그래밍을 설명하기 전에 절차 지향 프로그래밍을 알아야 합니다. 절차 지향 프로그래밍 절차 지향 프로그래밍(언어)는 아래와 같이 설명하고 있습니다. 참고하시길 바랍니다. https://terms.naver.com/entry.nhn?docId=833608&cid=42344&categoryId=42344 절차 지향 언어 컴퓨터에서 연산, 대입, 판단, 입출력, 실행 순서 등의 기본적인 처리를 쉽게 기술할 수 있고, 그런 실행 순서(절차)를 지정해서 프로그램을 작성하기 위한 프로그래밍 언어로 COBOL, FORTRAN, PL/Ⅰ terms.naver.com 쉽게 말해 자동차를 조립한다고 ..

[리눅스일반] 리눅스의 이해 [내부링크]

리눅스의 특징 및 장단점 특징 1. 오픈소스 운영체제 - 소스코드가 공개되어 있는 운영체제 2. 멀티유저, 멀티태스킹 운영체제 - 여러 사용자가 동시에 시스템에 접근이 가능합니다. - 여러 개의 태스크를 동시에 실행할 수 있습니다. 3. 다중 스레드를 지원 - 하나의 프로세스 내에서 여러 개의 네트워크 작업을 동시에 처리할 수 있습니다. 4. 여러 종류의 파일 시스템을 지원하는 운영체제 - 리눅스의 기본 파일 시스템인 ex2, ex3, ext4 뿐만 아니라 DOS의 FAT, Windows FAT3/NTFS 등도 지원합니다. 장점 1. 리눅스는 유닉스와 호환 가능 2. PC용 운영체제보다 안정적 3. 하드웨어 기능을 효과적으로 사용가능 4. 오픈소스 운영체제 단점 1. 기술 지원 한계 2. 한글 지원 미흡..

자바 클래스와 객체 #2 [내부링크]

클래스의 다양한 기능 지금부터는 클래스를 보다 효과적으로 사용하기 위한 클래스의 다양한 기능에 대해서 알아보도록 하겠습니다. 상속 노트북이라는 클래스가 필요하다고 가정하겠습니다. 노트북은 컴퓨터의 한 분류입니다. 노트북은 컴퓨터가 가진 특성외에 휴대성이라는 특성을 추가로 가지고 있습니다. 두 클래스 사이에 어떠한 포함 관계가 성립될 때 객체 지향의 상속 개념을 사용하면 클래스를 간단하게 만들 수 있습니다. 컴퓨터라는 클래스를 예를 들어 컴퓨터 클래스를 상속하여 노트북이라는 클래스를 만들 수 있습니다. 컴퓨터의 여러 특성이 있겠지만 여기에서는 컴퓨터명, 제조사, CPU, 메모리, 저장장치 종류만 예로 들겠습니다. class Computer { private String name; private Stri..

리눅스 tar.gz 압축 및 해제 [내부링크]

tar로 압축하기 tar -cvf [파일명.tar] [디렉토리명] tar 압축풀기 tar -xvf [파일명.tar] tar.gz로 압축하기 tar -zcvf [파일명.tar.gz] [디렉토리명] tar.gz 압축풀기 tar -zxvf [파일명.tar.gz] tar 명령어 옵션 옵션 설명 -c 파일을 tar로 묶음 -p 파일 권한을 저장 -v 묶거나 파일을 풀 때 과정을 화면으로 출력 -f 파일 이름을 지정 -C 경로를 지정 -x tar 압축해제 -z gzip으로 압축하거나 해제

도커 로그 삭제하기 [내부링크]

sudo sh -c "truncate -s 0 /var/lib/docker/containers/*/*-json.log"

[자바] for문을 이용한 삼각형 만들기 [내부링크]

직각삼각형 * ** *** **** ***** for(int i = 1; i

[자바] 구구단 만들기 [내부링크]

세로형 구구단 for(int i = 2 ; i

자바 기본 입출력 [내부링크]

자바에서 스크린과 키보드를 통합 입출력 방법인 표준 입출력을 제공합니다. 표준 입출력을 제공하는 클래스는 System으로 멤버 변수인 in, out, err 을 이용해서 표준 입력/출력/에러를 제공합니다. 자바의 기본 입력 int a = System.in.read(); //아스키 코드 값 1개 입력받기 String str = System.in.readLine(); //문자열 입력받기 자바의 기본 출력 System.out.print(출력); System.out.println(출력); System.out.printf("서식", 출력); 입·출력 예외 처리 자바에서 입·출력이 이루어지는 부분에서 예외 처리를 하도록 요구하고 있습니다. 자바 입·출력을 처리할 때 우선적으로 검토해야 하는 것이 예외 처리라는 것입..

[워드프레스] 워드프레스 대시보드 [내부링크]

1. 설치 후 http://localhost를 입력하면 아래와 같은 기본화면이 나옵니다. 기본 설정을 하기 위해서는 관리자 페이지로 이동해야 하는데요!! 2. http://localhost/admin을 입력하면 관리자 페이지로 이동합니다. 3. 워드프레스 설치 시 기본설정에서 지정한 사용자명과 암호를 입력하고 로그인 합니다. 예전버전보다 대시보드가 약간 달라진듯 합니다.

[워드프레스] 워드프레스 설치 [내부링크]

1. wordpress.org 이동 http://www.wordpress.org 2. 워드프레스 파일 다운로드 wordpress.org사이트에서 Get WordPress버튼을 클릭하여 다운로드 페이지로 이동한 다음 Download Wordpress 버전 버튼을 클릭하여 워드프레스 압축파일을 다운로드 받습니다. 3. 압축해제 다운로드 받은 압축파일을 원하는 곳에 해제한 후 웹서버를 가동합니다. 4. 웹서버 실행 웹서버는 자신의 입맛에 맞는걸(?)로 실행합니다. 필자는 Apache 2.4로 진행합니다. 먼저, 압축해제한 폴더의 wp-config-sample.php를 wp-config.php로 이름변경하거나 복사합니다. wp-config.php를 notepad++/울트라에디터/메모장 같은 편집기를 이용하여 수..

[영도카페] 38.5 [내부링크]

이제 영도는 카페의 성지가 되어가고 있다.

[Docker] 아파치와 톰캣설치하기 #2 [내부링크]

톰캣 설치 지난 포스팅에선 아파치를 설치하였습니다. 이번 포스팅엔 도커에 톰캣을 설치하는 방법을 알아보도록 합니다. 아파치 설치와 마찬가지로 톰캣이미지를 검색한 후 실행시키면 됩니다. 톰캣8을 검색합니다. $docker search tomcat8 검색된 이미지 중 맨위의 dockerbase/tomcat8를 설치합니다. $docker run -d -i -t -p 8080:8080 -p 8009:8009 --name tomcat8_1 dockerbase/tomcat8 보통 톰캣은 8080포트를 이용하므로 8080포트를 열어 주시고 나중에 아파치와 톰캣연동을 위해 8009포트도 같이 열어 줍니다. 그리고 혹시 여러 개의 톰캣 이용을 위해 docker name을 tocmat8_1로 지정했습니다. 이름은 각자 알..

[Docker] 아파치와 톰캣설치하기 #1 [내부링크]

아파치 설치 오랫만에 포스팅을 하는군요!! 정말 하루하루가 바쁩니다. ㅠㅠ 도커위에 아파치와 톰캣을 설치하고 연동하는 방법을 알아보도록 하겠습니다. 우분투위에 도커설치방법은 우분투에 도커설치 참조 [Docker] 리눅스에 도커설치하기(Ubuntu, CentOS 7) 1. Ubuntu Ubuntu 설치과정에서 자동 설치를 하지 않았다면 아래 스크립트를 실행한다. $ sudo apt-get update $ sudo apt-get install docker.io $ sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker.. bluedayj.tistory.com 도커 컨테이너 실행방법은 컨테이너 실행하기 참조 [Docker] 컨테이너 실행하기 응용프로그램을 설치하고 컨..

[영도카페] B.TONIC [내부링크]

요즘 우리 동네 영아일랜드에는 이런저런 카페들이 많이 생겨 영아일랜드 밖 부산 사람들과 타지 사람들이 많이 찾는다. 최근에 생긴 카페를 소개하고자 한다. 이 큰 건물은 다 쓰는 건아니고 사진 위 불빛 보이는 6층만 쓴다. 옥상에 올라가면 바다가 한눈에 보인다. 이 카페는 노키즈존, 노스모킹, 반려동물 입장 금지, 스터디 룸 같은 건 없다. 그냥 커피나 음료 마셔주면 된다. 옥상에 올라가는 계단이 있으며 거기서는 사람들이 열심히 사진 찍어요. 그래서 나도 막내를 상대로 사진을 찍었더니 거부함. 옥상에서 바라본 영아일랜드 바닷가 커피도 마시고 사진도 찍고 이제 집에 갈 시간

[Docker] 사용중인 컨테이너 이미지 백업 및 복원 [내부링크]

1. 백업 전 상태 저장 # docker commit -p [컨테이너ID] [NAME] # docker ps -a # docker commit -p a3daffgaf4 mysql-backup 2. 백업 # docker save -o [저장명].tar [이미지명] # docker save -o mysql-backup.tar mysql-backup 3. 복원 # docker load < [백업명].tar # docker load < mysql-backup.tar # docker images

자바 배열 [내부링크]

배열 배열이란 같은 형의 데이터 타입을 동시에 담을 수 있는 순차적인 공간입니다. 예를 들어 한 한급당 50명이 있는데 각각을 변수에 담는다면 String student1 = "", student2 = "", ... student50 = ""; 이런식으로 담아야겠죠? 그러나 배열을 사용하면 배열 변수에 변수명을 다르게 하지 않고 담을 수 있습니다. 1. 1차원 배열 1) 1차원 배열 선언 자료형[] 배열명; 자료형 배열명[]; short[] sh; int a[]; 사용될 수 있는자료형에는 8가지 기본 자료형인 boolean, byte, short, char, int, long, float, double형 이외에 String, System등의 클래스형까지 가능합니다. 2) 1차원 배열 초기화 자료형[] 배..

자바 제어문 #3(루프 제어문) [내부링크]

3. 루프 제어문 반복문을 효과적으로 사용하기 위하여 몇 가지 루프 제어문을 제공하고 있습니다. 1) break문 현재 작동중인 루프를 빠져나올 때 사용됩니다. int i = 0; while(true){//무한 루프 i++; if(i == 100){ //i가 100이면 break; //빠져나온다. } System.out.println(i); } 2) 라벨 break문 break문을 사용하면 현재 작동중인 루프를 빠져나올 수 있습니다. 하지만 중첩 루프문이 있다면, break문만으로 전체 루프를 빠져나올 수 없습니다. while(true){ for(int i = 0; i < 100; i++){ if(i == 70){ break; } System.out.println(i); } } 위 예문은 i가 70일 때..

[영도맛집] 바른치킨과 카페 드 220볼트 [내부링크]

집에서 3분거리에 있는 영도 청학동에 위치한 바른치킨과 카페 드 220볼트. 영도구 청학동에 위치한 바른치킨 85번 종점에 위치한 곳으로 예전엔 이 자리는 약국이었다. 치킨 집이 생기고 나서 주위에서 맛있다고 해서 한번 가자고 노래 부르다가 아이들과 오늘 바른치킨 방문 건물은 조금 낡아 보이지만 내부 인테리어는 굿!! 꿀바른 마늘 치킨과 바른 치즈떡볶이 초이스 그리고 치킨엔 맥주가 진리임. 더 이상 무슨 말이 필요함?? 든든하게 배를 채우고 애들은 집에 보내고 입가심으로 커피한잔 원샷하러 카페 드 220볼트를 방문 생긴지가 언젠데 집 옆에 있으면서 처음 와봄!! 밖은 오다가다 많이 봐서 ^^;;; 내부 인테리어는 고풍(?) 스럽다. 커피잔 색상이...그리고 오랜만에 보는 시나몬 커피 다른 커피집에서 시나..

자바 제어문 #2(반복문) [내부링크]

2. 반복문 1에서 100까지의 합을 계산하는 프로그램을 만들 수 있습니다. int result = 1 + 2 + 3 + ... + 100; 그렇다면 10000까지의 합을 구해봅니다. 정신이 혼미해지죠? 프로그래밍을 하다보면 반복적인 작업흘 할 때가 있습니다. 이런 반복적인 작업은 while문이나 for문을 이용하여 처리할 수 있습니다. 1) while 문 주어진 조건이 true이면 실행문장을 반복하고 false이면 while 루프를 빠져나갑니다. while(조건){ 실행 문장; } int index = 0; while(index < 10){ System.out.println("숫자="+i); index++; } 결과 숫자=0 숫자=1 숫자=2 숫자=3 숫자=4 숫자=5 숫자=6 숫자=7 숫자=8 숫자=..

자바 제어문 #1(조건문) [내부링크]

1. 조건문 주어진 조건에 따라 프로그램의 흐름을 바꾸거나 선택하는 제어문을 조건문이라고 합니다. 1) if - else문 조건의 참/거짓을 판단해 주어진 문장을 결정합니다. 가장 기본적인 if문의 형태는 아래와 같습니다. if(조건문) 실행문장; 조건문은 반드시 true나 false의 논리형 데이터 타입만 사용할 수 있습니다. 조건이 true이면 실행문장을 실행하고 그렇지 않으면 넘어갑니다. int i = 10; if(i > 8) System.out.println("숫자가 8을 초과합니다."); if(조건문){ 실행문장; }else{ 실행문장; } if문의 조건이 true이면 if문 다음의 실행문장을 실행하고 false이면 else다음의 실행문장을 실행한다. int i = 10; if(i > 8){ S..

자바연산 #4(그 밖의 연산) [내부링크]

관계 연산 관계 연산의 결과는 true나 false입니다. 관계연산자 관계 연산자 의미 A < B A가 B보다 작으면 true A B A가 B보다 크면 true A >= B A가 B보다 크거나 같으면 true A == B A와 B가 같으면 true A != B A와 B가 같지 않으면 true boolean result; int val1 = 1; int val2 = 2; result = val1 < val2; //true result = val1 val2; //false result = val1 >= val2; //false result = val1 == val2; //false result = val1 != val2; //true 조건 연산 조건 연산은 true나 false 같은 논리적인 데이터 타입만 ..

자바연산 #3(수학 함수) [내부링크]

일반적인 수학 함수의 사용법에 대해 알아보도록 하겠습니다. 자바에서 수학 함수의 사용은 Math 클래스를 통하여 이루어집니다. 일반적인 수학 함수 메소드 내용 결과 타입 사용법 log(arg) 자연 로그 double Math.log(10) sqrt(arg) 제곱근 double Math.sqrt(100.9) pow(arg1, arg2) 제곱(arg1^arg2) double Math.pow(1.23,10) exp(arg) e의 제곱(e^arg)e double Math.exp(7) ※ 주의점 결과값이 double형이므로 반드시 double형의 데이터 타입을 이용합니다. double result = Math.log(10); //정상 double result = Math.log(10.32); //정상 int re..

[ASP] ASP기초 - 변수 [내부링크]

1. 변수 변수란 프로그램이 실행되는 동안 값을 임시로 저장하기 위해 프로그래머로부터 이름을 할당받은 메모리의 영역을 가리키는 것을 의미한다. 1) 변수 선언 VB스크립트에서 변수 선언은 명시적 선언과 암시적 선언 두가지가 있다. intWidth = 100 Dim strName strName = "Active Server Pages" intWidth = 100 이렇게 하는 것만으로도 변수 값이 할당된다. 이러한 형태가 암시적 선언이다. 덩치가 큰 페이지를 작성할 때에는 당연히 변수가 많아진다. 이럴 경우 암시적 선언을 사용할 경우 선언한 변수의 이름이 한 자만 틀려져도 생각지 않은 다른 변수가 만들어져 에러가 발생할 가능성이 높아진다. 암시적으로 사용할 지 명시적으로 사용할 지는 각 프로그래머들이 선택할..

[ASP] ASP기초 - 인식자 [내부링크]

인식자는 프로그래머가 선언하는 상수, 변수, 함수, 서브루틴의 이름이 되는 단어이다.ASP프로그래밍의 내부 연산 처리나 데이터 처리에서 가장 중요한 역할을 수행하는 인식자는 다음의 특징을 가지고 있다. 우선 ASP는 VB스크립트를 기준으로 하기 때문에 VB스크립트에서 지원하는 범위와 동일하다는 것을 알아두기 바란다. 문자와 숫자, "_"로 이루어진다.길이는 보통 255자 이내로 설정한다.첫 글자는 숫자가 되면 안되고, 마지막 문자에 마침표"."를 사용하면 안된다.일반적으로 대소문자의 구분을 하지 않는다. 사용가능 사용불가능 ActiveServerPages ACTIVE_SERVER_PAGES ActiveServerPages1 Active!Server!Pages, _ActiveServerPages ACTIV..

[ASP] 시작하며 [내부링크]

뜬금없이 왜 갑자기 ASP를 포스팅할까??2002년부터 ASP로 웹개발자를 시작했다.지금은 다른 프로그래밍 언어를 주로 사용하고 있지만 저 당시만 해도 PHP와 ASP는 널리 사용되었던 때였다. 그리고 처음으로(?) - 학창시절엔 COBOL, FORTRAN등을 배우긴 했지만 - 필드에서 사용한 첫 언어여서 애착이 있다. 그래서 다시금 ASP를 시작하기 위해 - 요즘 ASP기반 웹사이트 종종 보임 - 포스팅하고자 하는 것이다. 앞으로 포스팅하는 ASP는 절대 .NET ASP가 아님을 알려드린다. 본 필자는 C#.NET은 가능하나 C#.NET 기반 ASP는 취약하다. ^^;; ASP(Active Server Pages)는 1995년 말에 등장한 IIS(Internet Information Server)의 세..

[여행]베트남 다낭 & 호이안 3박 5일 여행(첫째 날) [내부링크]

세상 태어나 처음으로 우리나라 땅 밖으로 나갔다 그곳은 바로 베트남 다낭 여권 한번 써보는구나!! 부산 김해공항을 떠나 5시간 만에 도착한 다낭 공항 3박 5일 동안 머물 숙소 라온 아파트먼트 & 호텔 머무를 룸은 6층 엘리베이터는 5층까지만 운행알함브라가 갑자기 생각이 났다는... 베트남 쌀국수집 숙소 근처에 있는 식당으로 여러 블로그를 참고하여 찾은 집 쌀국수 굿굿굿!! 가격보소!! 우리나라에서 이 가격에 팔면 금방 망할거임~~ 우리의 첫 방문지는 영흥사 우리나라 사찰과는 사뭇 다르다는... 아~~ 오공이 행님은 왜이리 까만거여?? 날씨가 너무 더워~~ 오래있지 못하고 다음 행선지로 옮겼습니다. 아~~~ 베트남에서는 이동하실때는 택시보다는 그랩(우버)를 애용하시기 바랍니다. 아주아주 편해요!! 우리나..

[Android] 당겨서 새로고침 구현하기 [내부링크]

Android Studio에서 build.gradle에 dependencies{ ... implementation 'com.android.support:support-v4:버전' } 새로고침을 적용할 뷰를 SwipeRefreshLayout로 감싼다. SwipeRefreshLayout을 객체로 만들고 OnRefreshListener 인터페이스 등록 SwipeRefreshLayout mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_layout); mSwipeRefreshLayout.setOnRefreshListener(this); @Override public void onRefresh() { // 새로고침 코드 ... // 새로고침 완..

자바연산 #2(대입 연산, 증가와 감소 연산) [내부링크]

2. 대입 연산대입연산은 변수에 값을 대입할 때 사용하는 이항 연산자이며, 변수 = 값 형태이다.int result = 0;result = result + 1;result += 1; // result = result + 1 int count = 5;count += 1; // count = count + 1count -= 1; // count = count - 1count *= 1; // count = count * 1count /= 1; // count = count / 1count %=1; // count = count % 1 3. 증가와 감소 연산자바 뿐 아니라 대부분의 모든 프로그램 언어에서 사용하는 연산이 1증가하거나 감소하는 연산이다.int count1 = 1;int count2 = 1; cou..

자바연산 #1(산술연산) [내부링크]

1. 산술연산 자바에서 사용하는 연산의 형태와 개념은 수학에서 사용하는 연산과 동일하거나 비슷하다. 산술연산자연산자 사용 예 기능 + A + B 덧셈 - A - B 뺄셈 * A * B 곱셈 / A / B 나눗셈 % A % B 나머지 연산 기본적인 사용방법을 알아보자 int result = 0;int value1 = 10;int value2 = 20; result = value1 + value2;result = value1 - value2;result = value1 * value2;result = value1 / value2;result = value1 % value2; 이클립스에 Calc.java를 생성한다. 아래와 같이 입력한 후 Calc.java를 실행한다. 예상한 결과값이 나왔나요?10 / ..

[jQuery] jquery live, bind, delegate를 on 대체 [내부링크]

live() 함수가 jquery 1.9.x부터 deprecated 되면서 live, bind, delegate함수를 on함수로 마이그레이션 //Bind$("#요소").bind("click", function(e){});$("#요소").on("click", function(e){}); // Live$("#요소").live("click", function(e){});$(document).on("click", ""#요소"", function(e){}); //Delegate$("#요소").delegate("a", "click", function(e){});$("#요소").on("click", "a", function(e){});

[갈맷길] 흰여울해안도로에서 중리까지 [내부링크]

영도에 18년 살면서 처음으로 간 흰여울해안도로 흰여울문화마을 아래의 해안도로를 따라가다보면흰여울 해안터널이 나온다.이런 곳이 있다니... 터널안에 손을 대면 빤짝이는 하트가....ㅋㅋ 흰여울 문화마을과 중리 중간쯤가서 바라본 저~~~~멀리 송도와 남항대교이날 미세먼지가 많아 ㅜ.ㅜ 중리에 있는 등대~~~영도 앞 바다엔 배들이 참 많아~~~

[Docker] 컨테이너 실행하기 [내부링크]

응용프로그램을 설치하고 컨테이너를 실행해보자. 컨테이너 실행하기 Docker의 명령은 docker run docker pull docker search과 같이 docker 형식입니다. 컨테이너를 실행하는 명령어는 다음과 같다. $ docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...] 주요 옵션 옵션 설명 -d detached 모드, 보통 데몬모드라고 하고 컨테이너가 백그라운드에서 실행됨. -p 호스트와 컨테이너 포트연결 -v 호스트와 컨테이너 디렉토리 연결(mount) -e 컨테이너 환경변수 설정 --name 컨테이너 이름 설정 --restart 컨테이너 안의 프로세스 종료 시 재시작 정책 -it 터미널 입력 옵션 --link 컨테이너 연결 ubunt..

[Docker] 리눅스에 도커설치하기(Ubuntu, CentOS 7) [내부링크]

1. Ubuntu Ubuntu 설치과정에서 자동 설치를 하지 않았다면 아래 스크립트를 실행한다. $ sudo apt-get update $ sudo apt-get install docker.io $ sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker Docker 버전확인 2. CentOS 7 1) 커널 업데이트 # yum -y update 업데이트 완료되면 reboot를 해줍니다. 2) 도커설치 # yum install -y yum-utils device-mapper-persistent-data lvm2 # yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.re..

[VirtualBox] Oracle VM VirtualBox에 리눅스 설치하기 #4(CentOS 7) [내부링크]

4. CentOS 7 설치하기1) CentOS 7 iso파일 다운로드 CentOS 사이트에 접속해서 적당한 플랫폼을 다운로드 합니다. http://isoredirect.centos.org/centos/7 -> http://isoredirect.centos.org/centos/7/isos/x86_64/ 이동하여 CentOS 6설치과정과 똑같이 netinstall.iso파일을 다운로드 받아 설치하도록 합니다. 2) CentOS 7를 VirtualBox에 설치 VirtualBox를 실행합니다.도구모음의 [새로 만들기(N)] 버튼을 클릭합니다. 설치과정설치과정은 CentOS 6.x설치와 유사합니다. CentOS 6.x설치과정 https://bluedayj.tistory.com/29 다운로드 받은 ..

[VirtualBox] Oracle VM VirtualBox에 리눅스 설치하기 #3(CentOS 6.x) [내부링크]

3. CentOS 6.x 설치하기1) CentOS 6.x iso파일 다운로드 CentOS 사이트에 접속해서 적당한 플랫폼을 다운로드 합니다. http://isoredirect.centos.org/centos/6 -> http://centos.mirror.cdnetworks.com/6.10/isos/x86_64/ 저는 64bit용 netinstall.iso을 다운로드 받아 설치하도록 하겠습니다. 2) CentOS 6.x를 VirtualBox에 설치 VirtualBox를 실행합니다.도구 모음의 [새로 만들기(N)]버튼을 클릭합니다. 설치과정이름을 입력합니다. 추후에 CentOS7을 설치하기 때문에 CentOS6으로 지정하였고 종류는 Linux를 선택하고 버전에 CentOS가 없어서 Red Hat(6..

[VirtualBox] Oracle VM VirtualBox에 리눅스 설치하기 #2(Ubuntu) [내부링크]

2. Ubuntu 설치하기 1) Ubuntu iso파일 다운로드 Ubuntu 사이트에 접속합니다. https://www.ubuntu.com/download Desktop, Server, Cloud 등이 있는데 여기에서는 Server를 설치합니다. Ubuntu Server를 클릭합니다. 18.04.2 LTS를 설치하도록 하겠습니다. ISO파일이 다운로드 됩니다. 2) Ubuntu를 VirtualBox에 설치 VirtualBox를 실행합니다. 설치과정 도구바에서 [새로 만들기(N)]버튼을 클릭합니다. 이름을 입력하고 운영체제 종류 및 버전을 선택합니다. Machine Folder는 기본으로 C:\Program Files\Oracle\VirtualBox VMS로 지정되어 있습니다. 메모리 크기를 지..

[VirtualBox] Oracle VM VirtualBox에 리눅스 설치하기 #1 [내부링크]

1. Oracle VM VirtualBox 설치 VirtualBox사이트로 이동합니다. https://www.virtualbox.org/wiki/Downloads 자신에게 맞는 플랫폼 패키지를 다운로드합니다.여기서는 Windows용 플랫폼을 다운로드하여 설치합니다.(현재 6.0.4 버전) Oracle VM VirtualBox 설치 과정

데이터 타입의 사용 #3 [내부링크]

3. 숫자형 변환자바에서는 데이터 타입이 다른 숫자형 사이의 연산에 문제가 발생하지 않는다. 다만 연산의 결과는 두 연산자 중 범위가 넓은 쪽의 데이터 타입을 따른다. 데이터 타입에 따른 범위byte < short < int < long < float < double[표1] int val1 = 1;long val2 = 2;int result = val1 * val2; //에러 연산의 결과는 long형이다.[표2] [표2]의 세 번째 문장은 연산을 수행할 수 없다. val1 * val2 연산 결과는 long형이다. 그러므로 int형의 변수 result에 담을 수 없다. [표3]과 같이 result를 long형으로 사용해야 한다.long result = val1 * val2; [표3] 타입간 연산 규..

데이터 타입의 사용 #2 [내부링크]

2. 변수 대입과 초기화변수는 선언과 동시에 초기값을 할당한다. 이클립스에 Var.java 파일을 생성한다.[그림1] 아래와 같이 변수를 선언한다.int intNumber;long longNumber;intNumber = 4;longNumber = 5; [표1] [표1]은 다음과 같이 각각 한 줄로 표현할 수 있다.int intNumber = 4;long longNumber = 5;[표2] 한 줄에 두 개 이상의 변수를 동시에 선언도 가능하다.int val1 = 6, val2 = 7; [표3] [그림2] [그림2]와 같이 변수에 값을 대입하고 실행한다.[그림3] [그림3]과 같이 콘솔창에 결과값이 출력된다. 1) 정수형 변수 초기화정수형 변수에 정수를 대입한다.int val1 = 1;long ..

[우분투] command line에서 우분투 버전 확인 [내부링크]

커맨드라인에서 우분투 버전을 확인하는 방법 $ cat /etc/issue Ubuntu 18.04.2 LTS \n \l 또는 $ lsb_release -a No LSB modules are available.Distributor ID: UbuntuDescription: Ubuntu 18.04.2 LTSRelease: 18.04Codename: bionic

데이터 타입의 사용 #1 [내부링크]

1. 변수 변수란 값이 변하는 데이터이다. 값이 변하는 데이터를 사용하기 위해서는 해당 데이터 타입에 맞는 변수를 미리 선언해야 한다. 변수를 선언할 때는 데이터 타입을 지정한다. 문장의 마지막에는 ;을 넣는다. int a; //정상 long b; //정상 double c; //정상 v; //에러 - 데이터 타입을 선언하지 않았다. v int; //에러 - 변수와 데이터 타입의 순서가 바뀌었다. 변수 이름의 시작은 반드시(A~Z, a~z)나 _, $로 시작해야 한다.int a; //정상 long _b; //정상 double $c; //정상 double 4d; //에러 - 숫자로 시작할 수 없다. int user; //정상 int user number; //에러 - 공란을 변수 이름으로 사용할 ..

데이터 타입 [내부링크]

1. 정수형 정수형은 소수점이 없는 숫자 타입으로 양수와 음수 모두를 포함한다. 정수형 종류 타입 크기 범위 long 8byte -9,223,372,036,854,775,808L ~ 9,223,372,036,854,775,807L int 4byte -2,147,483,648 ~ 2,147,483,647 short 2byte -32,768 ~ 32,767 byte 1byte -128 ~ 127 2. 실수형 실수형은 소수점 이하의 숫자를 표현할 때 사용할 수 있는 데이터 타입이다. 실수형의 종류 타입크기범위 double 8byte -1.7*10^308 ~ 1.7*10^308 float 4byte -3.4*10^38 ~ 3.4*10^38 3. 문자형 자바에서 하나의 문자는 char형을 이용하여 나타낸다. 일반..

[HTML] 1장 HTML 기본 #1 HTML 이해 [내부링크]

1-1 HTML 이해HTMLHTML은 하이퍼텍스트 마크업 언어(HyperText Markup Language)라는 의미의 웹페이지를 위한 마크업 언어이다.HTML은 제목, 단락, 목록 등과 같은 본문을 위한 구조적 의미를 나타내는 것 뿐만 아니라 링크, 인용, 이미지와 객체를 내장하고 대화형 양식을 생성하는데 사용될 수 있다. HTML은 웹페이지 콘텐츠 안에 꺽쇠괄호() "태그"로 되어있는 HTML 요소 형태로 작성된다. HTML은 1989년 영국의 컴퓨터 과학자인 팀 버너스 리(Tim Berners-Lee)에 의해 고안되어 1991년 말에 최초로 공개되었다. HTML은 웹을 통한 정보 교환을 목적으로 탄생되었으며, 문법 체계가 비교적 간단하고 배우기 쉬워 빠르게 웹 표준으로 자리 잡았다. 문자뿐만 아니..

Hello World, Hello Java [내부링크]

첫번째 프로그램으로 "Hello World, Hello Java"를 출력하는 것을 시작해보자. 이클립스가 설치되어 있는 "C:\eGovFrame\eGovFrameDev-3.7.0-64bit\eclipse\eclipse"를 실행한다. [그림1] [File > New > Project]를 선택한다. [그림2] Java Project를 선택한 후 [Next >]버튼을 클릭합니다. [그림3] Project name에 Examples_01를 입력한 후 JRE는 기본 설치 JDK버전을 선택합니다. [Finish]버튼을 클릭합니다. 설정이 완료되면 좌측의 Package Explorer영역에 Examples_01폴더가 생성될 것입니다. [그림4] [File > New > Class]를 선택합니다. [그림5]..

자바 개발환경 구축 #3 [내부링크]

3. 개발 툴 설치 자바는 기본적인 에디터를 개발 도구로 사용할 수 있다. 예를 들어 메모장 같은 것이다. 하지만 효율성과 생산성을 생각한다면 개발 툴을 사용하자. notepad++, atom editor와 같은 개발 툴이 많이 있다. 자기에게 맞는 개발 툴을 선택합니다. 여기에서는 이클립스를 사용합니다. 이클립스는 개발자마다 무겁다 안 무겁다 등 의견이 분분하지만 공공기관 프로젝트에 주로 쓰이는 전자정부프레임워크의 개발 툴이기도 하니 전자정부프레임워크를 설치하여 진행하도록 합니다. 1) 이클립스 설치 이클립스는 https://www.eclipse.org/로 이동하여 최신 이클립스를 다운로드합니다. 또는 전자정부프레임워크 http://www.egovframe.go.kr/로 이동하여 전자정부프레임워크를 다..

JVM(Java Virtual Machine) [내부링크]

자바 가상 머신(Java Virtual Machine, JVM)은 자바 바이트 코드를 실행할 수 있는 주체이다. 자바 바이트코드는 플랫폼에 독립적이며 모든 자바 가상 머신은 자바 가상 머신 규격에 정의된 대로 실행한다. 이론적으로 모든 자바 프로그램은 CPU나 운영체제의 종류와 무관하게 동일한 동작을 보장한다. 특성스택기반의 가상머신단인 상속 형태의 객체 지향 프로그래밍을 가상 머신 수준에서 구현포인터를 지원하되 C와 같이 주소 값을 임의로 조작이 가능한 포인터 연산 불가능플랫폼 독립성 보장가비지 컬렉션(Garbage Collection, GC) 사용 JVM 사양클래스 로더바이트코드 명령어JVM언어

자바 개발환경 구축 #2 [내부링크]

2. JDK 환경 변수 설정 1) Windows 10에서의 환경 변수 설정 자바JDK 설치 경로 [그림1] [내 PC - 속성] 또는 [제어판 > 시스템 및 보안 > 시스템] 에서 '고급 시스템 설정' 또는 '설정 변경'을 클릭합니다. [그림2] [시스템 속성 - 고급 > 환경 변수(N)...]을 클릭합니다. [그림3] 시스템 변수의 [Path]를 선택한 후 [편집]버튼을 클릭합니다. [그림4] 환경 변수 편집창에서 아래 그림과 같이 OpenJDK 경로 설정되어있으면 Java JDK를 사용할 수 있습니다. [그림5] 만약 설정이 되어있지 않으면 [그림5]에서 [새로 만들기(N)]버튼을 클릭한 후 [찾아보기(B)...] 버튼을 클릭합니다. [그림6] OpenJDK가 설치된 경로의 ..

자바 개발환경 구축 #1 [내부링크]

1. JDK 설치컴퓨터에 자바를 설치한다. OracleJDK 또는 OpenJDK를 설치한다. 1) OracleJDK OracleJDK는 오라클 홈페이지(https://www.oracle.com/technetwork/java/javase/downloads/index.html)에서 다운로드할 수 있다.각자의 플랫폼에 맞는 JDK를 다운로드 합니다. ※ Hot Issue인 JDK 라이선스 문제로 OracleJDK를 설치하지 않고 OpenJDK를 설치하겠습니다. 2) OpenJDK OpenJDK는 https://openjdk.java.net/에서 다운로드할 수 있다. ※ 여기에서는 OpenJDK(java-1.8.0-openjdk-1.8.0.191-1.b12.ojdkbuild.windows.x86_64)를 설치한..

자바의 특징 및 장점 [내부링크]

자바를 처음 접하는 분들을 위해 자바란 어떤 것이며 어떤 특징을 가지고 있는지 알아보자. 앞서 자바개요에서 언급한 바 있지만 자바의 특징은 다음과 같다. 1. 운영체제에 독립적이다.모든 컴퓨터에는 운영체제라는 것이 있다. Windows7, Windows8, Windows10 등이다. 그러나 운영체제는 윈도우만 있는것이 아니라, Linux, Unix, MacOS등 수많은 운영체제를 가지고 있다. 각 운영체제는 그 특징이나 내부 구현원리, 동작환경 또한 다르다. 어느 하나의 운영체제에서 작동하도록 만든 프로그램이 다른 운영체제에서 제대로 작동하는것을 기대하기란 어렵다. 윈도우용 배틀그라운드가 리눅스나 MacOS에서 작동하지 않을 것이다. 즉, 윈도우용 배틀그라운드, 리눅스용 배틀그라운드, MacOS용 배틀그..

카카오프렌즈 에어팟 케이스 [내부링크]

카카오 전용샵이라 물건이 많군요 에어팟케이스는 귀엽구만... https://bitl.bz/uHWUQH

자바 분류 및 버전 [내부링크]

1. 분류 자바는 다음과 같은 에디션으로 나뉜다. Java SE (Java Standard Edition / J2SE) 표준 에디션 가장 기본적인 클래스 패키지로 구성되어있다. Java의 핵심 API와 기능들을 제공한다. Java EE (Java Enterprise Edition / J2EE) 기업에서 운영하는 서버에 특화된 에디션 Java ME (Java Micro Edtion / J2ME 임베디드 시스템 환경에 특화된 에디션 * 요즘은 SE 임베디드와 ME 임베디드로 나뉘어져 있다. 이외에 JAVA Card와 JAVA TV에디션도 있음 2. 버전 JDK 1.0a 1994년 발표 JDK 1.0a2 1995년 5월 23일 발표 JDK 1.0 1996년 1월 23일 발표. 발표 이전에 불렸던 이름은 OAK..

자바개요 [내부링크]

자바(JAVA)는 프로그래밍 언어 중 하나로 썬마이크로시스템즈에서 개발하여 1996년 1월에 초기 버전이 발표된 객체지향(Object-Oriented) 언어이다. 자바는 네트워크 환경에서 유용하게 사용되는 언어로서 인터넷이 빠른 속도로 발전하는데 많은 공헌을 했다. 썬마이크로시스템즈가 2010년 오라클(Oracle)과 합병하면서 현재 자바는 오라클에 의해서 유지/배포되고 있다. 자바JDK의 유료화정책이 조금은 못 마땅하지만, OpenJDK로 충분히 개발하는데 무리가 없을 것이다. 자바의 특징운영체제에 독립적이다객체지향 언어이며, 배우기 쉽고 문법이 간결하다.포인터(Pointer)를 다룰 필요없이 메모리관리를 가상 머신이 수행한다.네트워크, 분산처리, 멀티 쓰레딩(Multi Threading)을 지원한다...