IT 자격증 정보의 모든 것



안녕하세요! 오늘은 머신러닝에 대해서 이야기해보려고 합니다.

최근 인공지능이나 사물 인터넷 등에 대한 이슈가 커지면서 IT 기술에 관심이 점점 더 커지고 있는데요그 중에서도 인공지능의 한 분야로 4차 산업혁명의 핵심 키워드로 꼽히는 머신러닝은 인간의 학습 능력과 같은 기능을 컴퓨터에서 실현하고자 하는 기술 및 기법을 뜻합니다. 하지만 머신러닝 기술은 최근에 새롭게 만들어진 것이 아니랍니다. 60년 전부터 진행해오던 연구였죠. 실제로 머신러닝이란 용어는 1959아서 사무엘의 논문에서 최초로 정의된 바 있습니다. 이후 계속해서 연구를 통해 80~90년대까지 발전해오다가 2000년대 중반에 들어서면서 급속한 발전을 이루게 되었습니다. 그렇다면 머신러닝이 급속하게 발전하게 된 이유는 무엇일까요?

 




머신러닝의 발전 계기

머신러닝이 급속도로 발전하게 된 계기에는 먼저 기술의 발달이 있겠죠? 특히 사물인터넷이 발달하면서 막대한 양의 데이터가 발생하기 시작했습니다. 사람이 처리할 수 있는 정보의 양을 뛰어넘어 버린 것이죠. 컴퓨터의 성능이 그 방대한 양의 데이터를 처리할 수 있을 만큼 발전하면서 머신러닝 기술 또한 발전하게 되었습니다. 또한 머신러닝 기술 줄 하나인 딥 러닝기술이 탄생하면서 인공 신경망 분야가 두드러진 발전을 보여주었죠.




 

딥 러닝의 발전

딥 러닝이란 머신 러닝의 하위 개념으로서 모델을 학습하고 데이터를 분류한다는 공통점을 갖습니다. 딥 러닝에 대해서 자세히 살펴볼까요? 딥러닝은 사물이나 데이터를 군집화하거나 분류하는 데 사용하는 기술입니다. 예를 들어 컴퓨터는 사진만으로 개와 고양이를 구분해내지 못하죠. 하지만 사람은 아주 쉽게 구분해낼 수 있습니다. 컴퓨터에게 인간의 이런 능력을 부여하기 위해 고안된 기술이 바로 머신 러닝이고 데이터를 어떻게 분류할 것인가를 놓고 마련된 알고리즘 중 하나가 바로 딥 러닝입니다. ‘의사결정나무베이지안망’, ‘서포트벡터머신’, ‘인공신경망등이 대표적이었지만 딥 러닝은 그 중에서도 인공신경망의 후예라고 볼 수 있습니다. 인공신경망의 한계를 극복하고자 제안된 학습 방법인 딥 러닝의 핵심은 바로 분류를 통한 예측인데요. 수많은 데이터 속에서 패턴을 발견해 인간이 사물을 구분하듯 컴퓨터가 데이터를 나누는 것을 말합니다. 이 분류 방식은 지도 학습비지도 학습으로 나뉩니다. 지도 학습 방법은 컴퓨터에 먼저 정보를 입력하여 학습하게 하는 방법입니다. 컴퓨터에게 고양이 사진을 주면서 고양이 사진으로 인식할 수 있도록 정보를 먼저 입력해주는 것이죠. 컴퓨터는 이러한 학습 절차를 통해 고양이 사진을 분류해내게 됩니다. 반면 비지도 학습은 말 그대로 학습 절차가 없답니다. 이 사진은 고양이라는 별도의 학습 없이 컴퓨터가 스스로 고양이 사진을 분류하도록 합니다. 때문에 지도학습보다 더 진보된 학습 기술이며 컴퓨터의 높은 연산 능력이 요구되는 기술입니다






머신 러닝의 미래

머신 러닝은 사람이 처리할 수 없는 속도로 방대한 양의 데이터를 분석하고 또 예측까지 하는 기술이기 때문에 미래에 굉장히 다양한 분야에서 활용될 것이란 전망을 보이고 있습니다. 이미 이름이 잘 알려진 기업들은 머신 러닝 기술을 활용하고 또 연구하고 있는데요. 이젠 너무나도 익숙한 포털사이트의 검색어 자동완성기능, 페이스북 자동 태깅, 스팸메일 필터 등이 있습니다. 머신러닝에 대한 구글이나 타 IT 기업들의 투자가 어마어마하기 때문에 발전 속도가 앞으로 더욱 더 빨라질 것이란 예측도 나오고 있습니다. 영화 ‘Her’속에서 남자주인공이 인공지능과 대화하고 생각을 나누는 모습이 머지않아 현실에서도 가능할 것으로 보입니다



이렇게 머신러닝과 딥 러닝에 대해서 알아보았습니다. 4차 산업혁명이 시작되면서 기술 발전의 속도도 더욱 더 빨라진 것 같아요. 특히 구글 포토나 클라우드 서비스를 이용하면서 컴퓨터가 정말 똑똑해졌다는 느낌이 많이 드는데요. 이러한 기술에 뒤쳐지지 않도록 IT 공부에 더욱 더 힘써야겠습니다! 



안녕하세요! 오늘은 개발자가 갖춰야 할 필수 역량에 대해서 알아볼까 합니다.

