QBasic: 조건문(IF문, SELECT CASE문)

조건문 조건문은 명령문 또는 명령문 그룹의 선택적 처리를 허용합니다. 조건문에는 두 가지 형태가 있습니다. if-then-else 문 if-then-elseif … else 문 예를 들어, 학생이 3 + 3 = 9 이라는 숙제에 관한 쪽지 하나를 선생님한테 제출하였을 경우, 선생님은 이 식이 맞는 식인지, 아니면 틀린 식인지 알 수 있을 것입니다. 만약 식이 더보기…

QBasic: INPUT(프롬프트로 키보드 입력 받기)

  INPUT 구문은 다음과 같이 사용합니다. INPUT "화면에 나타낼 안내문구 텍스트", 변수명 안내문구는 생략 가능하며, 변수는 여러 개를 콤마(,)로 지정하는 것이 가능합니다. 변수를 여러 개 지정하면, 키보드로 입력할 때 콤마(,)으로 구분하여 갯수만큼 입력값을 입력하고 엔터를 치면 됩니다.   예를 들어 키보드로 학생의 이름과 성적을 입력받고 이것을 화면에 출력하는 프로그램을 만든다고 더보기…

QBasic: 개요(설치 방법, 데이터 타입, 변수 선언)

0. QBasic을 공부해야 하는 이유 (1) 문법이 쉬워 프로그래밍 초급자들이 절차적 프로그래밍 언어에 대한 개념을 빠르게 습득하는데 도움이 됩니다. (2) 베이식 문법에서 파생된 VBA(Visual Basic for Application)을 학습하는 데 도움이 됩니다.   1. 설치 방법 (1) Windows 7 이하: 이미 설치되어 있으며 실행 창(Win + R) 띄운 후 qb.exe 입력 더보기…

자바스크립트 예제: 특정 주파수의 소리 재생 + 음악 평균율 주파수 테이블

  자바에서 주파수를 재생하는 글 자바 예제: 특정 주파수의 소리 재생 을 자바스크립트로 바꾼 예제입니다. 외부 온라인 소스나 라이브러리 필요 없이 자바스크립트 자체 엔진으로 소리를 재생합니다.   1) AudioContext 인스턴스 생성 var audioCtx = new(window.AudioContext || window.webkitAudioContext)(); var osc, gn; 사파리 등 모바일 브라우저에서는 웹킷 접두어가 붙은 webkitAudioContext만 인식하므로 이 부분도 추가합니다. 더보기…

자바 예제: 특정 주파수의 소리 재생

특정 주파수의 음을 사인파(Sine Wave)로 재생하고 싶다면, javax.sound.sampled.* 라이브러리를 사용합니다. javax 시리즈는 자바에서 기본 제공됩니다.   1) new AudioFormat으로 새로운 오디오 형식 생성 public AudioFormat(float sampleRate:샘플수, int sampleSizeInBits:비트당샘플사이즈, int channels:채널수, boolean signed:부호여부, boolean bigEndian:빅엔디안여부)   2) 생성한 AudioFormat에서 소스 데이터 라인(Source Data Line)을 추출 후 SourceDataLine 자료형 변수에 저장 AudioFormat 더보기…

자바: Enum (예제 – 모스 부호)

Enum 클래스는 고유 타입으로 상수를 이용할 수 있게 하는 특수한 클래스입니다. (자세한 내용) 다음은 가장 기초적 형태의 Enum 선언입니다. public enum FourDevas { 백호, 주작, 청룡, 현무; } 이렇게 하면 백호, 주작, 청룡, 현무의 4개의 상수가 지정되며 FourDevas 자료형을 통해 해당 상수들을 사용할 수 있습니다.   아래 코드에서 변수fd에는 FourDevas 더보기…

PHP: FTP 내의 디렉토리 및 파일 탐색하기(재귀호출)

PHP 계정에서 다음과 같은 구조로 파일이 존재하고 있습니다. 목표는 files 디렉토리(폴더) 내에 있는 파일들을 탐색하고, 파일들의 정보(이름, 확장자, 크기 등)를 표시 및 데이터베이스 테이블에 입력하는 것입니다. 핵심 코드는 아래와 같습니다. $dir = ‘./files’; $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir)); $dir은 탐색 대상 디렉토리의 루트 경로를 입력합니다. 현재 작성중인 php 파일과 files 더보기…

JQuery: 선택자 최적화 (Optimize Selectors)

선택자 최적화 (Optimize Selectors) 더욱 많은 브라우저에서 document.querySelectorAll()을 구현하고 있고 요소 선택에 대한 부담이 jQuery에서 브라우저로 바뀌고 있기 때문에 선택자 최적화는 예전보다 중요하지 않습니다. 그러나 선택자 성능에 병목 현상이 발생하면 명심해야 할 몇 가지 팁이 있습니다.   JQuery 확장 (jQuery Extensions) 가능하면 jQuery 확장이 포함된 선택자를 사용하지 마십시오. 이러한 확장은 더보기…

자바스크립트: 객체지향 3 – class (ES6 이상)

자바스크립트: 객체지향 1 – new 키워드를 이용해 객체 생성 (ES5 이하) 자바스크립트: 객체지향 2 – 상속 구현 (ES5 이하) 자바스크립트: 객체지향 3 – class (ES6 이상)   기존 ES5 이하 환경의 자바스크립트에서 장황하고 불편했던 클래스 생성 등의 과정이 ES6 이후에 class 문법이 생겨서 한결 편하게 클래스를 만들고 관리할 수 있게 더보기…