« Previous : 1 : 2 : 3 : 4 : 5 : ... 213 : Next »

전등, 텔레비전, 전화기, 냉장고 같은 평범한 백색 가전제품 이후로 21세기에 인간들의 전기 소비량을 특별히 크게 증가시킨 물건은 시대별로 다음과 같다.

1. 2000년대: 에어컨

20세기 중반에 미국에서 이게 처음 도입됐을 때는 사무실의 시원한 에어컨 바람이 너무 좋아서 직장인들이 퇴근을 안 하고 잔업· 야근을 자처했을 정도였다고 한다. ㄲㄲㄲㄲ
그 당시엔 에어컨이 집집마다 비치되기에는 너무 비싸고, 결정적으로 전기 소모도 장난이 아니었으니까.. 회사와 직원 모두 윈윈이다.;;

1990년대까지만 해도 버스나 지하철 열차 안에 에어컨 냉방이 없었고, 학교 교실에도 천장엔 에어컨이 아니라 선풍기가 달려 있었다.;;
그렇잖아도 비효율적이고 열 풀풀 나는 저항 제어 전동차를 여름엔 어떻게 타고 다녔을까? 찜통 그 자체였을 텐데. ㅠㅠㅠㅠ 1990년대엔 지하철 승강장도 너무 덥다고 TV 뉴스의 카메라 출동 같은 시사 고발 섹션에서 지적할 정도였다.

1970년대에 울나라에서는 그 비싼 에어컨이 석굴암 내부에 설치된 적이 있었다. 습도 조절 때문에.
그런데 그 시절에 운행됐던 관광호 및 새마을호 열차는 객실에 벌써부터 에어컨이 있었을 정도라니 이건 뭐 초 호화 금수저 열차였다.

통계에 따르면 가정집 에어컨 한 대가 가정용 선풍기 30대의 전기를 잡아먹는다는 말이 있고, 소형 승용차용 에어컨은 엔진 출력을 4~5마력 정도 깎아먹는다고 한다.
지금도 이북 평양의 아파트들 풍경에서 에어컨 실외기가 눈에 띈 적은 없을 것이다.;;

2. 2010년대: 스마트폰

이건 그야말로 사람이 머무는 곳 어디에나 콘센트나 보조 배터리를 필요하게 만든 주범이다.
요즘 전화기는 간단한 전화기 기능만 있던 2000년대 폴더폰/피처폰 시절에 비해 전력 소모가 정말 어마어마하게 늘어나 있다. 매일 AA 사이즈 건전지 5~6개씩을 소모하는 것에 맞먹는다고 한다.

나 옛날에 초창기 폴더폰/피처폰 쓸 때는.. 배터리 용량이 총 4칸으로 표시됐는데, 걸거나 받지 않고 가만히 있으면.. ‘이틀’ 지난 뒤에 한 칸이 줄어들어던 적이 있다. 그대로 방치하면 진짜 6~7일 가까이는 갔다.;; 도저히 믿어지지 않지? ㅡ,.ㅡ;;
우리나라 KTX 고속철 최초 차량의 내부에 콘센트가 없었던 이유도 1990년대에 이런 걸 예측을 못 했기 때문이었다. 서울-부산을 1시간 56분 만에 찍을 건데 굳이 저런 시설까지 갖출 필요는 없다고 여기고 넣지 않았었다.;;

30여 년 전 Windows 3.x 및 9x 시절에는 컴터를 쓰면서 사용자가 운영체제의 리소스 퍼센티지를 민감하게 관찰하곤 했었다.
그러나 요즘 사람들이 뭔가 퍼센티지를 들여다보는 건.. 폰 배터리일 것이다.

비슷한 맥락으로, 30여 년 전에 사람들이 컴퓨터에서 뭔가 먼지를 주기적으로 청소해 주는 건 볼 마우스 안이었지 싶다. =_=;; 그러나 요즘 사람들이 먼지를 청소하는 건 폰 충전 단자 주변이지 싶다.
폰 충전 단자도 규격이 통합되지 않아서 기기마다 제각각이던 시절이 있었는데.. 이제는 아이폰까지 USB C로 통합되는 나날이 도래했다.

3. 2020년대 이후 전기 등골 브레이커계의 다크호스는 과연 전기차가 차지할까?

그 많은 자동차들까지 전기 인프라에 빨대를 꽂기 시작한다면 이건 원자력 발전이 없이는 도저히 감당이 안 될 텐데 말이다.;;
핵융합은 지금보다 더 낮은 온도에서 일으키려고 애쓰는 현상이고,
초전도는 지금보다 더 높은 온도에서 일으키려고 애쓰는 현상이구만. 하지만 둘 다 아직은 SF의 영역이다.

전기차는 비슷한 체급, 성능의 기름차보다 무게가 수백 kg 이상 더 나간다.
오~ 지금까지 생각을 안 하고 지냈네. 현타가... =_=
전기차는 정작 엔진룸 안은 기름차보다 훨씬 더 단순하고 깔끔하고 가벼운데도 말이다.

쟤들이 엔진오일이 필요하나, 냉각수가 필요하나~ 점화 플러그가 필요하나~ 연료 필터 공기 필터가 필요하나, 터보차저가 필요하나, 배기가스 정화 장치가 필요하나.. ㄲㄲㄲㄲ
그런데 빳데리가 이 모든 장점을 싹 씹어먹는다.
게다가 빳데리가 야기하는 공간 복잡도 무게 복잡도는 필요한 전력량(= 차 크기 내지 모터 출력)의 제곱 이상에 비례해서 급격히 커진다.

옛날에 구닥다리 브라운관 방식으로 텔레비전을 지금 수준으로 대형화하는 게 도저히 불가능했던 것과 비슷한 맥락이라고 생각하면 되겠다.
이러니 빳데리 전기 방식으로 버스나 대형 트레일러, 군용차, 국가원수 의전차, F1 레이싱카는 요원한 거지 싶다. 승용차나 시내버스, 소형 트럭 같은 일부 분야만 대체하겠지..

참 어려운 문제이다. 오늘날의 배터리 기술이 용량은 많이 늘렸지만, 그게 아무 부작용 없이 늘린 게 아니고 아직 갈 길이 멀다. 무게, 가격, 안전성 따위.. 기름 담긴 말통을 대체하는 게 쉽지 않다.

Posted by 사무엘

2024/03/19 08:35 2024/03/19 08:35
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/2277

선박의 발전사

인류가 물 위를 건너기 위해 선박이라는 물건을 만들어서 띄운 지는 수천 년이 됐다. 심지어 그걸로 바다 위에서 전쟁도 치렀다.
하지만 그걸로 사람만 잔뜩 실어 나르는 장거리 전문 여객선이라는 게 등장한 건 역사가 의외로 짧다.

전근대 시절에는 평민들의 경제력과 교통 수요가 그런 걸 받쳐 주지 못했다. 거기에다 그 당시엔 선박 자체가 너무 위험하고 느리고 정시성을 장담 못 하는 물건이었다.
배 타고 망망대해로 나가는 것의 포스와 리스크가 요즘으로 치면 과장 보태서 무려 우주로 나가는 것에 맞먹었다. 보험 회사의 이름이 'oo 화재, xx 생명'뿐만 아니라 'xx 해상'이 괜히 있는 게 아니었다. 낭만적인 여행이 절대 아니고 모험 탐험이었다.

그 시절에 사람을 잔뜩 태운 배가 있다면 그건 지하에 노꾼이 잔뜩 탄 갤리선이거나, 아니면 아예 노예 무역선. 둘 중 하나일 뿐이었다. -_-;; 사람을 살인적인 중노동을 시키거나, 아니면 용변도 제대로 못 볼 정도로 꼼짝달짝 묶어서 짐짝처럼 쌓아 놓거나.. 둘 중 하나였다.
(단, 노예이면서 동시에 노꾼이지는 않았다. 많은 사람들이 호흡 맞춰서 엉킴 없이 노 젓는 건 극심한 중노동일 뿐만 아니라 전문성도 필요했다. 일자무식에다 더 잃을 것도 없는 노예에게 믿고 맡길 수 있는 일이 아니었다. ㄲㄲㄲ 질 낮은 죄수를 호락호락 총 쥐어 주고 군인으로 부려먹지는 않는 것과 비슷한 이치..)

상식적으로 생각해도 50미터 남짓한 길이에 엔진이 아니라 돛-_-이 달렸고 배수량도 200톤이 채 안 될 대항해시대 나무 범선 갖고 호화로운 장거리 여객선 영업이 가능할 리가 없잖아..

근데 그 시절에는 그 가냘프고 열악한 배에 남자들 수십 명이 낑겨 앉아서 신대륙을 개척하러 갔다는 거다. 이 정도면 교도소 복역이랑 선원 생활을 퉁쳐도 될 것 같은데 말이다.
지금 우리가 잠수함에 대해서 생각하는 위험함, 갑갑함, 열악함 등등이 그때는 일반 수상 범선에 적용됐고 수위가 더 높았다.

선박을 굴려서 돈을 벌려면 그 비좁은 공간에 화물을 왕창 실어야 했다. 그러니 선원들 복지는 더 열악해질 수밖에 없었다. 전근대 시절에 선박은 화물 수송이 main이었고, 여객은 거기에 꼽사리로 낑겨 타는 정도였다.

자, 그러면 성경의 요나서도 어떤 배경인지가 완벽하게 이해가 될 것이다. 요나 역시 여느 상선 화물선에 낑겨 탔기 때문에, 편안한 좌석이나 선실이 아니라 어디 한구석에 짱박혀서 잠들었다. 그리고 배가 위험에 처하자 선원들이 손해를 감수하고라도 무거운 화물들을 바다에 버린 것이다. 그건 승객 개인이 들고 다니던 더플빽이나 캐리어 같은 덩치의 짐이 아니었다.

참고로, 옛날 목선 범선에 대해 생각해 볼 거리를 좀 더 나열하자면 이렇다.

(1) 노아의 방주도 오늘날 기준에서는 그렇게까지 막 큰 배는 아니다. 길이 150미터 남짓한 목선이니 대항해시대 범선보다 좀 큰 정도이고, 20세기에 등장한 여객선이나 군함에 비할 바는 아니다. 이 크기와 부피이면 배수량은 여러 자료로 추정하건대 1만 톤 안팎쯤 됐을 거라고 여겨진다.
참고로, 현대의 조선공학 관점에서는 목선은 길이가 100미터, 배수량 2000톤 정도가 현실적인 한계로 여겨진댄다. 목재는 금속처럼 단단하지 못하고, 용접으로 이어붙이지도 못하기 때문이다.