특히 4차 산업혁명의 시대가 열리면서 프로그래머, 즉 IT 개발자에 대한 관심이 점점 더 높아지고 있는데요.

그럼 프로그래머(IT개발자)가 갖춰야 할 필수 역량은 무엇인지 알아볼까요?




개발자 필수 역량





1. 커뮤니케이션 능력


가장 먼저, 개발자에게 필요한 능력은 커뮤니케이션이 아닐까 생각됩니다. 프로그램은 혼자서 만들어내는 것이 아니라 여러 사람들의 의견이 모아 만들어지는 것이기 때문에 반드시 커뮤니케이션 능력이 좋아야 좋은 개발자가 될 수 있는데요. 개발자뿐만 아니라 모든 직무가 커뮤니케이션 능력을 중요시하는 만큼 반드시 갖춰야 할 필수 역량이랍니다. 또한 프로그램은 만들어 낸 사람이 아닌, 프로그램을 사용하는 사람이 만족해야 하는 구조이기 때문에 이용자들의 의견을 잘 수용하려는 자세가 필요해요. 또한 기획자, 개발자, 디자이너 간의 원활한 커뮤니케이션이 이뤄져야 완벽한 프로그램이 탄생하게 된답니다.





2. 학습 역량


IT 기술은 빠르게 변화하는 기술 중 하나로 꼽히는데요. 기술 변화의 속도가 매우 빠르기 때문에 새로운 기술에 대한 습득력이 좋아야합니다. 따라서 IT 환경 변화에 따라 계속해서 공부하는 자세를 가져야겠죠? 조금이라도 공부에 소홀해진다면 뒤쳐지는 것은 시간 문제랍니다. 여기서 공부란 그저 이론 학습이 아닌 실무에서 활용가능한 업무 능력을 뜻하는 것으로 이론뿐만 아니라 실무능력 향상 능력까지 필요합니다. 






3. 프로그래밍 언어


사실상 가장 기본적인 필수역량이 될 것 같은데요. 프로그램을 만들기 위해선 프로그래밍 작업이 필요하고, 또 프로그래밍 작업을 수행하기 위해선 프로그래밍 언어를 알아야합니다! C언어, 자바, 파이썬 등 여러 종류의 프로그래밍 언어가 있고 기업마다 사용하는 프로그래밍 언어가 다르기 때문에 선호하는 기업에 맞춰 프로그래밍 언어를 배우면 될 것 같습니다. 특히 C언어 같은 경우, 대학교 전공 수업으로도 접하는 사람이 많기 때문에 가장 널리 이용되고 있는 프로그래밍 언어가 아닐까 생각이 드는데요. 기본적으로 한 가지의 프로그래밍 언어를 마스터하고 부가적으로 다른 프로그래밍 언어도 다룰 줄 안다면 좋은 개발자가 될 수 있지 않을까요?



네 이렇게 프로그래머(IT개발자)의 필수역량에 대해서 알아보았습니다. 개발자를 꿈꾸지만 프로그래밍에 대한 지식이 없다면 결코 전문가가 될 수 없겠죠! 따라서 지속적은 지식 습득과 실무 경험이 최고의 프로그래머로 만들어주는 발판이 될 것 같습니다. 프로그래머로 진로를 선택한 분들, 목표를 정해두고 꼭 이룰 수 있도록 꾸준한 학습과 의지를 응원합니다!




안녕하세요! 오늘은 얼마 전에 미국 샌프란시스코에서 열렸던 ‘세계개발자회의(WWDC) 2017’ 소식을 가져왔습니다. 애플은 올 가을 신제품과 함께 업데이트 예정인 ‘iOS11’을 미리 그 자리에서 공개하여 사람들의 이목을 끌었는데요. 과연 어떤 점이 더 좋아졌고, 어떻게 변했는지 그 주요 기능에 대해서 알아볼까 합니다.






1. iOS11 주요 기능 - Offload Unused Apps

용량 제한의 노예가 되셨던 분들이라면 환호할 기능이 아닐까 생각되는데요. 바로 사용하지 않는 앱들을 자동으로 삭제해주는 기능이 생겼기 때문입니다. 저장공간 확보와 불필요한 프로그램 충돌을 막기 위해 생겨났는데요. 특이한 점은 문서나 데이터 정보들은 그대로 유지가 되기 때문에 재설치를 하면 그대로 사용할 수 있습니다. 


2. iOS11 주요 기능 – Scan QR Codes

아이폰을 이용하면서 살짝 불편했던 점! 바로 QR코드를 인식하는 기본 어플이 없었다는 점인데요. iOS 11부터는 기본 카메라 어플에서 QR코드를 스캔할 수 있답니다. 


3. iOS11 주요 기능 – Screen Record 

이제 스크린샷으로 만족하지 않아도 된답니다! 정지된 화면이 아니라 Gif 파일로 움직이는 화면 레코드가 가능해졌기 때문이죠. 이제 원하는 동영상이나 행동들을 이 기능을 통해 레코딩할 수 있고 또 다른 사람들에게 공유가 가능해졌습니다. 친구가 사용 방법을 물어보면 하나하나 스크린 캡쳐해서 설명하기 여간 귀찮았는데 이 기능이라면 이제 한번에 가능하겠네요 




