import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Scanner in = new Scanner(System.in);
		
		int n = in.nextInt();
		int[] v = new int[100];
		int num;
		
		for (int i = 0; i < n; i++) {
			num = in.nextInt();
			System.out.println(num);
			v[i] = num;
		}
		for (int i = 0; i < n; i++) {
			System.out.println(v[i]);
		}
		
		in.close();
	}

}
  • Scanner 및 배열 사용 숙달중..

 

https://codeup.kr/problem.php?id=1403&rid=0

 

배열 두번 출력하기

k개의 숫자를 입력받은 순서대로 한 줄에 하나씩 출력한다. 그리고 한번 출력이 다 되면 다시 한번더 출력한다.(총 2번)

codeup.kr

 

package problem_solve;

public class CodeUp1083 {
	
	/*
	 * 3 6 9 게임은?
	 * 여러 사람이 순서를 정해 순서대로 수를 부르는 게임이다.
	 * 만약 3, 6, 9 가 들어간 수를 자신이 불러야 하는 상황이면, 대신 "박수" 를 쳐야 한다.
	 * 33까지 진행했다면? "짝짝"과 같이 박수를 두 번 치는 형태도 있다.
	 * */

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		int one, ten;
		int cnt = 0;
		for (int i = 0; i < 100; i++) {
			one = i%10;
			ten = i/10;

			cnt = 0;
			if (one!=0 && one%3==0) cnt++;
			if (ten!=0 && ten%3==0) cnt++;
			if (cnt == 0) {
				System.out.println(i);
			} else if (cnt == 1) {
				System.out.println("박수");
			} else if (cnt == 2) {
				System.out.println("짝짝");
			}
		}
	}
}

 

실수 포인트!

- 1의 자리나 10의 자리가 0인 경우에 박수를 치지 않아야 한다

💡 일자별로 수업한 내용 중, 제가 모르거나 한 번 더 정리하면 좋은 내용을 모아 놓았습니다
이곳에서 키워드를 뽑아 별도로 포스팅할 예정입니다

 

🍚맛집 리스트

이거는 안 적어두면 무조건 까먹는다! 기록기록

  • 스매쉬 치즈버거 -> 치킨텐더 ㅈㅁㅌ
  • 호돌이 반점
  • 탄 -> 가성비 일식돈까스
  • 이화수 전통육개장 -> 웨이팅 적음
  • 연가 -> 가성비 한식 부페
  • 부어치킨 -> 싸다

 

많이 들어는 봤지만 한 번씩 내 손으로 정리해 보자!

  • Java -> 서버프로그래밍(JSP, Servlet) -> 웹(Spring)
  • 프론트 HTML, CSS + JavaScript
  • DB
  • 파이썬
  • 객체 지향 언어
  • 절차 지향 언어
  • 인터프리터 언어
  • 이클립스
  • 인텔리제이
  • JDK
  • 연산자 우선순위 (생소한 연산자 위주로)
  • 의사코딩, 수도 코딩

 

처음 듣는 생소한 친구들

  • 디버깅 표
  • 자바에서 static의 의미와 기능

 

내 지식과 다르거나 알쏭달쏭

  • JAVA에서는 파일도 자료형인가?

 

감으로 알던 걸 명확하게 정의된 개념

  • 무언가 반복되면, 코드 양을 줄일 수 있다는 의미다
  • 의사코딩 무조건 꼭꼭 하자!!

 

💬개발 마인드셋 강사님 띵언

주석 설명 중

신입에게 잘 만든 코드를 요구하지 않는다. 생각 있는코드를 원한다.

클라우드 환경에서 다양한 스터디를 진행할 수 있는 플랫폼 Katacoda를 이용해서 쿠버네티스를 공부하고 정리를 해보겠습니다

 

https://www.katacoda.com/contino/courses/kubernetes/pods

 

Pods | contino | Katacoda

Manage Pods, Labels and Namespaces

www.katacoda.com

 

용어정리

Pod

쿠버네티스에서 가장 작은 개념입니다. 하나 이상의 containers로 이루어져 있습니다.

 

Namespace

쿠버네티스 deployment 내부의 가상 cluster입니다. 하나의 쿠버네티스 cluster 내부에 여러 namespaces가 있을 수 있고 서로 간에 분리되어 있습니다. 특정 namespace 안에 pods를 실행함으로써, 그들은 조직화, 보안, pods의 성능으로 당신의 팀을 도울 수 있습니다.

 

