안녕하세요 기형쌤입니다.

한동안 포스팅을 못 하다가 오랜만에 컴퓨터 앞에 앉네요.

어느새 2021년이 되었습니다. 다들 새해 복 많이받으세요!

새해가 되었음에도 아직도 코로나는 가라앉을 생각을 하지 않네요.

이대로 코로나가 생활의 일부가 되는게 아닌가 걱정이 되는 요즘입니다.

 

상황이 이렇다보니 취업시장은 점점 더 얼어붙고, 비대면 면접이니 뭐니 하며

일상적으로 아는 취업준비가 어려워지고 있죠.

심지어 취업에 성공하더라도 바로 자택근무를 시작하는 경우가 다반사라고 하더라구요.

 

상황이 이렇다보니 많은 사람들이 집에서도 할 수 있는 일을 찾기 시작했고,

그에따라 IT업계로 뛰어드는 분들도 많아졌습니다.

누가 뭐라해도 프로그래밍은 집에서도 할 수 있는 작업들이 맞으니까요.

 

오늘 제가 들고 온 이야기는 HTML에 관한 이야기 입니다.

HTML이란?

일단 HTML은 프로그래밍 언어가 아닙니다. HyperText Mark-up Language의 약자인 HTML은

그 이름에서 볼 수 있듯이 Mark-up Language 입니다.

그렇다면 마크업 언어는 어떤 것을 뜻할까요?

마크업 언어는 문서가 화면에 표시되는 형식을 나타내거나 데이터의 논리적인 구조를 명시하기 위한

규칙들을 정의한 언어의 일종입니다. 데이터를 기술한 언어라는 점에서 프로그래밍 언어와는 분명한 차이가 있습니다.

본래는 교정 부호 등을 표기하는데에 사용했지만, 점차 용도가 확장되어 문서의 구조를 표현하도록 발전한 언어입니다.

 

마크업 언어에 대해 자세히 설명하자면

실제 책을 하나의 프로그램이라고 생각하면 편하다.

그리고 사람이 그 책에 볼펜으로 밑줄을 긋거나 볼펜으로 필기를 하는 행위가 마크업의 일종이라고 할 수 있습니다.

또는 그래픽 디자이너들한테

'책 표지는 배경을 무지개 그라데이션으로 넣어주시고 제목은 중앙에 검은색 굴림체로 크게 박아주세요'

라고 말하는 것 또한 자연언어 기반 마크업 언어라고 할 수 있습니다.

 

우리가 흔히 웹사이트에서 보는 로그인 시스템이나 계정에 따라 다르게 보이는 프로필 등은

모두 프로그래밍 언어가 조합된 웹사이트 입니다.다.

일반적인 마크업 언어만으로는 이러한 기능을 구현하는 것이 불가능합니다.

 

보다 컴퓨터 상의 실제 사례를 보자면, 우선 한컴오피스 한글에서 수식 입력기를 들 수 있습니다.

한글의 수식입력기에서는 마우스로 기호를 하나하나 찾아 골라서 클릭을 하는 식으로도 수식을 입력을 할 수 있지만,

수식이 나타나는 화면의 아래창에 몇가지 명령어들을 규칙에 맞춰 직접 타이핑하며

마우스를 사용하지 않고도 여러가지 수식들을 입력할 수도 있습니다.

이때 사용되는 명령어들도 한컴오피스 한글 문서에서 수식 문자가 화면에 표시되는

모양과 형식을 결정하는 마크업 언어에 해당하게 됩니다.

 

돌아와서

HTML 언어는 웹 페이지의 모습을 기술하기 위한 프로그래밍 언어가 아니라 마크업 언어 입니다.

웹사이트에서 흔히 볼 수 있는 htm이나 html 확장자의 문서가 바로 이 언어로 작성된 문서입니다.

 

HTML은 프로그래밍 언어에 비하여 문법 오류에 관대한 편입니다.

그래서 닫는 태그를 누락하거나 태그에 오타가 나거나 하는 오류가 발생해도 어느 정도 무시하고 작동할 수 있습니다.

다만 <div> 태그 등 중요한 태그에서 오타가 난다면 사이트 레이아웃이 깨져버리기도 하니

오타나 누락이 없는게 가장 좋겠죠?

 

예를 들어

<h1>Hello World!라고만 써도

(<!DOCTYPE> 선언문 누락, <html> 선언 태그 누락, <head>, <body> 태그 누락, 닫는 태그 </h1> 누락)

웬만해서는 의도한 바대로 출력이 됩니다.

 

HTML은 서버에서 보내오는 정보대로 페이지를 그려내는 것에는 강하지만

반대로 사용자의 입력에 민감하게 반응하여 페이지를 그리는 것에는 약한 편입니다.

또한 동적인 화면 구성이 힘들다는 약점도 있습니다.

이러한 약점을 보완하기 위하여 JavaScript 등의 각종 스크립트의 도움을 받으며,

요즘 유행하는 AJAX도 그런 면을 보완하기에 적합합니다.

 

그 외에 멀티미디어 지원을 위하여 외부 프로그램을 불러올(embedding) 수 있습니다.

다만 브라우저 의존적인 면이 강하기 때문에

한 쪽 브라우저로 잘 표시되는 페이지가 다른 브라우저로는 완전 엉망이 되는 경우도 있습니다.

 

HTML5는 비디오/오디오 처리를 위한 별도의 <video><audio> 태그를 추가하고

동적인 그래픽은 <svg>와 <canvas> 태그를 통해 사용할 것을 권고하고 있으며

외부 플러그인은 가급적 사용하지 않으려 하고 있습니다.

그러나 아직은 <embed> 태그와 <object> 태그를 통해 외부 플러그인을 제한적으로 실행할 수는 있습니다.

하지만 2021년부터 어도비가 대표적인 플러그인인 플래시의 지원을 종료하면서 사용하지 않을 것을 권고하고 있습니다.

그래서 이전에 플래시로 할 수 있던 기능을 HTTP,CSS,JavaScript (혹은 Node.js) 등으로 통폐합 시키게 됩니다.

태그

태그는 HTML의 근간이라 불립니다.

HTML을 기술하기 위하여 사용하는 명령어의 집합을 태그(Tag)라고 합니다.

태그는 기본적으로 여는 태그와 닫는 태그로 구성되며, 닫는 태그 없이 단독으로 이용하는 태그도 있습니다.

태그에 주는 다양한 옵션은 모두 여는 태그에 지정하며,

닫는 태그는 태그 효과가 적용되는 범위의 끝을 나타내는 기능만을 합니다.

 

HTML은 웹 브라우저마다 지원하는 태그가 조금씩 다르며,

같은 태그라도 작동하는 방법이 다르지만 대체로 비슷한 태그를 지원합니다.

 

그래서 태그 종류가 수십 가지가 넘는 데다가,

지정가능한 옵션까지 일일이 열거하면 책 한 권 분량의 엄청난 분량이 됩니다.

따라서 일반적으로는 사용빈도가 높은 일부 태그만 암기하고,

나머지는 '태그사전(또는 레퍼런스)'이라고 하는 도움말 파일을 참고하는 편이 대부분 입니다.

물론 암기 범위는 고급 사용자 내지는 프로페셔널(흔히 웹 퍼블리셔라라 불리는 사람들)로 갈수록 넓어지겠죠?

 

웹 퍼블리셔, 웹 디자이너, 웹 프로그래머에게 태그는 기본 소양이라고 할 수 있습니다.

'태그 사전'의 도움을 받으면, 약간의 교육만으로 누구나 간단한 웹 사이트는 만들 수 있습니다.

물론 복잡한 사이트는 경험이 필요하기 때문에 입문자들은 만들기 어렵습니다.

 

사실 HTML 규격에는 HTML이 어떻게 표시돼야 할지에 대해서

큰 틀만 정해져 있고 구체적으로는 설명하지 않고 있습니다.

예를 들어 테이블의 경우 선을 이용해서 줄과 칸을 구별하는 식으로 정해져 있지만,

선의 모양을 구체적으로 정의하지는 않은 것처럼 생각하시면 편합니다.

애초에 HTML은 화면 구성보다는 의미 표현에 치중하고 있기 때문에

결국 한 HTML 파일도 브라우저마다 다르게 보이는 경우가 존재합니다.

이로 인해 최근의 추세는 HTML에는 표시하고자 하는 문서의 구조를 중심으로 기술하고,

구체적인 표시 방법은 CSS에서 정의하는 방향으로 나아가고 있습니다.

 