4. iOS11 주요 기능 – Do Not Distub While Driving 

방해금지모드의 업그레이드 버전? ‘운전 중 방해금지모드’가 생겼습니다. 안전한 운전을 위하여 생겨났는데요. 사용자가 운전 중일 때를 감지하여 자동으로 방해 금지 모드에 돌입하게 된답니다. 아이폰 화면이 밝아져서 운전 중인 사용자의 시야에 해가 되지 않도록 알림을 음소거 모드로 바꾸고, 즐겨찾기에 지정된 연락처에서 연락이 올 경우엔 자동 회신을 보내 목적지에 도착한 다음 응답할 수 있게 하는 기능입니다. 무엇보다 자동으로 운전 중 방해금지모드로 전환된다는 점이 정말 신기하네요.






5. iOS 11 주요 기능 – Share Your Wi-Fi

기존에 있던 핫스팟 기능은 사용자의 데이터를 다른 사람과 공유하는 것이라면, 이번엔 데이터가 아닌 와이파이를 다른 사람들과 공유할 수 있는 기능입니다. 이 기능을 이용한다면 따로 다른 사람들에게 와이파이 비밀번호를 알려주지 않아도 되는 것이죠. 개인적으로 카페 같은 공공장소에서 유용할 것 같은데요. 만약 비밀번호를 모라도 친구가 와이파이에 연결되어 있다면 저는 카운터까지 가지 않아도 친구의 와이파이 공유 기능을 활용하여 사용할 수 있겠죠!


6. iOS11 주요 기능 – Siri

아이폰하면 떠오르는 가장 특징적인 기능 중 하나인 시리는 더 유용하고 자연스러워졌습니다. iOS11을 사용하면 최신 머신러닝 및 인공지능(AI) 기술을 통해 개인비서 ‘시리’의 대화 능력을 향상할 수 있는데요. 표현력이 기존 버전보다 풍부해져서 더욱 더 자연스럽다고 합니다. 또 영어 단어 및 구문을 중국어, 프랑스어, 독일어, 이탈리아어, 스페인어로 번역이 가능하다고 하네요. 그리고 개인 비서라는 호칭을 가진 만큼 시리는 더욱 더 똑똑해진 모습을 볼 수 있었는데요. 사용자의 사파리, 뉴스, 메일, 메시지 사용을 기반으로 사용자에게 알맞은 맞춤형 기능을 제공하기 때문입니다. 예를 들어 사용자가 사파리에서 검색했던 내용을 시리가 관심사로 기억해줬다가 사용자가 이메일이나 메시지를 작성할 때 그 내용을 제안하는 식인 거죠. 





가을 쯤 신제품과 함께 공개될 것으로 예상되는 iOS11! 과연 기존 iOS10 보다 좋은 평가를 받을 수 있을지 기대가 됩니다.


안녕하세요 

오늘은 4차 산업혁명에서 빼놓을 수 없는 핵심 키워드, 사물 인터넷에 대해 알아봅시다!


사물 인터넷은 간단히 말하자면 말 그대로 사물 대부분이 인터넷으로 연결되어 서로 정보를 주고받는 형태라고 볼 수 있습니다.

사물에 센서를 부착하여 실시간으로 데이터를 주고 받는 것이죠. 

물론 지금도 인터넷에 연결된 사물은 많지만 지금의 형태와 ‘사물인터넷’은 중요한 점이 다릅니다.

바로 인간의 ‘조작’이 필요 없다는 것이에요. 

사물인터넷 시대가 열리면 인터넷에 연결된 기기는 

사람이 별도로 조작을 하지 않아도 알아서 정보를 주고 받으며 일을 수행합니다.

블루투스나 근거리무선통신, 센서데이터, 네트워크가 이들의 자율적인 소통을 돕는 것이죠.






옛날 인터넷이 보급되기 전, 플로피 디스크로 컴퓨터와 소통했던 방식이

인터넷이 발달하면서 컴퓨터와의 소통 방식이 달라졌었는데요. 

사물 인터넷 또한 컴퓨터와의 소통방식 변화의 연장선이라고 보면 될 것 같습니다.

예전엔 직접 정보를 보내고 받고 했지만 지금은 사물이 알아서 소통을 하는 것이죠!






사물인터넷은 최근 구글이 발표한 ‘구글글래스’나 나이키의 ‘퓨얼밴드’로 예를 들 수 있습니다.

구글 글래스는 통화부터 사진 및 동영상 촬영, 네비게이션 등 스마트폰과 비슷한 기능들을 

안경에 축약하여 담아낸 디지털 안경인데요. 

모니터 역할을 하는 프리즘이 돌출된 안경 형태의 모바일 기기로 우측테 내부에

적외선 기반의 안구 추적 카메라가 있어 사람의 시선이 마우스의 역할을 한다고 합니다.

구글 글래스를 착용 중이라면 사진을 남기고 싶은 순간에 “사진을 찍어줘”라고 지시를 내리면

바로 사진 촬영이 되기 때문에 굉장히 편리하죠

또한 네비게이션 기능이 있기 때문에 내가 원하는 목적지에 대해

잘 가고 있는지, 어떤 길로 가야 빠르게 도착하는 지 경로에 대한 모든 정보를

실시간으로 받아볼 수 있습니다.

