[본과3] 2018 한국지도자육성재단 장학금 신청하기



12월 28일 정도에 전국 대학교 홈페이지 장학분야 공지사항으로 올라온 것을 확인했다.

예전에 민족의학신문의 기사에서 논문을 쓴 여학생이, 이 재단의 장학생이라는 문구를 보았다. 먼가 지도자육성하는 권위있는 장학재단인가 싶었다.

관련 조건을 보니 대박이었다.


고향에서 나오던 장학금을 선배로서 4번 받았으니, 후배한테 양보해주자는 통화를 받고, 아쉬운 마음이 큰 상태에서 관련 항목들을 잘 살펴보았다.



1. 장학금액 : 등록금 전액(수업료) + 학업보조비(연 200만원)

2. 지급기간 : 2년(정규학기 4개 학기 이내), 4학년의 경우 일반대학원

진학시 1년간 장학금 계속지급

4. 추천인원 : 대학교별 재학생수 비례하여 배정

5. 자격조건

: 교내ㆍ외 활동을 통해 창의적인 사고와 도전정신으로 우수한 성과를 창출 한 경험이 있거나 투철한 봉사정신으로 리더십을 발휘한 학생

- 매학년 30학점 이상 이수한 자(역학기 이수자는 15학점 추가)

- 전체학기 백분위 성적이 85점/100점 이상인 자(2017년도 동계 계절학기 제외)

*가산점 항목

* 대학교 총(단과대)학생회장/부회장

* 방송사/학보사 국장, 동아리 회장

* 각종 학술논문공모전 입상자

* 전국규모의 웅변대회 입상자

* 국가 및 지자체, 공공기관으로부터 선효행, 봉사상 수상자

* 기타 특별한 재능 또는 모범적 활동으로 학교 및 지역사회의 명예를 드높인 학생(대학신문, 기타 언론 등에 보도된 내용 첨부)



관련된 항목만 추려보았다. 역시 뭔가 지도자 지도자 하니까,, 거의 가산점 먹는 학생회장, 부회장만 신청하겠구나 했다. 그리고 학교방송국 회장정도 지원하지 싶었다. 논문도 없고 웅변은 안하고,, 봉사도 거의 안하기 때문에,,;;


근데 마지막 항목을 보자. 얼마전에 '남룡북매'라는 한의대최초 앱 개발 팀을 만들어서, 한의학 대표언론인 민족의학신문에 기사가 난 적이 있다.

내가 인터뷰한 기사를 캡쳐하고, 원서를 작성하기로 하였다.


제출해야할 서류가 너무 많았다. it기업에서 인턴하고 있었는데, 휴가를 냈다.



그리고 학교당 1명에서 많게는 3명이 지원할 수 있다.

지도교수님도 만나야하고, 지도교수의 추천서도 작성되어야한다. 그리고 한국장학재단의 소득분위 확인서까지 있어야한다.
최소 3일정도는 작성하고 서류만족시키는데 쏟아야한다.
학과의 교학과의 담당자의 사인이 필요하고, 학교전체 장학부서에 가서 최종 서류를 제출해야했다.

근데 1월의 나주... 엄청난 한파에 저 자격을 가지고 있으면서, 지원할 친구는 드물 것 같았다. 먼가 촌구석 지방대의 이점을 강력하게 이용할 수 있는 절호의 기회일 것 같았다.

휴가를 내고 서울에서 SRT를 타고 내려가기 전에 지도교수님을 비롯해서 교학과, 장학부서 모두 미리 약속을 잡고 아주 바쁘게 움직였다.


장학담당 선생님께서, 각종 서류를 스캔도 해주고, 잘될거라고 응원해주셨다. 왠지 우리학교에 이 장학재단의 장학생이 한번도 배출 안되었던 것 같다.

잘 보내줄테니, 붙으면 한 턱 쏘라고 하셨다.ㅋ

1. 깃헙 회원가입

첫화면에 보이는 곳에 모두 작성하고 singup을 누른다. 다음화면에서는 개인공간이 필요하다면 결제하라는 것이 나오는데 무시하고 submit해준다.

등록한 이메일로 들어가서 verify해준다.


2. 프로필 꾸미기

우측 상단에 Profile에 들어가 edit profile을 선택한다.

Name / 사진업로드 / Bio(자기소개) 정도만 적어서 update해준다.


