반응형
SMALL

Tomcat만 주구장창 쓰다보니 Jeus는 잘 모름...

Jeus 를 쓰는 고객사를 방문해서 보다보니 구조가 달라 지원에 어려움을 느꼈다.

정확히 한번 정리할 필요성을 느껴 정리해보는 글...


 

Tomcat과 Jeus는 둘 다 웹 애플리케이션 서버(WAS, Web Application Server)이지만, 기능과 역할에서 차이가 있다.
Tomcat은 경량 WAS이고, Jeus는 엔터프라이즈급 WAS이다.

 

📌 1. 기본 개요

  Tomcat Jeus
제작사 Apache Software Foundation TmaxSoft
라이선스 오픈소스 (무료) 상용 소프트웨어 (유료)
주요 용도 가벼운 웹 애플리케이션 실행 (JSP, Servlet) 기업용 WAS, 대규모 시스템 운영
J2EE 지원 여부 부분 지원 (Servlet, JSP만 가능) 완전한 J2EE 지원 (EJB, JMS, JTA 등 포함)

 

 

📌 2. 기술적인 차이

  Tomcat Jeus
설치 경로 /opt/tomcat/ 또는 /home/tomcat/ /home/jeus/
웹 애플리케이션 배포 경로 /webapps/ /domains/{도메인}/applications/
배포 방식 WAR 파일 배포 또는 폴더 배치 WAR 또는 EAR 배포
서버 실행 ./startup.sh ./startServer.sh {도메인} {서버명}
서버 종료 ./shutdown.sh ./stopServer.sh {도메인} {서버명}
관리 콘솔 제공 X (별도 툴 필요) O (jeusadmin CLI, 웹 콘솔 지원)
클러스터링 지원 부분 지원 (추가 설정 필요) O (기본 기능 포함)
멀티 도메인 지원 X (Tomcat 인스턴스를 따로 띄워야 함) O (도메인 기반 다중 서버 운영 가능)
트랜잭션 처리 X (Servlet/JSP 수준) O (JTA, EJB 지원)

 

📌 3. 실행 구조 차이

✔ Tomcat 실행 구조

/home/tomcat/
 ├── bin/           # 실행 파일 (startup.sh, shutdown.sh)
 ├── conf/          # 설정 파일 (server.xml 등)
 ├── logs/          # 로그 파일
 ├── webapps/       # 배포된 웹 애플리케이션 (WAR, JSP, HTML 파일 위치)
 ├── work/          # 실행 중인 애플리케이션 캐시
 ├── temp/          # 임시 파일

 

📌 웹 애플리케이션 배포 방식

  • /webapps/ROOT/에 index.html, index.jsp 등을 배치하면 자동 실행됨
  • 브라우저에서 http://localhost:8080/로 접속 가능

Jeus  실행 구조

/home/jeus/
 ├── bin/            # 실행 파일 (startServer.sh, stopServer.sh 등)
 ├── config/         # 설정 파일
 ├── domains/        # 도메인별 설정 및 애플리케이션 배포
 │   ├── mydomain/
 │   │   ├── applications/  # 웹 애플리케이션 배포 폴더 (WAR, JSP, HTML 파일 위치)
 │   │   ├── servers/       # 실행 중인 서버 관리
 │   │   ├── config/        # 도메인별 설정 파일
 ├── lib/            # 라이브러리
 ├── logs/           # 로그 파일
 ├── deploy/         # 자동 배포 폴더 (WAR, EAR 파일 배치 가능)

 

📌 웹 애플리케이션 배포 방식

  • /domains/{도메인}/applications/ROOT/에 index.html, index.jsp 등을 배치
  • 브라우저에서 http://localhost:8080/로 접속 가능

📌 4. 주요 차이점 정리

  Tomcat  Jeus
속도 가볍고 빠름 상대적으로 무거움
운영 환경 소규모 프로젝트, 개발용 엔터프라이즈 환경, 대기업, 금융권
설치 및 관리 쉽고 간단함 복잡한 설정 필요
보안 기본적인 보안만 제공 기업용 보안 기능 포함
부하 분산 직접 구현 필요 기본적으로 로드 밸런싱 지원
J2EE 표준 지원 Servlet, JSP만 지원 EJB, JMS, JTA 등 전체 지원
가격 무료 유료 (라이선스 비용 필요)

 


📌 5. 언제 Tomcat을 쓰고, 언제 Jeus를 써야 할까?

✔ Tomcat이 적합한 경우
✅ 빠르게 웹 서비스를 개발하고 배포해야 할 때
✅ JSP, Servlet 정도만 사용하고, 트랜잭션, EJB 등의 기능이 필요 없을 때
✅ 비용 절감이 중요한 프로젝트 (오픈소스, 무료 사용 가능)
✅ 단일 서버에서 운영하는 소규모 웹 서비스

 

✔ Jeus가 적합한 경우
✅ 엔터프라이즈 환경에서 안정적으로 운영해야 할 때
✅ 대규모 트랜잭션 처리, 복잡한 비즈니스 로직이 필요한 경우
✅ 보안 및 고가용성이 중요한 금융, 공공기관, 대기업 환경
✅ 여러 대의 서버를 클러스터링해서 운영해야 할 때

 