HTML 문서를 만드는 방법

HTML 문서의 장점은 언어를 알고있다면 작성은 쉽다는 것에 있습니다.

타 프로그래밍 언어들처럼 언어를 만들기 위한 고유의 환경이 필요하다던지

리눅스라는 OS에서 개발해야한다던지 하는 제약이 없고

간단하게 메모장에 작업을 진행해도 됩니다.

 

HTML 문서를 작성한 후 메모장에서 저장할 시, 다른 이름으로 저장을 선택한 뒤,

파일 형식을 '모든 파일 (*.*)'로 지정하고 파일명 끝에 .html이나 .htm을 추가하면 HTML 문서가 됩니다.

이렇게 하지 않으면 그냥 메모장으로 열리게 되겠죠?

 

.html로 바꾸고 난 이후에 수정하고 싶다면, .html 확장자 파일을 오른쪽 클릭 후,

연결 프로그램을 선택하고 Notepad(메모장)을 선택하거나, .html 파일을 메모장에 끌어다 놓기 하면 됩니다.

다시 확장자를 .txt로 바꿔도 동일하게 작동 합니다.

참고로 윈도우즈의 메모장으로 HTML 문서를 편집하면, 각 줄마다 CRLF가 달라붙어서 문제가 되기도 합니다.

그러니 웬만하면 Editplus나 vim, Notepad++ 같은 에디터로 편집하도록 하는것을 추천드립니다.

이런 에디터의 경우 HTML이나 서버 사이드 스크립트 코딩에 최적화되어 있기 때문에

구문에 따라 색상 구분도 되는 등 여러 가지 장점이 있습니다.

 

작성하는 방식은 크게 텍스트 에디터를 이용해 직접 코드를 편집하는 방법과

WYSIWYG 편집기를 사용하는 방법이 있습니다.

WYSIWYG 방식은 드림위버 나모 웹에디터가 지원하는데 현재의 WYSIWYG 방식은

거의 온라인 에디터로 대체되었으며, 본격적인 웹 개발에는 사용되지 않고 있습니다.

이유는 구조화된 HTML을 강조하는 HTML5와는 심히 궁합이 안 맞기 때문입니다.

 

제로보드 스킨 등을 만들거나 혹은 기타 다른 홈페이지용 게시판을 자신의 홈페이지에 맞게 만들기 위하여

필요한 PHP나 CGI 파일의 이미지 수정을 위해서는 어느 정도 메모장으로 HTML을 구성하는 능력이 필요합니다.

 

마지막으로, 이렇게 저장한 .html 파일을 더블클릭해서 실행할 경우

HTML 파일 내부에서 다른 외부 리소스들을 불러오는 데 제약이 가해집니다.

사실상 HTML 파일 하나만 로딩되는 수준인데 이는 브라우저의 보안 모델이 로컬 컴퓨터의 리소스(파일)를

읽지 못하게 제약이 걸려있기 때문으로, 이 문제를 피하려면 웹 서버를 실행해서

http://localhost 또는 http://127.0.0.1 로 접근해야 합니다.

그냥 더블클릭했을 때의 URL은 file:// 로 시작하는 걸로 구분할 수 있습니다.

간단한 페이지를 만든다면 로컬 웹 서버를 실행하는 것보다 저렴한 웹호스팅 계정을 개설한 뒤

FTP를 통해 이용하는 방법이 더 간편하므로 이 방법을 추천드리는 편입니다.

 

컴파일러

2016년 즈음부터는 웹 환경이 나날이 대형화되고 복잡해짐에 따라 웹 사이트의 근간을 이루는

HTML, CSS, JavaScript는 모두 대안 언어나 기술이 존재합니다.

HTML은 열고 닫는 태그를 일일이 오타 없이 쓰는 게 불편하고 마크업 언어인 탓에

템플릿 지원이 되지 않고 객체 지향적으로 작성이 불가능한 등의 여러 단점이 있었습니다.

 

그래서 이것을 극복하고자 Pug(구 JADE)라는 컴파일러(트랜스컴파일러)가 만들어졌습니다.

들여쓰기로 블럭을 구분하고 변수나 템플릿 기능을 추가하고 자주 사용하는 id, class 속성을

특수 문법을 통해 간편하게 지원하는 등 여러가지 기능을 제공합니다.

 

그렇지만 Pug 자체는 컴파일러이고 컴파일 결과가 HTML로 나오는 것입니다.

어디까지나 정적 HTML 문서를 만들어내는 데 특화된 언어 및 유틸리티이기 때문에

Pug만으론 홈페이지에 동적인 기능을 삽입하기는 어렵습니다.

 

그리고 Pug는 트랜스컴파일러이지 Virtual DOM의 일종이 아닙니다.

그래서 최종 결과물인 홈페이지의 렌더링 속도를 가속해주지는 못합니다.

엄격하게 구조화된 HTML을 생성하기 때문에 HTML 문서 자체의 파싱 속도는 빠르지만

DOM 조작 속도를 개선하지는 못한다고 이해하시면 됩니다.

 

어디서 배울까?

HTML은 다른 프로그래밍 언어들과는 확실히 다르고 배우기 쉬워보이지만

이 또한 문법이 존재하는 언어입니다.

그래서 혼자 시작하시는 분들께는 제대로 배워보시는걸 추천드립니다.

현재 웹 개발자 관련하여 전문가 과정을 진행하고 있습니다.

확실하게 배우시고 취업까지 하셔서 코로나 시국임에도 불구하고

취업과 성공 모두 잡으시길 바랍니다.

오픈 카톡 링크를 남겨놓으니 그 쪽으로 문의 주시면 빠르게 안내드리겠습니다.

 

open.kakao.com/o/sHczZCIc

 

개발자로 취직의 빠른길. IT전문가과정 무료상담 진행중

#IT#취업#국비지원#국민취업지원제도#국비#화이트해커#정보보안#Java#C언어#웹개발자#스펙#무료#취업준비#빅데이터#시스템엔지니어#앱개발

open.kakao.com

 

안녕하세요! 기형쌤입니다.

이제 올 해가 일주일도 남지 않았네요ㅜㅜ

 

이번 한 해는 보냈다기보단 버텼다는 인상이 깊은 한 해였던 것 같습니다.

코로나 때문에 집 안에 꼼짝없이 박혀있는 신세가 되어 너무 답답하지만...

그래도 우리 이겨내 보자구요!ㅎㅎ

 

오늘 제가 가져온 이야기는 리눅스 마스터 자격증입니다.

 

리눅스 마스터? 이름부터가 거창해보이고 어려워 보이시나요?

하지만 그렇게 어렵게 접근하실 시험은 아닙니다ㅎㅎ

 

 

리눅스 마스터 자격증은 한국정보통신진흥협회가 운영하는 국가 공인 민간 자격증입니다.

마스터라는 이름까지 단 자격증이 민간자격증이어서 놀라셨나요?

국내에서 IT관련한 자격증이 많이 없다보니 민간자격증이어도 수요가 꽤나 있는 편이고,

매년 응시자도 늘어가는 추세입니다.

모두가 취득한다면 그만한 가치가 있는 자격증이겠죠?

 

리눅스 마스터는 리눅스 기반의 Desktop 활용 및 Server 운영 능력,

리눅스 시스템의 설계 개발 및 관리 능력, 리눅스 기반의 네트워크 및 서버 구축/운영 능력을 검정하는 자격증입니다.

리눅스 마스터는 2급과 1급으로 나뉘어져 있는데요,

시험은 1차와 2차 시험 두 가지로 구성되어 있습니다.

2급의 1차는 집에서 접수 후 원하는 날짜에 컴퓨터로 시험을 치르고 2차는 시험장에 가서 필기로 시험을 치룹니다.

즉 1차와 2차 모두 필기로 시험을 친다고 보시면 됩니다.

 

2급 1차는 온라인 시험이기에 난이도가 쉬운 편입니다.

시간은 60분이 주어지고 문항은 50문항 이어서 시간을 널널하게 사용하시며 시험을 치루실 수 있습니다.

합격은 여느 자격증들과 같이 60점 이상이면 합격인 시험이므로

공부를 어느정도 하셨다면 떨어지는 일은 없으실거에요~

 

보통 이런 온라인 CBT 시험의 경우 우클릭을 막거나 혹은 창을 내릴 수 없게 하는 등의 조치를 취하여

시험에 간섭 가능한 다른 행동을 억제하려고 하는데

리눅스 마스터 급 1차 시험은 그런것이 없어 구글링 해가시며 시험을 치루실 수도 있습니다.