3. Git(깃) 설치하기

구글에 git download 를 검색해서git for windows 사이트에 들어간다(http://gitforwindows.org/)

download버튼을 눌러 다운받고 설치한다.


4. 깃 저장소 만들기

프로필 왼쪽의 + 버튼을 눌러서 Create a new repository 페이지에 온뒤 repository name만 적어준다. 설명은 안적어도 된다. 바로 create


5. 저장소에 commit 준비 

빈 폴더를 만들고, 해당폴더에 터미널을 열어줘야한다. 윈도우의 경우 해당폴더에 우클릭하면, git BASH 모양이 뜰 것이다.

나같은 경우 안드로이드 프로젝트 폴더에 GitTest라고 만든 뒤, 폴더에서 우클릭하여 Git BASH를 띄웠다.

여기서 명렁어 git init을 치면, 깃을 사용할 준비가 된 것이다.(master)표시가 나옴.


 -git init


이제 github 저장소로 가서, 서버에 원격위치를 알려주는 명령어를 저장소<code>탭에서 복사해 온다.


 -git remote add origin https://github.com/is2js/test.git


그 다음 현재 git에 저장된 상태를 알려주는 git status를 쳐본다.  아직 커밋한것이 없다고 뜬다. 커밋하지 않았으니.. 커밋은 의견제공 정도다.


-git status


6. 파일 추가(add)하기(git 서버에  add)

지정된 폴더에 아무 파일이나 만들어준다. 교재대로, test.php를 하나 만들어준다. 그리고 다시 Bash에서 git status를 쳐보자. 

-git status


그럼 빨간색으로 test.php가 뜰 것이다. untracked라고 해서 아직 관리하지 않는 파일을 의미한다. 이 파일을 git서버에 add해주자.  또는 git add . 을 쳐서 모든 파일을 add해주자.


-git add test.php or git add . 


다시 git status를 쳐보면 초록색으로 add된 new file이 뜬다. 이제 여기서 test.php를 폴더에서 수정해보고 다시 git status를 쳐보자. 빨간색으로 수정되었으니 새로 add하라고 뜬다.  git add . 을 쳐서 다시 관리대상으로 만들자


7. 커밋(의견남기기)하고 푸쉬(github에 저장하기)

(1)커밋하기 전에 git에 자신의 정보(email과 name)를 알려주어야 한다.


-git config --global user.email "is2js@naver.com"

-git config --global user.name "is2js"


(2)이제 커밋을 해보자

-git commit -m 'test(의견)'


(3) 처음에는 master라는 브런치를 가진다. 그것을 이용해서 github에 push(저장)하는 것이다. 아래 명령어를 치면 github로그인 정보를 입력하도록 뜬다. 입력하고 repository에서 확인해보자.

-git push -u origin master


8. 깃허브 소스관리

(1) 기존 파일을 수정한 뒤, git status를 해보고, modified가 확인되면, git add . 으로 다시 git서버에 add해보자.

(2) 다시 커밋(의견)을 하고 푸쉬(깃헙에 저장)를 해보자.


-git commit -m '2th test'

-git push -u origin master


(3) 깃헙 사이트에서 commits를 확인해본다.


9. 브런치

브런치는 복사본은 아니나 임시저장소 같은 느낌

(1) git checkout -b beta 라고 쳐서, beta라는 이름을 가진 브런치를 만들어서 이동한 뒤(생성과 이동이 동시에 됨)

(2) git branch 를 통해 branch상태가 master에서 beta로 이동한 것을 확인 할 수 있다.

-git branch


10. 새 브런치 beta에서 파일을 새 파일을 커밋, 푸쉬 한

(1)GitTest폴더에 새로운 파일을 하나 만든다. test2.php 

(2) git status를 통해 확인 후, add . 하고, 커밋으로는 베타브런치임을 알려준 뒤, 푸쉬 해준다. 푸쉬할때는 새로운 branch이름으로 푸쉬해준다.


-git status

-git add .

-git commit -m 'beta branch'

-git push -u origin beta


(3) 깃헙사이트에서  Branch 선택창에서 beta를 선택해 확인해본다.


11. 실제 사용하는 브런치인 master로 옮기기(merge)

(1) 먼저 터미널에서 git checkout master를 통해 master브런치로 넘어온다.


-git checkout master


(2) git merge beta 를 입력하면, beta브런치에 있던 것들이 모두 master로 이동해온다.(git 서버에만 옮겨진 것임)


- git merge beta


(3) 이제 깃허브에도 적용해주기 위해, push를 해주자.(add(git)->commit + push(github), merge(git)->push(github))

- git push -u master 


(4) 사이트에서 beta브런치에 push한 test2.php가 master브런치로 옮겨가진 것을 확인한다.

[프로젝트 : HelloProject ]


1. 객체지향프로그래밍(Object Oriented Programming)

-프로그램을 객체들의 모임으로 구성한다. Object(객체)가 모든 것이다.

-이에 비해 c언어는 명령형 프로그래밍으로 취급한다.


2. Class는 Object(객체)를 만들어내는 틀이다.

- 클래스는 설계도의 개념으로 ---> 실제 객체들1,2,3을 만들어낸다.

- 클래스 안에는 객체들의 공통된 [ 속성(Field, propery)-값을 가지는 명사 ] 와  [ 메쏘드(Method)-어떤행위를 하게하는 동사 ]들이 선언된다. 

  객체가 만들어질 때, 클래스에서 선언된 [속성]과 [메쏘드]를 가지고 있게 된다.


3. 자바에서 실제 구현

(1) 클래스 생성

public class Avante {


private String color; //필드(속성)


public void openDoor(){ //메쏘드

System.out.println("문이 열렸다");

}


}


(2) 객체 생성 : 메인매쏘드(실행시킬 때, 필수적으로 만들어주는 것) 안쪽에서, 객체를 생성해본다.


Avante avante1 = new Avante(); 

- new라는 예약어Avante();라는 생성자를 통해 객체가 만들어진다. 여기서 avante1은 변수다.

- 객체들이 클래스에서 만들어지면, 각 객체는 새로운 것이다. 그래서 new라는 예약어를 사용한다.


Avante avante2 = new Avante();

- 변수 avante2 , 예약어 new, 생성자 Avante();를 통해 새로운 객체를 만들었다.

- 변수들이 실제 객체를 반영한다. 이를 변수가 객체를 '참조한다'라고 한다.

- 이때, Avante();라는 부분은 생성자(Constructor) 부분이다. 실제로 객체를 생성하는 부분이다. 


avante1.color = "빨간색";

- 첫번째 객체가 클래스에 선언된 필드를 이용했다. 클래스에서는 private String으로 선언한 문자형 변수다(초기화 없이 변수선언한 것과 동일). 이걸 필드라 하고 사용방법은 위와 같다.


(3) 실습 [프로젝트명 HelloProject ]

-Hello라는 클래스를 메인함수를 포함해서 만들어준다. 간단한 출력문을 기입하고  ctrl+s로 저장하고  실행시킨다.

-이제 본격적인 클래스를 만들기 위해 다시 src에서 클래스를 메인함수를 포함해서 만든다.

- 클래스가 가지는 필드와 메쏘드 중, 필드를 추가시켜본다. 

public class Avante {


String color; //필드 선언

void run() { //메쏘드 선언

System.out.println("아반테가 달려요.");


}

-이제 메인매쏘드에서 객체를 생성해본다. 객체 생성시는 new라는 예약어와, 클래스명과 동일한 생성자 Avante();를 통해 생성한다. 객체는 언제나 새롭게 만들어지는 것이다.

new Avante();


- 이제 생성된 객체가 실제로 사용이 되려면 Avante타입의 변수를 선언해서 참조해야만 사용가능하고, 계속 사용할 수 있다.

Avante a1 = new Avante();


- 새로운 객체를 만들어보자. 참조할 변수명은 달라야한다

Avante a2 = new Avante();


- 각 객체에 필드를 이용해서 색을 넣어보자.

a1.color = "빨간색";

a2.color = "파란색";


- 이제 출력하는 객체를 이용해서 클래스내부의 메쏘드를 호출해보자.

a1.run();

a2.run();


- 이제 필드를 사용한 객체를 출력해보자.

System.out.println("a1의 색은?"+a1.color);

System.out.println("a2의 색은?"+a2.color);


* (=)대입연산자는 오른쪽값을 왼쪽에 넣어주는 의미이다.

연산자는 사칙연산과 %(Modular, 나머지)연산이 있다.  [프로젝트명 : Tutorial4]


1.  초를 입력받아 몇분 몇초인지 계산하는 프로그래밍을 해보자.


(1) 메인클래스 내부에, 메인함수 밖에, 1000초를 의미하는 상수를 선언해보자. 

final static int SECOND = 1000;


(2) 1000초를 몇분 몇초로 만들려면 [ 분 : 1000초/60,  + 초(60초를 넘지않는 나머지수) : 1000초/60의 나머지] 이다. 메인함수안에 변수를 선언해주자.

int minute = SECOND / 60;

int second = SECOND % 60;

(3) 출력해보자

System.out.println(minute + "분 "+ second + "초");



2. 증감연산자(++, --)를 활용하는 프로그래밍 해보자. 


int a= 10;

System.out.println("현재의 a는 " + a +"입니다.");

a++;

System.out.println("현재의 a는 " + a +"입니다.");


(1) 만약 출력하는  내부에 ++를 입력하는 경우는 2가지로 나뉜다

1) a앞에 붙어있는 ++a : 출력시 a+1이 출력된다.

2) a뒤에 붙어있는 a++ :  출력이 된 이후에 +1이 되는 구조-> 출력식에는 +없이 그냥 a가 나온다.