namespace는 pods을 분리하여 업무량을 분산하고, 리소스 제약 조건을 설정할 수 있는 기능을 제공합니다. namespace를 고려할 수 있는 다양한 애플리케이션 환경에 매핑할 수 있습니다.

기본적으로 쿠버네티스는 몇 개의 미리 정의된 namespaces를 가지고 있습니다.

kube-system

이 namespace 안의 pods는 쿠버네티스가 작동하는데 필요합니다. 

kube-public

이 namespace는 쿠버네티스 cluster에 대한 부트스트래핑과 인증서 구성이 포함된 ConfigMap을 가지고 있습니다. 또한 이 namespace는 전체 cluster에서 보거나 읽을 수 있는 객체를 실행하는 위치로 다뤄집니다.

default

모든 객체들은 namespace를 특정하지 않으면 자동적으로 default namespace에 생성됩니다. default namespace는 삭제되지 않습니다. 

 

Label

label은 객체들에게 공급되곤 하는 key/value 쌍으로 이루어진 특성입니다. pods가 수행하는 작업을 보다 세밀하게 제어할 수 있으므로 labels을 활용하는 것이 좋습니다. label은 특정 객체를 쿼리하는데 사용할 수 있습니다.

 

Volume

volume은 데이터를 pod에 제공합니다

 

CICD 하면 빼놓을 수 없는 Jenkins를 도커로 설치해보겠습니다

Jenkins 공식 홈페이지에 가면 OS별 설치 가이드와 docker, k8s 설치 가이드를 지원합니다

 

여러 설치 방법 중 docker를 선택하면 장점은

  • 잦은 개발 서버 재부팅
  • Dockerfile, run 옵션 등으로 몇 가지 세팅 가능
  • 개발 서버에 여러 서비스가 동작하므로 환경 구분

등이 있습니다

 

Jenkins 서버 도커 설치 가이드: https://www.jenkins.io/doc/book/installing/docker/

 

Docker

If you have some experience with Docker and you wish or need to access your Docker container through a terminal/command prompt using the docker exec command, you can add an option like --name jenkins-tutorial to the docker exec command. That will access th

www.jenkins.io

 

설치 방식

Jenkins는 두 개의 docker container를 필요로 합니다

 

하나는 Jenkins 서버 컨테이너이고 나머지 하나는 dind 컨테이너입니다

dind란 "docker in docker"의 줄임말입니다

 

Jenkins는 docker image를 build 하여 DockerHub에 push를 하거나 run 하는 기능을 지원합니다

 

이 기능을 위해 Jenkins docker container 안에 docker를 설치해야 합니다

 

일반적으로 docker container 안에 docker를 설치하는 것은 권장되지 않습니다

 

하지만 Jenkins처럼 이런 상황을 필요로 하는 서비스를 위해 docker hub official image로 "dind"를 지원합니다

 

dind image: https://hub.docker.com/_/docker

 

Docker - Official Image | Docker Hub

We and third parties use cookies or similar technologies ("Cookies") as described below to collect and process personal data, such as your IP address or browser information. You can learn more about how this site uses Cookies by reading our privacy policy

hub.docker.com

설치 방법

dind image run for Jenkins

Jenkins 설치 가이드에 나온 dind 이미지를 run 하는 명령어가 나와있습니다

 

개발 서버가 재부팅될 때마다 편하게 run 하기 위해서 쉘 파일로 만들어둡시다

 

11번째 줄을 보시면 2376번 포트로 docker container 안에 docker를 사용할 수 있게 되어있습니다

잘 동작하는 것 같군요 :)

 

이제 본격적으로 Jenkins 서버를 위한 Dockerfile을 작성해봅시다

 

이것도 공식 설치 가이드에서 긁어오면 됩니다

Jenkins Dockerfile

build와 run은 각각 다음과 같이 하면 됩니다

Jenkins image build
Jenkins run

6번째 줄을 보면 dind container로부터 docker를 이용함을 확인할 수 있습니다

Jenkins build and run

잘 설치가 된 것 같으니, 브라우저로 확인해봅시다

Jenkins login 화면

사실 이 화면은 제가 한 번 설치를 끝냈었기에 뜨는 화면입니다

 

진짜 처음 설치를 하신다면 몇 가지 절차를 더 거쳐야 합니다

  • initial admin password 
  • plugin 설치
  • 초기 계정 생성

설치 가이드를 보고 차근차근 따라 하신다면 충분히 하실 수 있을 겁니다

 

ㅆㄱㄴ ㅎㅇㅌ:)

+ Recent posts