다만 CBT에 기출문제에 없는 문제들이 생각보다 다량으로 출제가 됩니다.

이 때에는 정말 알고 있는 지식으로만 승부를 봐야하기에 어느정도의 공부는 필수업니다.

 

2급 2차 시험은 80문제를 100분 안에 푸는 객관식 사지선다형으로서 지정된 시험장에서 시험을 치루게 됩니다.

80문제 중에서도 60%인 48문제가 1과목으로 리눅스 운영 및 관리이고

나머지 32문제가 2과목인 리눅스 활용으로 나뉘어 있습니다.

합격은 타 자격증드로가 비슷하게 평균 60점 이상이고, 각 과목에서 40점 이상은 받으셔야합니다.

 

대체적으로 1과목은 리눅스에 대한 시험이 나오고

2과목은 리눅스와 관련된 것들이 시험에 나온다고 보시면 될 듯 합니다.

다른 IT 자격증 시험. 예를 들어 CCNA와 같이 덤프와 똑같이 나오는 경향의 문제는 없지만

덤프를 많이 푸는 게 합격의 지름길이긴 합니다.

다만 덤프(기출문제)를 푸실 때에도 기본적인 지식은 있으셔야 하겠죠?

어디서배우는게 좋은가?

 

기본적인 지식, 프로그래밍에 대한 기초부터 전문가 과정까지

지금 전부 수강이 가능하십니다.

국비 지원을 받으시며 전문가가 되실 수 있는 절호의 기회!

관심있으시다면 아래의 네임카드를 클릭해주세요.

확인 후 빠르게 안내 도와드리겠습니다.

 

네임카드를 클릭해주시면 빠르게 안내 가능합니다!

안녕하세요 기형쌤입니다.

겨울임에도 따듯한 기운이 돕니다. 너무 추울 것 처럼 시작한 겨울이

아직까지도 잠잠한 것을 보니 나중의 꽃샘추위가 두려워지지만

아직은 따듯한 날씨를 만끽해도 좋을 것 같아요.

 

오늘 제가 들고 온 이야기는 OCJP 자격증에 대한 이야기입니다.

 

IT쪽의 취업을 준비하시는 분들이라면 준비해놓으시면 좋은

Java 프로그래밍 언어의 활용 능력을 검증하는 자격증입니다.

 

자바 기술을 직접 개발한 썬 마이크로시스템즈에서 자바에 관련된 지식을 검증해 주는 시험으로

프로그래머가 되고자 한다면 취득을 위해 공부해보시는것도 좋다고 생각합니다.

 

제가 이렇게 말씀드리는 이유는 OCJP 자격증은 필수가 아닌 자격증이기도 하거니와

OCJP는 Java의 자격증 중 기초 입문단계에 해당하기 때문입니다.

아무리 입문단계의 자격증이라지만 없는것보다는 훨씬 좋겠죠?

 

그래서 향후 자바 관련 자격증 중의 최고 권위에 있는 SCEA자격증을 취득하려 공부하실 때에도

발판이 될 수 있습니다.

 

Java는 원래 썬 마이크로시스템즈라는 회사에 만들어졌지만 이 회사가 오라클에 인수합병되며

자격증의 이름도 OCJP(Oracle Certified Java Programmer)이 되어버렸습니다.

그러니 왜 오라클에서 인정해주는거지? 라고 생각하지 않으셔도 괜찮습니다^^

 

시험과목?

2018년 5월 31일 기준으로 853, 851 과목을 더 이상 치룰 수 없게 되었고,
803, 804 : Java Programming 7 (각 OCAJP, OCPJP에 해당)
808, 809 : Java Programming 8 (각 OCAJP, OCPJP에 해당)
으로 변경되었습니다.

 

851만 보고 OCJP를 바로 취득할 수 있었던 때도 있었지만 난이도에 대한 이야기가 나오고

자격증 취득자에 대한 분별력이 떨어진다는 이야기가 나와 난이도가 조금 올라갔습니다.

OCJP에 해당하는 OCPJP를 취득하려면, 시험비용도 2배를 내야되게 되었습니다.

 

2019년에는 Java Programming 11이 추가되었습니다.

과목은 815, 815. 이전 버전에서 8 버전 업그레이드 시험이 있었던 것처럼 업그레이드 시험 또한 존재합니다.

출제 방식

문제는 보통 '문제은행' 방식으로 출제가 됩니다. 난이도 자체는 그렇게 어려운 편이 아니며

시험 보기 전에 한글이나 영어 둘 중 하나의 언어로 시험을 볼 수가 있습니다.

다만 문제를 쉽게 풀기 위해 도와주는 덤프는 주로 영어판 밖에 존재하지 않아

대부분의 사람들은 영어로 시험을 치르는 편입니다.(프로그래머가 되려면 영어를 어느정도 할 줄 아셔야합니다)

 

시험에 소요되는 시간은 150분이고 합격 커트라인은 60%입니다.

국내의 자격증 시험과 이 점은 비슷하다고 생각해주시면 되겠네요.

합격 여부는 시험 종료 후 바로 확인이 가능하며 주어진 시간 안에 시험을 마쳤을 경우 바로 퇴실이 가능합니다.

 

다만 응시료가 살짝(이아니고 조금 많이) 비싼 편에 속합니다.

300달러의 응시료를 받고 있으며 이는 2020년 12월 기준 33만 2,700원 입니다.

국내의 컴퓨터 활용능력등의 시험들의 응시료가 약 2만원정도인 것을 감안하면

금액적인 차이가 많이 나는 편입니다.

 

OCJP를 치루는 이유?

비싸고 기초적인 이 자격증을 취득하는 이유는 뭐에 있을까요?

일단 첫 번째 이유는 아무래도 연습에 있습니다.

 

프로그래머는 창의력도 중요하지만 숙련도 또한 중요합니다.

그리고 아무리 기초 입문단계의 지식을 묻는 시험이긴 하지만

기초를 튼튼히 하는 의미로서도 많이 취득하시고,

실제로도 국내에서는 순수 자바 애플리케이션 개발업체 혹은

JSP(Java Server Pages)의 웹 프로그래머가 되고자 할 때 가산점을 받을 수 있는 자격증이어서

많은 분들이 취득을 희망하시곤 하십니다.

 

OCJP를 취득하신 후 자바 프로그래머로서 진로를 결정하신 분들은

자바 웹 개발자 및 프로그래머, 어플 개발자, ERP 기업용 솔루션 개발자, CRP 솔루션 개발자

쪽으로 진로를 정하여 취업 및 업무를 진행하시는게 대부분입니다.

OCJP를 배울 수 있는 곳?

OCJP를 따로 공부하려 하시는 것 보다 Java로 프로그래밍을 배우고

프로그래머가 되시는 과정중에 취득하시는 것으로 생각하시는게

OCJP를 취득하시는데에 좀 더 도움이 될 듯 합니다.

말씀드렸다시피 OCJP를 취득한다고 하여 무조건 취업이 되거나 하는 것은 아니니까요.

 

현재 IT 전문가 과정을 국비로 들으실 수 있는 프로그램이 진행중입니다.

이 과정을 들으신다면 OCJP의 취득은 물론이고 그 이후의 SCEA자격증 취득까지

무리없이 진행하실 수 있을거에요.

 

관심있으신 분들은 아래의 네임카드를 클릭해주시면

바로 무료상담 도와드리니 많은 문의 바랍니다.

네임카드를 클릭해주시면 바로 무료 상담 가능합니다!!

 

안녕하세요 기형쌤입니다.

겨울이 왔지만 아직은 그래도 따듯한 날씨를 유지하는듯 합니다.

그래도 감기 걸리실 수 있으니 몸 따뜻하게 입고 다니셔야 해요!

또 마스크도 항상! 끼고 다니셔야하는거 알죠? 다들 조심하자구요.

 

오늘 제가 들고 온 이야기는 비주얼 베이직 이라는 언어 이야기입니다.

 

비주얼 베이직(Visual Basic .NET)은 무엇인가?

비주얼 베이직은 마이크로소프트사에서 만든 .NET Framework 기반의 프로그래밍 언어입니다.

Visual Basic .NET 이전에 VIsual Basic 6.0 이라는 프로그램이 있었지만

6.0에서 파생되었다기에는 차이점이 조금 많아 6.0 버전을 사용하던 사람들이 많이 넘어오지 않아

초기에는 사용자의 수가 많이 적었습니다.

 

VB .NET은 객체 지향 언어라서 절차 지향인