뿐만 아니라 번역, 지역 정보 제공 등 여러가지 기능이 있으니 정말 스마트한 기기라 할 수 있겠죠?


이렇게 스마트한 기기들 모두, 사물 인터넷이 적용된 결과물이라고 볼 수 있습니다.

IT 발전의 속도는 날이 갈수록 빨라지고 다양해져서 

이제 넋놓고 얼마나 발전하는지 지켜보기에는 위험한 시대가 아닐까란 생각이 들어요!

IT가 발전하는 만큼 자신이 갖는 IT역량을 더욱 더 키워야겠죠?






안녕하세요! 오늘은 4차 산업혁명에 대해서 얘기해볼텐데요.

4차 산업혁명, 여기 저기서 많이들 얘기하는 주제죠~

정확히 4차 산업혁명의 정의는 무엇일까요?


4차 산업혁명이란 인공지능, 로봇기술, 생명과학이 주도하는 차세대 산업혁명을 말해요.

1차 산업혁명이 1784년 영국에서 증기기관과 기계화로 시작되었다면

2차 산업혁명은 1870년 전기를 이용한 대량생산이 본격화되면서 시작되었고

3차 산업혁명은 1969년 인터넷이 이끈 컴퓨터 정보화 및 자동화 생산시스템이 주도하였다고

볼 수 있는데요. 이 3차 산업혁명을 뒤이어 로봇이나 인공지능(AI)를 통해

실재와 가상이 통합돼 사물을 자동적, 지능적으로 제어할 수 있는 가상 물리 시스템의

구축이 기대되는 산업상의 변화를 우리는 4차 산업혁명이라고 부릅니다


4차 산업혁명은 인공지능(AI), 사물 인터넷(IoT), 클라우드 컴퓨팅, 빅데이터, 모바일 등 지능정보기술이 

기존 산업과 서비스에 융합되거나 3D 프린팅, 로봇공학, 생명공학, 나노기술 등 여러 분야의 신기술과 결합되어 

실세계 모든 제품, 서비스를 네트워크로 연결하고 사물을 지능화합니다.  

또한 초연결과 초지능을 특징으로 하기 때문에 기존 산업혁명에 비해 더 넓은 범위에 더 빠른 속도로 크게 영향을 끼치기도 하고요. 



‘제 4차 산업혁명’이라는 용어는 2016년 세계 경제 포럼에서 처음 언급되었으며, 
정보 통신 기술(ICT) 기반의 새로운 산업 시대를 대표하는 용어가 되었어요. 
이렇게 이미 진행되어온 4차 산업혁명, 우리 미래에 어떤 영향을 끼칠까요? 
가장 먼저 생각해 볼 점은 일자리 문제예요. 인공지능의 등장은 인간의 일자리 문제에 있어서 아주 큰 이슈로 떠올랐는데요. 
세계경제포럼에서는 4차 산업혁명으로 2020년까지 약 710만 개의 일자리가 줄어들 것이라고 예상했습니다. 
고도의 인공지능을 탑재한 로봇이 이제는 육체적 노동을 뛰어 넘어 
인간의 지적 활동까지 대체하려고 하니 전혀 없는 말은 아닌 것 같아요. 
또한 한국고용정보원이 발간한 2017 한국직업전망에 따르면, 단순 사무직과 기계로 대체가 가능한 직업들은 
고용이 감소할 것이라고 말합니다. 
하지만 4차 산업 기술직, ICT 융합직업, 사업서비스 전문직 그리고 안전관련 직종, 의료와 복지 분야의 일자리는 
고용이 증가할 것이라는 예측을 하고 있습니다. 
어찌보면 일자리가 사라지는 것 같지만 동시에 새로운 직업이 뜬다고 봐야할 것 같은데요. 
따라서 지금까지는 그저 ‘지식’을 쌓아오는 지식 중심 교육이었다면 지금은 이를 어떻게 활용하고 응용할 것인지 
생각하는 역량 중심의 교육이 필요한 시점인 것 같네요.

그렇다면 4차 산업혁명에서 인공지능과 대체될 확률이 낮은 일자리은 무엇일까요? 
비교적 전문성, 창의성이 돋보이는 직종이 일자리 대체 확률이 낮다고 합니다. 
그렇다면 개발자나 보안전문가 등 IT업계의 일자리 변화는 크게 일어나지 않을 것 같아요.
물론 인공지능의 발달이 날이 갈수록 계속해서 빨라지고 있는 만큼
인공지능은 결국 인간의 손에서 탄생한 것이니 이 능력을 어떻게 이용하면 좋을지
개발자만의 역량을 키우는 것이 가장 큰 문제일 것 같습니다.

이렇게 제가 생각하는 4차 산업혁명에 대해서 이야기 해보았는데요!
앞으로도 IT와 관련된 주제를 가지고 이야기하는 시간 갖도록 하겠습니다.




안녕하세요~ 오늘은 자바 스크립트에 대해 알아볼텐데요
2017년 5월 프로그래밍 언어 순위를 보면 알 수 있듯이


프로그래밍 언어 순위 1위가 바로 자바, 7위가 자바 스크립트인 것을 확인할 수 있어요

차마 프로그래밍 언어에 익숙하지 않으신 분들이라면

자바와 자바 스크립트가 같은 언어라고 생각하셨던 분들이 많을 것 같은데요~

