2017년 내 첫 프로젝트, [정보보안 프로젝트]! 


보안 실무가 배워보고 싶어서 신청한 이번 프로젝트 ! 망설임 없이 신청했고, 첫 미팅도 너무 만족했다. 


첫 과제는 여러 기업의 네트워크 구성도를 살펴보고, 직.접. 구성도 재현해보기! 

(이 포스팅을 한 지 거의 3주 전에 내준 숙제이다^^;)

또한, virtual box에 칼리리눅스 설치해오기! 다음 글에 설명할 것이다 ~ 


대략적인 프로젝트의 소개를 하겠다. 

▶ 프로젝트명 : 정보보호시스템 구축 및 모의 해킹 (생산성 SW)

▶ 추진배경 및 필요성 : 기업 전산 네트워크 및 시스템의 기능과 역할 이해 

▶ 주요 기능 : 전산 서버 구축 및 전산 서버 해킹 / 정보보호 시스템 구축 등의 해킹 방어 실습 


배우고 싶었던 분야에 최선을 다하자. 

2년간 내가 해왔던 활동을 한 번에 정리하여 스스로에게도 보람을 느끼고, 나를 되돌아 볼 수 있는 시간을 가지려고 한 것이 이 블로그를 시작하게 된 계기이다. 

'기록'으로 남겼을 때 나의 지난 활동이 더욱 더 갚진 활동으로 남을 것이라고 생각한다. 


하지만 학교에 재학 중이고, 짬을 내어 블로그를 관리하는 나로써는 2년간의 기록을 완전히 정리하는데에 얼마나 시간이 걸릴지 장담할 수 없을 것 같다. 

또한 현재 하는 활동을 업로드하기에도 벅차기에.

적어도 이번 여름이 지나기 전까지는 여지껏 나의 활동을 한눈에 알아볼 수 있는 블로그로 거듭났으면 한다. 

'MY article > 전지적 You Jing 시점' 카테고리의 다른 글

후회없는 학점을 받았다.  (0) 2017.06.30
도전의 중요성  (0) 2017.05.28
오늘이 마지막인 것처럼 살기  (0) 2017.05.07

제어문에는 if문, if~else문, switch문, for문, while문 등이 있다.


▶ 아스키코드를 활용하여 알파벳 A부터 Z까지 출력 받는 코드

#include
using namespace std;
void main() {	
	int i; 

	for (i = 65; i <= 90; i++)
		cout << (char)i; 
}

for문의 구성은 for(초기식; 조건식; 증감식)으로 구성되는데 만약 조건이 필요하지 않다면 for( ; ; )로 입력해주면 된다.



사실 for문 자체는 그닥 어렵지 않은데 다중 for문이 적용되었을 때 서로 다른 루프(loop) 를 잘 구별해야 하는 것이 관건이다.


▶ *로 역삼각형 모양을 만들어 출력하는 프로그램

 #include
using namespace std; 
void main() {
	//17번 
	int  i, j;

	for (i = 5; i > 0; i--) {  // i는 5,4,3,2,1 순으로 
		for (j = 1; j <= i; j++)  // j는 1,2,3,4..i가 종료될 때까지이므로 5줄까지 입력됨 
			cout << "*";  // i수 만큼 * 이 입력됨 -> '문장 1' 
            cout << "\n"; 
	}	
} 


안쪽에 기술된 for문 안의 '문장 1'은 (바깥쪽 for문의 반복횟수) * (안쪽 for문의 반복횟수) 만큼 반복된다.

유의하자!




▶ 단이 바뀔 때마다 오른쪽으로 이동하는 구구단 프로그램 

#include
using namespace std; 
void main() {
	 //27번 구구단 출력 
	int dan, j; 

	for (dan = 1; dan <= 9; dan++) {
		for (j = 2; j < 10; j++) {
			cout << j << "*" << dan << "=" << j*dan <<"\t" ;//\t는 tab기능
		}
		cout << "\n";  // 안쪽 for문이 한 번씩 돌아가고, 바깥쪽 for문의 dan++이 실행될때마다 줄바꾸기 
	}
	} 


단이 바뀔때마다 오른쪽으로 출력되도록 이중 for문을 설정해 주었다. 