System.out.println("현재의 a는 " + ++a +"입니다.");

System.out.println("현재의 a는 " + a++ +"입니다.");


3. 모듈러 연산자(%)를 실습해보자.

System.out.println(1 % 3);

System.out.println(2 % 3);

System.out.println(3 % 3);

System.out.println(4 % 3);

System.out.println(5 % 3);

System.out.println(6 % 3);

(1) 위 식을 해보면, 3으로 나눈 나머지가 나온다.



4. 다양한 연산자(==, >, <, &&, ||, ! )에 대해서 알아보자.


(1) 출력식에 괄호를 넣어 ==연산자로 비교하면, true  혹은 false값이 나온다.

int a = 50;

int b = 50;

System.out.println("a와 b가 같은가요?" + ( a == b ));


(2) 등호를 넣어보면 false값이 출력된다.

System.out.println("a가 b가 큰가요?" + ( a > b ));


(3) 이제 2가지 연산자를 동시에 사용하기 위해 and연산자( &&) 를 사용해보자.

System.out.println("a가 b와 같으면서 a가 30보다 큰가요?" + ((a == b) && (a > 30) ));


(4) 등호연산자의 식을 괄호로 묶어서, 앞에 null연산자 (!)을 붙혀보자.  (안드로이드에서는 !=,  자바에서도 사용은 가능한 것 같다 출력은 정상)