✅ Tomcat에서 HTML/JS 파일 실행 방식

Tomcat에서는 webapps/ROOT/ 폴더에 HTML/JS 파일을 넣고, startup.sh를 실행하면 브라우저에서 확인할 수 있다.

cd /home/tomcat/bin ./startup.sh

 

📌 파일 저장 위치

/home/tomcat/webapps/ROOT/index.html /home/tomcat/webapps/ROOT/js/script.js

 

📌 브라우저에서 실행 확인

http://localhost:8080/index.html

 

 

✅ Jeus에서 HTML/JS 파일 실행 방식

Jeus에서는 Tomcat과 폴더 구조와 실행 방식이 다르다.
Jeus는 보통 WAR 파일을 배포하는 방식을 사용하지만, 정적 파일을 직접 배포할 수도 있다.

 

2️⃣ HTML/JS 파일 저장 위치

📌 Jeus에서 정적 파일을 직접 넣으려면 다음 경로를 사용해야 한다.
(Tomcat의 webapps/ROOT 역할)

/home/jeus/domains/mydomain/applications/ROOT/

 

📌 예제 파일 위치

/home/jeus/domains/mydomain/applications/ROOT/index.html
/home/jeus/domains/mydomain/applications/ROOT/js/script.js

 

📌 브라우저에서 실행 확인

http://localhost:8080/index.html

 

 

✅ Jeus 서버 실행 방법

Jeus는 Tomcat의 startup.sh처럼 startServer.sh를 사용한다.

1️⃣ Jeus 실행

cd /home/jeus/bin
./startServer.sh mydomain server1

 

🔹 mydomain → 실행할 도메인 이름
🔹 server1 → 실행할 서버 인스턴스

 

2️⃣ Jeus 중지

cd /home/jeus/bin 
./stopServer.sh mydomain server1
 

✅ 최종 정리

  Tomcat Jeus
정적 파일 위치 /webapps/ROOT/ /domains/mydomain/applications/ROOT/
서버 실행 ./startup.sh ./startServer.sh mydomain server1
서버 중지 ./shutdown.sh ./stopServer.sh mydomain server1
브라우저에서 확인 http://localhost:8080/index.html http://localhost:8080/index.html

 

반응형
LIST
반응형
SMALL

맵 차트(Map Chart)는 지리적 데이터를 시각화하는 데 유용한 차트로, 특정 위치에 따라 데이터를 표시할 수 있습니다. 일반적으로 국가, 도시, 행정구역 등 지리적 위치에 따라 데이터를 시각화할 때 많이 사용되며, 다양한 시각적 효과와 정보를 통해 이해도를 높일 수 있습니다.

1. 맵 차트의 기본 개념

맵 차트는 세계 지도 또는 특정 지역 지도를 배경으로 데이터를 표현하는 형태입니다. 이때 각 위치는 고유의 Geo 데이터(지리 정보 데이터)로 표현되며, 데이터는 위치를 기준으로 지도 위에 표시됩니다.

2. Geo 데이터의 주요 구성 요소

Geo 데이터는 주로 다음과 같은 구성 요소로 이루어집니다:

  • 위도(latitude)경도(longitude): 특정 위치의 좌표를 나타냅니다.
  • 지역 이름: 국가, 도시, 행정구역 등의 이름을 담고 있어, 데이터를 시각적으로 표시하는 데 도움이 됩니다.
  • 형상 정보: 폴리곤, 라인, 포인트 등 지형과 영역을 나타내는 벡터 형식 데이터로 제공되어 지도 위에 도형을 그릴 수 있습니다.

3. Geo 데이터 형식

Geo 데이터는 여러 형식으로 제공됩니다:

  • GeoJSON: 지도 데이터 표현에 널리 사용되는 JSON 형식으로, 점, 선, 면 등을 표현할 수 있습니다.
  • KML (Keyhole Markup Language): 구글 어스에서 사용하는 형식으로 XML 기반입니다.
  • Shapefile: ESRI에서 개발한 지리 정보 형식으로, GIS 프로그램에서 많이 사용됩니다.

4. 맵 차트 제작 과정

맵 차트를 만들 때는 일반적으로 다음 과정을 거칩니다:

  1. Geo 데이터 수집: 필요한 지도 데이터 또는 위치 데이터를 준비합니다.
  2. 데이터 전처리: Geo 데이터와 매핑할 실제 데이터를 준비하고, 이를 시각화할 수 있도록 가공합니다.
  3. 맵 차트 라이브러리 선택: 다양한 시각화 라이브러리를 사용해 차트를 그립니다. 예를 들어, D3.js, Leaflet, Google Maps API, Mapbox, Chart.js 등이 있습니다.
  4. 차트 생성 및 커스터마이징: 위치에 따라 데이터를 표시하고, 색상, 크기 등으로 데이터의 차이를 시각적으로 나타냅니다.

5. 맵 차트 구현 시 고려 사항

  • 좌표 체계: Geo 데이터의 좌표 체계가 맞지 않으면 올바르게 시각화되지 않습니다. 일반적으로 WGS84 좌표 체계를 많이 사용합니다.
  • 프로젝션: 지구를 평면으로 투영하는 방법으로, 대표적으로 Mercator, Albers, Equirectangular가 있습니다.
  • 성능 최적화: 데이터가 많을 경우 클러스터링, 간소화 등을 통해 지도 성능을 최적화해야 합니다.

