-
못 살겠다 갈아보자 - Chrome에서 Firefox로 갈아타다
구글 크롬(Google Chrome)을 기본 브라우저로 사용한지 몇 년이 됐는데 최근 두어달 전부터 느려지는 문제가 발생했다. 처음 Chrome을 실행하면 괜찮다. 그런데 몇 시간 정도 사용하면? 정확히는 모르지만 어느 정도 사용하다 보면 클릭 응답이나 탭 전환이 몇 십초씩 걸릴 때도 있고 웹페이지 여는 것도 느려지곤 한다. 다시 실행해서 마지막 열었던 탭만 다시 열면 되는데 그 동작 하나 하는 게 번거롭다. 왜냐면 언제 느려지는지 명확하지 않아서 슬슬슬 느려지다 보면 내가 이미 바보같이 기다리는 데 익숙해지고 있는 거다. 그래서 나름 중요한 거 여느라 기다리는데 다시 열어서 봐야 한다는 생각을 자꾸 미루게 되고 점점 느려지니 점점 그 재실행이 번거롭다는 생각이 들고...
-
옵티머스G 단점
5월 1일 스마트폰을 장만했다. 번호 이동으로 2년 약정, 옵티머스G다. 그 전엔 회사용으로 삼성 바다 웨이브, 삼성 갤럭시탭 7을 썼었는데 개인 폰으로는 처음이다. 옵티머스G는 작년 10월에 출시되면서 이른바 회장님의 특명으로 개발한 "회장님 폰"이라는 것인데 웨이브나 갤럭시탭에 비해서는 월등히 장점이 많지만 기대했던 것보다 못한 점들이 몇 가지 보이고 있다. 온라인에 옵티머스G의 장점은 많이 찾을 수 있으므로 여기서는 단점을 정리해보려고 한다. 사용하면서 계속 나오는 대로 추가해보겠다.
-
물리 시뮬레이션을 위한 Verlet 적산법
Verlet 적산법(integration, 계속해서 상태 변화가 있고 그 값을 누적해 더한다는 말)은 Wikipedia 글의 첫 줄에 밝힌 것처럼 뉴턴(Newton)의 운동 방정식을 적산하기 위한 수치 해석법이다. 이미 18세기부터 사용되었지만 1960년대에 프랑스 사람인 Verlet가 분자 운동학에서 많이 사용했다 해서 Verlet 적산법이라고 많이 부른다. (Verlet의 발음은 프랑스어라 익숙치 않지만 [vɛʁˈlɛ], 즉 베흘레와 유사한 것 같다. 외래어 표기법상으로는 베를레가 맞을 것 같다.)이미 HTML5가 나오면서 canvas에서 애니메이션 등 다양한 그림 기법이 시도됐는데 최근에는 천이 찢어지는 애니메이션, 거미줄의 흔들림 등 물리적 운동 효과를 canvas에서 보이고 있다. 세상에나! JavaScript(자바스크립트)로 물리 운동을 시뮬레이션하다니!
-
기본
우리는 "기본"이라는 말을 참 많이 사용한다. 한자로 基本. 사전적인 의미는 "사물이나 현상, 이론, 시설 따위의 기초와 근본."이라고 한다. "이 제품은 적외선 촬영 기능이 기본이지." "영어의 기본은 단어 학습이야." "오늘은 기본 동작을 배웠다." "기본"은 이런 예처럼 형식상 준비가 되었음, 갖춤을 의미하는 객관적인 의미를 나타내기 위해 사용하는 경우도 많지만 "기본이 됐다", "기본이 안됐다"처럼 말하는 사람이 주관적으로 원하는 바에 대한 충족의 정도를 나타내는 의미로 사용하는 경우가 참 많다.
-
엔지니어 겸 관리자의 업무
구글 직원인 맷 웰시(Matt Welsh)가 블로그에서 밝힌 바에 따르면 본인은 크롬 프로젝트 중 일부인 모바일 웹 성능 영역의 팀을 이끌고 있는데 공식적인 직함은 소프트웨어 엔지니어고 비공식적으로는 "Tech Lead Manager"라고 한단다. 이 말은 팀의 기술적 방향성을 책임지는 사람이면서 동시에 사람들을 관리하는 일을 하는 사람이라 말을 조합해낸 것이다. 우리 말로 풀자면 "선임 엔지니어겸 중간 관리자(과장?)" 정도 될 것 같은데 이게 나의 관심을 끌었다. 개발자이면서 관리자인 나와 비슷한 업무가 많을 것 같기 때문이다. 그는 블로그에서 주요 업무를 다음과 같이 나열했다.
-
2013년 여의도 벚꽃
여의도에 드디어 벚꽃이 활짝 폈다. 2013년도 여의도 벚꽃은 참 보기가 힘들었지만 주말부터 조금씩 피더니 며칠 사이에 드디어 보기 좋게 펴서 사람들이 구경 다니기 딱 좋은 때가 됐다. 여의도 벚꽃 축제라고 축제 분위기까지는 모르겠지만 따뜻한 날씨에 사람이 많아지긴 했다. 어제, 오늘 날씨가 좋아지더니 오늘은 출근할 때부터 사람들(특히 여자들) 옷차림이 달라졌다. 어제 봄바람이 불더니 다들 봄을 타는구나. 나도 점심 때는 그냥 밥만 먹고 들어가는 건 아니다 싶어 평상시 밥먹을 땐 놓고 다니던 휴대폰을 가져와 사진을 찍어봤다. 역시 예쁘구나. 국회의사당 앞길, KBS 사잇길 등에서 찍은 사진이다.
-
온라인 타이머
카운트다운 방식의 온라인 타이머를 찾아보니 마음에 드는 것이 없었다. 단순히 숫자만 표시하지 말고 카운트다운의 긴박감이 있으면 좋겠는데 말이지. 타이머 프로그램이 어려운 건 아니니 그래서 한번 만들어보기로 했다. 그리고 프로그램 공부하는 사람들을 위해 여기 설명도 올리고. 최종 결과물은 여기를 보도록 한다.
-
Java와 PHP
우리나라 상용 소프트웨어 프로젝트에서 가장 많이 사용되는 언어는 Java다. 공공기관 업무용 웹사이트, 민간 상업용 웹사이트, 웹서비스 등 시스템간 연동, 뱃치성 작업 등 단순 업무 프로그램, 또한 안드로이드 모바일 앱 등에서 완전 "갑"이다. 단적으로는 Java의 캐치프레이즈인 "엔터프라이즈" 지원을 바탕으로 한 상업적 성공으로 인해 그 밖의 언어는 상대적으로 훨씬 열세를 보이고 있다. 그런데 그 와중에 민간 상업용 웹사이트, 민간 커뮤니티 웹사이트 등에서 상당한 점유율을 보이는 언어가 PHP다. 미국 등에서는 이러한 분야에서 Python, JavaScript, Ruby 등이 발군의 성과를 보여주고 있지만 우리나라 및 외국도 여전히 일부에서는 PHP가 꾸준히 힘을 발휘하고 있다. 그럼 Java는 왜 그렇게 성공한 것이고 PHP는 어떻게 꾸준히 사랑받고 있는 것일까? 이글은 그동안 내가 두 언어를 모두 접해보면서 든 개인적인 생각을 남겨보고자 한다.
-
Git을 사용해보자 - 1. Git 개념
분산 버전 관리 시스템(DVCS)인 Git이 나온지 벌써 몇 년이 지나 개발자들에게서 상당한 호응을 받고 있지만 난(또는 우리 회사) 본격적인 사용은 미루고 있었다. 얼마 전부터 제대로 해보자고 이것저것 해보고 있는데 이제 블로그에도 한번 정리삼아 올려보기로 한다. Git을 사용해보자 첫번째 주제로 Git 개념부터 꺼내기로 한다. 이 다음에는 기회되는 대로 Eclipse Git, Git 셸 명령, GitHub, Git 작업 패턴 등을 다뤄보기로 한다.
-
mysqldump SQL 호환성 높이기
mysqldump를 사용해 SQL 스크립트를 만들어낼 때 여러가지 목적이 있겠지만 다른 데이터베이스와의 호환성을 염두에 두는 경우가 종종 있다. 예를 들어 MySQL을 개발용으로만 사용하고 다른 데이터베이스를 실운영용으로 사용하는 경우가 있을 수 있다.데이터베이스간의 호환성 문제는 단순한 문제가 아니므로 이 글에서는 일단 mysqldump 명령만을 주제로 SQL 호환성을 최대한 높이는 방법을 알아보자. mysqldump로 결과물을 어느 정도 호환성 있게만 만들어도 많은 수고를 줄일 수 있다. 우선 mysqldump는 다음과 같은 형식으로 명령을 실행한다.```sqldump [옵션] [DB명 [테이블명 ...]]```