shopkeeper/korean_wiki_content_only_120125 huggingface dataset:
자이언 캐년 도로와 자이언-마운트 카멜 고속도로는 협곡을 가로지르는 두 개의 주요 도로이다. 자이언 캐년 도로는 시나와바 사원에서 끝나며, 이곳에서 리버사이드 워크 트레일은 강을 따라 상류로 이어져 자이언 내로우의 하류 끝에 도달한다. 더 상류의 하이킹 트레일은 내로우로 내려가며, 이곳의 협곡 바닥은 평균 너비이다. 수위가 충분히 낮을 때 내로우에서의 하이킹이 허용되지만, 폭우 후 돌발홍수가 빠르게 발생할 수 있다. 자이언 협곡 배수 지역의 많은 곳은 흙 덮개가 거의 없거나 전혀 없어, 매우 짧지만 강한 폭풍우 유출을 야기한다. 반면에 주요 자이언 협곡의 대부분 바닥은 거의 너비이며, 강이 퇴적한 퇴적물로 풍부하다. 협곡 내 강의 지류로는 딥, 콜로브, 구스, 파인, 오크 크릭 등이 있다.
지질 및 역사.
지질학적으로 자이언 협곡은 나바호 사암 콜로라도고원의 일부로, 처음 융기했을 때 많은 균열과 틈이 있었으며, 그중 하나가 노스포크 버진강에 의해 잘려 자이언 협곡이 되었다. 강은 협곡을 침식하는 가장 큰 힘이었는데, 주로 돌발홍수에 의해 이루어졌고, 강물의 평균 유량은 매우 적다. 이러한 상대적으로 빠른 침식은 많은 계절 지류에 매달린 계곡을 남겼다. 일부 가장 큰 지류는 계곡 바닥과 거의 동일한 고도까지 침식되었다.
침식은 계속해서 협곡 벽을 깎아내어 자연 아치와 기타 암석 지형을 만들어낸다. 버진강이 아직 침식할 수 있는 수직 기반암이 더 남아있다고 여겨진다. 협곡 벽의 균열에 얼음이 끼어드는 현상으로 자주 발생하는 중력 사면 이동은 계곡을 넓히는 또 다른 힘이다. 나바호 사암층은 쉽게 침식되며 매우 다공성인 것으로 알려져 있다. 협곡 전체에 걸쳐 불안정한 지질이 만연하며, 가끔씩 발생하는 산사태는 협곡에 임시 호수를 형성했는데, 가장 최근의 호수는 약 4,000년 전이었다. 협곡의 깊이가 극심하기 때문에 주변 지하수의 공급을 받는 많은 샘이 있어 협곡의 물이 연중 내내 흐를 수 있다.
몰몬교도들은 1850년대 후반 버진강 하류 지역에서 이주했다. 몰몬교 정착민 중 한 명인 아이작 베허닌이 협곡에 이름을 붙인 것으로 알려져 있다. 협곡을 감상하던 베허닌은 "사람은 인공적인 교회에서만큼이나 이 위대한 대성당들 사이에서도 하나님을 숭배할 수 있습니다. 이곳은 시온입니다"라고 말했다고 전해지지만, 또 다른 표현도 보고되었다. 시온이라는 용어는 성경 전반에 걸쳐 자주 발견되며, 문자적 장소와 비유적 장소 모두를 지칭할 수 있다. 많은 기독교인들에게 시온은 하나님께서 평화, 안전, 안식을 위해 정하신 장소를 의미한다.
탐험가 존 웨슬리 파월은 협곡의 원주민 이름이라고 알려진 무쿤투윕이라는 이름을 붙인 것으로 알려져 있다. 1909년에 협곡은 처음으로 국립기념물로 지정되었고, 1919년에는 국립공원으로 선포되었다. 파인 크릭 협곡과 하류 자이언 협곡을 가로지르는 자이언-마운트 카멜 고속도로는 1930년에 처음 개통되었다.
와이메아 캐니언은 태평양의 그랜드 캐니언으로도 알려져 있으며, 미국 하와이 제도의 카우아이 서쪽에 위치한 큰 협곡으로, 길이는 약 , 깊이는 최대 에 달한다. 와이메아는 하와이어로 "붉은 물"을 의미하며, 협곡의 붉은 흙의 침식을 나타낸다. 이 협곡은 지구상에서 가장 습한 곳 중 하나인 섬의 중앙 봉우리인 와이알레알레산의 극심한 강우량으로 인해 형성된 와이메아강의 깊은 침식으로 만들어졌다.
이 협곡은 솔레아이트와 후기 순상 칼크-알칼리성 용암으로 이루어진 협곡 현무암에 새겨져 있다. 협곡의 용암은 섬의 초기 역사에서 발생한 대규모 단층 형성 및 붕괴의 증거를 제공한다. 협곡의 서쪽은 모두 얇고 서쪽으로 경사진 나팔리층의 용암으로 이루어져 있다. 이와 대조적으로 동쪽은 매우 두껍고 평평한 올로켈레층과 마카웰리층의 용암으로 이루어져 있다. 이 두 부분은 섬의 상당 부분이 큰 붕괴로 인해 아래로 이동한 거대한 단층에 의해 분리되어 있다.
이 협곡은 꾸준한 침식 과정뿐만 아니라 카우아이를 형성한 화산의 격변적인 붕괴로 인해 형성되었기 때문에 독특한 지질학적 역사를 가지고 있다.
다른 하와이 섬들과 마찬가지로 카우아이도 해저에서 솟아오른 거대한 화산의 정상이다. 약 5백만 년 전으로 거슬러 올라가는 용암 흐름을 가진 카우아이는 대형 하와이 섬 중 가장 오래된 섬이다. 약 4백만 년 전, 카우아이가 거의 지속적으로 분출하는 동안 섬의 일부가 붕괴되었다. 이 붕괴로 인해 함몰부가 형성되었고, 그 후 용암 흐름으로 채워졌다.
그 이후로 와이알레알레산 경사면의 빗물이 붕괴된 가장자리를 따라 와이메아 협곡을 침식시켰다. 협곡의 동쪽에는 함몰부에 고인 두꺼운 용암 흐름으로 이루어진 절벽이 있다. 시간이 지남에 따라 노출된 현무암은 원래의 검은색에서 밝은 빨간색으로 풍화되었다.
와이메아 캐니언 주립공원은 에 걸쳐 있으며 섬의 인기 있는 관광 명소이다. 이곳은 수많은 하이킹 코스가 있는 야생 지역을 제공한다. 이 공원은 18마일 길이의 하와이 주도 550번 도로를 통해 와이메아에서 접근할 수 있으며, 이 도로는 코케에 주립공원까지 이어진다. 그 지점에서 카우아이 서쪽으로 짧은 거리에 있는 니하우 섬은 고속도로에서 선명하게 보인다.
IBM 웹스피어 애플리케이션 서버(IBM WebSphere Application Server, WAS)는 웹 애플리케이션 서버의 역할을 수행하는 소프트웨어 제품이다. 더 구체적으로 말해, 자바 기반의 웹 애플리케이션을 호스팅하는 소프트웨어 프레임워크이자 미들웨어이다. 이는 IBM의 웹스피어 소프트웨어 제품군 내의 주력 제품이다. 이 제품은 도널드 F. 퍼거슨에 의해 처음 만들어졌으며, 그는 후에 델의 소프트웨어 최고기술책임자(CTO)가 되었다. 첫 번째 버전은 1998년에 출시되었다. 이 프로젝트는 도미노 고 웹 서버로 시작한 IBM HTTP 서버 팀의 파생 프로젝트였다.
IBM 웹스피어 애플리케이션 서버(WAS)는 자바 EE, XML, 웹 서비스와 같은 개방형 표준을 사용하여 구축되었다. 이는 윈도우, AIX, 리눅스, 솔라리스, IBM i 및 z/OS 플랫폼에서 실행된다. 버전 6.1부터 현재 버전 9.0에 이르기까지 개방형 표준 사양은 모든 플랫폼에서 정렬되고 공통적으로 사용된다. 플랫폼 활용은 개방형 표준 사양 이하에서 이루어진다.
이는 아파치 HTTP 서버, 넷스케이프 엔터프라이즈 서버, 마이크로소프트 인터넷 정보 서비스(IIS), i5/OS용 IBM HTTP 서버, z/OS용 IBM HTTP 서버, AIX/리눅스/마이크로소프트 윈도우/솔라리스용 IBM HTTP 서버를 포함한 여러 웹 서버와 함께 작동한다. 기본 관리 포트로 9060번 포트를, 기본 웹사이트 게시 포트로 9080번 포트를 사용한다.
"전통적인"(리버티 변형과 대비되는) IBM 웹스피어 애플리케이션 서버 플랫폼은 여러 운영 체제 인스턴스에 설치될 수 있는 분산 컴퓨팅 플랫폼으로 설계되었으며, 이를 총칭하여 웹스피어 셀이라고 한다. 모든 인스턴스 관리는 셀 내의 관리 노드인 배치 관리자를 통해 수행할 수 있으며, 애플리케이션 배포(롤링 업데이트 기능 포함)는 셀 노드의 하위 집합으로 푸시될 수 있다. 전체 셀의 구성 정보(노드 수, 각 노드에 배포된 애플리케이션, 애플리케이션 구성 방법, 세션 관리 및 기타 리소스 세부 정보 등)는 셀 전체의 모든 노드에 분산된 XML 구성 파일에 추적된다. 제품 수명 기간 동안 이러한 구성 세부 정보의 구현은 파일에서 데이터베이스 기반(약 V3.5)으로, 다시 파일(약 V5)로 변경되었다.
분산 설치를 고려하고, 전체 셀 관리에 로컬 효과(예: 배포, 로깅 구성 등) 관리가 필요하다는 점을 고려할 때, 전반적인 효과는 WAS 보안이 제대로 구성되지 않으면 로컬 보안을 종종 무시할 수 있다는 것이었다. 예를 들어, 초기 관리 콘솔 버전에서는 원격 노드에 로그 파일의 위치를 지정하는 옵션이 있었다. 이는 해당 원격 노드의 임의 파일에 읽기/쓰기를 하는 데 사용될 수 있었다. 이러한 이유로, 애플리케이션 서버/노드 에이전트 프로세스를 루트 권한으로 실행하는 것은 권장되지 않았으며, V6부터 보안 구성은 기본적으로 보안 상태로 설정되었다(이것이 원하는 기능을 활성화하기 위해 기본값을 수동으로 변경해야 함을 의미하더라도). 원래 셀의 모든 노드는 관리 및 애플리케이션 보안을 위해 단일 도메인에 있었다. 그러나 V6.1부터는 여러 보안 도메인이 있을 수 있으며 관리 및 애플리케이션 보안은 분리될 수 있다.
많은 IBM 제품(예: IBM InfoSphere DataStage)은 IBM 웹스피어 애플리케이션 서버를 인프라의 기본 플랫폼으로 사용한다.
IBM은 IBM 웹스피어 애플리케이션 서버의 여러 버전과 에디션을 출시했다.
첫 번째 베타 버전에서 WebSphere는 Servlet Express라고 불렸다.
일반적으로 소프트웨어 산업에서 x.1 및 x.5 버전 체계가 마이너 릴리스를 나타내는 경향이 있지만, WebSphere v6.1 및 v5.1은 WebSphere v8.5 및 v3.5와 마찬가지로 주요 릴리스이다.
웹스피어 리버티 버전.
WebSphere Liberty는 WebSphere Application Server V8.5에 도입되었으며, 원래 WebSphere Liberty Profile이라고 불렸고, 나머지 WAS와 동일한 버전 번호 체계를 사용했다. 2016년 IBM은 단일 지원 스트림에서 Liberty의 지속적인 제공으로의 전환을 반영하기 위해 Liberty에 대한 새로운 픽스 팩 번호 체계를 도입했다. V8.5.5.9 이후 Liberty 번호 체계는 Liberty 픽스 팩 릴리스의 연도와 분기를 반영하여 16.0.0.2부터 재설정되었다. WebSphere Liberty의 공통 레벨은 WebSphere Application Server 버전 8.5와 버전 9.0의 일부로 배포된다. Liberty 지속적 제공 모델은 새로운 기능과 특징을 더 자주 제공할 수 있도록 도입되었다.
버전 9.0.
WebSphere Application Server V9.0은 자바 EE 7과 자바 SE 8을 추가한다. 이를 통해 WAS Application Server 전통 버전은 2015년부터 WebSphere Liberty가 제공했던 자바 EE와 동일한 수준으로 향상되었다. 이는 WAS가 온프레미스 제공과 IBM 클라우드의 서비스로서의 웹스피어를 통해 동시에 제공된 첫 번째 릴리스였다.
WebSphere Liberty는 새로운 클라우드 네이티브 애플리케이션의 초점으로 점점 더 중요해지고 있으며, Liberty 16.0.0.2는 WAS 버전 9.0.0.0에 포함된 Liberty 버전이다. Liberty 16.0.0.3은 표준 자바 EE 기술을 사용하여 클라우드 네이티브 애플리케이션 개발을 단순화하는 새로운 MicroProfile 프로그래밍 모델에 대한 지원을 추가한다. WebSphere Liberty에 대한 유연한 접근은 도커 이미지 및 Cloud Foundry 빌드팩과 같은 추가 배포를 통해 제공된다. 2017년 9월 IBM은 Liberty의 지속적인 개발을 Open Liberty라는 새로운 오픈 소스 프로젝트로 이전했다. Open Liberty는 WebSphere Application Server의 Liberty 런타임의 소스이다. Open Liberty의 배포는 OpenLiberty.io 커뮤니티에서 지원한다. IBM은 WebSphere Application Server를 통해 Liberty에 대한 상업적 지원을 제공한다.
버전 8.5.5.
IBM 웹스피어 애플리케이션 서버 V8.5.5에는 자바 SE 8, V8.5.5.6부터 완전한 자바 EE 7 준수, 웹스피어의 지능형 관리 기능 등 Liberty 프로파일에 대한 중요한 개선 사항이 포함되어 있다. WebSphere Liberty의 자바 EE 지원은 기능 세트 구성을 통해 활성화되며, WAS의 각 에디션에서 다른 라이브러리 기능 세트를 사용할 수 있다. WAS Liberty Core 에디션에는 자바 EE WebProfile에 필요한 Liberty 기능이 포함되어 있으며, WAS의 다른 모든 에디션은 전체 자바 EE 7에 대한 Liberty 기능을 추가한다. WAS Network Deployment 에디션은 지능형 관리를 위한 Liberty 기능을 추가한다. 이 외에도 WAS z/OS 에디션은 z/OS 플랫폼 기능을 활성화하기 위한 Liberty 기능을 추가한다.
버전 8.5.0.
IBM 웹스피어 애플리케이션 서버 V8.5는 V8.0과 동일한 자바 EE 6 및 자바 SE 6 (기본값)을 제공하며, 또한 자바 SE 7에서 실행되도록 구성할 수 있다. V8.5의 주요 새로운 기능은 WebSphere Application Server의 Liberty 프로파일과 지능형 관리 기능이다.
IBM 웹스피어 애플리케이션 서버의 Liberty 프로파일은 서버의 모든 상업용 에디션에 포함되어 있으며, 웹, 모바일 및 OSGi 애플리케이션을 위한 경량 서버 프로파일을 제공한다. 이 릴리스에서 Liberty 프로파일은 개발 및 프로덕션 사용을 위한 웹스피어 애플리케이션 서버의 전체 프로파일의 기능적 하위 집합으로, 설치 크기가 50MB 미만이고, 시작 시간이 약 3초이며, 개발자 생산성을 높이는 데 도움이 되는 개발 아티팩트로 취급될 수 있는 새로운 XML 기반 서버 구성을 제공한다. 서버 기능은 서버 구성에 정의된 기능 세트를 통해 작동하며, 기능은 OSGi 서비스의 내부 사용을 통해 동적으로 추가 및 제거된다. 애플리케이션을 개발부터 프로덕션까지 파이프라인을 통해 패키지된 서버로 이동시키는 새로운 모델이 제공되며, 이는 압축 해제 배포를 위한 서버, 서버 구성 및 애플리케이션의 완전한 아카이브이다. 중앙 관리 설치는 WebSphere Application Server Network Deployment 에디션의 작업 관리자 구성 요소를 통해 선택적으로 사용할 수 있다.
지능형 관리 기능은 WebSphere Application Server의 Network Deployment 및 z/OS 에디션에 추가되었다. 이는 이전에 별도의 WebSphere Virtual Enterprise (WVE) 제품에서 제공되었던 운영 기능, 즉 애플리케이션 에디션, 서버 상태 관리, 동적 클러스터링 및 지능형 라우팅을 통합한다.
Compute Grid 또한 WebSphere Application Server의 Network Deployment 및 z/OS 에디션에 포함되어 있다. 이전에는 Java 배치 워크로드의 스케줄링 및 관리를 위한 별도 유료 WebSphere XD Compute Grid 기능이었다.
버전 7.0.
이 버전은 2008년 9월 9일에 출시되었다. 자바 EE 5를 준수하는 애플리케이션 서버이다.
IBM 웹스피어 애플리케이션 서버 버전 7에서 도입된 주요 기능은 다음과 같다:
WebSphere Application Server V7의 일반 출시와 WebSphere Application Server V8 (2011년) 사이에는 V7 설치에 선택적으로 추가되는 기능 팩 형태로 여러 추가 기능이 제공되었다. 기능 팩 콘텐츠는 주 릴리스 콘텐츠와 동일한 품질과 지원을 제공하며, 기능 팩의 목적은 다음 주요 릴리스 이전에 새로운 혁신을 제공하는 것이다. WebSphere Application Server V7에 제공된 기능 팩은 다음과 같다:
버전 6.1.
이 버전은 2006년 6월 30일에 출시되었다. 2012년 9월 11일, IBM은 V6.1의 서비스 종료일을 1년 연장하여 2013년 9월 30일로 정하고, 새로운 버전 간 마이그레이션 인센티브와 지원을 발표했다. 이는 자바 EE 1.4를 준수하는 애플리케이션 서버이며 다음 기능을 포함한다:
EJB 3.0 기술 지원과 일부 웹 서비스 표준 지원은 각각 EJB 기능 팩과 웹 서비스 기능 팩을 통해 제공되었다. 이 기능 팩의 기능은 버전 7의 주 제품에 통합되었다. 웹 서비스 기능 팩의 기능은 다음과 같다.
버전 6.0.
버전 6에서는 이전에 WebSphere Business Integration Server Foundation(WBISF)에 있던 일부 기능이 새로운 IBM WebSphere Process Server로 이동했다. 다른 기능은 다른 에디션(Express 이상)으로 이동했다.
버전 5.1.
이 버전은 2004년 1월 16일에 출시되었다. J2EE 1.4를 준수하는 애플리케이션 서버이다.
버전 5.0.
2002년 11월 19일 출시된 버전. J2EE 1.3 인증 애플리케이션 서버였다. V3/V4 코드베이스를 대폭 재작성한 것으로, WebSphere Application Server가 공통 코드베이스에서 코딩된 첫 번째 사례였다. 이제 인텔 x86부터 메인프레임에 이르는 모든 배포 플랫폼에서 WAS는 실질적으로 동일한 코드이다. 데이터베이스 기반 구성 저장소는 복제 XML 파일 기반 구성 저장소로 대체되었다. Deployment Manager라는 서비스는 셀 구성의 마스터 복사본을 가지고 있었고, 노드는 변경될 때마다 이 마스터 서버에서 필요한 파일을 복사해왔다. V5에는 임베디드 자바 메시지 서비스(JMS) 서버라고 불리는 MQ 5.3의 축소 버전도 포함되었다.
이것은 J2EE 1.2 인증 애플리케이션 서버였다. XML 데이터스토어를 이미 사용하던 단일 서버 에디션을 제외하고는 V3.x의 데이터베이스 기반 구성 모델을 상속받았다.
버전 3.5 (및 3.0).
WebSphere 3.5는 WebSphere의 첫 번째 광범위하게 사용된 버전이다.
아래는 IBM AIX RS6000 시스템 터미널에서 WAS v3.5가 시작되는 모습이다.
그림에 나타난 것처럼, 프로세스의 루트는 주 WAS 부트스트랩 프로세스이다:
자바 JVM 머신 자체는 먼저 시작된 다음, 그 아래에 여러 개의 JVM 프로세스가 생성되며, 각 프로세스는 자체 클래스 로더를 가진 엔터프라이즈 애플리케이션을 나타낸다.
클래스가 여러 JVM에서 로드되므로 WAS는 로드된 클래스의 가시성을 관리하기 위한 구성 플래그를 제공한다. 또한 관리자 또는 프로그래머는 클래스의 가시성을 관리하기 위해 계층 구조(.ear 또는 .war의 위치 및 MANIFEST에 들어가는 내용)를 알아야 한다.
다음 그림은 동심원 형태의 클래스 로딩 계층을 보여준다. 클래스의 가시성은 중요하다. 그렇지 않으면 충돌하는 클래스가 애플리케이션 서버 런타임 중에 타입 캐스팅 오류를 발생시킬 수 있다.
IBM은 자바빈, CORBA 및 리눅스 지원을 추가한다. Standard Edition (SE) 및 Advanced Edition (AE) 두 가지 에디션으로 제공된다.
1998년 6월에 초기 출시되었다. 주로 자바 서블릿 엔진이었다.
IBM 웹스피어 애플리케이션 서버 보안 모델은 운영 체제에서 제공되는 서비스와 자바 EE 보안 모델을 기반으로 한다. IBM 웹스피어 애플리케이션 서버는 다양한 사용자 레지스트리에 대한 지원을 제공하는 사용자 인증 및 권한 부여 메커니즘을 구현한다:
IBM 웹스피어가 지원하는 인증 메커니즘은 다음과 같다:
기타 자바 EE 애플리케이션 서버:
리상푸(; 1958년 2월 출생)는 중국의 항공우주공학자이자 전직 군 행정가이다. 그는 2023년 3월부터 10월까지 제13대 국방부장과 중국 국무위원을 역임했다.
리상푸는 1982년 인민해방군(PLA)에 시창 위성발사센터의 기술자로 입대했다. 그는 시창 위성발사센터에서 31년간 근무했으며, 그중 10년은 센터장으로 재직했다. 리상푸는 2014년부터 2016년까지 인민해방군 총장비부 부부장, 2017년부터 2022년까지 중앙군사위원회(CMC) 장비발전부 부장을 역임했다. 2019년 7월에는 상장 계급을 수여받았고, 2022년 10월에는 중앙군사위원회 위원으로 임명되었다. 2023년 3월에는 제13대 국방부장 및 국무위원으로 임명되었다.
2023년 8월, 리상푸는 대중의 시야에서 사라졌고, 2023년 10월 24일에 직위에서 해임되었다. 그는 가장 짧게 재임한 국방부장이며, 인민해방군 전략지원부대 출신으로는 처음이다. 2024년 6월, 그는 부패 혐의로 중국공산당(CCP)에서 축출되었고 그의 사건은 형사 소송을 위해 군 사법부로 이관되었으며, 그의 상장 계급은 박탈되었다.
리상푸는 1958년 2월 쓰촨성 청두시에서 태어났으며, 그의 적관은 장시성 싱궈현이다. 그는 홍군 참전 용사이자 전직 고위 장교였던 리샤오주()의 아들이다. 리상푸는 1978년 중국인민해방군국방과기대학에 입학하며 인민해방군에 입대했으며, 1980년 6월에는 중국공산당에 입당했다. 1982년 졸업 후, 그는 시창 위성발사센터에서 기술자로 근무하기 시작했다.
리상푸는 충칭 대학에서 제어이론 및 제어공학 분야의 공학박사 학위를 취득했다.
2003년 12월, 그는 45세의 나이로 센터장(사령관)으로 승진했다. 2006년에는 소장 계급을 얻었다. 시창 센터장으로 재임한 10년 동안, 리는 2010년 10월 창어 2호 달 탐사선 발사를 포함한 여러 로켓 발사를 감독했다.
시창에서 31년간 근무한 후, 리는 2013년에 인민해방군 총장비부(GAD) 참모장으로 임명되어 소장 상훙을 대체했다. 1년 후, 그는 GAD 부부장이 되었다.
2016년, 리는 새롭게 창설된 인민해방군 전략지원부대 부사령관으로 임명되었으며, 이 부대는 사이버 공간, 우주 및 기타 첨단 기술 전쟁을 담당한다. 그는 같은 해 중장 계급으로 승진했다. 2017년 9월, 리는 GAD의 후속 부서인 중앙군사위원회 장비발전부 부장으로 임명되어 상장 장유샤를 대체했다.
2017년 10월, 리는 제19차 중국공산당 중앙위원회 위원으로 선출되었다.
리상푸는 2006년 7월에 소장 계급을, 2016년 8월에 중장 계급을, 2019년 7월에는 상장 계급을 수여받았다.
2022년 10월, 그는 당 총서기 시진핑에 의해 제20차 중국공산당 중앙군사위원회 위원으로 지명되었다. 그는 중앙군사위원회 위원 중 첫 번째 순위를 기록했다.
2023년 1월 18일, 리상푸는 중앙군사위원회 승진식에 참석했으며, 같은 해 3월 12일에는 웨이펑허의 후임으로 국무위원 겸 국방부장으로 임명되었다. 더 디플로맷에 따르면, 리의 승진은 중국과 미국 간의 기술 경쟁 심화 속에서 중국이 국방 현대화 프로그램에서 항공우주 분야를 우선시하려는 노력을 반영한다.
2023년 4월 17일, 리는 러시아로 첫 해외 방문을 했다. 나흘간의 방문 동안 그는 모스크바에서 블라디미르 푸틴 러시아 대통령과 세르게이 쇼이구 국방장관을 만났다. 회담에서 그는 중국과 러시아 간의 유대가 '냉전 시대의 군사-정치 동맹을 능가한다'고 밝혔다. 4월 28일, 그는 뉴델리, 인도에서 열린 상하이 협력 기구 국방장관 회의의 일환으로 인도 국방장관 라즈나트 싱을 만났는데, 이는 2020년 인도-중국군 간의 국경 분쟁 이후 중국 국방장관의 첫 인도 방문이었다.
2023년 6월, 싱가포르에서 열린 2023년 IISS 아시아 안보회의에서 리는 미국과의 전쟁은 감당할 수 없는 재앙이 될 것이며, 양국 간의 최근 긴장 고조 속에서 미국과 중국 모두 더 많은 공통점을 찾아야 한다고 공개적으로 발언했다.
2023년 9월, 로이터는 리가 중앙군사위원회 기율검사위원회(CMCCDI)의 반부패 조사를 받고 있다고 보도했다. 그의 부재는 미국 정부 관리들에 의해 관찰되고 추측되었으며, 이들은 파이낸셜 타임스에 리가 조사 중이라고 믿는다고 말했다.
2023년 10월 24일, 제14대 전국인민대표대회 상무위원회 제6차 회의는 리상푸를 국무위원 겸 국방부장 직위에서 해임하고, 친강을 국무위원 직위에서 해임하기로 결정했다. 그는 또한 중앙군사위원회에서도 해임되었다. 7개월의 재임 기간으로 리는 중화인민공화국에서 가장 짧게 재임한 국방부장이다. 그의 마지막 공개석상 등장은 2023년 8월 29일 베이징에서 열린 아프리카 국가들과의 안보 포럼에서 연설을 했을 때였다. 2024년 3월 4일, 전국인민대표대회 대변인 러우친젠은 리가 더 이상 전국인민대표대회 대표가 아니라고 발표했지만, 2024년 9월 13일 제14대 전국인민대표대회 상무위원회가 리의 해임을 발표하기 전까지는 리의 해임이나 사임에 대한 공식 발표는 없었다.
2024년 6월 27일, 중국공산당 중앙정치국은 리가 전 국방부장 웨이펑허와 함께 "기율 및 법률 위반"으로 당에서 축출되었으며, 사건은 형사 기소를 위해 인민해방군 검찰 기관으로 이송되었고, 리는 재정적 뇌물을 수수하고 다른 사람에게 뇌물을 준 혐의를 받고 있다고 발표했다. 두 사람 모두 상장 계급도 박탈되었다. 2024년 7월, 제20차 중국공산당 중앙위원회의 제3차 전체회의는 리의 축출 결정을 확정했다.
2018년 9월 20일, 리상푸는 장비발전부와 함께 미국 연방 법률인 CAATSA에 따라 제재를 받은 "개인과의 중대한 거래"에 관여한 혐의로 미국 정부의 제재를 받았다. 이는 "러시아가 중국에 Su-35 전투기와 S-400 지대공 미사일 시스템 관련 장비를 이전한 거래" 때문이었다. 그 결과, 그는 미국의 특별 지정 국민 및 차단 대상에 포함되었다. 미국이 그에게 부과한 제재에도 불구하고, 그는 미국 측 카운터파트와 공식 회담을 진행할 수 있었지만, 그의 제재 지정을 면제하는 예외는 발행되지 않을 것이다.
2023년 5월 21일, 미국 대통령 조 바이든은 자신의 행정부가 리에 대한 제재 해제를 고려하고 있다고 밝혔다. 그러나 5월 22일 기자 브리핑에서 미국 국무부 대변인 매슈 밀러는 미국이 제재 해제를 고려하고 있지 않다고 밝혔다.
SignalR은 마이크로소프트 ASP.NET용 자유 및 오픈 소스 소프트웨어 라이브러리로, 서버 코드가 클라이언트 측 웹 애플리케이션에 비동기 알림을 보낼 수 있게 한다. 이 라이브러리에는 서버 측 및 클라이언트 측 자바스크립트 구성 요소가 포함되어 있다.
ASP.NET SignalR은 ASP.NET 개발자가 애플리케이션에 실시간 웹 기능을 추가할 수 있게 해주는 라이브러리이다. 실시간 웹 기능이란 서버 측 코드가 연결된 클라이언트에 발생하는 내용을 실시간으로 푸시할 수 있는 기능을 말한다.
SignalR은 여러 전송 방식을 활용하며, 클라이언트와 서버의 기능에 따라 사용 가능한 최상의 전송 방식을 자동으로 선택한다. SignalR은 브라우저와 서버 간의 양방향 통신을 가능하게 하는 HTML5 API인 웹소켓을 활용한다. SignalR은 웹소켓을 사용할 수 있을 때는 내부적으로 웹소켓을 사용하며, 사용할 수 없을 때는 다른 기술로 자동으로 전환하지만 애플리케이션 코드는 동일하게 유지된다.
SignalR은 또한 ASP.NET 애플리케이션에서 서버-클라이언트 RPC (서버 측 닷넷 코드에서 클라이언트 브라우저의 자바스크립트 함수 호출)를 수행하기 위한 간단하고 상위 수준의 API를 제공하며, 연결/연결 해제 이벤트, 연결 그룹화, 인증과 같은 유용한 관리 훅을 추가한다.
ZK는 자바로 작성된 오픈 소스 Ajax 웹 애플리케이션 프레임워크로, 거의 프로그래밍 지식이 필요 없이 웹 애플리케이션용 그래픽 사용자 인터페이스를 생성할 수 있다.
ZK의 핵심은 Ajax 기반 사건 기반 메커니즘, 123개 이상의 XUL 및 83개 XHTML 기반 구성 요소, 그리고 사용자 인터페이스 설계를 위한 마크업 언어로 구성된다. 프로그래머는 기능이 풍부한 XUL/XHTML 구성 요소로 애플리케이션 페이지를 설계하고, 최종 사용자 활동에 의해 트리거된 이벤트에 따라 이를 조작한다. 이는 데스크톱 GUI 기반 애플리케이션에서 발견되는 프로그래밍 모델과 유사하다.
ZK는 구성 요소의 콘텐츠 동기화와 클라이언트 및 서버 간의 이벤트 파이프라인 처리가 엔진에 의해 자동으로 수행되고, Ajax 배관 코드가 웹 애플리케이션 개발자에게 완전히 투명한 서버 중심 접근 방식을 사용한다. 따라서 최종 사용자는 데스크톱 애플리케이션과 유사한 상호 작용 및 응답성을 얻는 동시에, 프로그래머의 개발은 데스크톱 애플리케이션과 유사한 단순성을 유지한다.
ZK는 표준 웹 요청-응답 메커니즘을 사용하지 않으며 쿼리 매개 변수가 있는 GET 요청 또는 POST 요청을 통해 서버로 폼 필드를 전송하지 않는다. 대신, 각 화면 위젯의 내부 상태를 업데이트하기 위해 AJAX 요청이 서버로 전송된다. 브라우저에서 ZK는 웹 페이지의 JSON 설명만 다운로드하고 클라이언트 렌더러를 사용하여 이를 UI로 변환한다. 이는 매우 효율적이며 면밀히 검사하면 모든 것을 한 번에 다운로드하지 않는다. 클라이언트와 서버 간의 트래픽을 보면 페이지 렌더링이 최종적으로 완료될 때까지 클라이언트와 브라우저 간에 여러 요청이 오가는 것을 알 수 있다.
선택적 클라이언트 측 사용자 지정은 개발자가 소위 서버+클라이언트 퓨전을 통해 클라이언트 측 리소스를 활용하여 사용자 지정 및 Ajax 트래픽을 줄일 수 있게 한다.
스윙과 유사한 방식의 구성 요소 기반 프로그래밍 외에도, ZK는 ZUML이라는 풍부한 사용자 인터페이스 정의를 위한 마크업 언어를 지원한다.
ZUML.
ZUML (ZK 사용자 인터페이스 마크업 언어)은 풍부한 사용자 인터페이스 정의를 위한 마크업 언어이다.
클라이언트 측 기술.
ZK는 서버 중심 프레임워크이다. 기술적으로 클라이언트 측 구현에 대해 알 필요가 없다. 이는 자바 모바일 VM에서 ZK 모바일이 실행되는 방식이다.
ZK 5.0부터 소위 서버+클라이언트 퓨전 아키텍처가 도입되었다. 개발자는 원하는 경우 클라이언트 측 위젯에 직접 액세스할 수 있다. ZK 클라이언트 엔진은 jQuery를 기반으로 한다. 기술적으로 jQuery 호환 라이브러리 및 위젯을 사용할 수 있다.
베르너 골드베르크(Werner Goldberg, 1919년 10월 3일 – 2004년 9월 28일)는 독일인으로, 제2차 세계 대전 동안 독일 국방군의 군인으로 복무했으며, 나중에는 냉전 서독의 정치인이 되었다. 그는 베를리너 타게블라트에 "이상적인 독일 병사"로 실린 사진으로 가장 잘 알려져 있다. 그는 절반의 유대인 혈통을 가지고 있었으며, 나치 용어로는 이었다.
골드베르크의 아버지는 쾨니히스베르크의 유대인 공동체 일원으로 자랐지만, 동화되어 기독교인과 결혼하기를 원했기 때문에 지역 루터교 교회에서 세례를 받았다. 골드베르크는 아버지가 유대인이라는 것을 전혀 몰랐다. 그와 그의 형 마르틴(1920년생)은 아버지의 요청으로 그뤼네발트 루터교 교회에서 세례를 받았다. 1933년 히틀러가 독일 총리가 된 후, 골드베르크의 아버지는 1933년 4월 나치 법률인 직업 공무원 제도 복원법에 따라 직위를 잃었다. 이 법은 아리아인 조항에 따라 유대인을 독일 공무원에서 추방했다.
1935년의 뉘른베르크법은 적어도 세 명의 유대인 조부모를 가진 사람을 유대인으로 분류했으며, 두 명의 유대인 조부모를 가진 사람은 신앙을 실천하거나 유대인 배우자가 있는 경우에만 유대인으로 간주되었다.
골드베르크는 1935년에 학교를 떠나 유대인과 비유대인이 공동 소유한 의류 회사인 슈넬러 운트 슈마이더(Schneller und Schmeider)에서 견습공이 되었다. 그곳의 동료 중 상당수는 유대인 또는 이었다. 골드베르크의 외삼촌은 국가사회주의 독일 노동자당에 가입했고 골드베르크 가족과 함께 있는 것을 거부했으며, 심지어 골드베르크의 어머니도 피했다.
1938년 초, 골드베르크는 국가노동봉사단에서 6개월간 복무했는데, 골드베르크는 그 제복에 "하켄크로이츠가 완장에 있었다"고 말했다. 1938년 12월 1일, 골드베르크는 독일 육군에 입대했다. 그는 1939년 9월 1일 폴란드 침공에 참전했으며, 아버지가 고위 SS 장교였던 어린 시절 친구 칼 볼프와 함께 복무했다.
골드베르크의 사진은 베를리너 타게블라트 신문 일요일판에 "이상적인 독일 병사"("Der ideale deutsche Soldat")라는 설명과 함께 실렸다.
1940년, 프랑스와의 휴전 이후, 골드베르크는 1940년 4월 8일 히틀러의 명령에 따라 군에서 제명되었다. 이 명령은 모든 1급 을 군에서 제대시키도록 규정했다. 그는 유대인 이름인 슈넬러를 제거해야 했기 때문에 페오도르 슈마이더(Feodor Schmeider)로 이름이 바뀐 이전 직장으로 돌아갔다. 골드베르크는 회사 내에서 점점 더 책임감 있는 역할을 맡아 육군과 해군으로부터 제복 계약을 따냈다. 그는 또한 국가노동연구위원회 학교(, RAFA)에 다녔는데, 80명의 학생 중 4명만이 RAFA 교사가 되는 시험에 합격했다. 그 후 그는 의류 산업에 대한 노동 연구 위원회 강사가 되어 조직 및 회사 이사들에게 강의를 했으며, 주간 무역 출판물인 텍스틸보헤(Textilwoche)에 기사를 게재하기도 했다.
1942년 12월, 골드베르크의 아버지는 병원에 입원했다. 그러나 게슈타포는 병원을 급습하여 그를 유대인 병원으로 보냈다. 그 병원은 게슈타포가 감옥으로 사용하기 위해 징발한 곳이었고, 그곳에서 유대인들은 아우슈비츠로 보내졌다. 크리스마스 이브에 골드베르크는 경비원들이 취하거나 부재중일 것이라고 판단하여 아버지를 병원에서 데리고 나왔다. 골드베르크의 아버지는 곧 다시 게슈타포의 손에 넘어갔고, 1943년 4월에는 강제 이송 명령을 받았다. 베르너는 그에게 나타나지 말라고 말했고, 그는 다시 구출되었다. 아버지와 아들은 그들의 직계 가족 중 전쟁에서 살아남은 유일한 구성원이었다.
베르너 골드베르크는 나중에 독일 기독교민주연합에 가입하여 1959년부터 1979년까지 20년 동안 서베를린의 베를린 주의회 정치인으로 봉사했다. 그는 2004년 9월 28일 베를린에서 84세의 나이로 사망했으며, 그의 아내 게르트루트 골드베르크와 세 자녀가 살아남았다.
골드베르크의 이야기는 2006년 다큐멘터리 '히틀러의 유대인 병사들 – 히틀러 군대의 나치-유대인'의 일부를 구성했다. 이 58분짜리 영화는 래리 프라이스(Larry Price)가 이스라엘 방송 기관과 협력하여 제작했다. 프라이스의 영화는 브라이언 마크 리그의 2002년 저서 '히틀러의 유대인 병사들: 나치 인종법과 독일군 내 유대계 남성들의 알려지지 않은 이야기'에서 영감을 받았다.
골드베르크는 예스터데이 TV 시리즈 '나치 협력자들'의 에피소드 "히틀러를 위해 싸운 유대인들"에 출연했는데, 이 에피소드는 2010년 12월 영국에서 처음 방영되었다.
2015년, 이 사진은 러시아 토볼스크에 있는 "조국 수호자" 기념비에 붉은 군대 병사의 이미지 대용으로 실수로 사용되었다고 보도되었다. 기념비의 이미지는 즉시 수정되었다.
Svelte는 자유-오픈 소스 컴포넌트 기반 프론트엔드 소프트웨어 프레임워크이자 언어이다. 리치 해리스가 만들고 스벨트 핵심 팀 멤버들이 관리한다.
스벨트는 애플리케이션에 의해 임포트되는 모놀리식 자바스크립트 라이브러리가 아니다. 대신, 스벨트는 HTML 템플릿을 DOM을 직접 조작하는 특수 코드로 컴파일하여 전송 파일 크기를 줄이고 클라이언트 성능을 향상시킬 수 있다. 애플리케이션 코드 또한 컴파일러에 의해 처리되어, 의존하는 데이터가 수정될 때 자동으로 데이터를 재계산하고 UI 요소를 재렌더링하는 호출을 삽입한다. 이는 가상 DOM과 같은 런타임 중간 표현과 관련된 오버헤드를 피할 수 있다. 반면 기존 프레임워크(예: React 및 Vue)는 대부분의 작업을 런타임, 즉 브라우저에서 수행한다.
컴파일러 자체는 자바스크립트로 작성되었다. 소스 코드는 MIT 허가서에 따라 라이선스되며 GitHub에 호스팅된다. 유사한 프론트엔드 라이브러리 중 스벨트는 단 2KB의 가장 작은 번들 크기를 자랑한다.
스벨트의 전신은 리치 해리스가 2013년에 만든 Ractive.js이다.
스벨트 버전 1은 자바스크립트로 작성되었으며 2016년 11월 29일에 출시되었다. 스벨트라는 이름은 리치 해리스와 가디언의 동료들이 선택했다.
스벨트 버전 2는 2018년 4월 19일에 출시되었다. 이는 유지보수자들이 이전 버전의 실수라고 생각했던 점들, 예를 들어 이중 중괄호를 단일 중괄호로 대체하는 것 등을 수정하기 위한 것이었다.
스벨트 버전 3은 타입스크립트로 작성되었으며 2019년 4월 21일에 출시되었다. 이 버전은 컴파일러를 사용하여 배후에서 할당을 계측함으로써 반응성을 재정의했다.
SvelteKit 웹 프레임워크는 2020년 10월에 발표되었고 2021년 3월에 베타 버전에 진입했다. SvelteKit 1.0은 2년간의 개발 끝에 2022년 12월에 출시되었다.
스벨트 버전 4는 2023년 6월 22일에 출시되었다. 이 버전은 유지보수 릴리스였으며, 버전 3보다 작고 빨랐다. 이 릴리스의 일부로, 내부적으로 JSDoc 주석과 함께 타입스크립트에서 자바스크립트로 다시 작성되었다. 이는 개발자 커뮤니티의 혼란을 야기했고, 스벨트의 개발자 리치 해리스가 이를 해명했다.
스벨트 버전 5는 2024년 가을 스벨트 서밋에서 2024년 10월 19일에 출시되었다. 리치 해리스는 다른 스벨트 유지보수자들과 함께 라이브로 출시를 진행했다. 스벨트 5는 스벨트를 완전히 재작성하여 반응성 및 재사용성과 같은 핵심 개념을 변경했다. 주요 기능인 룬(runes)은 반응형 상태를 선언하고 사용하는 방식을 재작업했다. 룬은 함수와 같은 매크로로, 반응형 상태 또는 반응형 상태를 사용하는 코드를 선언하는 데 사용된다. 이 룬은 컴파일러에 의해 값이 변경될 수 있으며 다른 상태 또는 DOM에 의존하는 값을 나타내는 데 사용된다. 스벨트 5는 또한 스니펫(Snippets)을 도입했는데, 이는 한 번 정의된 재사용 가능한 "코드 조각"으로 컴포넌트의 다른 어느 곳에서나 재사용할 수 있다. 스벨트 5는 많은 변경 사항, 특히 룬으로 인한 비권장 사항으로 인해 초기에 논란에 휩싸였다. 그러나 룬의 초기 발표 이후 스벨트 5의 추가적인 개선으로 인해 대부분의 논란은 가라앉았다.
또한 2024년 가을 스벨트 서밋에서 벤 맥캔은 npm에 sv 패키지 이름으로 스벨트 CLI를 발표했다.
스벨트의 초기 주요 기여자로는 스벨트 1 출시와 함께 Conduitry가 참여했고, 2019년에 탄 리 하우, 2020년에 벤 맥캔이 합류했다. 리치 해리스와 사이먼 홀트하우젠은 2022년에 Vercel에 합류하여 스벨트 작업을 전담했다. 도미닉 개너웨이는 2023년에 React 핵심 팀에서 Vercel로 이직하여 스벨트 작업을 전담했다.
스벨트 애플리케이션 및 컴포넌트는 파일에 정의된다. 이 파일은 자바스크립트 기반이며 JSX와 유사한 템플릿 문법으로 확장된 HTML 파일이다.
스벨트의 핵심 기능은 룬(runes)을 통해 접근한다. 룬은 문법적으로 함수처럼 보이지만, 컴파일러에 의해 매크로로 사용된다. 이러한 룬에는 다음이 포함된다.
또한, codice_4 문법은 HTML 요소 및 컴포넌트에서 템플릿팅에 사용될 수 있으며, 자바스크립트의 템플릿 리터럴과 유사하다. 이 문법은 양방향 데이터 바인딩, 이벤트 리스너, CSS 스타일링과 같은 용도로 요소 속성에서도 사용될 수 있다.
스벨트로 만든 할 일 목록 예시는 다음과 같다.
let todos = $state([]);
let input = $state();
let all = $derived(todos.length);
let done = $derived(todos.filter(todo =&gt; todo.done).length);
function handleKey(e) {
if (e.key === "Enter") {
todos.push({text: input.value, done: false});
input.value = ;
&lt;span style:font-size="20px" style:font-weight="bold"&gt;Todo List&lt;/span&gt;
&lt;input type="checkbox" bind:checked={todos[index].done} name={text}/&gt;
&lt;label for={text} style:text-decoration-line={done ? "line-through" : ""}&gt;{text}&lt;/label&gt;
&lt;label for="input"&gt;Add todo&lt;/label&gt;
&lt;input type="text" name="input" bind:this={input} onkeypress={handleKey}/&gt;
스벨트 유지보수자들은 스벨트를 사용하여 프로젝트를 구축하는 공식적인 방법으로 SvelteKit을 만들었다. SvelteKit은 Next.js 스타일의 프레임워크로, 브라우저로 전송되는 코드의 양을 극적으로 줄인다. 유지보수자들은 이전에 SvelteKit의 전신인 Sapper를 만들었다.
스벨트 유지보수자들은 또한 스벨트 조직 하에 Vite, Rollup, Webpack, 타입스크립트, VS Code, Chrome 개발자 도구, ESLint, Prettier를 포함한 인기 소프트웨어 프로젝트들을 위한 다양한 통합을 관리한다. Storybook과 같은 여러 외부 프로젝트들도 스벨트 및 SvelteKit과의 통합을 만들었다.
Vue.js는 스벨트의 전신인 Ractive.js의 API와 단일 파일 컴포넌트를 모델링했다.
스벨트는 개발자들에게 널리 칭찬받고 있다. 여러 대규모 개발자 설문조사에서 최고 순위를 차지했으며, 2021년 스택 오버플로에서 가장 사랑받는 웹 프레임워크이자 2020년 State of JS 프론트엔드 프레임워크에서 가장 만족스러운 개발자로 선정되었다.
최근 설문조사에서도 스벨트의 강력한 개발자 만족도가 계속해서 나타나고 있으며, 2024년 State of JS 설문조사에서는 가장 칭찬받는 프론트엔드 프레임워크 중 하나로 그 입지를 유지하고 있다. 2024년 스택 오버플로 개발자 설문조사에서는 스벨트를 사용한 개발자의 73%가 계속 사용하기를 원하며, 스택 오버플로 팀 자체도 2024년 개발자 설문조사 결과 사이트를 구축하는 데 스벨트를 사용했다고 보고했다.
스벨트는 뉴욕 타임스, 애플, 스포티파이, 라디오 프랑스 (프랑스 국영 라디오 방송사), 스퀘어, 야후, 바이트댄스, 라쿠텐, 블룸버그, 로이터, 이케아, 페이스북, 브레이브를 포함한 여러 유명 웹 기업에서 채택되었다.
Svelte Society로 알려진 비유지보수자 커뮤니티 그룹은 Svelte Summit 컨퍼런스를 개최하고, Svelte 뉴스레터를 발행하며, Svelte 팟캐스트를 호스팅하고, Svelte 도구, 컴포넌트, 템플릿 디렉토리를 호스팅한다.
카르시 공항 은 우즈베키스탄 남동부, 카르시 남서쪽에 위치한 공항이다.
가상 DOM은 리액트, Vue.js, Elm과 같은 선언적 웹 프레임워크에서 사용되는 문서 객체 모델 (DOM)의 경량 자바스크립트 표현이다. 가상 DOM을 생성하는 것은 상대적으로 빠르기 때문에, 어떤 프레임워크든 필요한 만큼 가상 DOM을 상대적으로 저렴하게 다시 렌더링할 수 있다. 그런 다음 프레임워크는 이전 가상 DOM과 현재 가상 DOM 간의 차이점을 찾아 (차이점 계산), 실제 DOM에 필요한 변경 사항만 적용할 수 있다 (조정). 순수 자바스크립트를 사용하는 것보다 기술적으로 느리지만, 이 패턴은 마크업이 상태와 직접 연결되어 있기 때문에 많은 동적 콘텐츠를 포함하는 웹사이트를 작성하기 훨씬 쉽게 만든다.
유사한 기술로는 Ember.js의 글리머(Glimmer)와 앵귤러의 증분 DOM이 있다.
자바스크립트 DOM API는 역사적으로 브라우저마다 일관성이 없고, 사용하기 번거롭고, 대규모 프로젝트에 맞게 확장하기 어려웠다. JQuery와 같은 라이브러리가 HTML과의 상호작용의 전반적인 일관성과 사용 편의성을 개선하는 것을 목표로 했지만, 이 역시 변경되는 내용의 본질을 잘 설명하지 못하고 로직과 마크업을 분리하는 반복적인 코드에 취약했다.
2010년 AngularJS의 출시는 더티 체킹 개념을 통해 자바스크립트와 HTML 간의 상호작용에 주요 패러다임 변화를 가져왔다. 이벤트 리스너를 명령적으로 선언하고 제거하며 개별 DOM 노드를 수정하는 대신, 변수의 변경 사항을 추적하고 해당 범위 내의 변수가 변경될 때 DOM의 섹션을 무효화하고 다시 렌더링했다. 이 다이제스트 주기는 로직과 마크업을 더 논리적인 방식으로 결합하는 더 선언적인 코드를 작성하기 위한 프레임워크를 제공했다.
AngularJS가 더 선언적인 경험을 제공하는 것을 목표로 했지만, 여전히 데이터를 DOM에 명시적으로 바인딩하고 감시해야 했고, 수백 개의 변수를 더티 체킹하는 비싼 과정에 대한 성능 문제가 지적되었다. 이러한 문제를 완화하기 위해 리액트는 2013년에 가상 DOM을 채택한 첫 번째 주요 라이브러리였으며, 이는 성능 병목 현상(DOM을 차이점 계산하고 조정하는 것이 상대적으로 저렴했기 때문)과 데이터 바인딩의 어려움(컴포넌트가 사실상 객체에 불과했기 때문)을 모두 제거했다. 가상 DOM의 다른 이점으로는 XSS가 사실상 불가능했기 때문에 보안이 향상되었고, 컴포넌트의 상태가 완전히 캡슐화되었기 때문에 확장성이 향상되었다. 또한 JSX의 등장과 함께 출시되어 XML과 유사한 구문 확장을 통해 HTML과 자바스크립트를 더욱 밀접하게 결합했다.
리액트의 성공에 따라, 2014년 Vue.js와 같이 많은 다른 웹 프레임워크들이 메모리에 이상적인 DOM 표현이라는 일반적인 아이디어를 복사했는데, Vue.js는 JSX 대신 템플릿 컴파일러를 사용했고 프레임워크의 일부로 세분화된 반응성을 내장했다.
최근에는 가상 DOM이 DOM 노드를 차이점 계산하고 조정하는 데 필요한 추가 시간 때문에 느리다는 비판을 받았다. 이는 Svelte와 같이 가상 DOM이 없는 프레임워크와 앵귤러 2와 같이 DOM을 그 자리에서 편집하는 프레임워크의 개발로 이어졌다.
리액트.
리액트는 가상 DOM을 사용하여 컴포넌트를 선언적으로 만드는 것을 개척했다. 가상 DOM 노드는 codice_1 함수를 사용하여 구성되지만, 컴포넌트 작성을 더 인체공학적으로 만들기 위해 종종 JSX에서 트랜스파일링된다. 클래스 기반 리액트에서는 가상 DOM 노드가 codice_2 함수에서 반환되는 반면, 함수형 훅 기반 컴포넌트에서는 함수의 반환 값 자체가 페이지 마크업 역할을 한다.
Vue.js.
Vue.js는 상태 변경을 처리하기 위해 가상 DOM을 사용하지만, 일반적으로 직접 상호작용하지 않는다. 대신 컴파일러를 사용하여 HTML 템플릿을 구현 세부 사항으로 가상 DOM 노드로 변환한다. Vue는 JSX와 사용자 정의 렌더 함수 작성을 지원하지만, 빌드 단계가 필요 없기 때문에 템플릿 컴파일러를 사용하는 것이 더 일반적이다.
Svelte는 가상 DOM을 가지고 있지 않으며, 개발자 리치 해리스는 가상 DOM을 "순수한 오버헤드"라고 불렀다. 런타임에 DOM 노드를 차이점 계산하고 조정하는 대신, Svelte는 컴파일 시간 반응성을 사용하여 마크업을 분석하고 DOM을 직접 조작하는 자바스크립트 코드를 생성하여 성능을 크게 향상시킨다.
JSX(자바스크립트 XML, JavaScript XML)는 자바스크립트 언어 문법의 XML과 유사한 확장이다. 원래 페이스북이 React와 함께 사용하기 위해 만들었으나, JSX는 여러 웹 프레임워크에 채택되었다. 신택틱 슈거로서, JSX는 일반적으로 원본 JSX와 구조적으로 유사한 중첩된 자바스크립트 함수 호출로 트랜스파일된다.
JSX 코드의 예시:
const App = () =&gt; {
중첩 요소.
같은 수준의 여러 요소는 위에서 보여준 codice_1 요소, codice_2 또는 그 축약형 codice_3로 구분된 프래그먼트와 같이 단일 React 요소로 묶이거나 배열로 반환되어야 한다.
JSX는 HTML이 제공하는 것과 유사하게 설계된 다양한 요소 속성을 제공한다. 사용자 정의 속성도 컴포넌트에 전달할 수 있다. 모든 속성은 컴포넌트에서 props로 수신된다.
자바스크립트 표현식.
자바스크립트 표현식 (하지만 문은 아님)은 중괄호 codice_4를 사용하여 JSX 내에서 사용할 수 있다.
위 예시는 다음을 렌더링한다:
조건식.
If–else 문은 JSX 내에서 사용할 수 없지만 조건식은 대신 사용할 수 있다.
아래 예시는 codice_5가 1과 같기 때문에 를 문자열 codice_6로 렌더링한다.
위는 다음을 렌더링한다:
&lt;h1&gt;true&lt;/h1&gt;
함수와 JSX는 조건문에서 사용될 수 있다:
{sections.map((n,i) =&gt; (
/* 'key' is used by React to keep track of list items and their changes */
/* Each 'key' must be unique */
&lt;div key={"section-" + n}&gt;
&lt;div&gt;Section 1&lt;span&gt;(first)&lt;/span&gt;&lt;/div&gt;
JSX로 작성된 코드는 웹 브라우저가 이해하기 전에 바벨과 같은 도구로 변환해야 한다. 이 처리는 일반적으로 애플리케이션이 배포되기 전에 소프트웨어 빌드 과정에서 수행된다.
자카르타 증권거래소(Jakarta Stock Exchange, JSX; 인도네시아어: Bursa Efek Jakarta (BEJ))는 인도네시아 증권거래소를 형성하기 위해 수라바야 증권거래소와 합병되기 전, 인도네시아 자카르타에 기반을 둔 증권거래소였다.