본문 바로가기

차이

HTML5, 기존 HTML과 무슨 차이일까? HTML에 갑자기 5가 붙으면서 뭔가 많이 바뀐 듯한 느낌을 준다. 무슨 차이일까? 태그, 속도? HTML5도 HTML을 근간으로 한다. HTML태그라는 것들을 모임이고, 일종의 스크립트 언어이다. 가장 중요하고 특징적인 발전은 Socket 일 것이다. Socket은 통신에서 사용된다. 네트워크에서 통신을 할 때 Socket을 만들고, 그 Socket을 통해서 데이터를 주고 받는다. 서버와 클라이언트간의 통신을 한다고 했을 때 서버와 클라이언이언트에 각각 Socket이 생성되고, 이 Socket은 통신을 하기 위한 주체가 된다. 이것이 HTML상에서 구현가능하도록 만들어진 것이다. 왜 획기적이고, 큰 변화일까? 그것은 HTML이 동작되는 원리에서 생각해볼 수 있다. HTML은 홈페이지, 웹사이트의 컨텐츠.. 더보기
SaaS vs PaaS vs IaaS SaaS는 Software as a Service이다. 기존 방식으로 보면 소프트웨어는 구매를 해서 설치하고 사용을 했다. 장점과 단점이 존재할 수 있다. 일시에 구매를 해야 한다는 점이 그리고 사용하지 않을 수도 있다는 점등에서 진입 장벽이 높았을 수도 있다. SaaS는 소프트웨어를 서비스방식으로 제공한다는 취지이다. 과거 마이크로 소프트 워드 제품을 구매해서 사용해야 했다면 구매 당시에 비싼 제품 비용을 내야 하는 단점과 생각했던 거보다 많이 사용하지 않을 수 있는 리스크가 있다. 이를 제공처에서 한번의 라이센스 구매가 아니라 사용시에 비용을 지불하는 식으로 제공하는 것이다. 그리고 설치방식이 아니라 스트리밍 방식으로 서비스 처럼 제공을 한다. 그리고 데이터도 서버에 저장할 수 있다. 물론 서버는 개.. 더보기
매번 헤깔리는 오버로딩, 오버라이딩 오버로딩과 오버라이딩은 기본적으로 객체 지향 개념 중 하나이다. 객체를 기반으로 개발을 한다고 할 때는 그 객체가 가지는 속성을 잘 활용을 해야 한다. 객체를 가지고 여러가지 관점으로 이용할 수 있어야 한다. 객체를 지정하고 한번만 사용하고 약간 내용이 바뀐 것을 다시 객체를 만들어서 해야 한다면 비효율적이다. 오버로딩과 오버라이딩은 재사용관점으로 이해해도 된다. 오버로딩은 함수를 호출 할 때 동일한 이름의 함수로 정의 하되 인자의 값을 형태나 개수를 달리하는 것이다. 그리고 호출 할 때 인자의 값이나 개수를 넣으면 알아서 해당 함수로 불리는 것이다. 편리성도 있고, 재사용성도 있다. 오버라이딩은 상속 개념을 이해해야 한다. 상속도 객체 지향의 중요한 개념 중 하나이다. 상속을 하여 재사용을 한다. 예를.. 더보기
분리 발주 분할 발주 차이가 모꼬? 분리 분할 발주는 프로젝트는 원청, 시행코자 하는 회사는 분리와 분할 발주의 차이는 두가지 모두 '을' 또는 '병정' 입장을 좀더 생각하는 것이 소프트웨어 업계는 오랜동안 병정 놀이를 해왔다. 지금도 그러고 있다. 분리 발주는 소프트웨어 분리를 발주는 하는 것이다. 하드웨어 납품업체, 또는 솔루션 납품업체가 원청에 독자적으로 납품을 하는 것이다. 이를 전체 통으로 한 SI업체에 주고 그 SI업체가 하드웨어 납품업체, 솔루션 납품업체 이런식으로 끼고 들어오는 것이 아니라 발주 자체를 별도로 분리하는 것이다. 이러므로써 대형 SI업체의 횡포를 막고, 중간에 챙겨가는 마진도 줄이는 효과들이 있다. 물론 전체를 책임질 수 있는 범위가 아니게 되면서 이슈나 문제 발생 가능성이 있지만, 사실 각각의 하드웨어나 솔루.. 더보기
XML 그리고 JSON XML은 시스템의 데이터 표현에서 가장 많이 사용하는 방식이다. 웹브라우저의 탄생이후 표준적으로 사용한 언어은 HTML이다. 프로그램언어라기 보다는 Markup Language 표현하는 언어이다. HTML은 로직도 없고, 글자를 또는 표를 그리기 위한 다양한 태그만이 존재한다. HTML은 한정된 태그를 가지고 있다. 물론 HTML로 대부분의 화면을 만들어낼 수 있지만, 확장성이 용이하지 않다는 단점이 있다. 확장성이라는 것은 새로운 태그를 만들어내는 기능을 통해서 무한한 확장이 가능하도록 하였다. 이 언어가 XML이다. X가 eXtensible 이다. 동일하게 Markup Language이고 확장 가능한 형태로 만든 것이다. 필요에 의해서 새로운 태그를 추가할 수가 있다. 그 추가된 태그를 정의하는 파일.. 더보기
파이썬이 나온지가 어언 20년? 파이썬이 나온지는 꽤 오래 되었다. 1991년에 귀도 반 로섬에 의해서 개발되어졌다고 한다. 그러면 20년도 넘게 흐른 것이다. 파이썬이 각광을 받은 것은 최근 10년일 것이다. 오래 되었지만, 어떤 언어들은 사라지거나 사용이 되지 않는 언어도 있는데 파이썬은 오히려 그 존재 가치가 더 인정받게 되었다. 파이썬이 개발이 굉장히 쉽다는 장점이 있다. 기존 C, Java등이 객체지향이고, 개발 로직이 복잡한 경우에 적합하고 개발이 어려웠다면 파이썬은 스크립트형 언어이다. 스크립트형 언어라고 하면 대표적으로 javascript가 있다. 스크립트형 언어와 대조되는 것이 컴파일형 언어이다. 컴파일형 언어는 미리 컴퓨터가 인지 할 수 있게 변환시키는 과정을 통해서 실행화일이라는 것이 만들어진다. 실행화일을 실행하면.. 더보기
C++은 C언어와 무슨 차이예요? C++은 C에 ++이 더해졌으니 뭔가 더 좋아졌다고 볼 수 있는데, 이 좋아졌다는 점이 객체 지향이라는 개념이다. 객체 지향 개념은 객체를 지향했다는 것인데, C언어의 경우는 순차적인 프로그램을 만들었다. C++의 경우에는 객체가 중심이 된다. 객체라는 개념부터 이해를 해야 할텐데, 객체는 우리 주변에 모든 것이라고 할 정도로 모든 것이 객체로 되어 있다. 사람도 객체이다. 강아지도 객체이다. 컴퓨터도 객체라고 할 수 있다. 그것이 살아 있든 죽어 있든 모든 것은 객체이다. 그럼 순차적인 것과 객체 지향의 차이는 이렇다. 예를 들어 순차적인 것은 강아지에게 밥을 준다. 강아지를 목욕 시킨다. 강아지와 산책을 한다. 이런식으로 일어나는 일들에 대해서 순차적으로 진행을 했다고 하면 객체 지향은 강아지가 중심.. 더보기
모바일앱 vs 모바일웹 vs 하이브리드앱 -안드로이드, 아이폰, 모바일웹, 모바일웹앱, 모바일앱 스마트폰 어플리케이션은 이제 실생활에 너무 많이 쓰여서 너무 익숙하다. 일상이 스마트폰으로 시장해서 스마트폰으로 끝난다고 볼 수도 있다. 아침 알람도 스마트폰이고, 신문도 스마트폰으로 보고, 대화도 스마트폰으로 하고 주식, 게임, SNS등 모든 것을 스마트폰으로 할 수 있다. 스마트폰의 활용이라든가 어떤 것인지에 대해서는 익숙하기에 가볍게 넘어가도 될거 같다. 스마트폰 앱에 대한 구분을 한번 다뤄보면 좋을거 같다. 모바일앱이 있고, 모바일웹이 있다. 하이브리드앱이라는 말도 존재한다. 모바일앱은 모바일에 설치를 하고 사용하는 앱이다. 앱이라는 말도 사실 어플리케이션의 준말이다. 윈도우도 설치해서 사용하는 PC어플리케이션이 있었다면 웹사이트를 접속하여 .. 더보기
프로그램, 프로세스, 프로세서 차이가 모야? '프로그램이 떠있다' 라는 표현을 씁니다. 누가 만든 말일까요? 프로그램이 어디에 떠 있는 걸까요? 물위도 아니고, 하늘도 아니고, 프로그램이 떠있냐는 질문을 하면 떠있다 안떠있다라고 말을 합니다. 그것은 화면을 보고 그 프로그램이 화면에 보이면 떠 있는 것이고, 안보이면 안떠있다고 말할 것입니다. 엄밀히 말하면 안보여도 떠 있다고 말할 수 있는 프로그램들도 있습니다. 백그라운드라는 속성의 프로그램들입니다. 아래 영상으로도 간단히 설명했습니다~ https://youtu.be/ZKM90aap5fo 윈도우의 서비스 프로그램들이 그렇고, 유닉스나 리눅스의 프로그램들이 있습니다. 실행은 되고 있는 것입니다. 눈에 보이는 것만 프로그램인 것은 아닙니다. 컴퓨터에 보면 파일이라는 것이 있다. 이 중 실행이 되는 파.. 더보기