(2) 노아, 요나 이상으로 성경에서 바다 항해를 제일 진지하게 다루는 곳은 사도행전 27장이지 싶다. 바울이 죄수 호송선을 타고 이스라엘에서 이탈리아 로마로 가는 장면 말이다. 자료를 찾아보니 뱃길로 약 2400km 거리라고 한다.
이건 부담 없는 단거리는 절대 아니고 2000여 년 전의 항해 기술로는 더욱 만만찮았을 것이다. 하지만 그래 봤자 태평양이나 대서양도 아니고 기껏해야 지중해 횡단일 뿐인데 그걸 한 번에 못 가서 중간 정박을 하고 겨울을 나네 마네 논쟁이 오갔던 것이다.
게다가 배에 사람이 276명이나(행 27:37) 탔었다. 선내에 공간이 절대로 넉넉하지 않았을 것이고 승선 환경은 몹시 열악했을 것이다.

(2) 500여 년 전, 마젤란의 세계일주 항해는 대장인 마젤란을 비롯해 250명에 달하는 선원을 잃고 배 세 척 중에 한 척만 겨우 귀환하는 개막장 거지꼴 패잔병 상태로 종결됐다. 그럼에도 불구하고..!! 그 배 한 척에 실린 외국 향신료만으로도 그들은 항해 비용을 다 뽑고 남는 흑자 장사를 했다고 한다.
그 시절에 향신료 가격이 지금의 마약 가격 정도라도 됐나 싶다. =_=;; 후추가 아니라 필로폰이었는지.. -_-;; 하긴, 그때는 화약 가격도 그렇게도 비쌌다니까 말이다.

암튼, 이런 열악한 상황은 증기 기관이 발명되면서 획기적으로 바뀌었다. 얘 덕분에 선박이 바람을 거스르는 정시 항해가 가능해지고, 해풍이 불지 않는 육지 한가운데 운하도 주행할 수 있고, 그러면서도 배가 더 크고 무거워질 수 있게 됐다.
배의 재질이 나무 대신 철로 바뀌었고, 동력 전달 매체도 처음에 외륜이 쓰이다가 스크루 프로펠러로 바뀌었다. 엔진조차도 왕복이던 게 터빈으로.. 19세기 후반에 일어난 혁명적인 변화가 아닐 수 없다.

이제 좀 뭔가 호텔 같은 배가 등장할 수 있게 됐다. (해상 호텔이라, 옛날 범선 시절에는 정말 상상도 할 수 없었던 사치.. ㄲㄲㄲㄲ) 민간이 아닌 군함은 훨씬 더 강하고 사정거리 긴 함포를 장착해서 적을 압도할 수 있게 됐다.
1906년경에 영국에서 만든 여객선 루시타니아 호, 그리고 드레드노트 전함이 민간과 군함 각 분야에서 최첨단 과학기술의 산물이었다.

그래서 민간에서는 대서양· 태평양을 건너는 장거리 대형 여객선이라는 게 운항을 시작하고, 군에서는 순양함을 넘어 전함이라는 등급이 등장했다. 19세기 말에 서 재필이니 이 승만이니 하는 우리나라 선각자들도 저런 배를 타고 미국을 다녀올 수 있었다. (비행기 1시간이 선박 1일에 맞먹으니, 편도로 2주 이상 걸렸을 듯.)
그 이름도 유명한 타이타닉이 이 바닥의 정점을 찍었다. 인류가 이런 배를 구경하게 된 지 얼마 되지 않았다.

1차 세계 대전을 겪은 뒤 세계 열강들은 군함만 만들다가 등골 빠지고 공멸하지 말고, 군함을 일정 배수량 이상은 다같이 만들지 말자고 군축 조약을 맺었을 정도였다. 그때는 전함을 더 만들지 말자는 게 지금으로 치면 핵무기를 다같이 만들지 말자고 약속하는 것이나 마찬가지 개념이었다.

그 뒤 선박은 연료가 석탄에서 석유 디젤 기관으로 바뀌면서 리즈 시절을 찍었지만, 비행기가 발명되면서 추세가 또 바뀌었다. 비행기는 터빈을 기반으로 한 제트 엔진이 도입되면서 세계의 하늘을 석권하게 됐다.
오늘날 배가 거대한 건 항공모함이나 초대형 유조선/화물선 정도이고, 인명을 태우는 건 말 그대로 해상 호텔인 관광 크루즈선만이 남았다. 100년 전과 같은 ocean liner(대륙 횡단 정기 여객선)라는 개념은 없어졌다.

거함거포주의는 항공모함 때문에 논파됐고, 지금은 미사일 때문에 더욱 확인사살됐다.
요즘은 해군보다도 해병대에서 상륙작전을 벌일 때 정도에나.. 뒤에서 펑펑 쏴 주는 전함의 함포를 그리워하는 지경이 됐다. 포탄이 그래도 비행기나 미사일보다는 화력 대비 훨씬 더 저렴하기도 하지.

20세기 초-중에는 여객선과 비행선이 대륙을 횡단했다. 그러나 20세기 중-후부터는 여객기와 미사일이 대륙을 횡단하면서 오늘날에 이르고 있다. =_=;;
우리나라 기준으로 여객선으로는 부산에서 일본, 인천에서 중국, 동해안에서 러시아 정도만 갈 수 있다. 즉, 아주 단거리 한정이다.

Posted by 사무엘

2024/03/17 08:35 2024/03/17 08:35
, , , ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/2276

(1) 옛날 아폴로 계획 시절의 새턴 V 로켓, (2) F-22 전투기, (3) KTX-산천 열차.
분야가 서로 완전히 다른 교통수단이지만, 이들은 모두 공통적으로.. 맨 앞에 무슨 총검처럼 길쭉하게 삐죽 튀어나온 부위가 있다.
이건 각각..

1. 로켓: 비상 탈출용 로켓이다.

사용자 삽입 이미지

발사 초기에 이상이 발생했을 경우, 승무원이 탄 캡슐을 로켓 본체로부터 사출· 생환시킬 용도로 장착되었다. 승무원들의 탑승 공간을 통째로 사출시키니.. 이건 경비행기에 장착되는 비상 탈출용 낙하산이라든가, 전투기에 장착되는 사출 좌석보다 더 강화된 버전인 셈이다.
단, 2단 엔진까지 무난하게 분리됐을 때쯤이면 이제 고도와 속도가 너무 올라갔고 비상 탈출이 의미가 없어지기 때문에 탈출용 로켓도 같이 분리되고 버려진다.

아폴로 계획 전체를 통틀어서 이 로켓이 실제로 사용된 적은 없었다. 1969년 말의 12호 때.. 로켓이 발사되자마자 벼락을 맞는 바람에 이걸로 승무원들을 비상 탈출시키고 임무를 실패 처리시킬까 사령실에서 고민하긴 했었다. 하지만 그리하지 않았고, 임무도 다행히 성공했다.

2. 전투기: 피토 관이다.

사용자 삽입 이미지

기체 주변의 맞바람의 세기를 측정해서 이 기체의 비행 속도를 구하는 아주 중요한 장비이다. 레이더나 GPS 같은 기술이 개발되기 전엔 비행 속도를 측정하는 방법이 이것밖에 없었기 때문이다. 자동차처럼 바퀴의 회전수로 속도를 산출할 수가 없으니까..
정비 불량으로 인해 피토 관이 제대로 동작하지 않아서 계기판 바늘이 엉뚱하게 폭주하고, 이 때문에 조종사가 조종을 잘못해서 비행기가 추락까지 한 사고도 역사적으로 있었다.

다만, 피토 관이 꼭 저렇게 앞에 돌출된 형태로 장착될 필요는 없다. 그렇기 때문에 여객기의 피토 관은 옆구리나 꼬리날개 쪽에 훨씬 작게 장착되기도 한다. 자동차에 안테나가 옛날에 길쭉한 삼단봉 형태이다가 지금은 작은 상어 지느러미 모양으로 바뀐 것처럼 말이다.

3. 그리고 열차: 이 쇠막대기 빨대의 정체는 무려.. 독일제 최첨단 차량 연결기의 센서이다.

사용자 삽입 이미지

떼제베 기반의 1세대 KTX의 이후에 국내에 도입된 고속철 차량들은 무지막지한 20량 1편성이 아니라, 10량 1편성을 기본으로 하고 필요 시 중련· 연결 운행이 가능하게 만들어졌다.
열차의 연결과 분리를 간편 신속하게, 한편으로 견고하게 하는 건 나름 엄청난 기술이다. 양 차량을 물리적으로 붙들거나 놓을 뿐만 아니라, 서로 전기· 통신 배선 같은 것도 바로 연결이나 분리가 돼야 하기 때문이다.

두 차량이 합체할 일이 있으면 저 삐져나온 빨대가 먼저 상대 차량 연결기를 쑥 접촉하고, 나머지 부위도 찰칵 연결된다. 항공우주 업계에서는 우주 비행체의 합체를 도킹(docking)이라고 하는 반면, 철도에서는 이런 연결을 커플링(coupling)이라고 부른다. 오옷~!
참고로 우리나라의 철도 차량에서 일반적으로 쓰이는 연결기는 이런 것이다.

사용자 삽입 이미지
사용자 삽입 이미지

철도는 동력원뿐만 아니라 선로 분기기나 신호 시스템, 그리고 전철의 집전 방식(가공전차선=_=)까지 하나하나가 다 첨단 기술이다.
달리는 증기 기관차를 배경으로 하는 옛날 서부물을 보면 아주 흔히 등장하는 장면이 둘 있다. (1) 말 타고 달려가서 열차를 따라잡고 탑승하는 거(현대라면 오토바이-_-), (2) 그리고 열차 안에서 무슨 작업을 하고 나서는 뭔가를 조작해서 객차와 기관차를 분리시키는 것..

아마 영화적 허용이 많이 들어갔겠지만, 옛날 열차는 연결기도 구조가 더 허술해서 차량을 분리시키는 게 더 쉬웠던 것 같다.

Posted by 사무엘

2024/03/15 08:35 2024/03/15 08:35
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/2275

1. 단 한 가지 장점

세상에는 단점이 많고 정말 불편하고 너무 비효율적이어 보이지만.. 여전히 쓰지 않을 수 없는 물건, 기계, 방법론 따위가 있다. 장점이 단점들을 다 씹어먹는 수준이고 다른 대안이 현실적으로 도저히 없기 때문이다.

(1) 교류 전기: 전기공학 이론의 난이도를 한 100배쯤 더 끌어올린 주범이다=_=. 직류보다 취급하기 너무 복잡하고 어렵고, 전자기기들에서는 어차피 직류로 변환도 해야 된다.
하지만 발전과 변압이 간편하고, 덕분에 대용량 전기의 초장거리 송전이 용이하다는 거.. 이 독보적인 장점 하나가 다른 모든 단점을 씹어먹었다. 건전지나 깨작거리는 수준으로는 오늘날 같은 눈부신, 찬란한 전기 문명이 절대 이뤄질 수 없었다.

