개발 블로깅/기타 개념
-
[2020.10.16] Google Chrome V8 엔진을 파헤쳐보자개발 블로깅/기타 개념 2020. 10. 17. 00:56
Google V8 엔진 V8은 Google Chrome과 Node.js에서 사용되고 있는 구글에서 제작한 자바스크립트 엔진이다. C++로 작성되었고 고성능의 자바스크립트 전용의 웹 어셈블리 엔진이라 할 수 있다. 일반적으로 자바스크립트 엔진은 코드 한 줄을 해석하고 바로 실행하는 인터프리터 형식이지만, V8 엔진은 자바스크립트 코드를 바이트코드(ByteCode)로 컴파일하고 실행하는 방식을 사용한다. 또한 V8엔진은 독립형으로 개발되었기 때문에 웹 브라우저 뿐 아니라 C++ 프로그램에 별도로 내장하여 실행시킬 수도 있다. 이러한 점은 엄청나게 강력한 기능이다. C++자체가 하드웨어 레벨에 훨씬 더 가까운 언어인 만큼 자바스크립트보다 더 많은 특성을 가지고 있다. 그렇기에 C++로 작성한 언어를 V8엔진을..
-
[2020.09.16] (운영체제) 사용자 수준 스레드와 커널 수준 스레드의 차이개발 블로깅/기타 개념 2020. 9. 16. 17:04
운영체제 공부 중에 사용자 수준 스레드와 커널 수준의 스레드에 대해 개념이 이해가 되지 않았다. 다른 블로그 글을 찾아봐도 뭔가 애매모호하게 설명하고 말아 버린 느낌으로 받아들여져서 이해하는데 시간이 꽤 걸렸다. 혹시나 나 같은 사람이 있을까봐 직접 최대한 쉽게 정리를 해보려고 한다. 스레드 우선 스레드부터 정리해 보자면, 운영체제 공부를 했으면 다들 알 듯이 '프로세스 내 작업 단위'이다. 이것은 하나가 될 수도 있고 여러 개가 될 수 도 있다. 여러 개의 스레드가 동작하면 '멀티 스레드' 방식으로 동작하게 되는 것이다. (더 자세한 설명은 이번 글과 맥락이 맞지 않으니 생략...) 그런데 스레드 중에 커널 수준 스레드와 사용자 수준의 스레드로 종류가 나뉜다... 우선 이 두가지가 각자 무엇인지 알아보..
-
[2020.08.04] 브라우저 동작원리개발 블로깅/기타 개념 2020. 8. 4. 18:20
현재 정보화 사회에 이제는 없어서는 안 될 프로그램. 프론트엔드 개발자라면 무조건 다룰 수밖에 없는 도구이자, 끝없는 정보 바다에 접속하기 위한 필수 도구. 웹 브라우저. 우리가 평소에 접하는 이 화면은 도대체 어떻게 나타나게 되는 것일까? 우리는 평소처럼 당연하게 인터넷 주소창에 주소를 입력하고 거기에 해당되는 홈페이지 화면을 접하며 사이트를 돌아다니기만 했지, 이렇게 화면이 보여지는 과정이 어떻게 동작하는지는 생각해보지 못했을 것이다. (사실 그렇게까지 생각해 볼 필요도 없겠지만...) 프론트엔드 개발자 역시, HTML과 CSS 문서를 작성하고 Javascript 코드를 짜면서 기대하던 동작을 확인하며 웹 개발을 했을 것이고, 실제로 이 HTML문서가 어떻게 자리를 잡아서 웹 페이지에 각자 자리에 D..
-
input type="file" 커스터마이징 하는 방법개발 블로깅/기타 개념 2020. 6. 11. 23:44
Input File 태그의 기본적인 사용 File 필드를 사용하기 위해선 일반적으로 input type="file" 태그를 사용하게 된다. #Input File 태그 코드 # 각 브라우저 상에 나타나는 file 필드 해당 필드를 선언하면 각 브라우저마다 위와 같은 UI로 나타나게 되는데, 이는 브라우저 자체에서 적용되어 있는 UI여서 CSS 스타일로 변경이 불가능하다. 해당 필드의 스타일을 변경할 수 없지만, 대안으로 특정 필드의 액션에 inpit file이 동작하도록 하는 방법이 있다. 특정 필드에 File 필드가 동작하도록 하는 방법 기존의 input File 필드를 사용하게 되면 UI를 커스터마이징 할 수 없기 때문에, 대안으로 다른 태그와 연동하여 input file 태그의 기능을 대신하도록 할 ..
-
[2020.05.13] AWS Online Summit 참여한 내용 간략 정리.개발 블로깅/기타 개념 2020. 5. 14. 09:34
오늘 AWS에서 온라인으로 세미나가 열렸다..! 평소 AWS에 관심이 많은데, 이번에 조금 더 깊게 알아볼 수 있고, 유용한 기술이 무엇이 있을지 알 수 있는 좋은 기회였다. (이것을 듣기 위해, 오늘 연차를 냈다...) 강연 일정 세션은 엄청 많았다. 우선 파트가 여러 개로 나뉘어 있고, 각 시간대 별로 세션 주제가 나뉘어 있다. 한 세션에 총 30분으로 진행되었고, 각 주제 별로 동시에 진행이 되기 때문에, 어떤 것을 들을지 정해서 참석을 해야 했었다. 진행 방식 AWS Online Summit 개막 인사를 해주시는 아마존 CTO. Dr.Werner Vogels 님. 개막 영상을 포함해서, 모든 세션 영상은 라이브가 아닌 녹화본으로 진행되고, 궁금한 점은 채팅이나 FAQ 창에 따로 작성을 하면, 전문..
-
[2020.03.10] React native cil IOS 기기에 배포까지 겪은 이슈사항 정리개발 블로깅/기타 개념 2020. 3. 11. 02:29
리액트 네이티브로 앱 개발은 처음 해보는 분야라서, 초반에 고생을 많이 할 것은 짐작하고 있었으나... ㅜㅜ 겨우 첫 예시 프로젝트를 아이폰에 배포하는 것부터 이틀이나 걸릴 만큼 빡셀 줄이야... (사실 말이 이틀이지, 자기 전에 한 두시간만 삽질한 거라..) 그럴리는 없겠지만, 혹시나 나와 같은 부분에서 고생하고 있는 사람들을 위해 내가 겪었던 이슈사항을 정리해보려고 한다. library not found for -lDoubleConversion XCode에서 Build 시, 위와 같은 library not found - IDoubleConversion 에러가 뜬다면, 아마 해당 XCode 프로젝트를 ".xcodeproj" 파일로 열어서 Build를 실행시켰을 것이다. 나 같은 경우에는 이 파일 대신,..
-
[2019.10.24] xcrun error invalid active developer path (/Libaray/Developer/CommandLineTools)개발 블로깅/기타 개념 2019. 10. 24. 22:05
이번에 맥OS 새로운 버전인 카탈리나로 업데이트를 했다. 그런데 업데이트 후에 git 사용을 하려고 하니 아래와 같은 에러메세지가 뜨면서 사용이 되지 않았다. $ git status xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools). missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun 구글링을 해보니, 항상 맥OS의 새로운 버전으로 업데이트 할 때마다 나타나는 증상이라고 한다. 해결방법은 xcode를 다시 설치하면 된다. (난 xcode를 사용하지 않는데...ㅜㅜ) $ xcode-select --install 그러면 다시 정상적으로 git을..
-
[2019.09.13] git rebase 사용법 - commit 상태를 변경시켜보자.개발 블로깅/기타 개념 2019. 9. 13. 22:17
'git log' 명령어를 입력하면, 해당 프로젝트의 commit 내용들을 확인할 수 있다. 그러나 작업하는 도중, 과거에 커밋한 내용에 대해 수정할 내용(코드, 커밋 메시지)이 있으면, 해당 커밋으로 돌아가서 내용을 변경할 수 있다. # 첫번째 practice1.js 파일 생성 현재 pratice1.js라는 파일을 새로 만든 후, 하나의 함수를 선언하고 '두 번째 commit'이라는 메시지로 commit을 하였다. # 두 번째 practice2.js 파일 생성 그리고, practice2.js 라는 파일을 하나 더 생성하여, '세 번째 commit'이라는 메시지로 commit을 한다. 여기서, 내가 '두번째 commit'으로 남긴 commit 메시지 내용을 변경하고 싶으면 아래와 같이 한다. # git ..