JavaScript: 전역 변수와 지역 변수 명칭이 같을 경우의 위험성

JavaScript에서 전역 변수와 지역 변수의 명칭이 동일할 경우 예기치 못한 지점에서 undefined로 취급되는 문제가 발생할 수 있다. 간단한 소스 코드로 예를 들어 본다. 첫 번째 console.log(test)를 실행해 보면 콘솔에 당연히 'a'가 뜬다. func() 함수 안에서 console.log(test)를 찍어도 마찬가지로 test가 이미 선언된 전역 변수로 인식되어 마찬가지로 콘솔에 'a'가 뜬다. 하지만...

Java에서 JavaScript의 콜백 함수 구현하기

JavaScript에서는 콜백 함수(callback function: 잘 설명된 글 참조)가 빈번하게 쓰인다. JavaScript의 콜백 함수는 보통 다른 함수를 파라미터로 넘겨 받고, 특정 이벤트 이후에 파라미터로 넘겨 받은 다른 함수를 실행하는 식으로 작성한다. Java에서는 한 함수의 파라미터로 다른 함수를 넘길 수가 없다. 하지만 조금 복잡하긴 해도 콜백 함수를 구현하는 방법이 몇 가지...

Java에는 JavaScript의 eval() 함수 비슷한 게 없나?

결론부터 말하자면 없다. JavaScript(JS)의 eval() 함수는 파라미터로 넘긴 문자열(string)을 JS 소스 코드처럼 해석하여 그대로 실행하는 것이다. 그 특성상 보안 문제가 있으니 가급적 쓰지 말고 다른 방법으로 기능을 구현하는 것이 좋지만, 드물게 eval()이 아니면 써야 할 때가 있을 수 있다. Java에서는 JS의 eval()과 비슷하게 문자열(String)을 Java 소스 코드처럼 해석하여 그대로...

Swiper.js 오류: [Intervention] Ignored attempt to cancel a touchmove event…

[Intervention] Ignored attempt to cancel a touchmove event with cancelable=false, for example because scrolling is in progress and cannot be interrupted. 스와이프(swipe) 기능을 모바일용 웹페이지나 하이브리드 모바일 앱에 구현하기 위해 Swiper.js를 쓰는 경우가 있는데, 간혹 웹브라우저의 콘솔에 위와 같은 에러 메시지가 나면서 오동작하는 경우가 있다. 간단한 해결 방법은 HTML...

Windows에서 Shift+Space로 한/영 전환을 하면서 기존 단축키도 함께 사용하는 방법 - 날개셋 한글 입력기 활용

Windows에서는 한국어 입력기(IME)에서 한/영 키와 한자 키 이외의 추가적인 키를 지정할 수 있다. 주로 쓰는 설정은 한글 키보드(101키) 종류 1로, 오른쪽 Alt 키와 오른쪽 Ctrl 키를 각각 한/영 키와 한자 키 대용으로 쓰는 것이다. 그 다음으로 인터넷에 널리 알려져 있는 방법은 한글 키보드(101키) 종류 3으로 설정을 바꿔서 Shift+Space를 한/영...

엄지 손가락으로 Shift 키를?

일반적으로 쓰이는 컴퓨터 키보드 배열에서는 Shift 키가 새끼 손가락 쪽에 배치되어 있다. 새끼 손가락은 가장 약한 손가락이라서 새끼 손가락으로 자꾸 Shift 키를 누르면 손에 상당한 무리가 가게 되는 문제점이 있다. 그래서 Shift 키(그리고 상황에 따라서는 Alt 키 등 다른 키도)를 손가락 중 가장 힘이 센 엄지 손가락으로 조작하게끔 만든...

CSS에서 특정 문자만 다른 글꼴을 사용하게 하는 방법

아래 예제는 기본 폰트는 굴림으로 하되, 일부 문자(〈〉《》「」『』【】〔〕〖〗〘〙〚〛, 유니코드로 U+3008-3011, U+3014-301B, U+301D-301F)만 맑은 고딕으로 처리되게 하는 예이다. <!DOCTYPE HTML> <html> <head> <title>테스트</title> <style> @font-face { /* Special이라는 이름의 임시 폰트를 정의 */ font-family: 'Special'; /* 컴퓨터에 설치돼 있는(local) 맑은 고딕(Malgun Gothic) 폰트를 사용 */ src: local('Malgun Gothic'); /* 유니코드의...

HTML에서 언어 속성을 지정하기, CSS에서 언어별 폰트를 지정하기

HTML에서 특정 텍스트가 어떤 언어로 작성됐는지 지정하는 lang 속성이 있다. 이 속성을 지정해 주면 장점이 몇 가지 있는데, 1. 장애인을 위한 TTS(Text-to-Speech) 기능이 언어에 맞게 읽힐 수 있고, 2. 필요에 따라 CSS를 통해 언어별로 글꼴을 다르게 지정하는 것도 가능하다. 언어별로 글꼴을 다르게 지정하는 것은 동아시아 언어(CJK)에 특히 유용하다. 아래...

각 언어에 맞는 폰트를 사용해야 하는 이유(특히 한국어·중국어·일본어에서)

현재 전 세계 문자의 전산화를 담당하는 표준 코드 체계는 유니코드(Unicode)이다. 유니코드의 표준을 규율하는 민간 단체인 유니코드 콘소시엄에서는 유니코드를 다음과 같이 소개하고 있다. 유니코드에 대해 ? 어떤 플랫폼, 어떤 프로그램, 어떤 언어에도 상관없이 유니코드는 모든 문자에 대해 고유 번호를 제공합니다. 기본적으로 컴퓨터는 숫자만 처리합니다. 글자나 다른 문자에도 숫자를 지정하여 저장합니다....

블로그를 시작하며

이 블로그는 특별한 주제가 없이 본인의 관심사를 적는 곳입니다. 직업이 개발자인 만큼 주로 개발과 관련된 이야기를 블로깅하겠지만 본래 전공인 인문학 관련 글이나 기타 정보, 신변잡기 등도 기재될 수 있습니다. 이 블로그에 아무도 관심 없겠지만 블로그에 많은 시간을 투자할 여력은 없어도 시간 나는대로 틈틈이 블로깅을 하도록 하겠습니다....