(2) 헬리콥터: 고정익기보다 느리고 연비 안 좋고 대량 수송도 안 되고 너무 시끄럽고..;; 온통 단점뿐이지만 활주로 없이 수직 이착륙 가능하고 공중에서 정지할 방법이 이것 말고 더 있으리..??
(로켓도 양력이 아니라 추력만으로 공중에 뜨니 헬기 같은 기동이 이론적으로 가능은 하다. 하지만 걔는 헬기보다도 연비가 훨씬 더 안 좋다. -_- 로켓은 동체 대부분이 연료로 꽉 차 있으면서도 자동차나 비행기와 달리 엔진을 겨우 '분 단위'로밖에 가동을 못 한다.)

(3) 주사기: 아프고 공포스러운 데다 감염 위험도 있다. 하지만 먹거나 바르는 약보다 훨씬 더 빠르고 효과 좋으면서, 대놓고 배를 가르는 수술보다는 훨씬 더 간편하고 안전하다. 이 독보적인 장점을 대체할 다른 수단이 없다.

과학기술 분야는 전혀 아니지만, 복음 전하는 방법으로 거리 설교도 이와 비슷한 부류라고 개인적으로 생각한다.
불신자뿐만 아니라 교인들조차도 상당수가 부정적인 편견과 안 좋은 인식을 갖고 있다. "저래 갖고 누가 듣나", "광신자라고 욕 먹고 신고나 당하지", "그냥 어려운 주변 이웃 도우면서 이미지 제고나 하는 게 낫다" 등등..

근데 저 방법 말고 세상 사람들이 예수 천당 불신 지옥 메시지를 듣고 경고를 받고 복음을 들을 통로가 뭐가 있겠나? 그 사람들이 제 발로 기독교 방송을 듣겠나 스스로 성경을 찾아 읽겠나? 거부, 거절, 부정적인 피드백은 당연한 것이니 제대로 전한 것만으로 씨앗을 뿌린 것이다. 저건 주사기만큼이나 더 나은 다른 대안이 없다.

다시 과학기술 얘기로 돌아오면..
저 사례들과는 정반대로, 언뜻 보기에 많은 장점이 있어 보이지만 치명적인 단점 한두 가지가 해결이 안 되어 주류가 못 되고 묻혀 버린 기술도 있다.
무탄피총이라든가 비행선, 반켈 엔진 같은 거 말이다.

2. 세분화, 전문화

대학 이상의 고등교육을 받고 인간이 이룩한 온갖 과학기술, 특히 공학의 세계를 맛보기나마 접하면서 느끼는 점 중 하나는..
이 바닥은 정말 깊게 세분화돼 있어서 한 사람이 모든 걸 다 알기가 불가능하다는 것, 그리고 기계도 하나만으로 이것저것 다 대응 가능하게 만들지는 않는/못한다는 것이다.

현실에서는 스타크래프트 테란과 달리, 단일 차체로 곡사 자주포와 장갑차 역할을 동시에 수행하는 탱크를 만들지 못한다.
미사일 하나만 해도 대공이냐 대잠이냐 대전차냐.. 전투기가 발사하냐 잠수함에서 발사하냐에 따라 미사일의 형태와 폭약과 추진제의 구조가 다 달라진다. 하나 만드는 정밀 기술로 다른 분야를 커버할 수 없다.

물에서 항해도 가능하고 공중 비행도 가능한 비행정은 비행기의 태동 초기에 잠깐 쓰이다가 말았다. 물 저항을 적게 받는 디자인과 공기 양력을 잘 받는 디자인에 서로 교집합이 없기 때문이다.
항해도 가능하고 지상 주행도 가능한 호버크래프트/수륙양용차 같은 건 해병대 상륙 작전용으로나 쓰이지, 여객용..?? 아니올시다. 가성비가 맞지 않는다.
로터를 기울여서 헬리콥터도 되고 프로펠러기도 되는 비행기조차도 성능이 어정쩡하고 비싸서 널리 실용화되지 못했다.

그리고.. 비행체 엔진만 해도 지상에서 뜰 때, 아음속 비행, 초음속 비행, 심지어 우주 기동에 적합한 엔진의 형태가 다 다르다.
단일 엔진 단일 기체만으로 단 분리 없이 대기권과 우주를 모두 비행..??? 현재 인간의 기술로는 불가능하다.
이러니 SF물만 많이 봤던 사람들이 아폴로 우주선의 '달 착륙선'을 보면 깜짝 놀라는 것이다. 유체역학적인 디자인이 전혀 아니기 때문에.

  • 이거 뭐 첫 이륙과 출발 때는 터보 팬이나 터보 제트를 썼다가 극초음속에서는 램 제트..?? 변속기를 넣어서 자동차처럼 기어비를 바꿀 게 아니라 아예 속도별로 엔진을 바꿔 끼워야 할 지경이다. 기술적으로 당연히 불가. ㄲㄲㄲㄲㄲㄲㄲ
  • F1 레이싱용 자동차들은 정말 서킷 전용으로 극도로 특수하게 만들어진 놈들이다. 시내를 달리는 일반 자동차들처럼 신호 받으면서 저속으로 가고 서다 하다가는 다 퍼지고 고장날 거라고 한다.
  • 시속 200짜리 기록 도전용으로 만들어지는 특수한 자전거도 마찬가지. 기어비를 극단적으로 높게 맞춘 채로, 공기 저항을 몸빵해 주는 자동차를 졸졸 뒤쫓아가는 것에만 특화돼 있다. 이 자전거를 사람이 정지 상태에서 페달 밟아서 시속 200까지 몽땅 가속시키는 건 아니며 그럴 수는 없다고 한다.. -_-;;;

동력 기관 말고 안전 장치만 해도, 총알을 막아 주는 방탄유리가 교통사고 때 쉽게 깨지지 않는 안전유리의 역할까지 동시에 수행하지는 못한다.
오토바이 헬멧이랑 공사장 헬멧도 역할이 다르며, 방검조끼와 방탄조끼 역시 한쪽이 다른쪽 영역까지 동시에 보호해 주지 못한다는 한계가 있다.

하긴, 굳이 물건뿐만 아니라 사람의 전문성도 마찬가지이다.
미친 난이도를 자랑하는 리스트의 클래식 피아노를 치는 전공자라도 재즈 반주를 보면 벙 쩔 수 있다. 영역이 완전히 다르기 때문에.
공기총 스포츠 사격 금메달이랑, 군대 육군 소총수의 특등사수 사격, 그리고 특전사 저격수의 사격은 다들 영역이 다르고 잘 호환되지 않는다. 한쪽을 잘하는 사람이 다른 분야까지 전문가를 겸하지 못하며, 그나마 원래 전문인 분야도 며칠만 연습· 훈련을 게을리하면 금세 감이 무더져 버린다.

그러니 사람뿐만 아니라 총기도 용도별로 특성이 모두 다른 건 당연지사다.
저격수 정도로 극도로 민감하고 전문적인 분야로 오면 총도 무슨 악기마냥 전용 케이스에 넣어서 고이 간직해야 하고, 수시로 닦아 주고 손질해야 한다.
유효 사정거리를 겨우 100~200m로 잡는 일반 쫄병들이야 훈련용 총 따로, 실전용 총이 따로이고 소총과 함께 진흙탕에 막 뛰고 뒹굴기도 한다만.. 그런 건 저격수한테는 상상조차 할 수 없다.

3. 한 10년 전부터, 앞으로 2~30년 안으로 없어질 거라고 난리였던 것들

(1) Java, C# 같은 가상 머신 언어가 주류가 되고, 구닥다리 C/C++ 프로그래밍은 한물 갈 거다
그럴 리가.. C++이 2010년대 이후부터 얼마나 괴물 같은 문법과 기능들이 마구 추가되고 상상을 초월하게 바뀌었는지를 알면.. 저건 이불킥 수준의 단견임이 느껴질 거다.
아 물론 MFC 같은 일부 프레임워크는 한물 간 거 맞다. 기존 프로젝트들을 유지보수 하는 용도로만 쓰이지 신규 제품 프로젝트를 저걸 써서 진행하는 경우는 거의.. (간단한 내부 툴, 데모, 쌤플 정도나 만드는 경우 말고) 전멸이다.

(2) Windows NT 커널이 없어질 거다
마소에서 차세대 Windows를 표방하며 한때 개발했던 Midori니, Windows 10X 같은 건 전부 망했다. 만들려다 말았고 개발 중단됐다. NT 커널이 없어진다니 그게 말이나 되는 소리인가.;;
마치 인텔에서 x86 말고 다른 계열 CPU를 만들려다가 만 것과 비슷한 취급이다. 과거의 Itanium이라든가 i860, i960 같은 거.

(3) 폰트에서 힌팅이란 게 없어질 거다
요즘 서브픽셀 안티앨리어싱 기술이 많이 발달했고, 어지간한 디스플레이 해상도가 30~40년 전의 도트 프린터에 근접하기는 했지만..
그래도 작은 본문 글씨에서 힌팅이 있고 없고의 차이는 유의미한 걸요?? 힌팅 없으면 획이 뿌옇고 뭉개지는 게 여전히 티가 난다.
맑은 고딕도 언뜻 보기엔 100% ClearType빨인 것 같지만.. 똠 뷁처럼.. 2350자 밖의 비완성형 글자를 작게 찍어 보시라. 힌팅이 적용된 일반 2350자 글자보다 훨씬 못생겨진다.

물론 옛날처럼 한땀 한땀 쑤제로 정교하게 힌팅을 할 필요는 없고, 심지어 대부분의 절차가 자동화, AI화는 될 것이다. 그러나 완전히 없어지지는 못할 거다. 마치 비행기 유인기 vs 무인기의 역할 분담과 비슷한 관계가 될 듯하다.

Posted by 사무엘

2024/03/12 19:35 2024/03/12 19:35
,
Response
No Trackback , 3 Comments
RSS :
http://moogi.new21.org/tc/rss/response/2274

1. 증기 기관차 지하철

1863년 1월, 영국 런던에서는 세계 최초의 지하철 메트로폴리탄 선이라는 게 개통했다.
이때는 미국에서 남북전쟁이 한창이던 시절이었다. 링컨이니 남북전쟁이니 하는 얘기랑, 대도시 지하철이 동시대라니 도저히 어울리지 않는 것 같다. 그때 우리나라 조선은?? 이제 겨우 대동여지도가 만들어진 지 얼마 안 됐다. ㄲㄲㄲㄲㄲㄲ

허나, 남북전쟁은 일개 내전 주제에 기관총 저격총에, 철도 보급 총력전에 초보적인 잠수함까지 등장한 의외의 첨단 과학기술 전쟁이었다. 그 와중에 런던에서는 지하철이 개통하긴 했는데..
지하철에서는 증기 기관차가 다녔다. ㅡ,.ㅡ;; 아직 전기 철도라는 게 개발되지 않았기 때문이다. 그러니 지하에서 석탄 매연 문제가 장난 아니게 심각했다.

사용자 삽입 이미지

1890년이 돼서야 영국 지하철에서 처음으로 전기 철도라는 게 등장하고 지하철의 주 동력원은 전기로 바뀌었다. 증기 기관차를 경험한 적 있는 지하철은 당연히 세계 전체를 통틀어 저기가 유일하다.