개발 환경은 Visual Studio Code

정말 기본적인 태그를 다룰 것이다. 


<h1>, <h2>, ... <h6> : 제목 텍스트. 숫자가 작을수록 제목이 큰 것이다. 

<ul>, <li> : 순서가 없는 목록 만들기.

<ol>, <li> : 순서가 있는 목록 만들기.


▶ 순서가 없는 목록 만들기를 이용한 자기소개


 



기본적인 nxn 만들기

1. <table> 태그로 표자리 만들기 

2. <tr> 태그로 n개의 행 만들기 

3. <td> 태그로 각 행마다 셀 n개씩 추가 

행 또는 열을 합치는 태그의 기본형은 

<td colspan = "합칠 열의 개수"> 내용 </td>, <td rowspan = "합칠 행의 개수"> 내용 </td>


표만들기 를 응용한 예제를 스스로 만들어보았다. 

▶ 행 또는 열을 합치는 기능을 활용한 표만들기 



먼저 표의 첫 줄 칸을 보고 어떤 행을 합쳐야하는지를 파악하여 적재적소에 rowspan, colspan을 배치해야한다. 
실행결과를 보면 첫 줄의 '1'과 '2' 칸은 그대로이고, '3' 칸에 2개의 행을 합쳤다. (rowspan)
두번째 줄에서는 '4칸에 2개의 행을 합쳤고(rowspan), '5' 칸은 그대로이다. 
세번째 줄에서는 '7' 칸에 2개의 열을 합쳤다(colspan). 

헷갈리지 말 것 !






1년간의 장기간 프로젝트가 될 [정보보안 프로젝트]에 이은 두번째 프로젝트, 

[sw개발 프로젝트]의 첫 kick-off 미팅이 있었다. 


분야가 '보안'으로 확실히 정해져있었던 [정보보안 프로젝트]와는 달리 이번 프로젝트의 주제는 자유주제였다. 기업에서 가장 많이 활용되고 있는 개발 환경인 Spring Framework를 활용할 예정이다.

 

프로젝트에 관하여 멘토님의 짤막한 브리핑이 있었는데 그 때 하신 말씀 중에 이 말이 참 와닿았다. 

개발 실력도 중요하지만 의사소통 능력만큼 중요한 것은 없다. 커뮤니케이션이 안되면 어떤 것도 만들어낼 수 없다. 

생각해보면 지금까지 해 온 프로젝트에서도 느껴왔지만 팀원 간 소통이 잘될 때에 더욱 좋은 결과를 낼 수 있었다. 

범위를 확장해보면, 사회에서 수요자의 니즈를 정확히 파악하고 그에 맞는 디자인과 개발이 이루어졌을 때에 가장 큰 이익을 창출할 수 있는 것과 일맥상통할 것이다.


멘토님께서는 리눅스/오라클/자바 등의 Tool을 필수로 활용하기로 하되, 주제정하기는 우리에게 맡기셨다.

▶ 프로젝트명 : 개발자를 위한 스터디 매칭 시스템 (생산성 SW)

▶ 추진배경 및 필요성 : 지식in 코딩 커뮤니티의 결합 

▶ 주요 기능 : IBM Waston의 텍스트 인식 기능을 활용하여 키워드 분석 

              → 같은 키워드끼리 분류하여 질문자와 응답자 간 실시간 매칭 서비스 제공 


p.s. 여기서는 간략히 소개하고, 더욱 자세한 기능은 추후에 분석 및 설계 시 공개하겠다! 


평소 우리가 코딩 숙제를 할 때에 구글링도 하고, 필요한 정보를 찾기위해 여러 사이트를 옮겨다니는데 이 모든 것을 한꺼번에 하나의 사이트에서 지원해주면 좋을 것 같다는 생각에 나온 아이디어이다.또한 개발 언어는 여러 개이고, 개발자마다 각기 다른 개발 스타일을 가지고 있으므로 적절한 매칭 및 코딩 주석 달기 활성화를 통한 의사소통 향상을 노려보자는 취지도 있다. 

주제 정하기는 정말 쉽지 않았다. . . 그래도 인공지능을 활용한 프로젝트를 할 생각에 설렌다! 일단 개발환경부터 구축해놔야지~

+ Recent posts