자바와 자바스크립트는 개발자부터 특징 그리고 사용법까지 전!혀! 다른 별개의 프로그래밍 언어랍니다.


그렇다면 자바와 자바스크립트, 어떤 점이 다르고 또 자바스크립트는 무엇일까요?

좀 더 자세하게 살펴볼까요?




1. 자바 스크립트란?


우리가 매일 사용하는 웹 사이트는 크게 3가지 요소로 구성이 돼요. HTML, CSS 그리고 자바 스크립트입니다!

HTML은 웹 페이지의 큰 뼈대를 제공하고, CSS는 색이나 폰트같은 디자인 요소를 관리해요.

자바 스크립트는 크로스 플랫폼, 객체 지향 스크립트 언어로 웹 페이지의 동작을 담당합니다.

예를 들어 자바 스크립트를 이용하면 이 버튼을 클릭하면 그림을 띄워줘 라는 식의 명령을 내릴 수 있어요.


사실 2000년대까지만 해도 자바스크립트는 개발자들에게 조금 무시당하는 언어였어요.

별다른 기능도 없고 성능도 좋지 않았기 때문이죠. 하지만 최근 몇 년 사이에 다양한 자바스크립트 프레임워크와

라이브러리가 생기면서 자바스크립트는 더욱 더 발전하고 있습니다.



2. 자바와 자바스크립트의 차이점


자바스크립트는 브랜든 아이크라는 사람이 1995년 넷스케이프에 근무하면서 개발한 개념이예요. 

처음에 모카라는 이름으로 불리었지만 당시 자바가 큰 인기를 끌자 마케팅 효과를 노려 이름을

자바스크립트로 변경하는데요. 마케팅 효과를 본 것인지 이후 자바 스크립트의 기술은 다양하게 발전했고

지금은 많은 사람들이 사용하는 프로그래밍 언어가 되었답니다.


자바와 자바스크립트의 차이, 가장 큰 차이점은 역시 특징이 아닐까 싶어요.


자바스크립트는 객체 지향언어로 객체의 형 간에 차이가 없답니다. 프로토타입 메커니즘을 통한 상속, 

그리고 속성과 메서드는 어떤 객체든 동적으로 추가될 수 있구요. 

하지만 자바는 클래스 기반 언어로 객체는 클래스 계층구조를 통한 모든 상속과 함께 클래스와 

인스턴스로 나뉘는데요. 클래스와 인스턴스는 동적으로 추가된 속성이나 메소드를 가질 수 없답니다.

또한 자바스크립트는 변수 자료형이 선언되지 않지만 자바는 변수 자료형이 반드시 선언되어야 한다는 점,

자바스크립트는 하드 디스크에 자동으로 작성이 불가하지만 자바는 자동으로 작성이 가능하다는 점이

가장 큰 차이점이네요.




3. 자바 스크립트의 장단점

자바스크립트는 다양한 장단점을 갖는데요. 자바스크립트는 컴파일 과정이 없기 때문에 
다른 언어와 비교했을 때 빠른 시간 안에 스크립트 코드를 작성할 수 있게 도와준답니다. 
기존 C언어나 자바 언어와 달리 굉장히 단순한 구조와 원칙을 가지고 있기 때문에 초보 개발자들이
쉽게 배우고 이해할 수 있어요!
하지만 성능이나 보안 측면이 단점이에요. 내부에서 제공되는 기능이 제한적이고 관련된 개발도구도 
적은 편인데다가, 자바스크립트는 HTML 소스코드에 함께 작성되면서 소스코드가 외부로 공개되는데,
이 과정에서 보안 취약점이 발생할 수 있기 때문이에요.


하지만~ 개발자가 가장 관심을 많이 갖는 언어로 꼽힌 '자바 스크립트'

개발자들의 대표 커뮤니티인 스택오버플로우는 2015년 157개국에 있는 사용자 2만 6천여명에게

다양한 기술 관련 설문조사를 실시했어요. 그 결과 자바스크립트는 '스위프트'와 함께 개발자들이 가장 관심을

가지는 언어로 뽑히게 됩니다! 또한 최근에는 자바스크립트 관련 라이브러리나 프레임 워크가 개발자들 사이에서

큰 화제로 떠오르면서 더욱 주목을 받고 있습니다.



이렇게 자바 스크립트에 대해서 알아보았는데요

자바와 자바스크립트를 구분하는 데에 도움이 되었나요?

계속해서 여러 프로그래밍 언어를 알려드리겠습니다!~









안녕하세요!

오늘은 프로그래밍 언어의 종류와 순위에 대해서 알아보려고 합니다~

C언어부터 자바, 파이썬 등등 

이미 많이 알고 계실 것 같은데요~

간단하게 한 번 알아볼까요?



1. 프로그래밍 언어 - 파이썬 Python


파이썬은 특히 요즘 개발자들 사이에서 굉장히 많은 인기를 끌고 있다고 해요.

왜냐면 프로그래밍 언어들 중에서도 문법이 굉장히 단순하게 이루어져 있기 때문에

처음 프로그래밍 언어를 접하는 학생들도 쉽게 배울 수 있을 정도로 난이도가 낮기 때문인데요!

기본으로 파이썬을 배우고 씨언어나 자바로 응용이 가능하기 때문에 기초 다지는 용으로 아주 적합하다고 합니다.