이렇게 전철이 개발되면서부터 유럽 열강들 대도시의 지하철은 1890~1910년 사이에 집중적으로 만들어졌다.
일본은 최초의 도쿄 지하철인 긴자 선이 딱 영국 스타일로 표준궤에 제3궤조 집전식으로 만들어졌지만, 그 뒤에는 전부 협궤에 가공전차선으로 바뀌었다.

2. 원자력 기관차

1950년대 냉전 초창기는 증기 기관차가 슬슬 끝물을 보던 시절이었다. 이때 미국과 소련에서는 탄수차 대신 원자로를 얹어서 물을 끓이고 터빈을 돌리는 원자력 기관차라는 무시무시한 물건을 생각했었다.;; 이른바 atomic train, nuclear locomotive..

사용자 삽입 이미지사용자 삽입 이미지

역시 원자력답게 연료봉을 하나 꽂아 주면 거의 1년은 마일트레인 급의 무시무시한 화차들을 잘 끌고 다닐 수 있겠다는 계산이 나오긴 했다. 원자로를 표준궤 열차 수준으로 소형화하는 게 쉬운 일이 아니었지만, 이건 도저히 극복 불가능한 문제는 아니었다.

하지만 안전 문제가 너무 노답인 데다, 그 시절엔 기름값이 확 싸지고 디젤 내지 전기 기관차 기술도 눈부시게 발달해 버렸다. 경쟁 후보 대비 가성비가 확 떨어진 바람에 이 계획은 1950년대에 구상 단계에서 다 백지화됐다. 오늘날 원자로가 탑재된 교통수단은 전부 해군에 소속되어 망망대해에서만 뛰고 있다(잠수함, 항공모함).

3. 가스 터빈 고속철

1964년 10월에 개통된 일본 신칸센은 자동차와 비행기에 밀려 몰락하던 세계의 철도 업계에 신선한 충격을 선사했다.
100여 년 전, 영국에서 "철도를 지하에다 집어넣어서 도시 교통체증을 해결해 보자",
30여 년 전, 독일에서 "신호 대기 없이 쭉쭉 달리는 자동차만의 전용 도로를 만들어 보자"에 이어..
일본에서는 "건널목을 몽땅 없애고 총알탄 열차를 만들어서 교통난을 해소하자"라는 엄청난 아이디어를 구상하고 실현한 것이다. 물론 쟤들은 미래가 없는 노답 협궤 기존선들 때문에 상황이 더 절박했던 것도 있고 말이다.

일본 신칸센이 열차로서 시속 200km를 최초로 넘자, 프랑스에서는 TGV라는 고속철을 자체 개발했다. 그런데 얘들은 처음엔 가스 터빈을 동력원으로 검토했다. 즉, 프랑스는 내연기관 고속열차를 연구 개발해 본 유일한 나라이다.

1963년에 신칸센 전철이 시운전 시속 250km를 돌파한 데 이어, TGV 001호는 가스 터빈 엔진으로 1972년에 시운전 시속 318km를 기록하기도 했었다. 그러나 1973년 이후 오일쇼크가 닥치자 기름값 유지비가 감당이 안 됐고.. 이를 계기로 TGV도 개발 차량이 아닌 영업용 차량은 신칸센처럼 100% 전철로 동력원이 바뀌었다.

사용자 삽입 이미지

아까 원자력 기관차는 기름값 하락이 몰락에 일조했던 반면, 얘는 반대로 기름값 상승이 몰락에 기여했다는 차이가 있다.
교통수단에서 터보샤프트 급 가스 터빈 엔진은 헬리콥터나 탱크 정도에서 쓰이고 있다. 철도 차량의 동력원으로는 사례가 없지는 않지만 아주 마이너하다.
초창기 가스터빈 떼제베 001과, 후대의 전철 떼제베는 관계가 마치 우리나라 DEC / EEC 열차쌍과 비슷해 보인다.

4. 제트 엔진 고속철

이건 초음속 자동차의 철도 버전이며, 앞의 2번과 3번을 합친 것 같은 무시무시한 야사이다.
미국과 소련에서는 가스 터빈 정도가 아니라 노즐까지 달린 제트 엔진을 철도 차량에 접목할 생각도 했었다. 1960년대 중후반까지 말이다.

사용자 삽입 이미지사용자 삽입 이미지
(러시아에서 개발한 Yak-40, 미국에서 개발한 M-497)

그래서 이런 게 실제로 개발됐었다. 달에 먼저 가겠다고 우주 경쟁을 하던 시절에 서로 이런 것도 만들었다는게 참.. ㄷㄷㄷㄷ 얘들는 바퀴식 고속전철이 한참 나중에야 달성한 시속 300~400을 1960년대에 진작에 찍기도 했다.

오오~ 전차선과 팬터그래프가 달리지 않은 고속철도라니.. 게다가 얘는 바퀴를 굴리는 게 아니라 공기를 뒤로 밀어내면서 달리니 마찰이 부족해서 발생하는 공전 현상 따위의 영향도 받지 않겠다.
과거 우리나라의 새마을호 디젤 동차가 잠수함 엔진을 얹었다면, 쟤들은 폭격기 엔진을 얹었다.

그러나 이런 게 실용화되지 못한 이유는 뭐.. 더 설명이 필요하지 않을 것이다.
연료 소모가 너무 극심할 뿐만 아니라, 선로 주변에 배기가스와 귀를 찢는 소음 문제가 장난이 아니었기 때문이다.
게다가 이때는 훨씬 더 경제적이고 주변에 민폐 덜 끼치면서 시속 200~300을 찍는 신칸센 고속전철이 개통돼 있었기 때문에 가성비 면에서 더욱 수지가 맞지 않았다.

철도 차량의 제트 엔진은 차체를 통째로 공중에 들어올리는 건 아니니까 비행기보다 연료 소모가 적을 거라는 생각이 들지 모르겠다. 하지만 꼭 그런 것만은 아니다. 이 지표면은 비행기들의 순항 고도 지점보다 공기의 밀도가 높고 공기 저항이 훨씬 더 심하기 때문이다.

비행기만 해도 저고도에서는 속도와 연비가 우리 생각 이상으로 급격히 떨어진다. 비행기가 괜히 힘들게 수 km 이상 위로 상승하는 건 단순히 승객들에게 멋진 구름 경치를 제공하기 위해서인 게 아니다. 자동차에 경제 속도가 있듯이 비행기에도 경제 고도가 있는 셈이다.

10km 고도에서 마하 1~2를 찍는 전투기라도 겨우 수백 m 고도에서는 그 속도로 날지 못한다. 엔진에 과부하가 걸리는 걸 넘어 기체가 공기 저항을 못 버티고 부서진다고 한다.;;
이걸 생각하면 사막에서 제트 엔진 얹어서 시속 1600km대로 주행한다는 초음속 자동차가 대단하게 느껴진다.

옛날에는 rocket이라는 말이 지금처럼 대중화되지 않아서 진짜로 로켓을 연구하는 NASA의 연구소마저 이름이 '제트 추진 연구소'였었다. 그런데 훨씬 더 옛날에 영국에서 증기 기관차의 이름이 그 당시로서는 초고속이었다고 '로켓 호'라고 지어졌다니.. 이것도 참 의미심장하다.

Posted by 사무엘

2024/03/10 08:35 2024/03/10 08:35
Response
No Trackback , 2 Comments
RSS :
http://moogi.new21.org/tc/rss/response/2273

호박 덕질 근황

2024년이 벌써 두 달이나 지났다.
본인은 늘 해 오던 것처럼 직장을 잘 다니고 있고, 날개셋 한글 입력기의 다음 버전을 틈틈이 개발하고 있다.
교회 생활이랑 멧돼지 호박 덕질도 변함없고... 그러던 와중에 올해 초에는 예쁘고 착한 여친을 사귀기 시작했다.
나이 40을 넘겨서도 20대 같은 연애가 가능하다는 게 참 신기하다.;; 한편으로 결혼을 위해서 앞으로 집은 어찌 하고 살림을 어떻게 합칠지~~ 이것저것 고민도 많다.

오늘은 오랜만에 호박 덕질 근황을 좀 업데이트 하도록 하겠다.

1. 먹은 호박

사용자 삽입 이미지
사용자 삽입 이미지사용자 삽입 이미지

작년 10월 초에 옥상에서 땄던 그 500그램짜리 꼬마 호박. (직접 씨 뿌리고 키우고, 내 손으로 직접 암꽃에다 꽃가루 묻혀 줘서 만든 열매 ^^)
그리고 작년 11월 초에 길거리에서 샀던 큼직한 풋호박. (설익은 놈이어서 저 크기가 만 원도 안 했었음)
둘 다 처음엔 짙은 초록색이었는데.. 3개월이 넘는 숙성 기간 동안 다들 정말 많이 누래졌다.

사용자 삽입 이미지

생각 같아서는 이 아이들을 천 년 만 년 놔두고 싶다. 하지만 이젠 보내 줄 때가 됐다고 여겨진바, 지난 2월 중순쯤에 드디어 같이 도축해서 죽을 쑤어 먹었다.
죽의 색깔이 주황보다는 노랑에 더 가깝다. 뭐, 상태 좋고 달콤하고 맛있더라. 여친과 데이트 때도 가져가서 같이 나눠 먹었다.

2. 시장에서 본 호박

사용자 삽입 이미지사용자 삽입 이미지

사용자 삽입 이미지사용자 삽입 이미지

올해 1~2월 사이에 가락시장에서 본 귀여운 아이들이다.
내 인생에서 이렇게 큰 호박은 거의 처음 본 거 같은데..
아~ 크기 비교를 쉽게 할 수 있게 내 호박 쿠션을 위에다 올려 놓고 사진을 찍었어야 했다. 그리하지 못한 건 실수다.;;;
한 덩이 사고 싶었지만 정작 이 호박을 쌓아 놓은 상점 주인은 보이지 않았다.

늘 드는 생각이지만.. 우리나라에서 늙은호박은 주로 어디서 재배돼서 어떻게 유통되고 주로 어디로 팔려 나가서 소비되는지 개인적으로 참 궁금하다.
늙은호박은 애호박이나 단호박 정도로 end-user 지향적인 제품은 아니니 말이다.
상표가 부착되는 것도 없고, 가격도 그냥 상인이 부르는 게 값인 거 같고.. 농민들이 이익을 제대로 남기기는 하는지.. 궁금하네.. ^^

사용자 삽입 이미지

참고로 요건 본인이 2024년 2월 현재 집에서 보유하고 있는 관상용· 식용 겸용 호박이다. 다들 가락시장에서 샀다. 올해 3~4월 사이에 죽을 쒀서 먹을 것이다.

3. 키우는 호박

사용자 삽입 이미지
사용자 삽입 이미지사용자 삽입 이미지