- Geo Json

GeoJSON은 지리적 데이터를 표현하는 데 사용되는 JSON (JavaScript Object Notation) 기반 형식입니다. 위치 정보를 포함한 점(Point), 선(LineString), 다각형(Polygon) 같은 지형 데이터를 담을 수 있고, 지도와 관련된 시각화를 구현할 때 널리 사용됩니다. 특히 웹 애플리케이션에서 지도 데이터 시각화지리적 분석을 위해 많이 사용됩니다.

 

1. GeoJSON의 주요 요소

GeoJSON은 주로 다음과 같은 지리적 객체 타입으로 구성됩니다.

  • Point (점): 하나의 위치를 나타내며 위도와 경도로 표현됩니다.
{
  "type": "Point",
  "coordinates": [125.6, 10.1]
}
  • LineString (선): 두 개 이상의 점을 연결한 선입니다. 길이나 경로 같은 데이터를 나타내는 데 사용됩니다.
{
  "type": "LineString",
  "coordinates": [
    [100.0, 0.0],
    [101.0, 1.0]
  ]
}
  • Polygon (다각형): 여러 점을 연결하여 닫힌 영역을 나타냅니다. 나라나 도시의 경계선을 표현할 때 사용됩니다.
{
  "type": "Polygon",
  "coordinates": [
    [
      [100.0, 0.0],
      [101.0, 0.0],
      [101.0, 1.0],
      [100.0, 1.0],
      [100.0, 0.0]
    ]
  ]
}
  • MultiPoint, MultiLineString, MultiPolygon: 여러 개의 Point, LineString, Polygon을 하나로 묶어 나타냅니다. 예를 들어, 여러 개의 도시 위치나 다양한 경로를 표현할 수 있습니다.
  • GeometryCollection: 다양한 지리적 객체(Point, LineString 등)를 하나의 컬렉션으로 묶어 표현합니다.

2. GeoJSON의 구조

GeoJSON은 type과 coordinates라는 속성을 기본적으로 가집니다. type은 데이터 타입(Point, LineString 등)을 정의하고, coordinates는 해당 지리적 객체의 좌표 정보를 담습니다.

GeoJSON의 상위 구조는 일반적으로 다음과 같이 Feature 또는 FeatureCollection 형태로 되어 있습니다:

  • Feature: 속성과 지리 정보를 결합해 하나의 객체로 나타냅니다. 예를 들어, 도시의 위치(geometry)와 인구 정보(properties)를 함께 포함할 수 있습니다.
{
  "type": "Feature",
  "geometry": {
    "type": "Point",
    "coordinates": [125.6, 10.1]
  },
  "properties": {
    "name": "Dinagat Islands"
  }
}
  • FeatureCollection: 여러 개의 Feature를 담은 컬렉션으로, GeoJSON에서 가장 일반적인 형식입니다. 한 국가의 모든 도시 위치 같은 데이터를 모아서 표현할 수 있습니다.
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [125.6, 10.1]
      },
      "properties": {
        "name": "City A"
      }
    },
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [120.9, 14.1]
      },
      "properties": {
        "name": "City B"
      }
    }
  ]
}

3. GeoJSON의 활용 사례

  • 지도 시각화: GeoJSON을 사용해 지도를 구성하고, 웹 애플리케이션에서 지역 정보를 시각화할 수 있습니다.
  • 공간 분석: 특정 위치에서의 거리 계산, 다각형 안에 점이 포함되는지 여부 등을 분석할 수 있습니다.
  • 데이터 필터링: 특정 조건에 맞는 지리적 데이터만 표시하거나 강조할 수 있습니다.

GeoJSON은 간단하고 구조적이기 때문에 다양한 라이브러리나 도구에서 쉽게 활용할 수 있습니다. Leaflet, Mapbox, D3.js 등 지도 시각화 라이브러리와 호환되어 웹 기반 지도 애플리케이션을 쉽게 구현할 수 있습니다.

 

 

 


 

차트 생성 방법은

1. <div> 에 컨테이너를 두고 id값에 차트를 맵핑한다.

2. 차트의 Option을 설정한다.(제목, 스타일, 툴팁, 레이블 표시 등)

3. create 해서 생성한다.

4. 데이터를 불러온다.(데이터 Type 또는 구조에 따라 그려지는 것이 달라짐)

 


레이블 표시 예제와 다양한 모양의 Map 차트

 

 

https://demo.riamore.net/HTML5demo/map/Samples/LabelOpacity.html

라벨의 투명도를 설정할 수 있음.

글씨를 크게 해서 꽉차게 한 뒤 투명도를 주는거임

 

 

 

 

https://demo.riamore.net/HTML5demo/map/Samples/_World_USA_Callout.html

라벨 콜아웃

선으로 빼서 이름을 한쪽에 위치시킴

 

https://demo.riamore.net/HTML5demo/map/Samples/DataProperties.html

라벨 글씨가 한글로 꽉차게 그려지는 모양

 

 

 

 

 