VB 6.0 소스 코드가 VB.NET과 호환되지 않아 아예 처음부터 코딩해야 하는 번거로움이 있었습니다.

마이크로소프트도 이 문제를 몰랐던 건 아니었기에 모체 프로그램인 Visual Studio 2008까지는

VB 6.0 변환기를 포함했었으나 완전히 1:1로 변환할 수 있는 것도 아니었고

Visual Studio 2010부터는 변환기가 삭제되었습니다.

 

그러나 VB 6.0 지원이 중단이 되었고 최신 운영체제로 가면서

동작하지 않는 기능이 많아졌습니다. 그리고 강력해진 새로운 확장 라이브러리 및 기본 컨트롤도 개선되는 등

상당한 발전을 보여 많은 사용자들이 VB.NET으로 넘어오는 계기가 되었습니다.

 

.NET Framework 기반이지만 C#이라는

그야말로 .NET Framework를 위하여 새롭게 만들어진 언어가 존재하기 때문에

C#에 비해 인지도는 떨어지는편입니다.

그리고 VB.NET과 C#은 같은 .NET Framework 라이브러리를 사용하기 때문에

사실상 문법과 일부 런타임 라이브러리를 제외하면 기능적으로는 큰 차이가 없기도 합니다.

 

Visual Basic .NET의 특징?

VB.NET에서는 My namespace라는 기능을 제공하고 있습니다.

7가지의 기능들이 있는데

 

My.Computer : 당신의 컴퓨터에 대한 이름, 메모리, 시간, 네트워크 등의 정보를 제공

My.Application : 현재 응용프로그램의 실행경로, 이름이나 버전, 그리고 환경 변수들을 제공

My.User : 윈도우에 해당되어 있는 이름 같은 것을 가져옴. 또, 사용자가 특정 역할에 속하는지도 확인 가능

My.Forms : 프로젝트에 있는 모든 폼의 참조를 제공

My.WebServices : 웹 서비스에서 사용되는 프록시 서버에 대한 접근 권한을 얻는게 가능

My.Settings : 읽거나 저장하는 응용 프로그램 구성 설정이 가능

My.Resources : 현재 응용프로그램에서 사용중인 리소스 정보를 읽을 수 있음

 

이러한 기능들을 사용하실 수 있습니다.

또한 이전의 문법들에서 좀 더 가독성이 좋은 언어체계를 가지고 있기도 합니다.

ex) IsNot 연산자, WithEvent 선언자 등

 

또한 C#과 비슷하게 WPF의 프로젝트를 만들어서 활용이 가능합니다.

 

Visual Basic .NET과 C#

C# 언어는 .NET을 위해 만들어진 언어라고 봐도 무방하다는 평을 들을정도로

.NET과의 호환이 좋습니다. 물론 Visual Basic .NET 또한 .NET 프레임워크 기반이기에

.NET과의 호환성은 걱정하실 필요가 없습니다.

 

C#과 VB.NET은 같은 라이브러리를 사용합니다.

이는 C#과 VB.NET의 코드를 완벽하게 변환 가능하다는 것을 내포하는데

이를 이용하여 다양한 프로그래밍 방식을 진행해볼 수 있습니다.

 

그래서 .NET Core 환경에서의 개발은 프로페셔널하고 편리한 C#, 배우기 쉽고 간단하지만 강력한 Visual Basic.NET,

아직은 언급하지 않았었지만 연산에 특화된 F#, 이 세가지 언어로, 리눅스, 맥OS 개발을 할 수 있다는 말입니다.

그리고 웹 애플리케이션 개발용으로 ASP.NET Core를 사용 할 수 있습니다.

또한 .NET Standard를 통해 .NET Framework, Xamarin, Mono에도 호환이 됩니다.

 

단지 윈도우 운영체제 기반인 프로그램 언어인지라 윈도우 환경을 벗어나면 호환이 안된다는 단점 또한 있습니다.

윈도우 외의 운영체제에서도 실행할 수 있도록 하는 프로젝트이지만,

컴파일 시 결과물은 PE DLL 파일로 나오게 됩니다.

윈도우 비주얼 스튜디오에서 컴파일 시 EXE 파일도 나오지만,

실제 컴파일 결과물인 DLL 파일을 로드하여 실행하는 것에 불과하기 때문에

DLL 파일이 없으면 당연히 실행되지 않습니다.

다른 운영체제들은 터미널로 .NET Core 런타임을 설치한 후

dotnet (실행할 닷넷 DLL 파일)을 입력하고 실행하면 실행이 가능합니다.

 

배워봅시다!

프로그래밍 언어를 알아야 하는 것도 가짓수가 너무 많죠?

어디서 배워야 할까요?

 

현재 국비지원 받으시며 무료로 배우 실 수 있는 과정이 있습니다.

관심 있으시다면 아래의 네임카드를 클릭해주시면

바로 무료 상담 가능합니다!!

 

네임카드를 클릭해주세요!!

안녕하세요! 기형쌤입니다!

 

갑자기 날이 추워졌네요. 다들 감기 걸리지 않게 조심하시구요ㅠㅠ

이 시국에 감기 한 번 잘못 걸리면 너무 불안하잖아요

코로나가 아닌지? 그냥 감기인건지? 우리 그런 일을 겪지 않게끔

최대한 조심하면서 살자구요!

 

오늘 제가 가져온 이야기는 바로 R 언어에 관한겁니다.

R언어? 그게 뭐지? 하고 생소해 하실 분들도 계실텐데요

R 언어는 빅데이터 관련업계 종사자분들이

거의 필수적으로 알고계셔야 하는 프로그래밍 언어 중 하나입니다.

왜 그런걸까요? 같이 알아보도록 해요!

R언어는 1993년 뉴질랜드에 위치한 오클랜드 대학교에서 개발된

통계 및 그래프 작업을 위한 인터프리터 프로그래밍 언어입니다.

 

영국식 언어를 사용하는 뉴질렌드에서 개발한 언어여서 그런지

color를 colour 라고 쓰는것도 인정되는 특징이 있습니다.

 

다른 프로그래밍 언어들 및 통계 솔루션과 비교하자면

SPSS, STATA, SAS 등 유사 소프트웨어들이 있고 요즘엔 Python도 많이 사용하고 있습니다.

SPSS는 통계학용이라는 목적만 같을 뿐 실제로 사용해보면 나머지 언어들과는 좀 다릅니다.

STATA는 R에 비해 프로그래밍 자유도가 낮다는 등의 단점이 있지만,

대신 계량경제학(특히 실증미시경제학)에 특화되고 상대적으로 배우기 쉽다는 장점이 있습니다.

SAS는 유료 통계분석 언어중에 가장 유명한 언어입니다.

위의 언어들 중 그나마 R에 가장 가깝다고 할 수 있는 언어이기도 합니다.

Python은 앞의 언어들보다는 좀 더 일반적이고 범용성이 큰 언어입니다.

통계나 수치해석을 위한 라이브러리를 동원해 통계분석용으로 쓸 수 있습니다.

 

Python에 관한 자료는 제가 이전에 게시해놓았던 Python 자료에서 보실 수 있습니다.

kiihakjumcircle.tistory.com/entry/Python%ED%8C%8C%EC%9D%B4%EC%8D%AC%EC%9D%80-%EB%AC%B4%EC%97%87%EC%9D%B4%EA%B3%A0-%EC%96%B4%EB%94%94%EC%84%9C-%EB%B0%B0%EC%9A%B8-%EC%88%98-%EC%9E%88%EB%82%98%EC%9A%94?category=909606

 

Python(파이썬)은 무엇이고 어디서 배울 수 있나요?

안녕하세요? 기형쌤입니다!! 오늘 제가 들고 온 것은 바로 Python입니다. Python은 수많은 프로그래머들의 기본소양이라고 할 정도의 언어입니다. Python은 그 기원이 굉장히 특이한 언어인데요. 바로

kiihakjumcircle.tistory.com

 

R언어의 장점

이렇게 비슷한 성향의 언어들이 있는데 왜 R 언어를 사용하는 걸까요?

그 이유는 일단 첫 번째로 오픈 소스로 배포되고 있어 무료로 사용이 가능하다는 점이 있습니다.

SPSS나 MATLAB과 같은 상용 프로그램을 구입하지 않아도 된다는 장점이 있습니다.

또 R언어는 오픈소스 언어이기 때문에 그러한 언어들의 특징인

사용할 수 있는 수많은 통계 관련 패키지가 개발되어 있어서 인터넷을 통해 이 패키지들을 설치하는 식으로