문법이 단순하다보니 개발하는 데 있어서도 시간이 단축될 뿐만 아니라 생산도 굉장히 빠른 편이라서

이미 많은 기업체에서도 사용중인 프로그래밍 언어라고 해요.

때문에 IT 취업을 꿈꾸고 있다면 반드시 배워야할 프로그래밍 언어가 아닐까 싶어요!



2. 프로그래밍 언어 - C언어


C언어는 프로그래밍 언어 중에서도 가장 기본이 되는 언어라고 볼 수 있어요.

C언어의 특징은 다양한 언어와 연관성을 지어서 사용할 수 있다는 점이에요.

또한 파이썬이 요즘 대세라 하지만 아직까지도 많은 소프트웨어 개발 분야에서 사용중인 언어는 C언어!

때문에 대학교 전공 수업에도 반드시 포함되어 있을 정도로

소프트웨어 개발 분야를 전공하는 학생들이라면 누구나 한번쯤 공부해봤을 베이직한 프로그래밍 언어랍니다.

따라서 IT 계열로 취업을 희망한다면 C언어는 반드시 알아야겠죠?



3. 프로그래밍 언어 - Java


Java는 웹, 어플리케이션, 빅 데이터 등 다양한 소프트웨어 분야에서 가~~~~장 높은 사용량을 보여주는

프로그래밍 언어라고 할 수 있어요!

다른 언어들과 차별되는 가장 큰 특징은 바로 객체지향 프로그래밍 언어라는 것!

다양한 시장에서 많이 사용되어지고 있는만큼 Java또한 굉장히 중요시 되는 언어라고 볼 수 있겠죠?



가장 널리 사용되고 유명한 프로그래밍 언어 3가지를 간단하게 알아보았는데요.

이 밖에도 C#, C++등 여러가지의 프로그래밍 언어가 존재한답니다. 


그렇다면 이제 대망의 2017년 5월 프로그래밍 언어 순위를 알아볼까요?


출처 : tiobe 사이트


2017년 5월 프로그래밍 언어 1위는 Java네요!  그 뒤를 이어서 C언어와 C++가 자리잡은 것을 볼 수 있구요

파이썬은 상승세를 보였네요! ㅎㅎㅎ

이렇게 프로그래밍 언어 순위도 알아보면서 

프로그래밍 언어를 공부한다면 더 잘 될 것 같은 느낌?....ㅋㅋㅋㅋ


다음엔 더 다양한 프로그래밍 언어 정보로 찾아올게요!






안녕하세요! 

오늘은 전~세계에 많은 유저를 보유한 포털 검색 사이트이죠

구글 검색 방법에 대해서 얘기해볼까 합니다!


저는 지금까진 그저 찾고자 하는 단어만 

검색창에 입력해서 검색하는 편이었는데요.

알고보니 정말 똑똑하게 검색하는 방법이 있더라구요!


따라서 오늘은 구글 검색 꿀팁

똑똑하게 검색하는 방법, 알아볼까요?







1. 큰 따옴표 ("")


검색어의 처음과 끝에 큰 따옴표("")를 입력하면

필수 검색어로 지정되어서 해당 단어나 문장이 반드시 포함된 결과만 보여준답니다.


예를 들면

"티스토리"라고 검색한다면


티스토리라는 단어가 반드시 들어간 검색 결과만 나오는 것이지요






2. 마이너스(-)


마이너스(-)를 입력하면 지정된 검색어를 제외한 결과를 보여주는데요!


예를 들어

"티스토리-아이티"라고 검색한다면


티스토리 검색 결과에서 아이티 키워드가 제외된

결과만 보여준답니다






3. 별표 (*)


별표(*)는 빈칸을 의미하는데요

검색어 일부가 기억이 나지 않을 때 정말 유용한 검색 팁이에요

*기호가 빈칸이 되어 검색되기 때문에 빈칸에 알맞은 단어를 채워넣은 결과를 보여준답니다.


예를 들어

"스타벅스 *프라푸치노"로 검색하면


스타벅스와 프라푸치노 사이에 *가 빈칸 역할을 해주면서

스타벅스 자바칩프라푸치노, 스타벅스 커피프라푸치노 등의 검색 결과를 보여주는 것이죠






4. filetype


filetype은 검색어가 들어간 특정 확장자 파일을 검색해줘요


예를 들어

"filetype:pdf 채용공고"를 검색한다면


pdf파일로 된 채용 공고 검색 결과를 보여주겠죠?






5. 등호 (=)


등호(=)는 환율 및 단위를 변환할 때 사용하면

현재 환율에 따른 결과를 보여주는데요!


예를 들어

"1달러=원"으로 검색하면


1달러가 현재 환율로 몇 원인지 검색 결과 창에 보여준답니다.






이렇게 간단하게 알아본 구글검색꿀팁!

이제는 검색하느라 시간 낭비하지말고,

검색하는 방법 꼭 꼭 기억해서 원하는 자료, 빠르게 찾아보아요~

다음 번에도 새로운 검색꿀팁을 가지고 오겠습니다.





Python (파이썬) 

간결하고 생산성 높은 프로그래밍 언어


배워도 배워도 복잡하고 어려웠던 프로그래밍 언어 (C언어나 Java 등)

복잡한 것은 이제 그만! 

이제는 간결하고 생산성 높은 파이썬의 시대가 도래하지 않았나 싶습니다!


