본문 바로가기

기타

(9)
[Golang] Go 시작하기 특징 컴파일언어이지만 컴파일러의 컴파일 속도가 매우 빨라 인터프리터 언어처럼 사용할 수 있다. 언어의 문법적 구조를 개선해서 달성할 수 있었는데, 컴파일러가 소스코드를 해석하는 pass수를 줄여 달성할 수 있었다. GO 에서는 GoRoutine 이라는 비동기 메커니즘을 제공하고 있다. 고루틴을 사용하면 이벤트 처리, 병렬 프로그래밍 등이 간단하게 작성할 수 있다. 단, 동기화를 유의하여 프로그래밍 해야한다. 고루튼은 멀티 스레드 메커니즘이지만 경량스레드로 CPU코어수와 무관하게 수백, 수천만 고루틴을 작성해도 성능에 문제가 생기지 않는다. Go에서 언더스코어(underscore) 사용하지 않을 변수를 의미한다. 사용하지 않은 변수, 패키지 등에 대해 _(underscore)를 사용하지 않는 경우 에러를 ..
프로세스와 스레드 프로세스 운영체제로부터 시스템 자원(독립된 시간, 공간 자원)을 할당받아 메모리에 적재되어 실행되고 있는 *프로그램을 의미합니다. *프로그램이란, 실행 가능한 명령어의 집합입니다. 프로세스는 커널에 의해 직접 관리되며 커널 메모리 안에는 각 프로세스마다 관리하고 있는 프로세스에 대한 데이터들(PCB)이 있습니다. 사용자가 사용하는 메모리 공간상의 프로세스 정보는 Code, Data, Heap, Stack 으로 나뉩니다. Stack: 함수에서 다른 함수를 실행하는 등 서브 루틴들의 정보를 저장 Code: 프로그램의 실제 코드를 저장 Heap: 프로세스 런타임 중 동적으로 할당되는 변수들을 저장 Data: 프로세스가 실행될 때 정의된 전역 변수, Static 변수들을 저장 운영체제는 각각의 프로세스를 독립적..
보안 XSS, CSRF, SQL Injection 에 대해 정리해보았습니다. XSS(Cross Site Script) 사용자 입력 값에 대해 필터링이 제대로 이뤄지지 않아 공격자가 악의적인 스크립트를 삽입하여 해당 스크립트를 희생자측에서 동작하도록 설정하는 악의적인 행위를 수행하는 취약점입니다. 이를 이용하여 사용자의 개인정보를 비롯해 쿠키정보, 악성코드 감염, 웹 페이지 변조 등의 공격을 수행할 수 있습니다. XSS 공격에 대응하기 위해서는 사용자 입력값 검증을 반드시 서버단에서 수행해야합니다. 사용자 입력 문자열에서 HTML 코드로 인식될 수 있는 '특수문자'는 일반문자로 치환하여 처리해야합니다. 예를 들어 '
Semaphore & Mutex 공유된 자원에 동시에 여러개의 프로세스가 접근하면 문제가 발생합니다. 따라서 공유된 자원속 하나의 데이터는 한 번에 하나의 프로세스만 접근할 수 있도록 제한하기 위해 고안된 것이 'Semaphore'입니다. Semaphore는 공유된 자원의 데이터를 여러 프로세스가 접근하는 것을 막는 것이라면, Mutex는 공유된 자원의 데이터를 여러 쓰레드가 접근하는 것을 막는 것입니다. Critical Section을 가진 쓰레드들이 공유 리소스에 대한 접근을 조율하기위해 Locking, Unlocking을 사용합니다. Mutex는 상태가 0,1 두개뿐인 binary Semaphore 입니다.
git 기본적인 사용법 git status: 변경된 사항 확인 git add . : all file staging git commit -m "update message insert here" git push origin master git branch code 내려받기 git clone -b {branch_name} --single-branch {저장소 URL} ex) git clone -b subBranch --single-branch https://github.com/어쩌구저쩌구
SQLD SQLD 공부 중에 학습한 내용을 정리하였습니다. 1. DROP, TRUNCATE, DELETE의 차이 DROP, TRUNCATE 는 auto commit 이 됩니다. TRUNCATE는 용량이 줄어들며 인덱스도 삭제됩니다. 그러나, 테이블은 삭제되지 않고 데이터만 삭제됩니다. DROP은 테이블 전체를 삭제하며 공간도 전체를 삭제합니다. DELETE 는 사용자 commit 필요합니다. 테이블의 용량은 줄어들지 않으며 데이터만 지울 수 있습니다. 삭제 후 복원 가능합니다. 2. Oracle 과 SQL Server 의 차이 2.1 Rollback Oracle 은 Create table의 경우 transaction 종료 처리되어 rollback해도 테이블이 그대로 존재합니다. SQL server 의 경우 Beg..
용어 정리 IT 공부를 하면서 새롭게 알게된 용어를 정리하겠습니다. CDN(COntents Delivery Network) : 트래픽을 분산해 영화, 방송, 게임 등 대용량 콘텐츠를 최상의 경로로 전달하는 기술이다.
용어-PCM PCM(Pulse Code Modulation, 펄스 부호 변조) PCM 방식이란? 최초로 실용화된 '음성의 디지털 부호화' 및 '다중화 전송' 방식으로 일반적으로 최초 입력단에 ADC, 최종 출력단에 DAC를 가진다 1. PCM 방식 주요 특징 - 아날로그 음성 신호의 디지털화 PCM 방식의 이론적 근거: Sampling Theory 아날로그에서 디지털로 변환 - A/D 컨버터 참조 - 음성 부호화 최초의 국제 표준 음성 부호화 방식(G.711) 구현 - 시분할 다중화(TDM Multiplexing) 다중화 방식 표준: T1 방식(북미 계열 표준) , E1 방식(유럽계열 표준) 2. PCM 디지털화 과정 - 표본화(Sampling) -> 양자화(Quantizing) -> 부호화(Coding) - 음성신..