무수한 기능 확장이 가능합니다.

애초에 통계학자들이 만들어 낸 언어이기도 하고 통계 전문 언어 중 가장 보편적이기 때문에

내가 사용하고 싶은 모든 통계 기법이 이미 어딘가에 패키지 형태로 구현되어 있다고 봐도 무방합니다.

 

또한 그래픽 관련 패키지를 설치하면 간단하게 다양한 그래프를 활용할 수 있으며

구글이나 네이버 지도를 불러오거나 이를 활용해 GIS 용도로 쓰는 것도 가능하게 해줍니다.

 

웹 어플리케이션 개발 프레임워크인 Shiny의 고도화로 통계 또는 머신러닝 모델을 웹과 연동할 수 있고,

가장 중요한 데이터 마이닝, 빅 데이터 프로세싱, 기계학습 등에 유용하게 사용할 수 있습니다.

 

통계와 관련된 언어이기에 리스크, 재무, 마케팅 담당자 채용 시 R 능통자를 우대하기도 합니다.

 

R언어의 단점?

이렇게 좋은 수많은 장점을 가진 R언어는 왜 사람들이 많이 알지 못 하는걸까요?

그 이유 중 커다란 파이를 차지하는 이유 중 하나는 바로

어려워서 입니다.

물론 이것은 컴퓨터 공학자가 아니라 일반인 입장에서 어렵다는 것입니다.

그 이유는 R자체가 원래 통계 프로그램인 S를 그대로 배껴서 만든 프로그램이었기에

R은 원래 통계분석 프로그램이였습니다.

문제는 통계학자들도 R언어를 배워야하는데, 프로그래밍이 가능하게 만들면서

다양하게 만들고 분석할 수 있는 가능성을 갖음과 동시에, 프로그래밍을 알아야 한다는 단점이 생겨버렸습니다.

통계분석 프로그램으로 유명한 SAS, STATA, Minitab에 비하면 월등히 어려워서

한 동안은 대학에서도 취급하지 않았고, 일부 저널에서는 받아주지도 않았었습니다.

 

다만 2000년대 중후반에 코딩이 중요해지면서, R의 인기가 올라갔습니다.

그 이유 중의 커다란 파이를 차지한 것은 다름이 아닌 공짜 라는것 때문이었습니다.

 

통계 분석하는 함수들이 기본적으로 들어가있으면서,

무료로 프로그래밍이 가능하기에 현재 많은 통계분석 프로그램 유일하게

SAS의 명성을 따라잡을 수 있는 언어가 되었습니다.

 

안타까운 것은 프로그램 자체의 한국어 기능을 제공하지 않는다는 점입니다.

다른 프로그램들마냥 한국어 주석을 생각없이 넣었다가는

코드를 잘 짜놓고도 오류가 가득한 모습을 볼 수 있을것입니다.

특히 함수나 for문 등 연속적인 작업이 이루어지는 코드 내부에

한글로 이루어진 주석을 꽉꽉 채워 넣거나 한다면...그러지 않기만을 바랍니다ㅎㅎ

 

개발환경

RStudio라는 환경에서 개발을 하는 것이 가장 무난합니다.

R 본체가 설치되어 있어야 작동하며, 훨씬 편리한 인터페이스를 제공하는 것이 강점입니다.

단, 폴더 경로나 파일 이름에 한글이 들어가면 제대로 작동하지 않을 수 있으니 주의해주셔야 합니다.

 

그 외의 에디터들에는 ConTEXT, jEdit, LyX 등이있지만 보통

R에 대한 문법 검사와 코드 색상을 지원하는 플러그인 형태로 제공됩니다.

 

R언어를 배우려면?

이제 R언어는 빅데이터 개발자 쪽으로 진로를 정하신 분들이라면

하둡 프로그래밍과 함께 무조건 배워야하는 언어로서 자리잡았습니다.

그렇다면 어디서 R언어를 배울 수 있을까요?

 

저희 빅데이터 전문가 과정에 R언어를 배우실 수 있는 과정이 포함되어 있습니다.

R언어 이전의 C, Python 등 필요한 언어들을 배워가시면서

진행하실 수 있으니 부담스러워 하지 마시고 문의주세요.

하단의 네임카드를 클릭해주시면 바로 상담 가능합니다.

네임카드를 클릭해주세요!

안녕하세요 기형쌤입니다.

 

기분 좋은 주말이에요!

한 해를 마무리해가는 12월! 여러분은 잘 보내고 계신가요?

연말은 연말이라 바쁘고 연초는 연초라 바쁘고

바쁠일이 너무 많아 몸이 남아나질 않네요ㅠㅠ

 

오늘 제가 가져온 이야기는 빅데이터 프로세싱에 관한 이야기입니다.

 

빅데이터 프로세싱이란?

말 그대로 디지털 시대에서 폭증하는 너무나도 방대한 양의 정보(Big Data)를

관리하고 분석해서 유용한 정보로서 사용할 수 있게 만든는 기술을 지칭합니다.

 

과거에는 정보로서 기록되지 않았던 매우 사소한 정보까지도

디지털 정보로 기록되는 정보화 시대에서는 너무나도 정보의 양이 많아졌습니다.

 

내가 어디에 있는지에 대한 위치정보, 뭘 먹고 싶어서 검색했는지에 대한 정보,

어떤 음악을 플레이 했는지에 대한 정보, 운동을 위해 얼마나 달렸는지에 대한 정보까지

전부 데이터로서 기록이 되니 정보는 넘쳐날 수 밖에 없죠.

 

또한 거기에 더해 단순한 문자 데이터에서 벗어나

녹음, 사진, 동영상 등 데이터의 종류가 다양해지고 데이터의 용량 자체도 큰 폭으로 늘어났습니다.

이런 빅 데이터는 기존의 기술이나 도구로는 원활한 수집과 처리가 불가능할 정도로

성질이 달라졌으므로 빅 데이터에서 유용한 정보를 추합하거나 가치를 뽑아내기 위해서

고안된 기술이 바로 빅 데이터 프로세싱입니다.

 

빅데이터는 사람들의 마음 속을 어느 정도 계량화해서 데이터로 만들어 응용하는 것을

목적으로 만들어진 기술이기에 주요 대기업들 사이에서 독자적인 빅 데이터 응용 모델 만들기가 대유행 중입니다.

빅데이터를 활용할 수 있는 분야는?

그렇다면 이러한 빅데이터를 활용할 수 있는 분야는 어디일까요?

수많은 곳에서 빅데이터를 이용할 수 있지만 대표적으로 추천 엔진이 있습니다.

 

예를 들어 페이스북의 당신이 알 수도 있는 사람 이라던지

유튜브의 추천 영상 등에 활용되어 사용될 수 있습니다.

 

심리/동향 분석에도 사용되는데,

SNS 포스팅이나 인터넷 광고 클릭 성향 등을 통해 맞춤형으로 정보를 전달하는 등의 활용이 되고 있습니다.

 

인공지능의 구현에도 빅데이터가 기반이 되는 기술입니다.

대표적으로 알파고를 떠올리실 수 있습니다.

알파고 또한 과거 대국의 정보를 바탕으로 한 수 한 수에 대한 승률을 계산해 다음수를 착수하는 것 과 같이

아직은 스스로 생각할 수 없기에 과거의 빅데이터를 기반으로

가장 높은 확률로 정답인 것을 찾아가는 형태로 발전해나가고 있습니다.

 

기타 도시학 연구, 네트워크 모니터링, 인터넷 사기의 탐지 등 수많은 분야에 빅데이터는 사용될 수 있습니다.

 

국내의 빅데이터 분석기사 자격증?

2019년 국내에 빅데이터 분석기사 자격증이라는 것이 신설되었습니다.

기사급의 자격증으로 2020년 하반기 최초 시행되었습니다.

 

한국데이터산업진흥원에서 시행하는 빅데이터분석기사 시험에 합격하여 그 자격을 취득한 사람을 말합니다.

빅데이터분석기사 시험은 필기시험과 실기시험으로 이루어지며

필기시험은 객관식으로 100점을 만점으로하여 과목당 40점 이상, 전 과목 평균 60점 이상이면 합격이 인정됩니다.

실기시험은 실무 통합형 시험으로 100점을 만점으로 하여 평균 60점 이상이면 합격하게 됩니다.

 

아직 국내에서 시행된지 얼마 되지 않은 자격증이지만 수많은 사람들이 몰려