‘파이썬’은 간결한 문법으로 입문자가 이해하기 쉽고, 다양한 분야에 활용할 수 있는 프로그래밍 언어로 요즘 컴퓨터 비전공자들의 사랑을 독차지하고 있는데요.

실제로 사용하는 기업들이 많아지면서 프로그래밍 언어의 대세로 떠올랐습니다.








Python을 개발한 귀도 반 로섬


파이썬은 네덜란드 개발자 귀도 반 로섬이 만든 언어예요. 

암스테르담 대학교에서 컴퓨터과학과 수학을 전공했고, CWI라는 국립 수학 및 컴퓨터 과학연구기관인 연구소에서 근무하면서 

인터프리터 언어를 개선하는 일을 맡게 되었다고 하는데요.

프로그래밍 언어를 개발하는 과정을 거쳐 지금의 파이썬 체제를 개발하는 데 이르렀다 하네요.


‘파이썬’의 이름은 영국 <BBC> 방송의 코미디 프로그램인 ‘몬티 파이썬 비행 서커스’에서 가져온 단어로 귀도 반 로섬은 짧고, 특별하고, 미스터리한 느낌의 단어를 찾아 결정했다고 합니다. 정말 의도와 딱 맞는 네이밍인 것 같아요.


또한 귀도 반 로섬은 2005년부터는 구글에 합류하여 약 7년 동안 구글에서 파이썬 관련 프로젝트를 이끌었는데요. 

실제로 구글은 파이썬을 많이 사용하는 기업으로 알려져 있죠. 

구글 내부에서 사용하는 코드리뷰 도구나 ‘앱 엔진’ 같은 클라우드 제품들은 파이썬을 통해 만들어졌답니다.
그 후로 귀도 반 로섬은 2012년 구글을 떠나 2013년부터 드롭박스에 합류하여 파이썬 언어를 개선하는 동시에 API 관련 개발을 진행하고 있다고 합니다!





Python 언어의 특징


파이썬은 플랫폼 독립적이면서 인터프리터식, 객체지향적, 동적 타이핑 대화형 언어라는 특징일 가지고 있어요


● 플랫폼 독립적이란?

플랫폼에 맞는 파이썬이 설치 되어 있으면 인터프리터가 코드에 상관없이 기계에 맞게 기계어로 변형시켜 주는 것


● 인터프리터식이란?

작성한 프로그램을 컴파일하지 않고 바로 실행할 수 있음 (사용자가 모르는 사이에 코드를 컴파일하여 바이트코드를 만들어 냄)


● 객체지향적이란?

모든 데이터를 오브젝트(객체)로 취급하여 프로그래밍 하는 방법


● 동적 타이핑이란?

코딩한 것에 대한 자료검사를 프로그램을 실행 시킬 때 수행함


또한 가장 큰 특징! 오픈 소스이기 때문에 누구나 제한없이 자유롭게 무료로 사용할 수 있어요.






Python 언어의 장점


우선 파이썬의 가장 큰 장점은 간편함이 아닐까 싶어요.

많은 프로그래밍 언어들 사이에서도 파이썬이 유명한 이유는 코드를 읽기 쉽다는 점!

파이썬은 문법이 간결하고 표현 구조가 인간의 사고 체계와 많이 닮아 있다는 평가를 받고 있는데요.

이 덕분에 초보자들도 쉽게 배울 수 있는 프로그래밍 언어가 바로 파이썬이랍니다.

또한 C언어와 Java와 같은 다른 프로그래밍 언어와 응용이 가능하기 때문에 입문용으로 많이 배우는 추세예요.

또한 웹 개발뿐만 아니라 데이터 분석, 머신러닝, 그래픽, 학술 연구 등 여러 분야에서 활용되면서 

생산성이 높다는 점도 주목할 장점입니다. 





Python 언어의 단점


장점이 있다면 물론 단점도 있겠죠? 

파이썬은 기존 프로그래밍 언어들보다 속도가 느리다는 평가를 받고 있어요.

또, 모바일 앱 개발 환경에서 사용하기 힘들고 컴파일 시 타입 검사가 이뤄지지 않아 개발자가 실수할 여지가 조금 더 많다거나 

멀티코어를 활용하기 쉽지 않다는 지적도 있네요.




비전공자도 쉽게 배울 수 있는 프로그래밍 언어인만큼

IT업계 취업을 희망하신다면 꼭 배워두어야 할 언어인 것 같아요

파이썬을 사용하는 기업이 점차 늘어나면서 

It 업계에서 파이썬 프로그램 활용 능력을 갖춘 인재를 선호하는 추세이기 때문이죠!

저도 C언어는 공부하다가 몇 번이나 포기했었는데

파이썬은 공부 의지가 불타오르네요! 


IT 취업 성공까지 파이팅!





안녕하세요! 오늘은 랜섬웨어에 대해서 이야기해볼까 하는데요


얼마 전, 전세계적으로 랜섬웨어 공격이 이어지면서 바이러스에 노출될까 떨었어야 했었죠~


공격을 한다고는 하는데 랜섬웨어가 대체 무슨 뜻이고 어떤 증상을 보이는지,


또 예방하려면 어떻게 대처해야 하는지 모르는 분들이 많을 거라고 생각해요.