반응형
LIST
반응형
SMALL

오늘 어떤 고객사에서 Window Vista를 쓴다는 말을 언뜻 들었다.

되게 옛날 것 같은데 그거 듣고 차장님이 그냥 ActiveX 쓰지?라고 하길래 궁금해서 윈도우 역사를 좀 살펴보기로 함.

(출처 : https://web.archive.org/web/20160527045809/https://windows.microsoft.com/ko-kr/windows/history#T1=era0)

 

Windows의 역사 - Microsoft Windows

Windows의 역사에 대해 알아보고 Windows 제품 개발 후 처음 25년 동안의 주요 하이라이트를 연대기순으로 살펴보세요.

web.archive.org


컴퓨터 이전의 시대

타자기

1970년대에는 업무를 수행할 때 타자기를 사용했다. 그리고 문서를 복사하려면 등사판(틀에 잉크 등을 발라서 찍어내는 형식, 프린터기의 조상)을 썼다.

이 불편한 업무 방식에 빌게이츠와 폴엘런은 그때 당시 있던 마이크로 컴퓨터가 미래를 위한 열쇠로 보고 마이크로소프트(microsoft)를 설립하고 개발을 시작했다. 목표는 모든 가정에서 컴퓨터를 사용하게 하는 것.

 

초창기 컴퓨터

메인프레임

메인프레임

대용량의 메모리와 고속도 처리속도를 가진 멀티유저용 컴퓨터.

초창기 컴퓨터는 중소기업에서는 비싸서 못쓰고 대기업 같은 곳에서 데이터 처리를 좀 더 효율적으로 하기 위한 도구로 사용되었다. 모양은 커다란 캐비닛형 프레임 안에 수많은 CPU 모듈과 마그네틱 메모리 코어를 짜넣고 전선으로 연결한 것으로, 오늘날의 본체처럼 생겼다.

 

마이크로컴퓨터(사진은 IBM PC)

마이크로 컴퓨터(IBM PC)

 

개인용컴퓨터 의미로 처음부터 쓰인건 아니지만 아무튼 대용량 말고 좀 더 작은 컴퓨터이다. 나중에는 마이크로 컴퓨터가 대중화되서 퍼스널 컴퓨터(1인용)이 1980년대를 주름잡는다.

이때부터 운영체제(OS)의 발전이 시작됨.

 

 

운영체제(OS)의 전쟁

이당시 OS는 컴퓨터에 붙여쓰는 옵션에 불과했다.

그때 당시의 대장은 CP/M이었고 마이크로소프트의 MS-DOS가 떠오르는 샛별이었는데...

 

CP/M(1974년)

CP/M

1974년 개발된 인텔 8080용 8비트 운영체제.

메인프레임 말고 마이크로 컴퓨터의 최초의 운영체제이며 당시 8비트 컴퓨터 시장을 완전히 점령한 운영체제이다. 이 후 16비트 컴퓨터 시장에서(특히 IBM PC 호환 기종) MS-DOS에 패배한 비운의 운영체제.


MS-DOS(1980년대)

MS-DOS

Microsoft의 운영체제 데뷔작이자 IBM PC에 들어간 운영체제(OS).

 

IBM PC

마이크로 컴퓨터(IBM PC)

 


1981년 출시된 마이크로 컴퓨터이자 IBM의 첫 개인용 컴퓨터. 최초의 16비트 PC이며, 역사적인 컴퓨터 모델이다.

이당시 OS는 컴퓨터를 살 때 선택하는 것으로 옵션에 불과했다. IBM PC가 나올 때 그당시 8비트 컴퓨터의 표준이었던 CP/M과 협상했으나 결렬되었고, 마이크로소프트의 눈치작전에 발빠른 MS-DOS가 IBM PC와 함께하게 되며 대성공을 이뤄냈다. ( 그래서 CP/M가 개같이 망함 )

 

 

Q. 근데 왜 IBM은 망했지?

이 당시 컴퓨터는 기업들마다 별도의 아키텍쳐가 있었기 때문에 서로 호환이 잘 안되었었다. IBM PC도 IBM에서 만든 업무용 컴퓨터 규격등 중 하나였다가 최초의 16비트 PC가 되어 선도하게 된 것.

문제는 IBM이 원래 메인프레임으로 먹고 살아서 중요성을 모른 것인지 다른 기업들에게 아키텍쳐를 공개했고, 대 히트를 친 16비트 컴퓨터 시장에 경쟁자들이 엄청 생기기 시작했다. 컴퓨터 제조사들은 IBM과 차별화 하기 위해서 추가 하드웨어를 사용했는데, 그러면서 제대로 자리를 잡은 CPU의 인텔, 운영체제의 마이크로소프트, 그리고 그것들을 호환 사용 가능한 컴퓨터를 만드는 다른 업체들에게 밀려 개같이 망했다.

"어느 회사에서 만든 PC"가 중요한 시대는 지나고, "어떤 OS, 어떤 CPU를 쓰느냐?"가 중요한 시대가 되어서 결과적으로 IBM은 마소와 인텔에게만 좋은 일을 시켜줬다.

표준이 되었으나 정작 밥그릇은 못챙긴 IBM….(그래도 아직까지 메인프레임 시장에서는 선두주자다.)

 

 

1990년 이후~2020년 이전 개인용 PC는 매킨토시를 제외하고 모두 IBM PC 호환기종이라고 봐도 무방하다. 즉, 통일된 이후 운영체제 빼고 컴퓨터 내부 구조와 구성품들이 거의 통일되었다고 보면 된다. 괜히 IBM PC 아키텍쳐가 표준으로 기억되는 것이 아님.

2000년대 초중반부터는 IBM PC 아키텍쳐의 기본구조가 PC를 넘어서 POS기나 ATM과 같은 임베디드 시스템에 쓰이기 시작했다. 다 똑같이 쓰는건 아니고 최적화를 거쳐서 쓰는거기 때문에 x86 아키텍쳐 안에 IBM PC 호환 기종이 들어가있다고 보면 된다.

 

마이크로소프트(Microsoft)의 Windows 역사

IBM 덕분에 OS의 승기를 잡은 마이크로소프트는 이내 여러 버전을 내기 시작한다.

 


Window 1.0(1985년)

Window 1.0(1985년)

마이크로소프트가 1985년 출시한 운영환경으로 Microsort Windows의 첫번째 버전.

운영체제라기 보다는 MS-DOS의 응용프로그램으로, Apple의 Mac OS와의 계약문제 때문에 휴지통 기능과 창을 겹치는게 안되서 타일처럼 배치한게 특징. 나중에는 소송은 무효화되었다고 함.

 

Window 2.0(1987년)

Window 2.0(1987년)

창 겹치기가 가능해진 Windows 2.0은 최초로 Microsoft Word와 Microsoft Excel의 사용이 가능해졌다는 것에 의의가 있다.

(당시 엑셀을 설치하면 Windows가 깔리고 그 위에 엑셀이 돌아갔다고 하니 사실상 끼워팔기이긴하다….)

제어판이 생겼다.

*** 애플은 매킨토시를 내놓으면서 창 겹침 같은 GUI 중에서 자기들이 직접 개발한 요소들을 특허로, 운영 체제에 쓰인 각종 아이콘들의 디자인들을 저작물로 등록했다. 그러다 Windows 2.0과 NewWave 소프트웨어에 이러한 요소가 들어간 GUI를 쓰면서 1988년, 애플이 마이크로소프트와 휴렛 팩커드에 저작권 침해 소송을 제기했으나, 패소했다.

 

Window 3.1(1992년) - 그래픽의 시대

Window 3.1(1992년)

본격적인 가상메모리의 사용으로 멀티태스킹 능력 강화, 그래픽 카드 성능 향상으로 화려한 화면을 제공한다. 쓰기 편하고 쉬운 GUI와 자체 API를 통해 윈도우 전용 프로그램을 제작할 수도 있었다. 업무용으로 제격임.

 

이 때부터 상대적으로 저렴한 가격과 확장성이 무기인 IBM PC 호환 기종들은 값이 비쌌던 매킨토시의 강력한 경쟁자로 급부상하기 시작했다. 

예전에는 비싼 대신 쓰기 편한 매킨토시 VS 값싸지만 쓰기 어려운 DOS 탑재 컴퓨터의 경쟁 구도로 매킨토시 측이 압도적으로 유리했으나 Windows 3.1의 등장 이후 비싼 대신 쓰기 편한 매킨토시 VS 값도 싸고 쓰기도 편리한 윈도우 탑재 컴퓨터가 됐고, 이렇게 가격 경쟁에 참패한 매킨토시는 점유율이 약 4%까지 내려가게 됐고 반대로 IBM PC 호환 기종은 점유율 90%대를 찍게 된다.

아직은 운영체제에 준하는 DOS 응용 프로그램이지만 이즈음부터 WIndows를 사실상의 운영체제로 취급하기 시작함.

 

Windows 95(1995년)

Windows 95(1995년)

본격적인 디지털 시대의 시작을 알린 운영체제. 그 전까지는 MS-DOS의 그래픽 셸 프로그램이었지만 Window 95부터는 운영체제가 되었다. 오늘날도 통용되는 windows의 UI를 정립했으며,(시작메뉴, 최소화/최대화, 작업표시줄, 바탕화면 등) 이 운영체제를 기점으로 일반 사용자도 컴퓨터라는 물건이 보편화되기 시작했다.

프로그램 개발 시 코드명은 시카고(chicago)이다.

팩스/모뎀, 메일, 새로운 온라인 세상, 눈부신 멀티미디어 게임과 교육용 소프트웨어의 시대. 인터넷 지원, 전화 접속 네트워킹 및 하드웨어 및 소프트웨어를 손쉽게 설치할 수 있도록 도와주는 새로운 플러그 앤 플레이 기능이 기본으로 제공되었다.

또한 32비트 운영 체제 시대의 서막이며, 생태계 교란종인 Internet Explorer를 탑재했다

IE는 그당시 World Wide Web 공간에서 이미 경합중이던 브라우저 대열에 합류한다.

그리고 짱먹는다.

 

Windows가 엄청 잘팔려서 대부분 Windows를 쓰는데 거의 웹 브라우저를 IE로 강제하는 수준이었다. 그당시 경쟁자였던 Apple도 기본 웹 브라우저로 넷스케이프 내비게이터를 내장하려고 하였으나, window 2.0 시절 진행했던 MS와 특허침해 소송을 합의하면서 5년간 IE를 기본 웹브라우저로 하기로 합의했다.

이과정에서 Windows의 경쟁자인 Apple까지 IE를 기본지원하게 되며, www의 터줏대감이었던 넷스케이프가 거의 처맞았다고 볼 수 있겠다.(결국 계약 후 WebKit 기반으로 Safari 웹 브라우저를 개발해서 대체했다. 드러워서 자기들이 개발한건가 싶음)

** 사실 IE도 마이크로소프트 자체개발은 아니고 모자이크라는 웹 브라우저를 사들여서 발전시킨 것. 이거 말고도 엑셀, 워드, 파워포인트 등도 오리지날을 사들여서 발전시킨 제품들이다.

 

 

WWW(World Wide Web)

WWW는 일반적으로 웹이라고 하며, 1991년 탄생되었다. 지구촌 네트워크인 인터넷 상에 분산되어 있는 온갖 정보를 통일된 방법으로 찾아볼 수 있게 하는 광역 정보서비스이다. 즉, 원래는 하드웨어나 OS에 따라 각기 다른 명령어로 정보를 찾는데, 웹에서는 어떤 종류의 컴퓨터를 사용해도 한가지 표준으로 조작할 수 있도록 통일했다. 인터넷 서핑은 웹 브라우저를 통해 네트워크로 전송된 HTML 문서를 읽는 행위를 뜻한다. 이 때 HTTP 라는 프로토콜(컴퓨터 간의 언어)을 통해 일반데이터, 이미지, 멀티미디어 등 모든 데이터를 통합적으로 전송할 수 있다.


넷스케이프

넷스케이프는 모자이크를 개발한 개발자들이 만든 웹브라우저 프로그램이다. World Wide Web의 태동기를 대표하는 웹 브라우저이며 현재는 파이어폭스로 승계되었다. 웹브라우저 프로그램은 인터넷 사용을 위한 종합세트 프로그램 같은건데, 이메일, 메신저, 웹에디터, 인터넷 전화 등을 지원했다.

 

문제는 Widows 98때부터 www에 합류한 IE가 넷스케이프를 그대로 카피했으며, 끼워팔기와 무료로 마구 뿌려대고(넷스케이프는 유료) 홍보를 하기 시작하면서 서서히 점유율이 떨어졌다. 

여기서 이 나쁜새끼 IE가 웹브라우저 시장을 장악하기 위해 자기들 전용 웹 규격을 만들었는데, IE 전용 웹 규격 코드들이 다른 웹 브라우저에서 오류가 발생하는 점을 이용했다. (HTML 뿐만 아니라 JAVA, Javascript, Css에도 시도함)

예를 들어, 마이크로소프트 전용 HTML 코드들을 넷스케이프에서 보면 오류가 나고 IE에서는 깔끔하게 나오니까 소비자로 하여금 IE가 호환성이 더 좋다고 편견을 만들게 하는 것…. 거기에 마이크로소프트가 다른 프로그램을 쉽게 설치 및 사용 할 수 있도록 도와주는 ActiveX를 출시하는데 이를 IE와 결합해서 웹 브라우저에서 실행할 수 있는 기술을 내며 넷스케이프는 시장 점유율을 잃었다. 1998년 오픈소스로 정책을 변경하여 다음 버전을 열심히 업그레이드했으나 그나마 쓸만한 넷스케이프 7이 나왔을 때에는 이미 IE가 웹브라우저 시장을 제패한 후였다.

 


ActiveX
하..웹 브라우저의 흥행과 IE의 생태계 교란을 도운 최고 공신. 마이크로소프트에서 만든 웹브라우저 플러그인.

WWW 서비스는 시간이 지나면서 단순한 텍스트 외에도 동영상, 음악감상, 은행 업무 등의 다양한 인터넷 이용 형태가 등장했다. 문제는 기존 웹 브라우저와 HTML 문서 자체만으로는 이런 기능을 원활히 이용할 수 없게 되었고, 때문에 웹 브라우저와 연동되는 외부 프로그램인 ‘플러그인’을 사용자 PC에 추가로 설치해 기능을 확장하는 방법이 등장했다. ActiveX는 특정 사이트 기능을 이용하기 위한 프로그램을 설치하는 플러그인의 일종으로, 설치만 하면 웹에서 뿐만 아니라 컴퓨터 내부의 응용 프로그램이 하는 일까지 할 수 있으므로 호환성이 높다.

ActiveX는 주로 IE 전용 플러그인인데, IE는 가장 널리쓰이는 운영체제인 Windows에 내장된 웹 브라우저이다. IE 사용자 PC에서 이를 실행하는 것만으로 웹 사이트의 기능이 연동되므로 호환성과 기능 확장성이 장점이다. 나중에는 보안 설정에 따라 사용자 간섭 없이도 ActiveX를 자동으로 내려받아 설치할 수 있게 되어 과거의 웹기술로는 불가능한 기능을 구현할 수 있게 되었다. 

아주 큰 단점은 IE에서만 사용될 수 있다는 점과 웹브라우저에서만 실행되는 프로그램인 자바스크립트, 어도비 플래시 등과 다르게 설치에 제한이 없으니 보안성이 떨어질 수 밖에 없다. (특히 우리나라는 ActiveX로 각종 보안 모듈을 구현했는데, 보안 때문에 ActiveX를 설치하면서 쉬운 설치를 위해 IE와 운영체제의 보안설정은 최소화하는 아이러니한 환경이 되어 뭔지도 모르고 설치하는 환경 속에서 보안문제가 심각했다.)

역사적으로는 2000년대 초반, 제한된 웹 개발 기술의 한계를 넘어설 수 있는 치트키였다. 당시의 자바 애플릿, 어도비 플래시, 자바 실버라이트와 같은 리치 인터넷 애플리케이션은 인터넷 서핑을 보다 편하게 돕기는 하나, 다운로드와 게임실행, 멀티미디어 재생 등을 웹 상에서 실행하게는 못했다. ActiveX는 웹 상에서만 동작하는 다른 플러그인과 다르게 Windows + IE + ActiveX 조합으로 브라우저와 OS까지 연결되어있으니 이것들을 가능하게 하였으며, 다양한 강력한 기능들이 생겨났다.(우리나라는 이러한 Windows + IE + ActiveX 조합을 빠르게 받아들였기 때문에 빠르게 인터넷 강국으로 떠오를 수 있게 되었고, 해외사이트는 무미건조하게 텍스트만 있는 반면, 우리나라는 플래시 같은 웹게임이나 짤방 문화가 탄생하게되는 계기가 되었다)

 

한편 거의 독점 느낌으로 지들이 다 해쳐먹으면서 웹표준에 대한 필요성이 대두되었고, 생태계의 다양성과 표준성을 침해한다는 지적이 생기기 시작했다. 오늘날 ActiveX는 현대의 웹 표준과도 동떨어진 기능이기 때문에 IE와 함께 퇴출운동에 시달렸고 IE를 대체하는 브라우저의 발전과 HTML 5 등의 다양한 웹기술의 발전으로 점점 사라지고 있는 추세이다. 하지만 아직 Edge 의 IE 모드 등에서 설치하여 사용 가능하므로 아주 귀찮기 이루말할수가 없다.

 

Windows 98(1998년)

Windows 98(1998년)

개발코드명 멤피스로 소비자용으로 설계된 윈도우의 첫번째 버전. 이당시 직장과 가정에 보편적으로 PC가 보급되어 업무와 여가 모두 적합할 수 있는 PC로 개발되었다. 인터넷을 통해 업그레이드를 배포한 첫 버전이다. 마지막 MS-DOS 기반 버전이며 플로피 디스크로 발매한 마지막 windows다. 이 때 내문서 아이콘이 처음으로 바탕화면에 제공되었다.

 

Windows XP(2001년)

Windows XP(2001년)

익숙한 파란하늘과 초원이 배경화면인 2001년도 개발된 OS이다. 개발코드네임은 휘슬러. 새로운 시작이라는 의미로, 기존의 칙칙한 고전 테마에서 벗어난 컬러풀한 테마. 역대 NT 계열의 Windows 중 레거시 프로그램 호환성이 가장 막강한 버전이다.

초기에는 이전 버전의 마이그레이션 문제로 말이 많았으나 호환성 모드가 있었다. 서비스팩을 통해 사양이 많이 올라갔다.

 

Windows Vista(2006년)

Windows Vista(2006년)

2006년 출시된 운영체제로 6을 뜻하는 vi에서 파생되었다. 64비트. 이 다음이 Window7인데, Window XP와 Windows 7의 중간인 마이너 업그레이드 버전으로 2003년 발표될 예정이었다. 문제는 2003년경 인터넷을 달궜던 악성코드인 블래스터 웜에 Windows XP가 무차별적으로 공격받으면서 XP의 서비스팩2 개발에 힘을 쏟겠다고 발표하며 개발이 중단되었고, 등장했을 때는 보안에 힘을 빡주며 무겁게 등장했기 때문에 외면받게 되었다. (거기다 호환성을 잃었다)

그 뒤 비스타 SP2가 나오며 많이 개선되었으나 SP2 나온지 5개월 후에 window7이 나오는 바람에 거의 등한시되게 되었다. 그래도 망한 애들(Vista, Me, 8) 중에 제일 선녀로 평가받는중. 게임의 최소사양으로 많이 등장하는데 무거워서 그렇다.

 

 

Vista의 실패로 XP로 다운그레이드까지 하는 사람들이 늘어나서 window7은 호환성을 올렸다.

 

Windows 7(2009년)

Windows 7(2009년)

2009년 발매되었으며, 실패한 Vista를 기반으로 제작되었다. (아주 이를 갈고 테스트를 해서 내놨다고 함)

데스크톱보다 노트북 판매량이 늘어난 시대. 공공 핫스팟과 개인 네트워크 접속이 일반화 되기 시작했다. SSD와 터치스크린을 지원하기 시작했고, XP로 다운그레이드한 사람들을 위해 호환되지 않는 응용프로그램을 쓸 수 있는 XP 모드를 넣었다. IE 8을 기본으로 탑재하여 인터넷 호환성과 특유의 안정성과 속도를 가지고 있다.

사~실 Window Vista + sp2 조합이랑 거의 차이는 없지만 어쨌든 보안 정책이 일상생활에서 원활한 사용이 될 수 있게 경고가 완화되었다. SSD 공식 지원으로 성능문제로 욕먹지 않게 되었음.

 

Windows 8(2013년)

Windows 8(2013년)

갑자기 무슨 바람이 들었는지 네모네모한 UI로 바뀌고 시작버튼이 없어짐. (결국 10에서 돌아왔다)

최초의 태블릿 PC 정식 지원. 

8.1은 생략


Windows 10(2015년)

Windows 10(2015년)

2015년 출시. 업그레이드를 고객에게 무료로 제공함. 다양한 제품군이 하나의 통합된 플랫폼을 사용하고, 하나의 스토어를 사용해서 PC에서 사용하던 앱을 핸드폰이나 대화면에서도 사용이 가능하다.

반응형
LIST
반응형
SMALL

MimeType(Multipurpose Internet Mail Extensions)

클라이언트에게 전송된 문서의 종류를 알린다. 파일 변환을 위한 포맷

개념

파일에는 여러가지 타입이 있다.
Text부터 Image, Vidio, Audio 등 웹 상에는 수 많은 문서와 파일이 돌아다닌다.

MIME 타입은 이메일이 등장한 이후, 이메일에 파일을 첨부하여 보내기 위해 등장했다.
첨부된 파일을 텍스트 문자 형태로 변환해서 이메일과 함께 전송하기 위한 포맷이다.

따라서 텍스트 문자 형태로 변환하기 위해 각각의 타입을 표준화하여 관리한다. 현재는 IANA(Internet Assigned Numbers Authority)라는 인터넷 할당 번호 관리기관에서 다양한 파일 타입을 표준화하여 관리하고 있다.

MIME 타입은 매우 많은 종류를 표준화하고 있으며, 새로운 타입의 파일이 생길 때마다 계속해서 추가되고 있다.
MIME으로 인코딩 한 파일은 Content-type 정보를 파일의 앞부분에 담게 되며, Content-type은 여러가지의 타입이 있는데, 특정 Content-type은 웹서버로부터 전달받아 웹브라우저에서 열어볼 수 있다.

웹브라우저에서 서버에 html문서를 요청하면서 html문서에 있는 이미지파일의 경로를 불러올 수 오는데, 이때 이미지 경로의 파일이 웹브라우저에서 지원되는 MIME-type 이라면 열어볼 수 있는 것이다.

- 텍스트가 아닌 정보 포함 가능: 그림, 음악, 비디오 등의 파일
- 임의의 바이너리 파일 포함 가능: 실행파일, autoCAD파일, PDF 파일 등.. 
- ASCII가 아닌 다른 문자셋을 사용하는 텍스트 메시지 포함 가능

주로 사용되는 .gjf , .jsp, .mov 등의 파일도 웹브라우저에서 열 수가 있는데, 브라우저에서 지원하지 않은 유형은 별도 지정해주어야 한다.

원리

이미지, 사진, 동영상 등의 파일은 바이너리 데이터이다.
바이너리(Binary) 란, 2진법, 즉 0과 1로만 수를 표현하는 진법이다. 컴퓨터는 0과 1로 이루어져 있다.
즉, 바이너리는 컴퓨터가 직접 해석할 수 있는 자료이며, 사람이 이해하는 Text를 제외한 모든것을 Binary로 분류할 수 있다.
당연히 이미지, 사진, 동영상 등은 오직 바이너리 데이터로, 2진법으로 이루어져 있어 컴퓨터가 읽어들일 수 있다.

문제는 메일 메시지는 기본적으로 ASCII 코드 기반의 텍스트만을 전송한다.
하지만 7비트 형식의 ASCII 코드가 지원하지 않는 각국의 언어와 이진 데이터 형식의 실행 파일, 영상, 음성 데이터를 전송하려면 기능을 확장이 반드시 필요하다.

이런 기능을 포함한 것이 MIME 으로 Multipurpose Internet Mail Extension의 약자이다.

MIME는 멀티미디어 데이터를 수용하기 위한 기능을 확장한 메시지이다.
메일 송신 전에 비-ASCII 데이터를 ASCII 데이터로 변환하고 메일을 수신받기 전에 ASCII 데이터를 비-ASCII 데이터로 변환하는 과정을 수행한다.

 

업무 관련 메모

만약 제품 사용 시 콘솔 에러에서 cfg 및 메시지 파일과 관련한 오류가 뜨는 경우, 또는 해당 파일을 찾을 수 없다고 하는 경우에는 mime에 등록된 확장자가 아니기 때문에 그렇다.(확장자가 없거나 .cfg 와 같은 파일들) 기존에 존재했던 확장자가 아니라 우리가 만든거라 그런 것.

이 경우엔 javascript 변수에 해당 파일의 내용을 담아 그 변수를 불러오는 식으로 대처해야 한다.

반응형
LIST
반응형
SMALL

+ Recent posts

반응형
LIST