11월 사이트가 먹통이 되어 아무도 접수하지 못하고 일정이 늦춰졌습니다.

 

오는 12월 19일 첫 필기시험이 진행되어 아직 국내에 자격증 취득자는 없지만

워낙 유망한 직종인 빅데이터 관련 자격증이고

국가 자격증인지라 취득시 취업에 굉장히 유리해질 것으로 예측됩니다.

빅데이터 기술을 배우려면?

빅데이터 전문가가 되려면 기본적으로 Python언어를 알고있어야 합니다.

현재 프로그래밍 업계에서 가장 중요한 언어라고 한다면 단연 Python입니다.

쉬우면서도 범용성 넓은 Python은 제가 Python에 대해 설명해놓은 게시글이 있으니

그 글을 읽어보시면 이해하기 편하실겁니다.

kiihakjumcircle.tistory.com/entry/Python%ED%8C%8C%EC%9D%B4%EC%8D%AC%EC%9D%80-%EB%AC%B4%EC%97%87%EC%9D%B4%EA%B3%A0-%EC%96%B4%EB%94%94%EC%84%9C-%EB%B0%B0%EC%9A%B8-%EC%88%98-%EC%9E%88%EB%82%98%EC%9A%94?category=909606

 

Python(파이썬)은 무엇이고 어디서 배울 수 있나요?

안녕하세요? 기형쌤입니다!! 오늘 제가 들고 온 것은 바로 Python입니다. Python은 수많은 프로그래머들의 기본소양이라고 할 정도의 언어입니다. Python은 그 기원이 굉장히 특이한 언어인데요. 바로

kiihakjumcircle.tistory.com

 

그리고 네트워크 기반의 기술이니 CCNA(네트워크 기초)정도도 알고 계시는게 좋겠죠?

또한 대용량 데이터를 분석, 처리할 수 있는 기술인 하둡 프로그래밍 또한 배우셔야 합니다.

 

배울게 너무 많죠?

 

그래서 빅데이터 전문가를 생각하시는 분들은 어느정도 프로그래밍에 대해

전반적인 기초 지식이 있어야 합니다.

하지만 걱정 마세요!

기초부터 차근차근 가르쳐드리는 전문가 과정을 소개해드리겠습니다.

 

아래의 네임카드를 클릭하시면 바로 상담해드릴 수 있으니 문의 주세요!

상담은 무료로 진행되니 부담없이 연락 남겨놔주시면

빠르게 전문가 과정으로 이끌어드리겠습니다▼

네임카드를 클릭해주시면 바로 상담 도와드리겠습니다!

안녕하세요? 기형쌤입니다!!

 

오늘 제가 들고 온 것은 바로 Python입니다.

Python은 수많은 프로그래머들의 기본소양이라고 할 정도의 언어입니다.

 

Python은 그 기원이 굉장히 특이한 언어인데요.

바로 창시자인 귀도 반 로섬(Guido van Rossum)이

1989년 크리스마스주에 연구실 문이 닫혀있어서 심심한 김에 만든 프로그래밍 언어입니다.

 

재밌지않나요?

지금에 이르러서의 Python은  풍부한 머신러닝 라이브러리와 프레임웍으로

머신러닝, 딥러닝등 인공지능 개발을 위한 언어로서 각광을 받고 있는데

이러한 언어가 그저 심심한 김에 만든 언어라니...아이러니하죠ㅎㅎ

 

Python을 배우는 이유?

심심한김에 만든 언어를 왜 배우기 시작했을까요?

일단 문법이 매우 쉬워서 초보자들이 처음 프로그래밍을 배울 때 추천되는 언어입니다.

오죽하면 Python의 별명이 '실행할 수 있는 의사 코드(Executable pseudocode)'일 정도이니까요.

 

또한 가장 큰 이유는

전 세계의 모든 프로그래밍 언어 중에서 파이썬 정도의 낮은 난이도를 가지면서,

범용성을 갖추고, 파이썬 수준의 프로그램 개발 속도를 따라잡는 언어가 없기 때문입니다.

 

요점은 쉬운데 현업에서 사용하여도 엄청난 효율을 낼 수 있다는 점 때문에 배우는 것입니다.

C언어로 2년동안 완성하지 못한 프로젝트를 파이썬으로 한달만에 해냈다 는 극적인 경험담이 있을 정도이니

말 다 한 셈이죠.

Python의 특징?

단지 쉽다는 특징 말고 어떠한 특징이 있을까요?

 

Python의 기본 철학은 가장 아름다운 하나의 답이 존재한다 를 기본으로 하고 있습니다.

파이썬의 이런 철학은 이후 다른 프로그래밍 언어들에도 수출되어, 2010년대 들어서는 기존 언어들도

파이썬처럼 최대한 문법 구조를 단순화시키고 통일하려는 문법 대통일 운동이 일어나기 시작했다.

 

그렇다면 왜 이러한 현상이 이루어졌던걸까요?

 

단순히 말하자면  프로그래머들이 프로그램을 돌려보기 좋게 한다는 매우 좋은 영향이 있어서 입니다.

 

다른 객체지향 언어인 C,C++,Java같은 경우의 코딩은 각자의 취향에 맞게 발산 진화하는 반면

파이썬은 위의 철학들을 만족 시키는 하나의 스타일로 수렴 진화하는 성향이 있습니다.

이런 성향은 다른 언어에는 없는 파이썬스러움(pythonic)이라는 독특한 개념을 낳게 되었는데,

복잡하지 않으면서 의미가 명확하고, 코드의 축약보다 뚜렷하게 보이는 흐름을 중시하는

파이썬의 철학을 지칭하는 개념이 되었습니다.

 

이러한 철학 때문인지 Python의 문법체계는 상당히 엄격한 편입니다.

예를 들자면 다른 언어에서는 해도 되고 안 해도 되는 들여쓰기가 이 언어에서는 의무로 해야하는 등이 있습니다.

 

또 다른 특징으로

파이썬의 가장 큰 특징 중 하나. 파이썬은 반복 가능한 객체(iterable)라는 강력한 기능을 제공합니다.

이 객체는 집합, 문자열, 리스트, 튜플, 딕셔너리, 그리고 함수까지도 반복이 가능하며,

이것을 for 구문에서 사용할 수 있게 해줍니다.

리스트와

튜플 등은 좀 편해지는 정도라 할 수 있지만, 함수의 값을 반복할 수 있다는 것은 큰 장점이됩니다.

Python의 다양한 구현체

Python은 다양한 언어들과 함께 구현화되기도 합니다.

구현체로서 Python을 지칭할 때에는 CPython(싸이선)이라고 불리우는데

이는 Python이 기본적으로 C로 구현되었기 때문입니다.

 

구현체의 종류는 Stackless Python, C언어를 확장한 Cython, Python으로 Python을 만든 독특한 형태의 PyPy,

Java로 구현한 Jython, .Net Framwork로 구현한 IronPython, Java Script로 구현한 Brython 등의 다양한

언어들의 구현체들이 존재합니다.

 

이는 Python의 가장 큰 장점인 쉽고 범용성이 넓다는 특징 덕분에 가능한데요.

다만 Jython과 IronPython은 둘 다 CPython에 비하면 실행 속도가 매우 느리며,

Jython은 경우에 따라서 심각할 정도로 많이 느립니다.

그래서 주요 기능을 수행하는 데에는 문제가 있지만,

보조 기능에서 사용하면 번거로운 작업들을 매우 손쉽게 Python 스크립트로 Java, .NET Framework의

자원을 그대로 끌어다 써서 할 수 있기 때문에 개발 공수와 편리함에서 큰 장점이 있어 주로 보조적인 기능 수행을 할 때 사용되곤 합니다.

 

가장 특이한 구현체는 Python으로 Python을 만든 PyPy일텐데요

2007년에 처음 발표된 Python의 언어 구현 중 하나로, C로 짜인 기존의 CPython과 달리

Python으로 Python을 만드는 프로젝트입니다.

이 프로젝트의 진짜 놀라운 점은 기존 CPython보다 전혀 느리지 않을 뿐더러,

오히려 성능면에서 CPython을 능가하고 있다는 점입니다.

나아가 계발이 진행되고 연구가 진행됨에 따라 점점 더 빨라지는 추세입니다.

표준 구현인 CPython과의 속도비교. PyPy를 개발하면서 지속적으로 업데이트 하는중입니다.

Python은 개발자를 꿈꾸신다면 배워놓으시는게 필수라고 추천드릴만큼

중요한 언어입니다.