지난 겨울 동안 집에서는 이런 걸 키워 놓고 구경했다.
호박은 싹이 나고 어느 순간까지는 길쭉하게 자라고 미친 듯이 꽃도 피우더니..
어느 순간부터는 갑자기 탈진한 듯 기력이 다하고 잎이 폭삭 시들고 죽곤 했다.

에구, 추위를 피하게 해 준답시고 무작정 실내에서만 키우는 것만이 답이 아닌 듯.. 그래도 몇 년 전에는 실내에서도 암꽃이 피고 나름 큼직한 열매까지도 구경했는데 말이다.
이제 한두 달 뒤면 호박을 밖에서 키울 수 있게 될 테니, 이걸 기대해 보련다.

사용자 삽입 이미지사용자 삽입 이미지
사용자 삽입 이미지사용자 삽입 이미지

이 상자에다가는 올해 초 1월쯤부터 호박씨를 10여 개 파묻어 봤다. 그런데 1주, 2주를 넘어서 1달 가까이 지나도록 싹이 안 나서 본인은 씨를 곳곳에다 더 심었는데..
이게 웬걸, 2월 중순쯤부터 하나 둘 싹이 나더니 3월 초에는 대부분의 씨앗에서 싹이 몽땅  돋아서 화분이 저렇게 콩나물시루가 돼 버렸다.

사용자 삽입 이미지

얘를 앞으로 어찌 다뤄야 할지 난감하다.. ^^
참고로 별도의 종자를 구매하는 건 아니다. 모든 호박씨는 그냥 죽 쒀 먹고 남은 늙은호박 안에 있던 씨들이다.

4. 호박 쿠션

사용자 삽입 이미지

끝으로.. 짜잔~~
생일 선물로 여친에게서 호박 쿠션을 받았다. ^^
원래 내 꺼보다 더 크고 더 포동포동 토실토실 푹신한 아이.
이런 착한 여친을 둔 나라는 사람, 억만장자가 안 부럽다!!

늙은호박은 둥글고 납작하고 쭈글쭈글하고 귀엽다!! 호박은 세계에서 가장 큰 '열매'를 맺는 식물이다. 가장 큰 잎이나 가장 큰 덩굴이 아니라 가장 큰 열매.
우리 모두 귀여운 호박 많이 가꾸고 맛있는 호박 많이 먹도록 하자~~ ^^

Posted by 사무엘

2024/03/07 19:35 2024/03/07 19:35
,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/2272

본인은 식물 중에서는 호박을 제일 좋아하고, 동물 중에서는 멧돼지를 제일 좋아한다.
전반적으로 시꺼먼데 주둥이 주변만 허연 테두리가 있고, 콧구멍은 무슨 전기 콘센트 같고,
코뿔소도 아닌 것이 뭔가 큼직하고 우악스럽고 저돌적인 인상이고.. 왠지 귀엽다.

사용자 삽입 이미지

상위 포식자가 없기 때문에 개체수 조절 차원에서 가끔 포획하는 건 어쩔 수 없다고 친다.. 하지만, 멧돼지의 위험성이 너무 과대포장돼서 그저 "저 동물은 해로운 동물이다" 급의 흉포한 맹수로만 프레임 씌워진 건 좀 안타깝게 느껴진다.
쟤들도 먹고 살려고 민가까지 내려오는 가련한 축생일 뿐이다. 괜히 흥분시키거나 도발하지 말고, 등을 쓰다듬고 긁어 주기만 해도 그리도 좋아한다는데.. ^^

남들이 멧돼지를 싫어하면 나라도 멧돼지를 사랑해 주고 싶다. 나도 깊은 산 속에서 토실토실 도야지를 한 마리 직접 만나서 먹을 거라도 직접 주고, 여건이 되면 새끼라도 한 놈 키워 보고 싶다.
고라니도 울나라에서 비슷하게 천대받는 야생동물이긴 한데, 개인적으로 걔는 이 정도까지 애정이 가지 않는다. 오로지 멧돼지만 좋다. ㅋㅋㅋㅋ

호박 덕질 얘기는 지금까지 많이 했으니 오늘은 오랜만에 멧돼지 얘기를 좀 늘어놓도록 하겠다. 어쩌다 보니 유튜브들 대부분이 출처가 KBS 애니멀포유 채널이다.

1. 짬멧돼지 (☞ 링크)

군부대 근처에서 짬밥 잔반을 잔뜩 먹으면서 살 뒤룩뒤룩 찐 고양이, 일명 '짬타이거'는 이미 유명하다.
그런데, 강원도 최전방 DMZ 부근에서는 도야지들도 짬밥 먹으면서 '짬멧돼지'가 돼 가는 모양이다. 특히 먹이가 귀한 겨울에 말이다.

사용자 삽입 이미지
사용자 삽입 이미지사용자 삽입 이미지

아유 귀여워라~~ 저 멧돼지들은 산 속에서 도대체 뭘 먹으면서 저렇게 덩치를 키웠을까?
멧돼지들을 가까이에서 보고 밥까지 준 경험은 저 군인들에게도 정서적으로 아주 긍정적인 영향을 줬을 것이다.

돼지와 인간이 먹이가 겹친다는 건 성경의 탕자의 비유에도 나올 정도로 유구한 역사를 자랑한다. (눅 15:16)
이는 돼지뿐만 아니라 개도 마찬가지다. 아문센 일행이 남극 탐험을 할 때 말이나 나귀 대신 개썰매를 동원한 주된 이유도 식량 보급을 단일· 단순화시킬 수 있기 때문이었다.

2. 애완용 멧돼지 (☞ 링크)

사용자 삽입 이미지
사용자 삽입 이미지

바로 이거다~~ 그래, 이런 사례가 없을 리가 없다니까? 세상에는 멧돼지를 애완동물로 시골이 아닌 도시에서 키우는 사람들도 있다. ^^
돼지는 지능이 아주 높으며, 개보다도 냄새를 더 잘 맡는다. 하지만 성깔이 X랄맞고 고집이 세기 때문에 돼지를 개처럼 인간과 친근한 반려동물 급으로 키우는 건.. 일반적으로 안 된댄다. 덩치가 너무 커진다는 건 차치하고라도 말이다.

그렇기 때문에 돼지를 무슨 마약 탐지견 같은 용도로 훈련시킬 수는 없다. 사냥개나 맹인 안내견은 두 할말 것도 없고.. 그건 개 중에서도 특정 품종에서만 가능하다고 한다.
그러고 보니 돼지는 새끼를 많이 낳아서 젖꼭지가 그렇게도 많은데도 인간이 딱히 젖을 먹지도 않는 것 같다. 정말 고기 말고는 다른 용도가 없는 듯.. ㄲㄲㄲㄲ

3. 다친 멧돼지 (☞ 링크)

사용자 삽입 이미지

이건 좀 애처로운 사례이다.
어느 커다란 도야지가 먹이를 찾아 민가까지 내려왔다가 그만.. 5m 높이의 담벼락에서 떨어져서 뒷다리를 못 쓰는 장애 불구가 됐다.
얘는 이래 가지고는 앞으로 야생에서 목숨 부지하고 살 수 없으며, 인간의 노력으로 치료도 안 된다. 그렇기 때문에 안타깝지만 안락사로 살처분됐다.

사용자 삽입 이미지사용자 삽입 이미지

이 아이는 다쳐서 비록 제 명에 못 살았지만, 여느 멧돼지들보다는 인도적인 최후를 맞이했다.
올무에 걸려서 오랫동안 고통스럽게 죽지 않았고, 납탄 맞아서 피 흘리며 죽지도 않고.. 나름 수의사의 통제 하에 저렇게 마취총부터 맞고 고이 안락사 당했으니까 말이다.

4. 서울 도봉구에 멧돼지 6마리 (☞ 링크)

이건 2024년 3월 현재, 서울· 수도권에서 제일 최근에 멧돼지가 출현했다는 언론 보도이다.
북한산 산기슭에 귀여운 도야지가 6마리나 나타났다고 해서 개인적으로 반가웠는데.. 모두 포획 당했댄다.
에휴~ 좀 먹고 살게 놔두지 왜 잡았는지 모르겠다. ㅠㅠㅠㅠ

그리고 기왕 멧돼지를 어쩔 수 없이 잡았다면 잘 해체하고 살균 처리해서 고기와 가죽을 적극 활용이라도 했으면 좋겠다. 어미 잃은 새끼가 주변에 있으면 애완용으로 분양이라도 적절히 하고 말이다~!!

※ 여담: 옛날 매체에서의 묘사

사용자 삽입 이미지사용자 삽입 이미지

1700년대 중후반, 조선 영조· 정조 시절엔 신 윤복이나 김 홍도 같은 풍속화 전문 화가가 활동했다.
그런데 그로부터 또 100년쯤 뒤, 1800년대 중후반엔 '김 준근'이라고 정체불명의 화가가 당시 자기 나라의 풍속을 엄청나게 많이 그림으로 남겼다. 백성들의 평범한 일상뿐만 아니라 형벌 집행이나 장례식 같은 것까지..

만약 카메라가 있었다면 저 사람은 화가가 아니라 사진 작가가 되지 않았을까 싶다. 다만, 저 때도 이미 시기가 시기이다 보니, 저 사람은 자기 그림을 외국인들에게 엄청 많이 판매했다. 그래서 세계인들에게 조선의 모습을 알리는 데 기여했다고 한다.

그리고 이 사람은 한반도에서 돼지가 가축으로서 키워지고 거래되는 모습을 그림 기록으로 남긴 거의 최초이자 유일한 화가라고 한다. (☞ 관련 링크 1, 관련 링크 2)

사용자 삽입 이미지

그리고 가만히 생각해 보니.. 참 뜬금없지만 화투짝에도 멧돼지가 그려져 있다. 화투에 급 호감이 생기는걸?? ㅋㅋㅋㅋㅋ
지금 우리가 생각하는 털 없는 분홍색 계열의 식용 최적화 집돼지는 생각보다 나중에 등장한 품종이긴 한 것 같다.

Posted by 사무엘

2024/03/05 08:35 2024/03/05 08:35
,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/2271

예전에 했던 말도 있지만.. 암튼 지난 30여 년에 달하는 컴퓨터의 역사를 곱씹어 보는 건 재미있다~!

1. 인텔 CPU

(1) 인텔 8086은 유구한 x86 시대의 서막을 연 기념비적인 16비트 CPU이다(1978). 나중에 출시된 8088은(1979) 거기에서 외부 데이터 버스만 8비트로 낮춰서 성능을 약간 디버프 했지만 가격도 낮췄다.
80186의 존재감은 비행기에서 보잉 717의 존재감과 아주 비슷하게 듣보잡이다. -_-;; 애초에 PC보다는 임베디드용으로 만들어진 8086의 변종이었다.

