'분류 전체보기'에 해당되는 글 122건

  1. 2008/08/29 PHP5와 텍스트큐브 (2)
  2. 2008/06/20 Needlworks.org i18n 적용! (6)
  3. 2008/06/09 마지막 순간 (3)
  4. 2008/05/14 예외 처리는 언제나 확실하게! (1)
  5. 2008/05/03 시간 (1)
  6. 2008/03/06 미묘한 10픽셀 (7)
  7. 2008/03/01 스웨덴어 배우기 (2)
  8. 2008/02/11 연휴 휴유증 +
  9. 2008/01/29 행복 (2)
  10. 2008/01/19 2008년 새해에는 다들 무엇을 하시나요? (4)

PHP5와 텍스트큐브

머리아픈 이야기 2008/08/29 01:14 by inureyes

오랜만에 글을 적습니다. 핑계라면 핑계이겠습니다만, 살아가면서 가끔 여러 일들을 겪으며 정리가 필요한 시기가 니옵다. 비단 한 사람만이 아니라 사람들의 모임에도 그런 시가기 오지요. 그 시기를 어떻게 지나가는지가 참 중요하다는 생각이 듭니다.

간만의 글 치고는 고른 내용이 좀 딱딱하겠습니다. 텍스트큐브 1.8 이후부터 실행을 위해 PHP5.2 와 MySQL 4.1 이상을 기본 사양으로 요구하는데, 오늘은 그에 대한 설명이나 변화점을 이야기 하려고 합니다.

국내의 대부분의 PHP 어플리케이션들은 PHP4를 기준으로 제작되고 있습니다. 여러 이유가 있지만, 가장 큰 이유는 프로그램을 설치할 수 있는 환경을 주로 제공하는 호스팅 업체들이 PHP5 를 지원하는 경우가 적기 때문입니다. PHP4 와 PHP5 는 숫자 하나 차이가 나지만, 굉장히 다른 특성을 보이는 언어입니다. 그래서 PHP4를 기준으로 만들어진 응용 프로그램들은 PHP5에서 동작하지 않는 경우들이 간혹 있습니다.

그렇다고 PHP5 가 굉장히 새로운 언어는 아닙니다. 물론 PHP4 보다는 최근에 나왔지만, 어디까지나 상대적으로 보았을 때 입니다. 올해는 PHP5가 나온지 5년이 된 해입니다. PHP 5.3과 PHP6 이 개발 중에 있으며, 멀지 않아 사용할 수 있게 될 것입니다.

지금까지 PHP 4.3을 기준으로 제작되던 텍스트큐브가 PHP 5.2를 기본 환경으로 선택하게 된 근본적인 이유는, 더이상 PHP 4 가 개발되지 않는다는 점 때문입니다. PHP 4의 공식적인 지원은 얼마전 종료 되었습니다. PHP.net에서는 보안을 포함한 여러 문제로 사용자들이 PHP 5.2 이상으로 이주할 것을 권고하고 있습니다. 웹을 둘러싼 환경은 빠른 속도로 변하게 될 것입니다. 이러한 과정에서 니들웍스와 텍스트큐브 개발 그룹도 결정을 해야 했습니다.

텍스트큐브 1.7의 과거 환경 지원은 굉장히 폭넓습니다. PHP 4.3 과 MySQL 3.23 이상의 환경을 지원합니다. 이러한 지원은 사용자에게는 환경에 대한 고민을 하지 않아도 되는 이점이 있지만, 코드의 효율성 입장에서는 문제가 있습니다. 더 상위의 환경에서 텍스트큐브를 돌려도 속도의 이점을 볼 수 없기 떄문입니다. 예를 들면, 윈도우 비스타가 지원되는 환경에서도 도스 시절의 프로그램을 돌릴 수는 있지만 그 프로그램이 윈도우 비스타의 성능을 모두 끌어낼 수는 없는 것과 마찬가지입니다. 텍스트큐브가 하위 호환 모드로 동작할 때, 유니코드 환경 지원과 MySQL 3 데이터 베이스 지원을 위해 들어가는 서버 리소스는 텍스트큐브 전체 동작시 사용하는 리소스의 1/3 이상입니다.