그렇다면 Python을 배우시려면 어떻게 해야할까요?

개인적으로 책을 보며, 인터넷 강의를 보며 공부하셔도 괜찮을 정도로

쉬운 언어인지라 이런저런 책을 추천드려도 괜찮을 것 같지만

 

Python을 배우고 그 심화과정까지 배워 전문가가 되셔서

결국 취업까지 해결하고 싶으시다면 저와 함께

IT 전문가 과정을 진행 해보시는것을 추천드립니다.

 

아직은 블루오션인 IT 시장에 어서 뛰어들어 봅시다!

관심있으시다면 하단의 이미지링크를 클릭해주세요. 바로 무료상담 가능합니다.

이미지를 클릭해주세요!

안녕하세요! 기형쌤입니다. 오늘 제가 가져 온 이야기는

JAVA에 대한 것입니다.

 

일단 JAVA는 무엇일까요?

JAVA는 객체지향 프로그래밍 언어입니다.

말이 조금 어렵죠? 객체지향 프로그래밍 언어란 프로그램의

설계 방법론이자 개념의 일종입니다.

프로그램을 단순히 데이터와 처리 방법으로 나누는 것이 아니라,

프로그램을 수많은 '객체'라는 기본 단위로 나누고 이 객체들의 상호작용으로 서술하는 방식입니다.

객체란 하나의 역할을 수행하는 '메소드와 변수(데이터)'의 묶음으로 보시면 됩니다.

JAVA는 크게 4 종류로 나뉩니다.

1. Java SE

 JAVA SE는 대부분의 사람들이 가장 많이 접하는 말하자면 표준 에디션입니다.

 JAVA의 핵심적인 API와 기능들을 제공하고 있습니다.

 

2. Jakarta EE

 이전에는 JAVA EE라고 불리웠고 기업등지에서 운영하는 서버 페이지에 특화되어 있습니다.

 웹 애플리케이션 서버에 관련된 기술들이 포함되어 있습니다.

 

3. JAVA ME

 PDA나 셋톱박스, 센서 등의 임베디드 시스템 환경에 특화되어있는 에디션입니다.

임베디드 시스템이란 세탁기나 냉장고 등 가전제품에 들어가는 단일목적 컴퓨터라고 생각하시면 좋습니다.

 

4. JAVA FX

데스크톱 애플리케이션 개발 및 배포를 위한 에디션입니다. 크로스플랫폼 이식과 GUI 라이브러리를 제공합니다.

C, C++과의 차이점?

C 언어는 포인터 등을 활용한 저수준 시스템 프로그래밍(리눅스 커널과 하드웨어 프로그래밍)에 강점을 가집니다.

C++은 C의 그러한 장점을 거의 그대로 가져오면서 객체 지향이나 일반화 프로그래밍과 같은 멀티 패러다임을 지원하고자 하는 시도(3D게임, 그래픽 프로그래밍)에서 만들어졌습니다.

이렇게 고수준과 저수준 개념 모두를 포함하려 하다보니 점차 복잡해졌고

게다가 최신 프로그래밍 환경을 지원하기 위해 지속적으로 개정되고 있는 모던 C++는 변화의 폭이 커서, 새로운 기능을 전부 제대로 다룰 줄 아는 프로그래머는 비교적 적다는 평이 널리 받아들여지고 있습니다.

그에 비해 JAVA는 C++의 방향성과는 다르게 안정성에 포인트를 맞춰 개발되어 왔습니다.

JAVA는 고수준의 객체지향 부분을 잘 구현하는 것에 집중하는 방향으로 언어가 복잡해지는 것을 방지하고 있습니다.

 

JAVA와 C,C++의 공통점은 같은 C계열 프로그래밍 언어이기 때문에 비슷한 문법 구조를 가지고 있다는 것에 있습니다.

하지만 그러면서도 JAVA가 C,C++보다 훨씬 널리쓰이는 분야가 많이 존재합니다.

대표적인 예: 안드로이드 앱이라던지 웹 애플리케이션

 

하지만 안정성을 중요시하는 언어이기 때문에 속도가 느릴 수 있습니다.

그렇게 속도가 중요한 부분들은 따로 떼어서 C,C++언어로 따로 개발하기도 합니다.

JAVA의 특징!

Java의 가장 큰 특징은 플랫폼에 독립적인 언어라는 점 입니다.

C나 C++같은 경우 소스 코드를 직접 컴파일하여 링크하는 것과는 다르게

Java는 .class 파일을 생성하고 이 파일의 바이트 코드를 읽은 뒤 기계어로 바꾸어 실행하는 것은 Java Virtual Machine

통칭 JVM입니다. 이 방식이 좋은 이유는 윈도우 환경에서 Java를 이용해 빌드한 프로그램을

리눅스나 맥OS에 적합한 JVM만 깔려있다면 바로 실행이 가능합니다.

 

JAVA의 다른 특징 중 하나는 범용성입니다.

JVM 기반의 프로젝트에서는 하나의 언어만을 고집하지 않습니다.

함수형 언어가 유리(최근 유행하는 빅데이터 등)한 부분은 Scala로 작업하며, 견고한 인터페이스와 대규모 통합이 필요한 곳은 Java로 작업한 뒤 이들을 서로 합쳐서 운영하는 게 가능합니다.

실제 현업에서는 Java를 비롯한 여러가지 인기 언어가 자주 사용되므로 장단점을 잘 알아두는게 좋습니다.

다른 언어에 대해 맹목적으로 찬양/비판하는 태도보다는 환경이나 주어진 작업의 특성에 따라 적합한 언어를 선택할 수 있는 노하우가 있다면 좋은 개발자로서 이름을 날리실 수 있을 것입니다.

JAVA는 왜 쓰는걸까요?

JAVA는 왜 아직도 가장 많이 쓰이는 언어일까요?

기본적으로 JAVA는 수많은 개발자와 레퍼런스를 가지고 있습니다.

오래된 언어이고 범용성이 뛰어난 언어이다보니 수많은 JAVA개발자들이 있고

시대에 맞춰 지속적인 개발이 이뤄지고, 그에따른 수많은 레퍼런스들을 갖고있습니다.

 

또한 JAVA는 비교적 높은 생산성을 가지고 있습니다.

IT는 점차 발전해나가고 있고, 무거운 프로그램들이 많아짐에 따라 복잡한 C,C++을 이용한

프로그래밍이 사실상 너무 힘들어졌습니다. 언어 자체가 복잡할 뿐 아니라

관리 또한 힘들어서 프로그램이 커지면 커질수록 작업이 힘들어지게 되었습니다.

하지만 JAVA는 C,C++과 문법적으로도 비슷하면서도 객체 지향을 적극적으로 활용,

호황성까지 좋은 언어이기 때문에 등장하자마자 순식간에 대세가 되었습니다.

 

위에서도 지속적으로 말했다시피 JAVA의 큰 장점 중 하나는 안정성입니다.

메모리를 대용량으로 사용하는 프로그램에서 상대적으로 C/C++보다 안정적인 모습을 보일 때도 있는데, 이런 경우에 JVM이 시작될 때 필요한 메모리를 먼저 통으로 잡아버립니다.

메모리를 자주 할당하거나 해제하는 C/C++ 프로그램은 오히려 Java보다 성능이 느릴 수 있습니다.

JAVA 프로그래머가 되려면?

범용성이 넓다는 것은 그만큼 알아야 기본적인 지식의 베이스도 넓다는 말입니다.

그리고 기초적인 지식은 지식을 쌓아 올리고 실력이 높아지는데에

아주 중요한 역할을 하죠.

 

기초부터 차근차근 잘 다져나가셔야 합니다.

기초부터 전문가까지 차근차근 공부하실 수 있습니다.

그리고 지금이라면 국비지원 받으시면서 무료로 진행하실 수 있습니다.

언제나 연락주세요. 기다리고 있겠습니다.

하단의 이미지를 눌러주세요! 바로 상담 가능합니다.

이미지를 누르시면 상담 진행 바로 가능합니다.

 

안녕하세요! 기형쌤입니다.

 

이제 2020년이 얼마 남지 않았네요ㅜㅜ

 

요즘은 왜이리 시간이 빠른지 억울하기까지 합니다.

심지어 코로나 때문에 올 한 해 뭔가 한 것 같지가 않아서 더 그런가봐요.

 

요즘 취업 준비는 어떻게 하고계세요?

너무 힘들죠?ㅠㅠ

안그래도 많이 위축되어있는 취업시장인데