(2) 80286의 제일 큰 존재 의의는 보호 모드의 첫 지원이지만.. 이게 많이 부족하고 불완전해서 역시 듣보잡으로 묻혔다. CPU로서 80286은 그냥 클럭 속도 더 빨라진 8086이나 다름없고, 현실적으론 컴퓨터 완성품으로서 AT (286 기반)가 XT (8088 기반)보다 나아진 점이 훨씬 더 많이 와 닿곤 했다. 2HD 고밀도 디스켓, 배터리 기반 시계, 키보드 속도 조절 등..
그에 비해 101키 키보드, VGA 컬러 그래픽이나 하드디스크는 XT에도 일단 장착 가능은 했던 구성요소이다.

(3) 80386은 드디어 32비트 CPU이다. 32비트 정도는 돼야 어지간히 큰 정수라든가 부동소수점을 원활히 표현할 수 있고, 메모리 주소 공간도 넉넉히 확보해서 보호 모드 가상 메모리 같은 것도 구현할 수 있다.
오리지널 DX는 외부 데이터 버스와 메모리 주소 버스도 모두 32비트인 반면, 염가 다운그레이드 에디션으로 나중에 출시된 SX는 이게 각각 16비트, 24비트였다. 과거 8086과 8088의 관계와 거의 동일하다.

(4) 80486도 DX와 SX 구분이 있었는데, 이때는 단순히 부동소수점 코프로세서가 기본 내장된 게 DX이고, 안 그런 게 SX였다. 거기에다 486은 DX조차도 클럭 속도를 더 끌어올린 DX2, DX4 이런 구분이 있었다.
이때 'VESA 로컬 버스' 규격 갖고 많이 떠들곤 했다. 천상 486 전용 규격으로 쓰이다 말았지만..
그리고 캐시 메모리라는 게 들어가기도 하고.. 486이 386에 비해 많이 발전하긴 했었다.
1990년대 중반, 486? 펜티엄쯤부터 컴퓨터 본체의 모양이 모니터 아래에 가로로 놓는 게 아니라 모니터 옆에 세로로 놓는 형태로 슬슬 바뀌어 정착했다.

(5) 펜티엄은.. 외부 데이터 버스가 CPU의 레지스터보다도 더 큰 64비트로 확장됐다. 물론 그렇다고 펜티엄이 아키텍처 차원에서 64비트 CPU인 건 아니었다.
인텔 셀러론의 초창기 버전은 펜티엄 2에서 L2 캐시 메모리가 없는 보급 염가판이었다. 그런데 이게 아예 전혀 없으니까 성능이 너무 떨어져서 나중에는 캐시가 약간이나마 장착되기도 했다.

이렇듯, 컴퓨터의 성능에는 클럭만 영향을 끼치는 게 아님을 알 수 있다.
그리고 한때는 옵션으로 주어졌던 요소들이 나중엔 다 기본으로 포함돼 들어가고 다른 새로운 기능이 옵션으로 도입된다.

2. Windows 운영체제

  • Windows 3.0은 MDI 창, VGA와 본격적인 컬러 지원을 위한 장치 독립 비트맵(DIB), WinHelp(!!!) 같은 획기적인 기능을 도입했고, 3.1에서는 OLE, 트루타입 글꼴, 공용 대화상자를 도입함으로써 현대의 Windows 근간을 닦았다.
  • 거기에다 Windows 3.0은 386 확장 모드라는 걸 도입해서 80386 이상 CPU에서 지원되는 보호 모드 멀티태스킹 기능을 일부 사용하기도 했다. 하지만 앱이 전반적으로 돌아가는 건 다 16비트 기반이다.
  • Windows NT는 저렇게 도스 진흙탕인 기존 Windows와는 달리, 미래를 바라보며 개발됐다. DEC Alpha라는 64비트 CPU용 에디션이 있기도 했으나.. 이때는 컴퓨터의 메모리도 4GB보다 훨씬 모자랐고 Windows 역시 그냥 32비트 모드로 동작했다고 한다. 포인터 8바이트니 INTPTR이니 그런 거 없었다는 뜻..

그렇기 때문에 Windows의 역사상 최초의 진정한 64비트 프로그래밍을 개막한 아키텍처는 IA64였다.
그 전 20세기의 NT4 시절에는 DEC Alpha뿐만 아니라 PowerPC네 MIPS네 여러 자잘한 아키텍처를 지원하다가 말았고, 2000년대부터는 x64와 ARM64가 살아남았으니 2000년대 초가 중대한 전환점이었다.

허나, 그 전환점의 중심에 서 있던 IA64는 좋은 타이밍을 날리고 장렬히 자폭했다... =_=;; 사실은 IA64가 채택했던 VLIW라는 설계 방식부터가 성능 대비 단점과 위험 부담도 너무 큰 방식었다. 마치 자동차 엔진에서 통상적인 왕복 엔진이 아니라 로터리 엔진처럼 말이다.
이런 사연으로 인해 Windows 2000은 NT 계열의 개발 역사상 전무후무하게 오로지 x86 전용으로만 출시되는 이변이 벌어졌었다. 무슨 9x처럼 말이다.

  • Windows 98은 마우스 휠과 멀티모니터를 최초로 공식 지원하기 시작했다.
  • Windows 2000/ME에서는 일부 마우스의 옆구리에 달려 있는 추가 버튼을 L, R 말고 X-button이라는 이름으로 최초로 지원하기 시작했다. 아마 전통적인 상하 스크롤 말고 좌우 스크롤 휠도?
  • Windows 7은 SSD와 멀티터치 디스플레이를 최초로 공식 지원하기 시작했다.

아울러,

  • USB 메모리를 별도의 드라이버 설치 없이 자체적으로 인식하기 시작한 건 2000/ME부터다.
  • XP/Vista 어느 때쯤부터 이제 와이파이도 별도의 프로그램/드라이버 설치 없이 자체적으로 잡기 시작했다.
    무슨 프로그램 띄워서 모뎀 전화를 걸어서 인터넷 접속하고, 그 뒤부터 연결 시간이 올라가던 게 1990년대 말쯤 일이었는데.. 참 격세지감이다.

3. 하드웨어의 발전 양상

성능 증가

  • 1990년대 동안은 클럭 속도가 뻥튀기 하듯 폭증했다.
  • 1990년대 후반부터는 메모리 양이 폭증했다. Windows 95~98 사이 말이다.
  • 2000년대 이후부터는 무선 인터넷 네트웍 속도가 폭증해 왔다.

64비트화

  • 워크스테이션/슈퍼컴 쪽은 모르겠고, 개인과 가정 레벨에서는 1990년대 말에 게임기부터 가장 먼저 64비트 CPU를 도입했다. 내 기억으로 닌텐도64..;;
  • PC는 2000년대 초에 IA64가 대차게 망하는 바람에 한 타이밍을 완전히 놓쳤고, 2000년대 중반쯤 램 용량이 실제로 4GB를 넘긴 뒤에야 64비트가 대중화됐다. Windows 2000/XP가 아니라 Vista/7 타이밍이다.
  • 스마트폰 업계는 2010년대 중반쯤에 슬슬 64비트로 전환이 시작돼서 2010년대 말엔 32비트 앱에 대한 지원을 끊네 마네 하는 상태가 된 것 같다.

오늘날 경전철이라고 해서 협궤를 쓰는 게 아니듯, 주머니에 넣어 다니는 작은 모바일 컴퓨터라고 해서 16/32비트 따위를 쓰지는 않는다. 커다란 화면에다 현란한 천연색 3D 그래픽과 고화질 동영상을 찍으려면 64비트 고성능 CPU는 필수이다. 물론 고성능 CPU는 전기도 많이 먹으니 고성능 배터리도 필수..

4. 그래픽

(1) 그래픽 가속이라고 하니까 게임용 3차원 그래픽 렌더링이라든가 동영상 코덱 같은 것만 떠올리기 쉬운데.. 사실은 2D 기반의 통상적인 GUI 구현을 위해서도 작은 수준의 하드웨어 가속이 오래 전부터 쓰여 왔다.
마우스 포인터라든가(깜빡이지 않는 것, 마우스 포인터 자취 표시, 포인터 주변의 그림자).. 화면 스크롤도 다 가속의 결과물이다. CPU 연산 기반으로 도트를 옮기는 수작업이 아니다.

(2) Windows의 그래픽 API (GDI)는 너무 범용적이고 장치 독립적으로 만들어졌다 보니, 당장 화면에 그려지는 픽셀 도트 값을 알아 내거나 색깔 바꾸기, 메모리 내용을 그대로 비트맵으로 간주해서 뿌리기 같은 간단한 작업조차도 오버헤드가 크고 일이 쉽지 않았다.
비디오 메모리에다 숫자 하나만 쓰면 끝날 일을 뭐 펜을 만들고 브러시를 만들고 DC에다 select시키고.. 운영체제 차원에서 직통 접근을 허용하지 않았던 것이다.

그러던 것이 Windows 3.0에서 DIB가 도입됐고, Windows 95 내지 NT 3.5에서 CreateDIBSection 계열 함수가 추가됨으로써.. 메모리 내용을 비트맵으로 그대로 뿌리는 일은 그럭저럭 가능해졌다. 옛날 WinG가 제공했던 기능도 다 이런 것들이었다. ‘비트맵 고속 전송’
다른 3D 가속 같은 거 전혀 없이 이거 하나만으로 Windows에서 Doom을 포팅하고 돌릴 수 있게 됐다.;;

Doom은 3D 전용 가속 기능이 없이 CPU와 초보적인 그래픽 가속만으로 만들어진 마지막 3D FPS였던 셈이다.
이거 마치 인어공주가 CG 없이 100% 셀 애니로만 만들어진 마지막 디즈니 애니인 것과 비슷한 느낌이다.

(3) 하긴, 옛날에는 그래픽 파일의 압축이라는 것도 원시적인 run-length 방식이 고작이었다. 더 빡세게 압축된 GIF나 PNG 파일 하나 열려면 386급 이상 컴퓨터가 필요했고, 디코딩도 훨씬 더 오래 걸렸었다. 하물며 JPG는 뭐 말할 것도 없고..
동영상조차도 1990년대 초중반에 Video for Windows 이러면서 나돌던 AVI는 쌩 run-length 압축인 게 많았다. 화질이나 압축률은 완전 허접 수준이었다.

WinAMP로 486/펜티엄 급 Windows 95 PC에서 128kbps짜리 mp3을 하나 재생하면 CPU 사용률이 10~20%까지 치솟았는데.. 이 역시 아련한 추억이다.
지금 우리가 전화기로도 당연하게 감상하는 디지털 멀티미디어 데이터들이 불과 2~30년 전에는 이렇게 가볍게 다뤄지던 물건이 전혀 아니었다. 그나마 가볍게 다루려면 기술 수준이 더 낮은 아날로그 매체만으로 만족해야 했다.;;

5. 나머지

