개발 29

선행처리기(Preprocessor)

선행처리기를 사용하는 이유 요약하면, 컴파일 전에 먼저 처리하고 싶은 것이 있기 때문이다. C 코드를 실행 파일로 만들기 위해서는 선행처리 → 컴파일 → 링킹의 3단계를 거쳐야 한다. 여기서 가장 핵심적인 단계는 '컴파일'인데, 일종의 번역으로 생각하면 된다. C언어를 컴퓨터가 알아들을 수 있게 번역하는 것이다. 그리고 선행처리는 코드를 컴파일하기 전, 사용자가 정의한 내용을 일부 먼저 처리하는 과정이다. 종류 선행처리기 기능 #include 파일 포함 #define 매크로 정의 #if, #else, #elif, #endif 조건부 컴파일 #include JS/TS의 module import, Go의 pkg import와 유사한 개념이다. 다른 파일에 있는 코드를 사용하기 위해, 헤더 파일(*.h)을..

개발/C & C++ 2024.03.13

문과 출신 독학 개발자, 결국 컴퓨터 전공하다

나는 문과 출신의 개발자이고, 코딩학원을 잠시 다니긴 했지만 결과적으로는 독학한 기술스택과 포트폴리오로 취업을 했다(참고: 개발자 성장기 (2) 나의 두서없는 커리어 이야기). 그리고 현재는 문과 출신 독학 개발자 출신 풀타임 컴퓨터과학 전공 대학생이 되었다. 근황 업데이트 2021년, 취업 전후로는 꽤 열심히 블로그를 하다가 점차 바빠지면서 블로그를 거의 하지 않게 되었다. 그동안 개인적으로도, 회사에서도 많은 일이 있었다. 나는 개발자로 일하며 많은 것을 배웠다. 특히 회사 상황이 여러 번 바뀌며 그때마다 업계의 다양한 사람들을 만날 기회가 생겼다. 적응하는 어려움은 있었지만, 나의 경력 수준으로 경험하고 배우기 어려운 것들을 많이 접하게 되어 감사했다. 그렇게 시간이 갈 수록 컴퓨터공학 지식의 빈자..

[MySQL] 숫자, 영어, 한글 랜덤값 생성 쿼리

DB 데이터를 협력업체에 테스트 목적으로 제공해야하는 일이 생겼다. 고객들의 개인정보를 노출시키면 안되므로 이름, 이메일 등을 마스킹해야 했는데, 랜덤값을 생성하기 위해 아래 쿼리를 사용했다. 사용할 함수 CHAR(num): 숫자를 문자열로 변경해준다. RAND(): 0과 1 사이의 랜덤한 숫자를 반환한다. HEX(num|str): 숫자 혹은 문자열을 hex 문자열로 변경해준다. UNHEX(str): hex 문자열을 기존의 문자열로 변경해준다. FLOOR(float): 소수점 이하의 값을 내림하여 정수를 반환한다. UUID(): 랜덤한 uuid 문자열을 반환한다 CONCAT(str, ...): 여러 문자열을 하나로 합쳐 반환한다. 숫자 랜덤값 만들기 x 이상 y 미만의 자연수를 반환하는 쿼리 SELECT..

개발/DB 2023.07.15

[node-gyp-build 에러] Module not found: Error: Can't resolve 'fs' in <path>

개발 환경 Vue.js, Vuex, Nuxt.jx 사용한 프론트엔드 환경 컴파일 중 에러 발생 에러 문구 Failed to compile with 1 errors This dependency was not found: * fs in ./node_modules/node-gyp-build/index.js To install it, you can run: npm install --save fs in ./node_modules/node-gyp-buil/index.js Module not found: Error: Can't resolve 'fs' in 'D:\Project\myproject\frountend\node_modules\node-gyp-build' 발생 원인 분석 새로 npm 패키지를 설치한 후 발생한..

개발/디버깅 2022.06.12

코틀린 기본 문법 Cheatsheet

