프로그래밍, 코딩은 영어로 작성이 됩니다. 따라서 코딩에 있어서 영어는 중요하다 아니다라는 차원이 아니라, 반드시 사용해야만 하는 기본적으로 꼭 필요한 요소인 것 같습니다. 이번 시간에는 코딩에서 자주 쓰이는 영어를 정리해 보도록 하겠습니다.
목록
- 빈출 단어
- 데이터의 호출과 등록에 대해
- 수식, 값, 변수
- 숫자 표현
- 부울
- 형태에 대해
- Memory
- 단위
- 기호
- 그리스 문자
- 날짜 표현
- 데이터베이스 관련
빈출 단어
log
기록 로그를 취한다.
명사와 동사가 같다.
emit
로그를 파일로 출력한다.
flush
쌓여있는 데이터와 로그를 지운다.
fetch
네트워크에서 데이터를 검색한다.
CPU가 메모리에서 데이터를 검색하는 경우에도 사용한다.
retrieve
데이터를 찾고 얻는다.
검색의 의미로도 사용된다.
stack
쌓다. 쌓기.
명사와 동사가 같다.
token
토큰 표적 증거.
어휘 분석의 경우는 분해 할 수없는 최소 단위의 수.
네트워크 등의 경우는 입찰을주고받는 데이터의 수.
optimize
최적화한다.
normalize
정상화.
NDA / Non-Disclosure Agreement
비밀 유지 계약
closure는 close에서 변화하여 마감을 의미한다.
disclosure 부정 형태이기 때문에 폐쇄 반대에 공개한다.
non-disclosure은 더욱 부정적이기 때문에 비밀로한다.
cheatsheet
토대가 된 책. 사용을 한 페이지에 정리 한 것.
usage
사용 방법, 사용 방법
unknown
알 수없는 정체 불명의.
unknown error, something happened
misc / miscellaneous
잡다한 다방면의.
TOC / table of contents
목차.
description
설명.
brief
요약 요약한다.
recommend
추천한다.
features
특징, 기능.
대부분 복수형으로 사용한다.
via
~ 따라 ~을 통해.
required
필수.
reserved
예약되었다.
immutable
불변.
한 번 만든 변수의 내용을 변경하지 못하도록하는 의미.
verbose
중복. 자세한.
-v로 기록 옵션에서 정보를 늘릴 경우에 사용된다.
-V라고 버전을 가리키는 경우가 많다.
diversity
다양성.
Proof Of Concept
프로토 타입을 만들어 검증한다.
ecosystem
생태계.
생태계에서 변하고 여러 기업 소프트웨어 협력 · 연계하여 시장 재배법.
omni channel
옴니 채널. 여러 판매 형태를 가지는 것.
App Store뿐만 아니라 자사 다운로드 판매 매장 USB 판매 등.
full stack
위에서 아래까지 전부.
full stack developer / engineer는 인프라에서 시스템 개발, 데이터베이스 프런트 엔드까지 모든 가능한 인재.
full stack framework는 필요한 기능을 모두 갖춘 프레임 워크.
데이터의 호출과 등록에 대해
폼에 데이터를 호출하는 것을 Load.
폼에 데이터를 저장하는 것을 Save.
파일과 Stream로부터 읽어 들이는 것을 Read.
파일 또는 Stream에 기입하는 것을 Write.
서버에서 데이터를 검색하는 것을 Fetch.
서버에 데이터를 보내는 것을 Send.
데이터를 검색하는 것은 Retrieve.
데이터를 등록하는 것은 Register.
데이터베이스에서 SELECT를 실행하는 것을 ExecuteQuery.
데이터베이스에서 INSERT, UPDATE, DELETE를 실행하는 것을 ExecuteNoneQuery.
다음은 예.
검색 버튼을 Search한다.
결과를 서버에서 Fetch한다.
클라이언트는 서버에 Request한다.
서버는 데이터베이스 Retrieve한다.
데이터베이스는 SELECT 문을 ExecuteQuery한다.
서버는 클라이언트로 Respond한다.
검색 결과를 목록에 Add하여 표시를 Refresh한다.
목록에서 Select한다.
선택된 키에서 화면에 데이터를 Load한다.
결과를 서버에서 Fetch한다.
클라이언트는 서버에 Request한다.
서버는 데이터베이스 Retrieve한다.
데이터베이스는 SELECT 문을 ExecuteQuery한다.
서버는 클라이언트로 Respond한다.
결과를 화면에 Set한다.
필요하다면 데이터를 다시 작성.
입력 검사 Validate하여 CanSave 여부.
또는 TrySave 저장을 시도한다.
데이터를 Save한다.
데이터를 화면에서 Get한다.
데이터를 서버로 Send한다.
클라이언트는 서버에 Request한다.
서버는 데이터베이스 Register한다.
데이터베이스는 INSERT, UPDATE DELETE 문을 ExecuteNoneQuery한다.
서버는 클라이언트로 Respond한다.
필요한 경우 화면을 Clear한다.
수식, 값, 변수
syntax / statement / expression / operator / signature
syntax 구문. 구문은 statement와 expression에서된다.
statement는 문장. if 문, for 문, 함수 호출 문 등.
expression은 평가되는 식입니다.
operator 연산자.
signature는 함수의 형태 정보이며, 메소드 이름, 매개 변수, 반환 형식을 맞추어 표현한 것.
프로그래밍 언어에 의해 정의가 다를 수있다.
prefix / suffix / affix
접두사, 접미사 접사.
disconnect의 dis- 및 restart의 re- 접두사.
player의 -er과 nullable의 -able이 접미사.
suffix 대신에 postfix에서도 의미는 통하지 만 잘 쓰이지 않는다.
affix은 첨부, 더하는 의미가 있으며, prefix와 suffix를 정리해 표현할 때 사용한다.
prefix notation / infix notation / postfix notation
전 표기법, 삽입 표기법, 후 표기법.
폴란드어 표기법 (+ AB) 일반 수식 (A + B), 역 폴란드 표기법 (AB +).
컴퓨터에서 수식을 처리하는 경우 스택을 이용한 역 폴란드 표기법이 자주 사용된다.
create / destroy
인스턴스를 생성하는 인스턴스를 파기한다.
allocate / free
메모리를 할당 메모리를 개방한다.
inheritance / override / overload
계승. 덮어. 오버.
delimiter / separator
구분자.
delimter이 더 의미가 널리 쉼표 이외에도 인용이나 괄호도 포함한다.
separator 분은 쉼표 등 분할하는 것만을 말한다.
type
형 데이터 형식입니다.
문맥에 따라 종류를 의미하기 때문에주의가 필요.
항가리안 기법이 두 가지 수 있었던 것은 문맥에 따른 의미의 오해가 원인.
dynamic / static
dynamic (동적)는 필요에 따라 수시로 처리를한다.
static (정적)는 사전에 필요한 처리를하는 것이.
dynamic library는 동작 중에 DLL을로드한다.
static library는 미리 LIB를 링크하여 컴파일한다.
라우팅 dynamic route는 자동으로 추가되어
static route는 미리 수동으로 설정해 둔다.
static 변수는 언어에 의해 정의가 다르지만, 메모리에 미리 공간을 확보 해 둔다.
Initial Value / Initialized Value
초기 값 초기화 값.
프로그램의 처음이나 생성자에서 초기화되는 값입니다.
또는 변수와 함께 선언 된 값입니다.
초기 값은 가급적 넣는 편이 예상치 못한 문제를 줄일 수있다.
초기 값을 영역하여 Initial Value, Default Value, Start Value된다.
그러나 프로그래밍에서 초기 값이라고하면, 변수 선언시 초기화를 가리키는 경우가 많다.
Default Value
아무것도 설정하지 않았을 때의 값 변하고 기본값입니다.
공장 설정 등의 값.
초기 값의 의미로 사용되는 경우도 있지만, 엄밀하게는 다르다.
인수를 생략하면 값이 경우 Optional Value 다.
default 뿐이라고 태만이나 무작위을 의미한다.
디폴트로 줄여서 말하는 경우는 보통 같은 의미로 쓰인다.
Start Value / Starting Value
시작, 초기치.
작업을 시작할 때의 시초가 등.
Current Value
현재 값.
Original Value
(변경 전의) 원래 값.
Parameter / Argument
인수.
구별한다면 parameter는 가인, argument는 실제 인수.
Return Value / Returned Value
반환.
ret, retval라고 생략되는 경우가 많다.
Result Value
결과 값입니다.
res, rslt라고 생략되는 경우가 많다.
res 서면되면 respons과 좌절 때문에 생략하지 않는 편이 좋다.
Var (Variable)
변수.
Const (Constant)
상수.
Literal
리터럴. 직접 작성된 값 것.
변수와 반대의 의미.
int x = 10;
String str = "abc";
10 숫자 리터럴, "abc"문자열 리터럴한다.
Primitive Data Type
원시 형. 기본형. 내장.
프로그래밍 언어로 처음부터 준비되어있는 변수의 형식 것.
bool char, int, short, long, double, float, unsigned char 등.
Boolean, Int32, String, Decimal 등.
declare / define
변수와 함수를 정의한다.
null / nil
존재하지 않는다. 널.
영어 읽기라고 나루이지만,별로 듣지 않는다.
void
하늘.
널과 비슷한 의미.
숫자 표현
binary number
2 진수.
맨 위로 0b-를 붙여 표현한다. 0b10에서 2를 나타낸다.
octal number
8 진수.
현재는 우선 사용되지 않는다.
메인 프레임의 시대 (1word = 24bit)에 많이 사용되고 있었다.
맨 위로 0-를 붙여 표현한다. 010에서 8을 나타낸다.
decimal number
10 진수
hexadecimal number
16 진수.
맨 위로 0x-를 붙여 표현한다. 0x10에서 16을 나타낸다.
0xFF, FFH, 0xFFH 등 표현 방법은 몇 가지있다.
RGB 값으로 잘 볼 수있다.
even / odd
짝수, 홀수.
명사 또는 형용사로 사용한다.
integer part / fractional part
정수 부분과 소수 부분.
integral part / decimal part 다.
부울
true / false
참, 거짓.
트루, 호루스와 발음한다.
언어의 차이도 크지 만 일반적으로 0이 아닌이 true, 0이 false입니다.
비교하는 경우 if (a == false)및 버튼 if (a == 0)등 가짜와 비교하면 좋다.
진정한 값의 변화가 많은 가짜 값과 비교하는 것이 실수가 적은 것으로 보인다.
프로그램의 종료 상태 (Exit Status, Return Code)는 0이 정상 종료, 그렇지 않으면이 오류 코드를 나타냅니다.
하지만 Linux 파일 디스크립터 파일 핸들에 한하여 취득에 실패하면 -1이다.
그래서 비교하면 함수화두면 혼란이 적다.
bool FileDescriptor::isOpened() { return (fd != -1); }
isXXX / canXXX / hasXXX
상태를 판정하는 경우.
is- <형용사> can- <동사> has- <과거 분사>로한다.
isSaved, isNull, isNumber, canSave, hasConnectted 등.
isXXX은 동사로 시작하지만, 예외적으로 진리 값을 나타내는 변수 이름으로도 많이 사용한다.
exists
파일이 실제로 존재하는지 여부.
세 단 현의 s를 붙인다.
contains
목록 등에 포함되어 있는지 여부.
세 단 현의 s를 붙인다.
equals
같은지.
세 단 현의 s를 붙인다.
형태에 대해
float
부동 소수점 숫자.
floating point number에서.
double
배정 밀도 부동 소수점 숫자입니다.
double precision floating point number에서.
string
문자열의 것.
사람 벌이라는 뜻입니다.
character strings에서.
Memory
RAM
RAM (Random Access read / write Memory)
stack-based memory
스택 영역. 정적 메모리 영역도.
범위를 벗어나면 자동으로 개방된다.
heap memory
힙. 동적 메모리 영역도.
heap는 산적을 의미한다.
new 나 malloc하면 여기에 확보된다.
delete 나 free 작동 기억에서 메모리 누수를 일으키기 쉽다.
또한 단편화도 일으키기 쉽다.
ROM
ROM (random access Read Only Memory)
내장에서 쓰는 메모리 영역.
BIOS 및 펌웨어가 기록되어있다.
필요한 ROM의 용량은 program + const + data된다.
필요한 RAM 용량은 data + bss이다.
Android 스마트 폰의 내장 스토리지 용량이 ROM라고 쓰여져있다.
분명히 플래시 메모리는 EEPROM하지만 ROM 만 쓰는 의미가 다르다.
VECT section (Vector)
인터럽트 벡터 테이블이 기록되는 영역입니다.
모든 컴퓨터는 리셋 벡터에서 시작된다.
Program section
프로그램이 저장되는 위치입니다.
text 영역도.
Const section
상수가 저장되는 위치입니다.
rodata (read only data) 영역도.
Data section
초기치가 전역 변수가 저장되는 위치입니다.
BSS section (Block Started by Symbol)
초기 값없이 구루바루 변수가 저장되는 위치입니다.
메모리 용어의 대비
ROM (read only memory) - RWM (read write memory)
RAM (random access read / write memory) - SAM (sequential access read / write memory)
일반적으로 RAM라고하면 RWM로 분류되는 RAM을 가리키는 있다.
ROM은 ROM (Read Only Memory) 중 random access Read Only Memory를 가리킨다.
단위
b / bit : binary digit
B / Byte : 1byte = 8bit
KB / KiB : kilo byte (10 ^ 3) / kibi byte (2 ^ 10)
MB / MiB : mega byte (10 ^ 6) / mebi byte (2 ^ 20 )
GB / GiB : giga byte (10 ^ 9) / gibi byte (2 ^ 30)
MSB : Most Significant Bit (최상위 비트)
LSB : Least Significant Bit (최하위 비트)
MSBit / MSByte 등 bit 또는 Byte를 명시 할 수있다.
bps : bits per second (비트 레이트)
B / s : bytes per second, 1B / s = 8bps
sec : (second)
ms : millisecond (ms), 1sec = 1000msec
us : microsecond (마이크로 초), 1msec = 1000us
ns : nanosecond (나노초), 1us = 1000ns
Hz : Hertz (주파수), 1MHz = 1us주기
내장주기 계산은 정확히 두의 멱 제곱 (지수)로 계산하지 않으면 어긋남.
1MHz = 1,048,576Hz = 2 ^ 20Hz
dB : decibel (dB)
px : pixel (픽셀), picture element
bpp : bits per pixel (색 농도)
기호
!exclamation mark
"double quote, double quotation mark
#hash, number, pound
$dollar
%percent
&ersand
'single quote, apostrophe
()paren, parenthesis, round brackets
-hyphen, minus, dash, bar
=equal
^caret, hat, up arrow
~tilde
\yen
|pipe, vertical bar
@at mark
`back quote
[]brackets, square brackets
{}braces, curly brackets
;semicolon
+plus
:colon
*asterisk, star
,comma
.dot, period, point
<>angle brackets
/slash
?question mark
\backslash
_underscore, underbar, underline
그리스 문자
Α α alpha 알파
Β β beta 베타
Γ γ gamma 감마
Δ δ delta 델타
Ε ε epsilon 엡실론
Ζ ζ zeta 제타
Η η eta Η
Θ θ theta 세타
Ι ι iota 이오타
Κ κ kappa 카파
Λ λ lambda 람다
Μ μ mu 뮤
Ν ν nu 뉴
ξ ξ xi ξ
ο ο omicron 오미
π π pi 파이
ρ ρ rho 로우
σ σ sigma 시그마
τ τ tau 타우
υ υ upsilon υ
φ φ phi 파일
χ χ chi 카이
ψ ψpsi 프시
Ω ω omega 오메가
날짜 표현
date_created : 자주 사용되는
created_date : 이것도 자주 사용되는
creation_date : 그다지 사용되지 않는다
created : DateTime 형식이면 좋지만, 이름만으로는 bool 판별이 붙지 않는다
on과 at 타임 스탬프를 나타내는 것은 rails에서 사용되는 용법.
created_on : 작성일
created_at : 만든 날짜
updated_at : 업데이트 날짜
created_datetime : DateTime 형식, timestamp 형, YYYY-MM-DD HH:mm:SS
created_date : date 형,YYYY-MM-DD
유닉스 시간 에포크 시간 말하며, 1970-01-01에서 초 단위로 표현하는 방법도 있다.
int 형으로 32bit라면 2038 년 문제이기 때문에주의.
public static long ToUnixTime(this DateTime date)
{
var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
return Convert.ToInt64((date.ToUniversalTime() - epoch).TotalSeconds);
}
좁은 범위에서 날짜를 문자열로 유지하려면 변수 이름에서 어떤 형식이 있다.
var yyyyMMdd = DateTime.Now.ToString("yyyyMMdd");
var HHmmssfff = DateTime.Now.ToString("HHmmssfff");
데이터베이스 관련
데이터베이스 관련 키워드는 모두 대문자로 쓸 것.
SELECT t.name FROM table t;
대소 문자를 구별 /하지 데이터베이스가 있으므로 테이블 이름, 열 이름 등은 모두 소문자로 쓴다.
반대로 모두 대문자로 쓰는 문화도 있지만, 키워드와 구별이되지 않기 때문에 읽기 어렵다.
데이터베이스 따라 Users와 카멜 케이스로 쓸 수있다.
테이블 이름은 복수형으로하는 경우가 많다.
테이블 행의 모임이므로 복수하는 것이 자연스러운 파악하는 방법이다.
클래스에 매핑하는 경우 복수형이라고 배열이나리스트와 같은 취급이 필요하므로 단수 할 필요가있다.
테이블 이름을 단수형으로하는 문화도있다.
테이블은 컨테이너이므로 단수로 할 생각이다.
이 경우 클래스 이름과 동일시되기 때문에 기계적으로 작업이 쉬워진다.
테이블 이름에 mst_, trn_, tbl_, m_, t_등을 붙일 때는 일관성을 갖게한다.
원래 중복이되므로 필요 없다.
예를 들어, 마스터로 만들었지만, 업데이트가 자주 있으면, 또 마스터가 아니기 때문에, mst_이 경우에 혼란의 근원.
_ (밑줄) 구분은 두 정도가 그냥 좋다.
외부 키 필드는 모두 _id로 끝나야 한다.
열 이름에 _id, _code, _type, _cd, _kbn, _flg등 붙일 때는 일관성을 갖게한다.
반드시 넣을 생략하지 혼용하지 않는 등.
구체적으로는 _code와 _cd, _type와 _typ, _kubun와 _kbn, _flag도시 _flg를 혼합한다.
delete_flag하면 FALSE를 지운인지 TRUE를 지운인지 이해하기 어렵다.
delete_flag대신 deleted나 is_deleted에게해야합니다.
_flag애매 중복해서 사용하지 않는다.
_id기본 키 또는 고유하게 식별 번호에 붙인다. int또는 bigint이 바람직하다.
_code의미있는 기호와 번호, 코드 체계화되어있는 것을 사용한다. int이 혼합과 혼란 때문에 text통일하고 싶다.
_seq는 연번에 사용한다.
_number, _no숫자로 사용한다.
_num특히 개수에 사용한다.
우편 번호 (postal_code, post_code, zip_code) 는 숫자이지만 실상은 코드이다.
고객 번호의 경우 customer_number이라고 숫자이지만, customer_code 숫자 이외도있을 수있다.
그러나 업무의 통칭으로 ~ 코드와 ~ 번호가 있으면 맞춘 것이 혼란이 적은 경우도있다.
정렬을위한 열 sort_number보다, asc_order라고하는 것이 의미가 명확하게 전해진다.
한계 값을 포함하거나 범위를 나타내는 경우에는 min_도시 max_를 이용한다.
범위를 나타내는 경우는 first_도시 last_를 이용한다.
포함 독점적 인 범위를 나타내는 경우는 begin_(begin에는 포함)와 end_(end는 포함하지 않는다)를 사용한다.
begin_는 start_도 대체가 가능하다.
SQL
SQL은 에스큐엘이라고 읽는다.
바탕으로 데이터베이스 언어가 SEQUEL (Structured English Query Language).
SQL 예문
SELECT t . name FROM table_name t WHERE t . id = '1' ; SELECT t . name FROM table_name t ORDER BY t . id DESC ; SELECT COUNT ( t . day ) FROM table_name t WHERE t . year = '2015' GROUP BY t . month HAVING t . month LIKE 'J %' ; UPDATE table_name SET code = 'aaa' WHERE id = '1' ; INSERT INTO table_name ( id , code ) VALUES ( '1' , 'aaa' ); INSERT INTO table_name VALUES ( '1' , 'aaa' ); INSERT INTO table_name ( id , code ) SELECT t . id , t . code FROM table_name2 t ; INSERT INTO table_name SELECT * FROM table_name2 ; DELETE FROM table_name WHERE id = '1' ;
키워드
TABLE : 테이블, 테이블
ROW : 로우 행
COLUMN : 열
SELECT : 선택
UPDATE : 업데이트
INSERT : 인서트 삽입
DELETE : 복원, 삭제
UPSERT : 업 콘서트, update or insert 의미
CREATE : 크리에이트 표 만들기
DROP : 드롭 테이블을 삭제
INDEX : 인덱스 인덱스
PRIMARY KEY : 기본 키 NOT NULL 제약 조건 하나만
UNIQUE KEY : 고유 키
ASC : Ascending 오름차순
DESC : Descending 내림차순
자주 사용하는 단어
contact 연락처
full_name 이름
first_name 이름
middle_name 중간 이름
last_name 성
honorific 경칭
nickname 별명
job_title 직함
phone 전화 번호
cell 휴대 전화
fax 팩시밀리 (facsimile)
mail 편지, e-mail
web WEB 사이트, 홈페이지, url을 사용해도된다
address1 주소 1
address2 주소 2
postal_code 우편 번호
country 국가
user 사용자
user_code 사용자 코드 (로그인 이름)
user_name 사용자 이름 (표시 이름)
password 비밀번호
patient 환자
patient_code 환자 코드
patient_name 환자 이름
birth_date 생년월일, 생일 (birthday)이 아니므로 주의
sex_code 성별, ISO 5218을 참조
job_role 직업
note 비고, remarks 모두
customer 고객, 거래처
employer 고용주
employee 직원
quantity 수량
order 주문