System.out.println("a가 b와 같으면서 a가 30보다 큰가요?" + !( a==50 ));


5. 삼항연산자( 조건? 참 : 거짓)의 형태를 숙지하고 프로그램을 작성해보자. (삼항연산자를 통해  두 숫자중 최대값 구하기)

 * 함수는 반환형 함수이름 ( 매개변수) {} 로 구성된다


(1) 간단하게 함수를 만들어주자. 메인함수 밖에서 만들어야한다.  int형 a와b를 받아서 둘중에 더 큰 수를 반환하는 함수 int max()만들자.

(2) 내부에는 int형 변수에다가 (조건)? 참 : 거짓;에 해당하는 내용을 넣고, 그 값을 return하자.

int max(int a, int b) {

int result = (a > b)? a: b;

return result;

}

(3) 메인함수에서 만든 함수를 사용해보자.


int x = 50;

int y = 60;

System.out.println("최대값은 " +max(x,y) +"입니다.");


(4) 이때, *static이 붙은 함수는 클래스 내부에서 사용되는 함수다. static인 메인함수에서 max함수를 사용하려면, max함수에도 static이 붙어있어야한다!(static은 nonstatic을 사용할 수없음)


static int max(int a, int b) {


(5) 출력해보면, 최대값이 사용된다.


6. Math라는 클래스속의 거듭제곱 함수pow()를 이용해서 거듭제곱 연산프로그램을 작성해보자.

(1) 계산을 위해 double형(실수형) 변수를 선언하고, 거기다가는 Math클래스.에 있는 pow()매쏘드를 이용해서 3.0의 20.0제곱을 입력하자

(2) 출력시에는 (int)로 형변환하여 정수로 나타내자.


double a = Math.pow(3.0, 20.0);

System.out.println("3의 20제곱은 " + (int) a +"입니다.");

1. 변수관련 상식

-자바에서는 변수를 초기화를 하지 않으면 사용할 수 없다(안드로이드는 가능)

-정수 변수만 하더라도 short, int, long으로 다양하다

-정수안에 실수를 넣게 되면 정수부분만 저장이 된다.

[Tutorial2]에 이어서, 


(1) 메인클래스 메인함수안에  int a= 0.5;를 넣어본다. 오류가 난다 -> int a = (int)0.5; 으로 형변환 시켜서 대입하고 이상태로 출력해본다. -> 정수부분인 0만  출력된다. 

즉, 소수점 뒷부분은 제거되고 저장된다.

(2. 이러한 정수부분만 저장되는 특징을 이용해서 -> 실수값의 반올림에 사용한다.

(3) 실수값에 0.5를 더한 뒤, 정수형으로 형변환한다. 만약 실수값이 0.5이상이라면 0.5가 더해져서 정수부분이 1만큼 올랐을 것이다. 

즉, 반올림한 값 = (int) (실수 + 0.5);


double b = 0.4;


int a = (int) (b+0.5);

System.out.println(a);



2. 자료형 : 나에게 필요한 데이터 타입을 말한다. [프로젝트명 : Tutorial3]


자료형은 원시형과 비원시형이 있다. 원시자료형 같은 경우, java에서 기본적으로 사용되고 있는 boolean, char, byte, short, int, long 등 이 있다.

비원시 자료형인 같은 경우, 원시자료형을 묶어서 만든 것이며, 단독의 자료형처럼도 많이 쓰인다.

다른 프로그래밍 언어에도 이미 존재하는 자료형이 많다. 하나의 문자를 의미하는 char형 외에, byte short, int long, float, double 모두 겹친다

c언어와 차이점은, boolean형과 String형 정도이다. 특히, String형은 내부적으로 substring 등의 함수를 제공하여 활용도가 높다.


(1) double형을 이용해서 평균을 구하는 실습을 해보자. 프로젝트를 만들고, src에서 우클릭하여 class를 소스코드를 만들고 메인매쏘드를 자동으로 추가해준다.

double a = 10.3;

double b = 9.6;

double c = 10.1;

System.out.println( (a+b+c)/3);


(2) 아스키코드 기반의 char형을 사용해 a부터 z까지 출력해보자. 간단한 반복문이 등장한다. 

char형 변수를 i++로 1씩 더해가면, 아스키코드 기반으로 컴퓨터 내부적으로 a->b->c 순서대로 대입된다. 

이때 문자는 케릭터형에 문자를 대입할때는 '   ' 를 통해서 대입한다.


for(char i = 'a'; i <= 'z'; i++) {

System.out.print(i + " ");

}


(3) 10진수를 8진수나 16진수로 바꾸어 출력해보자. 

8진수로 출력하려면, println대신 format으로 출력하고, 내용에 있어서 10진수를 8진수로 문자열상에서 바꿔주는 [형식지정자 %o ]를 넣어준다. 그리고 뒤에 콤마를 찍어 %o자리에 들어갈 10진수 변수를 넣어준다. format같은 경우,  한칸내리는 기능이 없기 때문에 문자열에 \n도 붙혀준다.  

마찬가지로, 16진수는 형식지정자 [%x]를 사용해서 출력해준다.

int a = 200;

System.out.println("10진수 : "+a);

System.out.format("8진수 : %o \n", a);

System.out.format("16진수 : %x \n", a);


(4) String이라는 내부적으로 class에 의해 구현되어있다. 그 클래스 안에 포함된 substring함수를 활용해보자. 

아래 문장을 출력하면 Daisy와 isy가 출력된다. Stirng의 변수.를 이용해서 substring을 호출하는데,


첫번째 숫자는 시작할 문자 선택이다. Daisy에서, D가 0번째이고, a가 1번째, i가 2번째 ... 이렇게 나간다 d부터 0을 대입해 세면 된다.

두번째 숫자는 몇번째 자리까지 출력할 것인지 선택이다. 햇깔리게도, d가 1번째로 시작한다. a가 2번째자리, i가 3번째자리

[ 즉, substring에서 0부터 세서 시작문자를 선택하고, 1부터 세서 끝날 문자를 선택하면 된다. ]

String name = "Daisy";

System.out.println(name);

System.out.println(name.substring(2, 5));



+ Recent posts