개발 패러다임의 변화도 PHP 5.2를 택한 이유입니다. 텍스트큐브의 일부 컴포넌트는 객체 지향 패러다임을 기반으로 작성 되었지만, PHP 4 의 객체 지원은 굉장히 부족합니다. 또한 속도 부분에서 큰 손해가 있기 때문에 텍스트큐브 1.7까지는 일부의 객체 기반 코드 일부의 순차 처리 코드로 이루어져 있습니다. 그러나 텍스트큐브 2.0에서 사용될 TCF (텍스트큐브 코어 프레임웍 – 가칭입니다.)를 개발하는 과정에서 개발에 참여하는 분들은 현재 코드의 혼란을 최소화 하기 위해서 코드의 패러다임을 변경하기를 원했습니다.

위에서 설명 드린 것과 같이 PHP.net 에서의 PHP 4의 지원 중단, 과거 환경 지원으로 인하여 발생하는 성능 감소, 새 프레임웍을 둘러싼 개발 패러다임의 변화를 이유로 텍스트큐브 1.8 이후부터는 PHP 5.2와 MySQL 4.1 이상을 요구합니다. 새로운 프레임웍은 텍스트큐브 2.0부터 본격적으로 도입될 예정이며, 텍스트큐브 1.8은 텍스트큐브 1.x 코드를 새로운 환경의 특징을 살려 최적화하는, 다리 역할을 하는 주춧돌이 될 예정입니다. 텍스트큐브 1.8은 그 전까지 막혀 있던 병목들을 제거하여, 단위 시간당 더 많은 트래픽을 더 적은 CPU와 서버 로드를 사용해서 처리할 수 있는 가능성을 시험하게 됩니다.

간단하게 결졍된 내용은 아니었습니다. 기본 요구 환경의 변화와 관련하여 내부적으로 많은 토론이 있었습니다. 한국 호스팅 업체의 환경이 과련 이러한 요구 사항을 받아 줄 것인지부터, 새로운 환경의 어떤 특징을 살려서 코드를 써 나갈 것인지에 대한 이야기도 있었습니다.

그 논의에 참여하며 한가지 확신한 것이 있습니다. 정체는 무기력을 낳습니다. 텍스트큐브를 현재 한국 웹 호스팅의 현실에 맞게 개발하는 것도 중요합니다. 그렇지만 조금 눈을 밖으로 돌리고 조금 앞을 내다보려고 합니다. 지금이 현실에 대한 안주가 아닌 변화를 위한 적기입니다. 언젠가는 시작해야 하는 일입니다. 그래서 시작하려고 합니다.

덧) PHP 4.3 사용자 분들이 많고, 당장 쉽게 새로운 환경으로 이전하기 힘든 부분을 어떻게 지원할 것인지에 대한 논의도 있었습니다. 텍스트큐브 1.8을 개발하는 중, 성능 향상이나 기존 버전에서 구현이 불가능한 부분들을 제외한 기능이나 인터페이스 추가와 같은 부분들은 기존의 텍스트큐브 1.7 에도 계속 반영하고 발표할 예정입니다.

이올린에 북마크하기(0) 이올린에 추천하기(0)
필자
author image
inureyes 입니다. 하고 싶은 일과 해야 할 일의 균형 맞추기를 하며 즐겁게 살고 있습니다. N/W에서는 구성을, TC에서는 교리 전파? 및 사회자?를 맡고 있습니다. 오전과 오후에는 물리학을, 저녁 시간에는 코딩을 하며 삽니다.
http://forest.nubimaru.com

2008/08/29 01:14 2008/08/29 01:14

Needlworks.org i18n 적용!

머리아픈 이야기 2008/06/20 08:25 by daybreaker