(1) 64비트와 멀티코어는 서로 다른 별개의 분야이지만 거의 같은 시기에 태동해서 동시에 도입됐다(Core 2 Duo). plug & play와 USB하고 비슷한 관계인 것 같다. Win95/98 시절엔 USB 없이 직렬 포트에다가 프린터나 스캐너를 연결하고는 "새 하드웨어 발견.." 이러기도 했었다는 것 기억 나시는가? =_=;;
아울러, 모니터가 와이드 화면이 대세가 된 것도 2000년대 중반쯤으로 64비트니 멀티코어니 하던 때와 시기가 아주 비슷하다.;;

(2) 2000년대 초중반, 사운드 카드가 '인텔 사운드맥스'인지 뭔지 아무튼 메인보드에 내장돼 들어갔다. 그래픽 카드도 어지간히 까다로운 게임을 하는 게 아니라 기본 기능은 그냥 메인보드 내장으로 퉁쳐졌다.

(3) 요즘 노트북이나 스마트폰은 너무 얇아져서 뭔가를 꽂는 단자조차 너무 간소화되는 것 같다. 이건 개인적으로 좀 불편하게 느낀다.;;
가령, 구형 맥북은 큼직한 USB-A를 바로 꽂을 수 있지만 요즘 맥북은 그렇지 않고 C형만 꽂을 수 있다. 그리고 구형 갤럭시는 컴터용 이어폰을 바로 꽂을 수 있는 반면, 요즘 갤럭시는 그렇지 못하다.

(4) 범용적인 컴퓨터 말고 다른 기계들의 사정은 어떨까?
가정용 게임기, 업소용 오락기.. 이 둘도 차이가 있을 것 같고 내비게이션, 노래방 기계, 그리고 VR 게임기에 쓰이는 컴퓨터도 평범한 가정용 CPU 기반은 아닐 것 같은데.. 심지어 x86 계열이 아닐지도..??
요즘은 폰에 밀려서 디지털 카메라라는 물건이 많이 도태했지만, 그래도 부팅이 엄청 빨리 되는 것과 zoom이(= 렌즈빨) 더 뛰어난 건 디카만의 독자적인 장점이다. 그런 기기를 프로그래밍 하는 건 아무래도 임베디드 영역이지 싶다.

Posted by 사무엘

2024/03/02 08:35 2024/03/02 08:35
, , ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/2270

1. 행렬의 기본연산

우리는 학교에서 방정식을 푸는 방법에 대해 배울 때, 등식에 대해 너무 당연해 보이는 원리를 배운다.
등식의 양변에 같은 수를 더하거나 빼거나 곱하거나, 나누더라도(비영) 등식은 성립한다는 거.

이건 사실 너무 당연한 얘기이다. 이미 값이 같은 두 수에다가 동일한 수로 동일한 연산을 하면 그 결과도 서로 일치할 수밖에 없다. 그런데 그 당연한 이치만 이용해서 복잡한 방정식을 푸는 게 수학의 묘미이다.
등식의 좌변과 우변을 마법 같이 변형하고 복잡한 항을 옮기거나 없애고, 궁극적으로 좌변에 x 하나만 남기니까 말이다.

그런데 행렬을 다루는 선형대수학으로 가면 이와 비슷한 방법론이 또 등장한다. 이른바 행렬을 줄 단위로 변형하는 기본 연산 말이다.
저 줄이라는 게 가로줄(row 행)인지 세로줄(col 열)인지는 중요하지 않다. 행렬에서 임의의 두 줄을 뽑아서 한 줄의 숫자를 그대로 또는 스칼라(상수)배 한 뒤, 다른 줄에다가 그대로 더해 준다. 두 벡터 A, B에 대해서 A = A + n*B 같은 셈이다.

행렬이라는 건 그냥 방정식이 아니라 변수도 여러 개, 식도 여러 개인 연립방정식을 풀기 위해 도입된 물건이다.
연립방정식을 풀기 위해서 우리가 하는 일은 식에서 변수를 하나씩 소거하는 것이다.
어떤 식은 x y z 변수가 모두 등장하지만 다음 식은 x를 소거하여 y z만 남기고, 마지막 식은 z만 남기고..
그러면 그 z를 y-z 식에다가 대입해서 y를 구하고, 이걸 x-y-z 식에다가 대입해서 x까지 모두 구하면 된다.

이 과정이 행렬로 치면 '삼각화'이다. 행렬이 나타내는 방정식의 특성(= 근)을 변형하지 않으면서 0이 아닌 숫자를 행렬의 반쪽에다가만 남기는 것이다.
그리고 그렇게 삼각화하는 수단이 바로 저 줄 단위 기본연산이다. 없애고 싶은 칸의 숫자를 스칼라배를 통해 동기화시키고 나서 빼 주면 그 칸은 0이 되어 소거된다.

행렬의 기본연산의 묘미는 바로..
한 줄 내용의 상수 배를 딴 줄에다가 아무리 더해 주더라도 행렬 내지 방정식의 전체 특성이 전혀 바뀌지 않는다는 것이다. 특히 그 행렬의 행렬식의 값이 변하지 않는다. 오로지 자기 자신을 상수 배 했을 때만 행렬식 값에도 그 배율이 반영된다.

왜? xyz축을 각각 가리키는 단위 벡터들을 생각해 보자. z축을 1만치 향하는 벡터에다가 완전히 다른 방향인 x, y축을 가리키는 벡터를 제아무리 더해 줘도 z축 방향은 영향을 받지 않는다.
커버하는 벡터 공간이 정육면체이던 것이 찌그러진 평행육면체가 될지언정, 그 육면체의 부피가 바뀌지는 않는다는 걸 생각하면 이해에 도움이 될 것이다. 오로지 z축 자체의 크기를 키워야만 육면체의 부피가 바뀔 것이다.

이 기본연산으로부터 유도 가능한 재미있는 특성이 또 있다.
행렬에서 서로 다른 임의의 두 줄을 맞바꾸는, 다시 말해 교환하는 것을 저 기본연산들의 조합으로 구현할 수 있다. 그리고 이렇게 교환을 하면 행렬식 값이 부호가 바뀐다.

  • 임의의 두 줄 (A,B)가 있는데 먼저 A줄에다가 B줄 내용을 빼서 (A-B,B)를 만든다.
  • 그 뒤 B에다가 지금 A줄의 값이 돼 있는 A-B를 더해 주면 B가 소거되어 (A-B,A)가 되고..
  • A-B가 돼 있는 A줄에다가 지금 B줄의 값인 A를 빼면 (-B,A)가 된다.
  • 이제 -B에다가 -1을 곱하면 (A,B)가 (B,A)로 교환이 완료되고.. 이때 행렬식의 부호도 -1이 곱해지면서 바뀐다. 이런 원리 때문이다. =_=;;

이 바닥에서는 피연산자의 순서가 바뀌면 결과의 부호가 달라지는 연산을 심심찮게 보는 것 같다. 벡터곱(외적)이라든가, 사원수 i,j,k끼리의 곱 같은 거 말이다. 행렬의 줄 교환 기본연산도 그런 축에 드는 셈이다.

2. 두 변수 교환

그리고 위의 저 로직은 컴퓨터 코딩깨나 하는 분들에게는 꽤 낯익을 것이다.
임시 변수를 사용하지 않고 두 변수 값을 맞바꾸는 swap 알고리즘과 개념적으로 일맥상통하기 때문이다. 즉, C 코드로 치면 아래 식을 적용한 거나 마찬가지이다. ㄲㄲㄲㄲㄲㄲㄲ

a -= b, b += a, a -= b; a=-a;

물론, 코딩을 할 때는 꼭 합성 대입 연산자에만 집착할 필요는 없으니, 피연산자의 배치 순서를 바꿔서 부호 전환을 축약시키곤 한다.

a += b, b = a-b, a = a-b;

덧셈과 뺄셈 대신, 곱셈과 나눗셈을 써도 되기는 한다. 그러나 이건 실용성이 최악이다.
그렇잖아도 임시 변수 안 쓰는 swap 자체가 실무에서는 딱히 쓰이지는 않고 "이런 테크닉도 있다" 수준으로 짚고 넘어가는 잉여이다. 근데 하물며 swap을 위해서 덧셈-뺄셈보다도 더 무거운 곱셈과 나눗셈이라고??
오버플로 가능성, 피연산자에 0이 있을 때의 문제, 부동소수점인 경우에는 오차 문제.. 정말 할 짓이 못 된다.

사실, 컴퓨터의 입장에서 이런 맞교환 용도로 덧셈· 뺄셈보다도 더 낫고 최고 적합한 연산자는 바로 비트 xor이다. 얘는 같은 피연산자를 두 번 적용하면 도로 원래 숫자로 돌아온다는 마법 같은 특성이 있기 때문이다. (A ^ B)^B = A 다시 말해 xor은 항등원이 0이고 역원은 걍 자기 자신.. 그래서 프로그래머라면 잘 아시다시피

a ^= b, b ^= a, a ^= b;

정말 매끄럽고 단순한 합성 대입 연산자 3방으로 swap이 바로 구현된다. 컴퓨터의 입장에서 xor은 산술 연산보다 속도도 더 빠르며, overflow 문제도 전무하니.. 가히 최적이다.

다만, 다시 얘기하지만 임시 변수 안 쓰는 swap은 실용성이 별로 없다.
연산이 병렬화 이념과 맞지 않으며, 실수로 a와 b에다 같거나 겹치는 메모리 주소를 줘서는 절대로 안 된다.
"하이고, swap 때 변수 하나 줄여 갖고 메모리 얼마나 절약했고 얼마나 팔짜 폈나? ㅋㅋㅋ" 이런 비아냥이 나올 만도 하다.

임시 변수 안 쓰는 swap의 자매품으로는..
O(1)을 초과하는 추가 메모리를 쓰지 않는 n log n 정렬 알고리즘(heap 정렬)이라든가 parent node가 없는 트리 자료구조를 생각할 수 있을 것 같다.
하지만 현실에서는 안정성 있는(stable) n log n인 merge sort라든가, 아예 n^2이지만 아주 가벼운 insert sort가 소규모 한정으로 선호된다. heap sort가 막 메리트가 있다고 여겨지지는 않고 있다.

그리고 parent node 없이 스스로 균형잡는 tree 자료구조의 삽입· 삭제를 구현하는 것 자체는 당연히 가능하다.
그러나 C++에서 제공하는 set, map 부류의 컨테이너들은 가벼운 포인터 기반의 iterator로 원소 순회 기능을 제공하다 보니.. 어차피 다들 node에다가 parent 포인터를 갖추고 있다.

이게 없으면 iterator가 자체적으로 스택을 가진(= 현 순회 상태를 저장) 복잡한 클래스가 돼야만 트리 내부를 순회할 수 있기 때문이다.
뭐, 노드 하나당 8바이트짜리 포인터 오버헤드가 추가됐다고 해서 요즘 세상에 컴퓨터가 메모리가 부족하다고 징징대지는 않는다. ^^

3. 여담