코로나 때문에 대면 면접도, 취업을 위한 학원에 가기도 무서운 요즘

 

그래서 IT 업계가 각광 받는것 같아요.

재택근무도 가능하고 실무 면접도 서버를 열어 진행하기도 하니까요.

 

그런 의미에서 오늘 소개해드릴 직업은 앱개발자 입니다.

APP개발자란 무엇인가요?

요즘 핸드폰 다들 사용하시죠?

핸드폰에서 구동하는 프로그램들을 기본적으로 어플리케이션(Application)이라 부르고

앞의 세 자만 떼어와 편하게 앱(APP)이라 부르죠.

앱 개발자는 문자 그대로 그 APP을 개발하는 개발자입니다.

 

어떠한 앱들이 있을까요?

 

스마트폰의 성능 향상을 시키기 위한 앱도 있고

인터넷에 더 자유롭게 접근할 수 있는 앱,

요즘 시기에 가장 많이들 사용하시는 유통(배달)앱 등

많고 다양한 앱들에 관여하는 직종이 APP개발자 입니다.

 

APP개발자가 하는일?

그렇다면 앱개발자가 하는 일은 무엇일까요?

단순히 개발을 한다 라고 하면

코딩을 하며 뚝딱뚝딱 프로그램을 만드는 장면을 상상하실 수도 있는데요

 

앱개발자의 업무는 만들고자 하는 어플리케이션을

기획하고, 제작하고, 유통하는 것 까지가 주요 업무 입니다.

 

기획단계에서는 만드려는 어플리케이션과 유사한 어플리케이션이 있는지,

고객의 요구사항이 무엇인지 조사하고

개발하고자 하는 어플리케이션으로 어떻게 돈을 벌 것인지

즉 사업을 구상하고 계획을 수립합니다.

 

기획이 어느정도 마무리 되면 이제는 개발을 해야겠죠?

가장 처음으로 생각해야 할 것은

이 어플리케이션을 최초로 구동시킬 메인 OS를 정하는 것입니다.

 

OS에는 현재 크게 2 종류가 있죠?

바로 Android와 IOS인데요,

쉽게 말하자면 갤O시와 애O입니다.

 

중국의 샤O미에서 사용하는 OS인 미유아이(MIUI)는

Android의 오픈 소스를 기반으로 제작된 OS이고

화웨이의 자체 OS인 훙멍이라는 OS도 존재하지만

상당히 비주류적인 OS이기에 대표적인 OS

갤O시의 Android와 애O의 IOS를 기반으로 개발을 시작합니다.

 

그래픽 디자이너와 수시로 상호작용 하며

최초 의도했던대로, 또 기획했던대로 어플리케이션이

제작되고 있는지 디자이너와 지속적으로 협업을 합니다.

 

마지막으로 제작된 어플리케이션을 유통해야 합니다.

바로 사용자에게 전달되는 경우도 있지만

오픈 마켓을 통해 판매되는것이 일반적이겠죠.

 

유통 이후 지속적으로 업그레이드, 버그 수정 등

관리를 해주어야 야합니다.

앱개발자의 앞으로 전망?

그렇다면 앱개발자의 앞으로의 전망은 어떨까요?

핸드폰이 없어지지 않는한

또는 대체제가 나오지 않는 한

스마트폰은 점점 개발되어 갈 것이고

그만큼 다양한 어플리케이션이 개발되고,

업그레이드 되어야 하니 수요는 점점 늘어만 갈 것입니다.

 

또 온라인으로 진행되던 서비스는 핸드폰 어플리케이션으로,

핸드폰 어플리케이션이 PC로 서비스를 확대하면서

앱개발자의 기술력이 많이 필요하게 될 전망입니다.

 

앱개발자가 되는법?

앱개발자는 전공자 뿐 아니라

비전공자여도 훈련만 받으신다면 충분히

개발자로서 당당히 업무를 하실 수 있습니다.

 

IT의 여러 분야가 그러하지만

학력보다는 실력이라는 슬로건이 어울릴만큼

개발자의 능력을 중시하는 시장이기에

실력을 키우는것이 중요합니다.

 

그렇다면 실력을 어디서 키워야 할까요?

 

비전공자여도 기초부터 전문가 과정까지

실력을 키워드리는 전문가 양성 프로젝트!

 

전문가 과정이라고 해서 가격이 걱정되신다면

걱정하지 마세요!

국비로 지원되는 이 프로젝트는

학생분이 부담하신 금액이 0원!

 

오히려 훈련수당 이라는 지원금을 매 달 최대 40만원

받으시면서 공부하실 수 있습니다.

 

코로나 시국인 현재 비대면 LIVE로 수업 진행을 하고 있으며

방역 단계의 격하에 따라 현장강의도 진행하고 있습니다.

 

관심있으시다면 언제나 연락 남겨주세요!

 

▼클릭해주세요!

안녕하세요! 기형쌤입니다.

 

요즘 너무 추워졌죠?

물론 코로나 때문에 집콕하고 있어야 하지만..

쌀쌀해진만큼 마음도 쌀쌀해진듯한 그런 느낌입니다.

 

요즘 취업 너무 힘드시죠?

안그래도 취업이 어려운 세대를 살고있는데

어려운 시기까지 겹쳐 체감상 몇 배나 더 힘든 나날입니다.

 

오늘 소개해드릴 직업은 빅데이터 개발자입니다.

 

빅데이터 개발자란?

빅데이터 개발자란 과거에 비해 많고 다양해진 데이터를 이용하여

사람들의 행보, 위치정보, 심지어 생각까지 분석해서

다른 산업과 융합, 새로운 결과를 산출 해낼 수 있게끔

환경을 조성하고 구축하는 일을 하는 직업입니다.

 

빅데이터 개발자가 하는일?

그렇다면 빅데이터 개발자가 하는 일이 뭘까요?

 

빅데이터 개발자는 기본적으로 JAVA를 활용합니다.

JAVA를 활용하여 데이터 분석을 위한 데이터를 수집하고

이를 다시 분석하기 좋게 가공하고, 정제하는 프로그램을 개발

하는 업부를 합니다.

 

데이터를 분석하려는 목적에 맞게끔 데이터를 정확하고 신속하게

처리할 수 있도록 프로그램을 설계하고, 데이터를 수집하여 정제하는 일을 하는거죠.

 

빅데이터 개발자의 전망은?

그렇다면 빅데이터 개발자의 전망은 어떨까요?

 

A.I가 점점 발전하고, 사람들의 인터넷 의존도가 올라감에 따라

사람들의 생각과 취향은 더더욱 인터넷상에 남기 쉬워졌습니다.

말 그대로 데이터는 줄지 않고 점점 늘어간다는 것이지요.

 

그러한 데이터들이 많아질수록 데이터 수집을

더 원활히 할 수 있는 프로그램이 필요하게 될 것이고

또 정제하는 프로그램에게 요구하는 요구사항들이 많아지게 되겠죠.

 

한 마디로 빅데이터 시장은 사람들이 있고, 인터넷이 있고,

기술이 발전하는 한 절대로 위축될리가 없는 시장입니다.

빅데이터 개발자가 되려면?

빅데이터 개발자가 되려면 여러가지를 알아야 합니다.

네트워크의 기초적인 것 또한 알아야 하며

대용량 데이터를 처리하는 하둡이라는 프로그램을

사용하기 위하여 리눅스 운영체제에 관해서도 알아야 하죠.

그리고 위에서도 알려드렸다시피 기본적으로 JAVA를 이용하기에

JAVA프로그래밍 또한 전문가가 되어야 합니다.

 

너무 어려운가요?

 

걱정하지 마세요.

빅데이터 개발자 전문가 과정이 있습니다.

 

IT에 대한 기초부터 전문가 수준의 기술까지

체계적으로 공부하실 수 있는 국내 최대 규모의 학원인데요

혹시 전문가 과정이라고 해서 가격이 너무 비싸지 않을까

고민되신다면 그런 고민은 하지 않으셔도 좋습니다.

 

해당 과정은 국비 지원을 받으실 수 있기 때문인데요.

국비 지원 받으셔서 부담하실 금액은 0원!

그리고 훈련 수당까지 매 달 최대 40만원을

나라에서 지원해드리고 있으니

 

돈 걱정 하시면서 공부하실 필요는 없습니다.

 

빅데이터 관리자를 포함한 여러 IT 직종에 관심이 있으시다면

하단의 네임카드를 눌러주세요.

연락 남겨주시면 무료로 상담 해드리겠습니다.

+ Recent posts