그래서 오늘은 랜섬웨어의 개념과 증상 그리고 예방법에 대해서 알려드리겠습니다.








랜섬웨어의 개념




랜섬웨어란 몸값을 뜻하는 Ransom과 소프트웨어 Software의 합성어인데요.


이 악성 프로그램은 곧 바이러스로


사용자 PC에 있는 모든 개인 데이터 혹은 불규칙적으로 선택된 데이터들을


해커가 개발한 암호화 방식에 따라 암호화시켜 데 파일을 잠가버려요.


해커는 암호화된 데이터를 빌미로 사용자에게 돈을 요구하는데요. 지정된 계좌로 돈을 보내면


암호화된 정보를 원래 상태로 복구할 수 있다고 협박을 하지만 결국 돈을 받고 나서도


암호를 풀어주지 않는 경우가 많아요.


때문에 랜섬웨어 공격을 당한 사용자는 잠긴 파일들을 열거나 사용할 수 없으며


컴퓨터 프로그램 또한 잠겨있는 파일을 사용하지 못한답니다.


때문에 주로 컴퓨터나 스마트폰을 이용하여 정보를 관리하는 현대인들에게


굉장히 치명적인 존재가 아닐 수 없겠죠?


따라서 기업이나 개인의 PC가 랜섬웨어에 감염되었을 경우 심각한 사회문제로


확대되는 문제점을 갖고 있어요.



랜섬웨어는 미국을 중심으로 활동하는 악성코드였지만 기하급수적인 컴퓨터 보급과


사용자의 증가를 매개체로 하여 전 세계적으로 급속도로 유포되고 있습니다.


최근에는 국내에서도 눈에 띄게 피해 사례가 증가하고 있어서 심각한 상황이에요.


뿐만 아니라 새로운 변종 랜섬웨어까지 확산되고 있는 추세라 랜섬웨어에 대해서 반드시 알아보고,


대처 방안을 마련하는 것이 중요합니다.






랜섬웨어의 현재 동향



랜섬웨어는 국내, 국외 가리지 않고 최근까지 사고 사례가 폭발적으로 증가하고 있는 상황입니다.


뿐만 아니라 공격 대상 및 방법도 진화하고 있는데요


공격 대상이 일반 개인에서 기업으로 그리고 금융기관, 의료기관 등으로 확대되고 있으며


PC뿐만 아니라 스마트폰, 서버 등으로 확대되고 있기 때문에 더욱 더 안심할 수 없답니다.




또한 파일이나 문서만이 아닌 국내 외 유명 클라우드 서비스도 랜섬웨어에 감염된 사례가 있는 것으로


확인 되었는데요. 때문에 불안감을 호소하는 ICT 분야의 개발자와 사용자들이 증가하고 있습니다.




한국인터넷진흥원(KISA)의 2017년 1분기 사이버 위협 동향 보고서에 따르면


악성코드 중 랜섬웨어가 44%를 차지하면서 1위에 올랐고


관련 피해 민원접수도 급증하고 있는 것으로 나타났습니다. 








랜섬웨어 예방법




그렇다면 이렇게 악질인 랜섬웨어, 어떻게 예방하는 것이 좋을까요?


랜섬웨어 공격에서 피해를 최소화하기 위해서는 중요 파일의 경우 별도로 백업을


주기적으로 해주고 출처가 불분명한 메일은 삭제, 백신 프로그램 설치 및 최신 버전을 


유지해주는 것이 중요합니다.


좀 더 자세하게 알아볼까요?




1. 스팸 메일 첨부파일 실행 금지

출처가 불분명한 메일 삭제, 혹은 발신자가 확인되지 않은 메일의 열람을 금지하며,

수신자가 지인일 경우에도 메일 재 확인이 필요합니다.



2. 중요 문서 및 파일 백업

사용자의 시스템 이 외 별도의 저장 공간을 마련하여 주기적인 백업을 수행해야 합니다.



3. OS 및 각종 프로그램 최신 보안 패치 적용

사용자의 OS 업데이트를 포함한 IE, Java, MS Office 등 대표적인 프로그램을 

항상 최신 버전으로 유지할 수 있도록 해야 합니다.



4. 백신 프로그램 최신 업데이트

백신 프로그램을 필수로 설치해야 하며 주기적으로 최신 버전을 업데이트 해야 합니다.



5. 공유 폴더 안전한 관리

사내 공유폴더 운영 시에는 해당 공유폴더를 숨김 공유 설정하고,

권한 정보를 획득한 사용자만 접근하게 설정 해야 합니다. 



이렇게 랜섬웨어의 개념, 동향 그리고 예방법에 대해 알아보았는데요.


랜섬웨어에 공격을 당한 피해자들이 실제로 해커들에게 돈을 지불하고 있다는 사실이 


알려지면서 사회적으로도 굉장히 심각한 문제로 대두되고 있습니다.


그러나 이러한 랜섬웨어에 감염된 이후 암호화 알고리즘을 크래킹 할 수 있는 기술이


아직 불가능하다는 것이 사실입니다.



따라서 랜섬웨어를 완벽히 타파할 수 있는 대응 방안이 없기 때문에


예방을 더욱 철저히 하는 것이 가장 큰 중점 사항이라고 볼 수 있겠는데요.


그 중에서도 가장 기본이 되는 자료 백업! 다들 잊지 마세요!