(1) 행렬 얘기를 하다가 프로그래밍 얘기가 너무 길어졌군..;;
아무튼 선형대수학에서 행렬을 다루는 기법을 보면 원소들을 쭉쭉 옮겨서 행렬을 \ 모양의 삼각형 형태로 가공하는 게 많다. 삼각형 모양이 된 행렬은 그 대각선상에 있는 원소만 쭈룩 곱하면 행렬식을 구할 수 있고 여러 모로 취급이 편하기 때문이다.

행렬식이나 역행렬을 구할 때는 행렬에다가 앞서 언급했던 기본연산을 적용하면서 행렬을 삼각화하게 된다. 그런데 이 과정을 기록으로 남겨서 원본 행렬을 아예 하삼각행렬과 상삼각행렬의 곱으로 일종의 분해를 할 수 있다. 단, 앞서 등장하는 하삼각행렬은 주대각 성분이 모두 1... 이걸 LU 분해라고 부른다.

(2) LU 분해 말고 PD(P^-1)이라는 세 형태로 행렬을 분해하는 더 어려운 기법도 나중에 다뤄진다. 이건 행렬의 고유값/고유벡터와 관계 있는 더 어려운 개념이어서 나중에 다뤄지는데.. 행렬식이 아니라 행렬의 거듭제곱을 단순한 형태로 표현하게 해 주는 아주 강력한 도구이다.

(a+b) 기호의 다항식을 n승 하면 항이 더덕더덕 늘어나는데, 이는 행렬도 마찬가지이다. 그런데 주대각성분에만 값이 붙어 있는 대각행렬은 n승 해도 항이 늘어나지 않고 마치 스칼라값처럼 자기 자신의 지수만 늘어난다.
PD(P^-1)은 행렬을 대각행렬 D를 포함한 형태로 분해하는 기법이다. 이에 대해서는 나중에 추가로 글로 정리하도록 하겠다.

(3) 임의의 a,b,c...꼴의 원소에 대해서 행렬의 곱셈뿐만 아니라 행렬식이나 역행렬을 구하는 일반적인 공식도 유도할 수는 있다. 그러나 행렬식 하나만 생각해 보면, n 크기 정사각행렬의 행렬식은 계수가 n인 항이 2n이나 n^2, 심지어 2^n개도 아니고 n!개씩 달라붙는다.;; 아시다시피 그 행렬식은 이전 n-1크기 행렬식들을 n개만치 더하고 쪼개는 걸 반복하는 형태로 재귀적으로 정의되기 때문이다.

그렇기 때문에 큰 행렬을 다룰 때 실무에서는 일반적인 공식은 사실상 의미를 갖지 않는다. 그냥 행렬에다 기본연산을 열나 적용한 뒤에 주대각 성분을 곱하고 말지. 이러면 O(n^3) 정도의 복잡도가 나온다. 얘들은 중간 계산 결과들이 저 복잡한 항의 개수를 줄여 주는 거나 마찬가지이다.

FM대로 재귀적으로 행렬식을 구하더라도 다이나믹 기법으로 이전 계산 결과를 적절히 저장하면 시간 복잡도를 팩토리얼에서 다항함수로 바꿀 수는 있을 것이다.
하지만 이건 쪼개진 sub행렬을 기술하는 게 생각보다 빡세고 쉽지 않다.;;; (직접 생각해 보면 이게 무슨 말인지 알 거임. ㄲㄲㄲㄲㄲ) 크기가 다양한 행렬들의 곱셈 횟수를 최소화하는 문제와는 상황이 좀 다르다. 그러니 이러나 저러나 FM은 실용성이 떨어진다는 건 어쩔 수 없어 보인다.

Posted by 사무엘

2024/02/28 08:35 2024/02/28 08:35
, ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/2269

- 크롬 브라우저: 가끔 멍 때리면서 URL + 엔터 때려도 페이지 로딩이 안 되고 아무 동작 안 하는 버그. 아마 어디 스레드끼리 데드락이 걸린 것 같은데.. chrome 프로세스들을 몽땅 강제 종료시키고 재시작을 해야 해결된다. 열어 놨던 브라우저 창들은 다 날아가고.. 빨랑 고쳐졌으면 좋겠다.

- Window 시작 메뉴: 가끔 검색어를 입력해도 멍때리면서 아무것도 안 나오는 버그. 이거 진짜 Windows 10 초창기부터 있었고, 고쳐진 듯하다가도 지금 win11 시국에서도 제대로 고쳐지지 않은 것 같다. 프로그램 좀 똑바로 못 만드나.. =_=

- '영화 및 TV'나 클래식 Media Player가 낫지, '미디어 플레이어' 앱은 품질이 개허접이다. 슬라이더를 움직여서 동영상을 여기저기 seek하다 보면 영상이 안 나오고 먹통 되는 버그가 있다.

- Windows 배경 그림이 일정 시간 간격으로 쫙 오버랩으로 바뀔 때: 수백만 개에 달하는 픽셀이 수십 프레임을 거쳐 바뀌는 계산량 부하가 장난이 아니긴 할 것이다. 하지만 컴 성능이 딸리면 오버랩 프레임 수가 떨어져야지, 돌아가는 프로그램의 실행이 느려지고 랙이 걸리지는 말아야 한다!

내 철칙은.. 사용자가 직접 실행하지 않았고 백그라운드 후방에서 저절로 돌아가는 프로그램은 전방 프로그램의 실행의 겉보기 성능, 특히 UI 반응성에 영향을 주는 일은 절대 없어야 한다는 것이다. CPU 팬을 쓸데없이 돌아가게 만들지 말아야 한다. 그 정도의 대규모 작업이 불가피하게 필요하다면.. 작업 진행 상황을 표시하고 취소/중단 명령을 내릴 수 있는 UI가 제공돼야 한다!
무단으로 백그라운드에서 자원을 소모하는 프로그램은 비행 신고 없이 영공을 무단으로 날아가는 듣보잡 비행체와 같아서 언제든지 격추.. 아니, 강제 종료시킬 수 있어야 한다.

- 워드패드: 실행 직후 글꼴 콤보 상자를 처음 펼칠 때 딜레이가 수 초 이상 너무 길다. Windows 7 이래로 11까지도 여전하다. 수많은 글꼴들을 일일이 들여다보면서 미리보기 만드는 건 아무래도 스레드로 옮겨야 할 거 같은데?

- PowerPoint: Word, Excel은 안 그런데 얘만 인터넷 다운로드한 파일을 제대로 열지 못한다. alt+enter 눌러서 위험 태그를 없애 줘야 열린다. 도대체 왜..?? (2013 기준)

마소에서 만드는 PC용 앱들의 완성도가 20년 전, 30년 전만 하지 않은 것 같다.
일단 PC 앱에서 발생하는 수익이 크게 감소했고, 그리고 인터넷 발달 덕분에 "일단 출시부터 하고 버그는 나중에 패치로 때우지 뭐~~~" 이런 사고방식이 만연해서 그런 게 아닐까 싶다.

필름 카메라 시절에야 하나 하나 조준 사격으로 정말 신중하게 찍어야 했겠지만, 요즘 디카/폰카야 뭐.. 닥치는 대로 마구 갈기고 나서 제일 잘 나온 거 하나만 고르면 되지 않는가? 사고방식이 그런 식으로 바뀌었다는 것이다.

옛날에는 소프트웨어도 한번 마스터 디스크 만들고 패키지의 양산에 들어가면 뭔가 더 수정을 할 수 없었다. 책을 출판하는 것과 비슷해서 테스트와 디버깅을 아주 신중하게 진행해야 했다. 설명서에 미처 들어가지 못한 깨알같은 보충 설명은 프로그램 내의 별도의 readme.txt에다가 집어넣기도 했다. 하지만 이제는 이런 것도 다 옛날 추억 관행이 됐다. ^^

* 웹 로그인 관련 불편한 거

(1) 웹사이트마다 제각각 들쭉날쭉인 비번 최대 길이, 허용되는 문자 집합과 조합 조건들 제발 좀 표준화하고 조건을 완화했으면 좋겠다.
가령, 비번을 30자~40자씩 엄청 길게 넣었다면, 숫자 특수문자 X랄 안 넣고 알파벳 대소문자만 있어도 허용해 주는 식으로.
20여 년 전에 이거 조건을 까다롭게 하자고 제안했던 어떤 아재가 지금 와서는 이거 만든 걸 후회한다고 자책했을 정도이다.

비번이야 어차피 해시값을 저장할 텐데 길이 제한을 도대체 왜 넣냐 X신같이..?? 우리는 비번을 서버 DB에다 평문 String[20] 이렇게 저장한다고 광고하는 거냐? -_-;;

(2) 로그인을 실패했으면 아이디와 비번 중 뭐가 틀렸는지 좀 알려줬으면 좋겠는데.. 나만 그렇게 생각하나?
"아이디 또는 비번이 잘못됐습니다" 이런 막연한 말은 개인적으로 좀.. -_-;;
이거 알려준다고 해서 딱히 보안이 더 취약해지고 위험해지는 것 같지는 않은데?

내가 지금까지 읽었던 그 어떤 정보보호 보안 가이드에도 뭐가 틀렸는지 구체적으로 찝어주면 위험하다는 말은 없었다. 글쎄, 브루트 포스 방식으로 때려넣으면 실존하는 아이디는 수집이 가능해지겠지만.. 수집하는 효율도 그렇고, 아이디만으로는 할 수 있는 게 없잖은가? 오늘날 뿌려지고 있는 스팸메일의 양을 생각해 보면.. 어느 사이트든 아이디는 어차피 이미 털릴 대로 털려 있기도 하다. 그렇지 않은가?

물론.. 아이디를 잘못 입력한 것만으로 "이 아이디 존재하지 않습니다" 바로 튕기는 것까지는 과잉친절이고 바라지 않는다. 다만, 비번까지 입력하고 '로그인'을 누른 뒤에라도 비번에 앞서 아이디부터 잘못됐다면 나중에라도 그걸 좀 집어 줬으면 좋겠다.

그러고 보니 “비번을 N번 연속으로 틀린 계정은 접속이 금지됩니다. 현재 X번 틀렸습니다. 잠금 해제하려면 추가 인증을 받으세요” 이런 기능을 구현하려면 아이디는 어차피 노출이 불가피하다.
무차별 접속 시도를 통한 해킹을 봉쇄하려면 아이디를 숨기는 것보다는 저렇게 로그인에 한번 실패할 때마다 몇 초씩 딜레이를 넣고, 그게 몇 회 이상 반복되면 캡챠 같은 추가 인증을 실시하는 것만으로 충분해 보인다.

Posted by 사무엘

2024/02/26 08:35 2024/02/26 08:35
, , ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/2268

« Previous : 1 : 2 : 3 : 4 : 5 : ... 213 : Next »

블로그 이미지

그런즉 이제 애호박, 단호박, 늙은호박 이 셋은 항상 있으나, 그 중에 제일은 늙은호박이니라.

- 사무엘

Archives

Authors

  1. 사무엘

Calendar

«   2024/03   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

Site Stats

Total hits:
2619769
Today:
2768
Yesterday:
1544