안녕하세요. 오랜만입니다.
이번 토요일에 스웨덴을 떠나 일요일이면 드디어 기나긴(그러나 한편으론 짧디 짧은) 반년 동안의 교환학생 생활을 마치고 한국에 돌아가는 daybreaker입니다. (어디서 '날뷁~~'하고 부르는 소리가 들리지만 무시하시고-_-) 이번에 알려드릴 소식은 [needlworks.org](http://needlworks.org) 업데이트 내용입니다. 겉보기에는 전혀(...) 별 차이가 없겠지만 내부적으로는 약간의 변화가 있었습니다. 우선 기반 프레임웍으로 사용되는 Django의 버전업에 맞추어 새로 업데이트한 후 호환성 문제들을 수정하였고, 특히 중요한 것은 이제 외국에서 needlworks.org에 접속할 경우 영문으로 소개 내용이 표시되도록 했다는 것입니다. (사실 뜬금없이 i18n 지원을 넣게 된 건 제가 그동안 외국 친구들에게 needlworks 명함을 나눠주면서 홈페이지에 들어왔을 때 영문 지원이 없으면 좀 황당해하겠다 싶어서 그랬다고 말 못합니다..-_-..) 한편 Mac 환경에서 글꼴이 좀더 예쁘게 보이도록 CSS를 일부 변경하였습니다. 이것은 [Django의 i18n 프레임웍](http://www.djangoproject.com/documentation/i18n/)을 이용한 것으로, 제가 추가로 코드를 짠 것은 전혀 없고 단지 설정 파일과 템플릿 파일 및 python 코드 파일에 번역할 문자열을 표시해주고 번역한 데이터를 넣어준 것 뿐입니다. 역시 python을 사랑할수밖에 없군요..=3=3==3

Needlworks.org i18n

웹브라우저 언어 설정을 영어 우선으로 놓고 들어가본 모습.

물론 번역을 급조했기 때문에 번역의 질은 장담 못합니다만 그래도 없는 것보다는 낫겠지요.;; 번역 내용은 앞으로 차차 개선할 생각이며, (이렇게 쉽게 가능할지는 모르겠지만) [textcube.org](http://textcube.org)도 i18n을 할 예정입니다. :D 혹시, 일본어·중국어 등 다른 언어로 needlworks.org 번역을 도와주실 분은 이곳에 비밀댓글로 메일 주소를 달아주시면 번역 분량 파일을 보내드리도록 하겠습니다.
이올린에 북마크하기(0) 이올린에 추천하기(0)
필자
author image
Daybreaker(아침놀)입니다. 현재 KAIST 전산학과에 재학 중이며 전산 외에도 물리, 음악, 건축 등에 관심이 많습니다. Needlworks 내에서는 각종 홈페이지 제작 및 서버 관리 등을 주로 하고 있으며, Textcube는 전반적으로 조금씩 참여를 하고 있습니다.

홈페이지 : http://daybreaker.info

2008/06/20 08:25 2008/06/20 08:25

마지막 순간

즐거운 이야기 2008/06/09 04:23 by inureyes

이미 몇번째이지만 그 순간의 느낌은 정말 특별하다. [##_1C|1046201239.png|width="555" height="324" alt="1.7"|저 막대기를 끌어 올리기 위해서는 정말... 많은 사람들이 고생을 해야 한다_##] 15분을 남겨두고 드는 이 감정을 삭히려 오늘 새벽에도 한바퀴 산책을 해야 할 듯 하다. 시간이 적어져 글을 쓰는 것도 확연히 줄었지만, 요새처럼 풍부하게 읽고 보고 생각하는 적도 최근에는 그리 없었다. 덧) 1.7의 버전 이름은 Risoluto이다. 항상 그 버전의 기능적 특징이나 목표를 의미한 이름이 붙어 왔지만, 이번만큼은 텍스트큐브를 통하여 제작자들이 세상에 하고 싶은 말을 담았다. 한국의 민주주의에 축복을.

이올린에 북마크하기(0) 이올린에 추천하기(0)
필자
author image
inureyes 입니다. 하고 싶은 일과 해야 할 일의 균형 맞추기를 하며 즐겁게 살고 있습니다. N/W에서는 구성을, TC에서는 교리 전파? 및 사회자?를 맡고 있습니다. 오전과 오후에는 물리학을, 저녁 시간에는 코딩을 하며 삽니다.
http://forest.nubimaru.com

2008/06/09 04:23 2008/06/09 04:23

예외 처리는 언제나 확실하게!

머리아픈 이야기 2008/05/14 10:06 by daybreaker

정말로 오랜만의 글이로군요. 간만에 재미있는, 그러나 슬픈(...) 삽질기를 하나 들려드릴까 합니다. ㅠ_ㅠ 지금 스웨덴 교환학생의 가장 마지막 관문(?)으로 Musical Communication and Music Technology라는 매우 긴 이름을 가진 과목의 기말 프로젝트를 하는 중입니다. 발표는 오늘(!)이지만 프로젝트 기간 자체가 워낙 짧았던 데다 같이 하는 애들이 지난 주에 시험이 계속 겹치는 등의 이유로 실제 진행은 거의 3일 벼락치기로 하는 중이지요;;; 과목 이름에서 유추할 수 있듯 프로젝트 내용은 상당히 '미디어 아트'적인 내용입니다. 과제로 했던 Lab에서 마지막에 했던 것이 실시간 비디오프로세싱 프로그램인 [EyesWeb](http://www.infomus.org/EywMain.html)을 이용하여 사람의 동작을 웹캠으로 찍어 음악을 컨트롤하는 내용이었는데, 그것을 좀더 확장하기로 한 것이지요. 처음엔 막연히 뭘 더 넣을 수 있을까 고민하다가 요즘 한창 유명해진 [니코니코조곡 오토마리오 버전 동영상](http://youtube.com/watch?v=mEFa17MZrX8)을 보고 실제 몸의 움직임을 추적하여 실제 사람이 연기하는 마리오를 만들면 재밌겠다 싶어서 그쪽으로 방향을 잡았습니다. (그게 어젭니다-_-) 수업 때 소리를 컨트롤하는 프로그램으로 실시간 소리 합성이 가능한 오픈소스 사운드 프로그래밍 툴인 [Pure Data](http://puredata.info)를 이용했는데, 이게 사운드 생성은 쉬워도(?) 기존에 녹음된 사운드를 재생하는 것이 난감하더군요.; 그래서 EyesWeb에서 [Open Sound Control](http://en.wikipedia.org/wiki/OpenSound_Control)(이하 OSC)이라는 프로토콜을 이용해 UDP로 쏴주는 메시지들을 직접 받아 소리 재생을 하는 프로그램을 짜면 어떨까 싶었습니다. 자, 서론이 길었습니다.
제가 요즘 유용하게 이곳저곳 잘 써먹는 Python을 이용하기로 했고, 크로스플랫폼 소리 재생을 위해 pygame 라이브러리를 써서 쉽게 소리 재생을 할 수 있었습니다. 또한 OSC 프로토콜을 파싱해주는 것도 이미 Python으로 구현되어 있었기 때문에 그 라이브러리를 가져다 쓰니 통신도 금방 구현할 수 있었지요. 근데 갑자기 어느 순간부터, EyesWeb에서 계속 쏴주고 있는 UDP 데이터를 못 받고 block되어버리는 겁니다. EyesWeb 문제인가 싶어서 데이터 전송 속도를 줄여보기도 하고, 파일을 새로 만들어보기도 했고 윈도우 문제인가 싶어서 방화벽에 UDP 포트 추가도 해보고 심지어 패킷스니핑 프로그램까지 썼습니다.;; 또 OSC 라이브러리 문제인가 싶어서 멀티쓰레드로 된 구현을 싱글쓰레드로 바꿔보기도 하고 별의별 짓을 다 해봤지요. 일단 혐의(?)는 소켓 쪽에 문제가 있을 것으로 생각하고 있었습니다. 근데 여기가 스웨덴이다보니, 저보다 Python을 잘 하시는 퍼키군님과 같은 다른 사람들의 도움을 요청하자니 다들 자고 있을 시간이더군요. -_-; 혼자 힘들게 구글링하며 온갖 삽질을 다 하다가, 결국 가장 원시적인 디버깅 방법, 즉 print 찍어보기를 해봤습니다. 그리고 1분만에 좌절했습니다. (........) 원인은 세 가지였습니다. * pygame.mixer.get_busy()를 이용해 현재 재생 상태를 알아내는 부분이 있는데, is_busy()라는 잘못된 이름의 함수를 썼습니다. (이건 전적으로 제 잘못입니다..orz) 근데 이 부분이 항상 실행되는 게 아니고, 받아온 모션캡처 데이터에 따라 반랜덤하게 실행되는 곳이었죠. * OSC 라이브러리가 멀티쓰레드로 돌며 제가 지정한 핸들러 함수를 호출해주는 방식이었습니다. 따라서 그 안에서 뭔 일이 발생하여 죽더라도 프로그램은 죽지 않았습니다. * OSC 라이브러리 내부 코드에서 핸들러를 호출하는 부분을 try-except 구문이 둘러싸고 있었는데, 그 except 구문에 어떤 예외를 받을지 지정이 되어 있지 않았습니다. 즉, 모든 예외를 다 받겠다는 것이었죠. 자, 이쯤에서 무슨 일이 벌어졌을까요? 잘못된 이름의 함수를 썼으니 당연히 예외가 발생하여 프로그램이 죽어야 할 것입니다. 하지만 그 예외를 라이브러리 코드 내에서 먹어버렸고, 불행히도 그 try-except가 소켓 데이터를 읽는 while 루프 바로 바깥이라서 루프가 종료되고 결과적으로 해당 쓰레드는 아무 일 없었다는 듯 '정상 종료'를 했습니다. 하지만 메인 프로그램은 계속 돌고 있었죠. 화면에는 아무것도 나오지 않습니다. 게다가 그 잘못된 함수를 호출하는 순간은 제가 카메라 앞에서 어떤 동작을 하느냐에 따라 달라지니 에러가 랜덤하게 발생하는 것처럼 보였던 겁니다. (위에서, 싱글스레드로 바꿔보기도 했다고 썼는데, 이 경우에도 랜덤 발생으로 보였던 겁니다. 게다가 프로젝트 듀가 급하니 마음도 급했던지 차분하게 생각하지 못했던 것도 문제였죠.) 그래서......인생이란 삽질인 것입니다. OTL 여러분, 저같이 애꿎은 사람 희생시키지 마시고 예외 처리할 땐 어느 예외를 받을 것인지 항상 확실하게 지정하는 습관을 들입시다~ ㅠ_ㅠ

이올린에 북마크하기(0) 이올린에 추천하기(0)
필자
author image
Daybreaker(아침놀)입니다. 현재 KAIST 전산학과에 재학 중이며 전산 외에도 물리, 음악, 건축 등에 관심이 많습니다. Needlworks 내에서는 각종 홈페이지 제작 및 서버 관리 등을 주로 하고 있으며, Textcube는 전반적으로 조금씩 참여를 하고 있습니다.

홈페이지 : http://daybreaker.info

2008/05/14 10:06 2008/05/14 10:06

시간

따뜻한 이야기 2008/05/03 00:30 by inureyes

저녁에 silvester님과 챗을 했습니다. 그냥 물리학 이야기였습니다만, 답변을 하던 도중에 무선 키보드의 전지가 나가 버렸습니다. (죄송) silvester님의 경우 고등학생이기도 하고, 중간고사 기간이라 바쁠텐데 실험을 하고 계시더군요. 아마 고등학교 프로젝트? 같은 것인듯 했습니다. 박사 2년차부터는 의무적으로 가르칠 필요도, 배울 필요도 없습니다. 학부 학생들에게 무엇인가를 가르치면서 동시에 배우기도 하는 물리학 석사나 박사 1년차와는 조금 다른 점입니다. (물론 박사 2년차까지는 수료를 위해서 수업을 들어야 하긴 합니다.) 이젠 시험 공부를 하다 보면 새로운 지식을 더 집어 넣는 것이 갈수록 시간을 더 요하는 것을 느낍니다. 갈수록 지식의 종류나 분야가 복잡해지고 다양해지기 때문이겠습니다. 원래 이 연차쯤 되면 지식을 더 집어 넣는 것에 치중하기 보다는 새로운 것들을 만들어 내야 합니다만, 아직까지 '모르는 것'들에 대한 미련을 못 버려서 계속 수업을 듣고 있습니다. 그러다보면 여러 생각을 하게 됩니다. 가끔 하는 생각 중 하나가 '딱 한달만 자유 시간이 있었으면 좋겠다'는 생각입니다. 한 달만 '코딩만 해도 된다면' 뭘 만들 수 있을까? 혼자서 생각하고서는 노트에 막 적어 놓고 좋아합니다. 하지만 시간이 충분하지 않지요. 그래서 보통 노트 안의 것들은 그 안에 남아서 잠자게 되거나, 아니면 긴 시간을 두고 하나씩 세상에 나옵니다. 텍스트큐브에 넣고 싶은 희한한 기능들도 노트에 여럿 들어있습니다. 이건 꼭 해야겠다 싶은 내용은 티켓에 등록해놓고, 나머지는 공책에서 잠자거나 메일로 날아갑니다. 그런데 정말 한 달이 생기면 원없이 텍스트큐브 코딩이나 플러그인 만들기를 할까요?한 달의 시간이 있다면 아마 한 달을 몽땅 써야 할 수 있는 일이 따로 보일지도 모릅니다. 게다가 노트를 채우는 희한한 아이디어들은 압박이 없으면 나오지 않는 종류의 것인지도 모르지요. '비어있는 한 달'을 꿈꾸면서 언젠가는 그런 시간이 생기는 날이 오겠구나 합니다. 그런 기대와 상상을 하기 때문에 그 날을 위해? 또 물리학 연구를 하게 되고, 공부를 하다가 머리가 터질 것 같으면 텍스트큐브 코드로 도망을 갑니다. 어쩌면 그 두가지는 일과 취미처럼 상보적 관계를 이루고 엉켜 있는 것인지도 모릅니다. 제리가 없으면 톰이 참 심심한 것 같이 그렇게 말이지요. 시간은 흘러가고, 바쁨의 정도도 그에 비례하여 커지지만 그래도 용케 방향을 잡고 두가지를 모두 해 내게 만드는 것이 무엇인지는 조금 더 생각을 해 보아야 답을 알 수 있을 문제 같습니다.

이올린에 북마크하기(0) 이올린에 추천하기(0)
필자
author image
inureyes 입니다. 하고 싶은 일과 해야 할 일의 균형 맞추기를 하며 즐겁게 살고 있습니다. N/W에서는 구성을, TC에서는 교리 전파? 및 사회자?를 맡고 있습니다. 오전과 오후에는 물리학을, 저녁 시간에는 코딩을 하며 삽니다.
http://forest.nubimaru.com

2008/05/03 00:30 2008/05/03 00:30

미묘한 10픽셀

즐거운 이야기 2008/03/06 01:44 by inureyes

저녁 기숙사 프로그램과 클래식 음악 그룹 활동을 끝내고 나서, 은진이 지적하던 부분 중에서 유일하게 남은 두번째 부분을 수정했다. (그라피티에님이 불러주는대로 코드를 썼더니 되더라.) 줄간격은 맞췄고, 마지막으로 메뉴 전체가 오른쪽으로 10픽셀이 밀리는 문제가 남아 있었다.


me: 미묘한 그 10픽셀을 ㅠ_ㅠ graphittie: me: 아, 설마 0 10px 0 10px 때문에 밀리고 있는걸까 하는 생각이.. 맞네요 해결 완료 .. graphittie: 헤더에 뭔가 있군요 흐흐흐흐 me: 그러고보니 미묘하게 10픽셀 이라고 하니 어째서 럭키스타가 생각이 났을까...... graphittie: ;;;;;;;
이 대화는........................
JH님과 우리 둘만 이해할 수 있을 듯한...
ㅡㅡ;;
됐군요
제대로 나오네요
포럼에서 헤더 쪽에 문제가 있는데 이동하시는 사이에 트래킹 해보겠습니다 me: 옙 그럼~ 그리고 아마 토끼군도 이해할겁니다 이대화 -_- graphittie: 헉;;
이올린에 북마크하기(0) 이올린에 추천하기(0)
필자
author image
inureyes 입니다. 하고 싶은 일과 해야 할 일의 균형 맞추기를 하며 즐겁게 살고 있습니다. N/W에서는 구성을, TC에서는 교리 전파? 및 사회자?를 맡고 있습니다. 오전과 오후에는 물리학을, 저녁 시간에는 코딩을 하며 삽니다.
http://forest.nubimaru.com

2008/03/06 01:44 2008/03/06 01:44

스웨덴어 배우기

즐거운 이야기 2008/03/01 23:03 by daybreaker

요즘 이 블로그에 글이 뜸하군요.;

전에도 말씀드렸다시피 저는 현재 스웨덴에서 KTH(Kungliga Tekniska Högskolan; Royal Institute of Technology) 교환학생 생활을 하고 있습니다.

원래는 스웨덴어 강의를 신청할 예정이었으나 몇 가지 혼선이 빚어지는 바람에 결국 못 듣게 되었네요. 다행히 인터넷으로 찾아보니 한글로 스웨덴어 소개를 해놓은 곳들이 몇 군데 있어서 기본적인 문법 공부도 하고 이 언어가 대체 어떻게 생겨먹은 언어인지는 감을 잡고 있습니다.

아무튼, 이 포스팅에서는 스웨덴에 와서 살면서 별도의 교육 없이 자연적으로 습득하게 되는 생활 필수 용어(?)들을 재미삼아 정리해볼까 합니다.

스웨덴어는 영어의 알파벳 외에 3가지의 모음 철자를 더 사용합니다. ä는 한글의 'ㅐ'와 거의 비슷하고, ö는 'ㅓ'와 비슷합니다. å의 경우 'ㅗ'와 'ㅓ'의 중간쯤 되는 발음을 가지는 것 같(?)습니다.;

hej
영어의 'hey'와 발음은 같지만 여기선 hi, hello의 뜻으로 사용됩니다. 보통 재빠르게 두 번 반복합니다. 약간 목소리를 높인다는 느낌으로 '헤이헤이'..
hejdår