변수 선언 및 할당 val 변수명: 타입 = 불변값 var 변수명: 타입 = 가변값 함수 선언 fun 함수명(인자 | vararg 가변인자): 반환값 { // code } '가변인자'는 쉽게 말하면 개수가 정해지지 않은 인자. vararg 부분에 여러 개의 인자를 넣을 수 있게 된다. 타입 숫자(정수) - Byte: -128 ~ 127 - Short: -32,768 ~ 32,767 - Int: -2^{31} ~ 2^{31} - 1 - Long: -2^{63} ~ 2^{63}- 1 val oneByte: Byte = 1 val oneShort: Short = 1 val one = 1 // Int가 기본값으로 들어가는 타입 val oneLong = 1L // L이 있어야 Long으로 변수를 할당할 수 있음 ..

개발/Kotlin 2022.06.12

신입 개발자의 일기: 6개월 출근 후기

1. 이제 정말 개발자가 된 것 같다. 회사 내부의 코드와 DB 구조도 전반적으로 이해하게 되었고, 입사 이전에 써본 적 없던 것들도 대충 익숙해졌다. 이제 내가 하는 일이 무엇인지 어렴풋이 이해하게 되었다. 그리고 내가 부족한 점들도 더 선명하게 알게 되었다. 비전공자이기 때문에 필연적으로 컴퓨터 공학 전공 지식이 부족하다는 것. 그리고 평소에는 쓸모 없는 것 같은 전공 지식이, 나를 더 나은 개발자로 만들어줄 것이라는 것. 남들이 4년 동안 배우는 전공 지식을 배워야 하니 나는 시간이 부족하다는 것. 그럼에도 불구하고 시간을 내어 공부하는 것이 어렵다는 것까지. 2. 인생이 커브볼을 하나 던졌다. 회사가 인수되었다. 나는 짤리지 않았다. 원래 직장 동료들과 대표님이 워낙 좋은 분들이라 회사에 즐겁게 ..

크롬 익스텐션 에러: ERR_UNKNOWN_URL_SCHEME 원인

우선 해결방법을 설명하기에 앞서서, 이 에러가 뜨더라도 익스텐션을 사용하는데는 아무런 문제가 없다는 것을 먼저 언급하고 싶다. 그러나 방법을 찾는 동안에는 그 사실을 알지 못했기 때문에 열심히 찾아봤다.... 타입스크립트와 Vue를 사용하는 프로젝트이다. 에러는 다음과 같이 뜬다. 크롬 익스텐션을 테스트하다가 만난 야생의 에러다. source map이 없다고 한다. 그래서 source map이 왜 나오는데...? tsconfog.json을 보니 sourceMap이 true로 설정되어 있었다. 타입스크립트 홈페이지에서 찾은 sourceMap에 대한 설명이다. 해석하면 다음과 같다. sourcemap 파일의 생성을 가능하게 합니다. 이 파일들은 디버거와 다른 도구들이 생성된 자바스크립트 파일을 실행시킬 때,..

개발/디버깅 2022.04.02

신입 개발자의 일기: 3개월 근무 후기

수습기간 3개월이 거의 다 끝났다. 회사에 적응하면서 이것 저것 배우는 정신없는 와중에 개인적인 일들이 휘몰아쳤다. 3개월동안 회사에도 어느 정도 적응했고, 개인적인 일들도 어느 정도 마무리가 되고 안정을 되찾았다. 이제는 어디가서 개발자라고 말하는 것에도 적응이 되었다. 물론 아직도 삐약거리는 수준이라 민망하지만, (개발자가 아니라면) 어차피 뭐가 뭔지 다들 모르기 때문에 당당하고 뻔뻔해도 괜찮다는 것을 알게 되었다. 3개월 동안 개발자라는 나의 직업과 내가 다니는 회사에 대해서 알게 된 것들, 그리고 경험한 것들을 기록하려 한다. 1. 3개월을 다녀보니 회사 사람들도 더 잘 알게 되었다. 정말 감사하게도 알면 알수록 따뜻한 분들이라 즐겁게 출근하고 있다. 특히 내가 사고를 쳤을 때 절실히 느꼈다. 회..

[JavaScript] Udemy 강의 The Web Developer Bootcamp 리뷰

Udemy에서 충동적으로 구입했던 웹 개발 강의이다. Colt Steele이라는 강사가 가르치는데, 이 강의 말고도 다양한 강의를 하는 베테랑 강사이다. 영미권에서도 강사로 꽤 유명한 것 같다. 유튜브에도 간단한 강의를 많이 올린다. HTML, CSS, JavaScript, Node.js, Express, MongoDB를 다 배울 수 있기 때문에 프론트엔드와 백엔드 강의가 모두 있다고 할 수는 있다. 하지만 요즘 프론트엔드는 거의 모든 회사에서 프레임워크를 사용한다. 따라서 이 강의는 실질적으로 백엔드 강의라고 봐야 한다. 강의는 초반에는 조금 지루하다. HTML, CSS, JavaScript의 기초적인 개념을 다 잡고 가야하기 때문이다. 이 부분은 웹 개발을 배우려면 어쩔 수 없긴 한 것 같다. 이 강..

개발/JavaScript 2022.01.22

신입 개발자의 일기: 한 달 반 출근 후기

1. 원래는 한 달 출근 후기를 남기려고 했으나 솔직히 까먹었다. 이것저것 할 일도 많고 개인적으로 바쁜 일이 많다 보니 블로그에도 소홀해지긴 했다. 새해에는 계획을 세워서 정기적으로 블로그 글을 쓸 것이다. 2. 나는 아직 회사에서 월급값을 못한다. 신입이니 어쩔 수 없다. 하지만 아직 수습기간 3개월이 끝나지 않았음에도 정말 많은 것을 배웠다. 내가 잘 못하는 것을 믿음을 가지고 기다려주는 대표님과 직장 동료들 덕분인 것 같다. 좋은 사람들이 있는 좋은 직장을 찾은 것 같아 정말 기쁘다. 3. 출근 시간은 편도 1시간에 지하철을 2번 갈아타야 한다. 백수로 집에서 누워 살다가 사람처럼 살다보니 초반에는 좀 힘들었다. 하지만 역시 인간은 적응의 동물이라 이제는 급행열차의 가장 붐비는 칸에 아슬아슬하게 ..

728x90
반응형