전체 글

안녕하세요. 사진과 철학에 관심이 많은 웹 프론트엔드 개발자 오원종입니다. 시간이 지나도 꾸준히 읽힐 수 있는 글을 쓰고 싶습니다. 재미있는 일만 하면서 살고 있는 사람입니다.
· 끄적끄적
안녕하세요. 오웬입니다. 저는 지난 2주간(10.09~10.23) 부산으로 워케이션을 다녀왔어요. 저희 회사에 부산 오피스에서 근무를 할 수 있는 제도가 올해 새로 생겼는데, 예전부터 디지털 노마드로 살아보고 싶은 마음을 가지고 있었던 저였기에 주저하지 않고 바로 신청을 했고 다녀오게 되었습니다. 요즘에 주변을 보면 몇몇 회사들이 워케이션 제도를 도입해서 실행하고 있고, 또 도입을 고려중인 곳도 있는 것으로 보이는데, 이 글이 그러한 분들에게 조금이나마 도움이 되기를 바라는 마음에 블로그 포스팅을 해보려고 합니다. 워케이션을 떠나기 전 지금 회사를 약 2년 반 정도 다니고 있는데, 휴식 없이 계속해서 일을 하다 보니 조금 리프레시가 필요했습니다. 휴가를 길게 다녀오는 것은 여건상 쉽지가 않았고 그래서 그..
지난 10월 8일 롯데타워에서 열린 2022 FEConf에 다녀왔다. 정말 오랜만에 열린 오프라인 컨퍼런스 참석이었고, FEConf도 처음 참석해서 그런지 모든 부분이 신기하고 재밌었다. 발표도 깊은 주제로 알찬 내용이 많았었다. 프론트엔드 분야 한정 컨퍼런스인데 생각보다 사람들이 많이 몰려서 놀랐다. 티켓팅은 1분만에 마감이 되었던 것으로 기억을 한다. 컨퍼런스를 다녀오고 나서 관심있는 세션들에 대한 요약 내용을 적어보려고 한다. 모든 세션을 다 정리하지는 못했다. 이날 중반 이후부터 컨디션이 급격히 안 좋아졌는데, 앞부분은 집중해서 들었으나 뒷 부분은 거의 버티면서 겨우겨우 앉아 있었다. 감사하게도 주최측에서 풀버전 녹화 영상을 유튜브에 공유해 주었으니 관심 있으신 분들은 이 영상을 보는 편이 좋겠다..
4 properties to transform objects position scale rotation quaternion Object3D를 상속받는 모든 클래스들은 위의 4가지 속성을 가진다. 예컨데, 여기에는 PerspectiveCamera나 Mesh가 있다. 이러한 속성들은 행렬(matrix)으로 컴파일 된다. position objects position 속성은 다음과 같이 3차원에서 x,y,z 축을 의미 사용하는 단위 1은 단위로 인식하면 되고, 경우에 따라 다 다른 값을 가질 수 있다. (e.g. 1cm, 1m, 1km 등등) mesh.position.x = 0.7 mesh.position.y = -0.6 mesh.position.z = 1 mesh.position.x = 0.7 mesh.po..
Part I. 전제 Chapter 1. 소프트웨어 엔지니어링이란? 해당 챕터에서는 소프트웨어 엔지니어링과 프로그래밍의 차이에 대하여 다룬다. 소프트웨어 엔지니어는 시간의 흐름과 언젠가 변경될 가능성에 더 신경써야 한다. 소프트웨어 엔지니어링은 흐르는 시간 위에서 순간순간의 프로그래밍을 모두 합산한 것이다. (Software Engineering is programming integrated over time) 시간이 프로그램에 미칠 영향 알 수 있는 방법 → ‘이 코드의 예상 수명은?’ 소프트웨어 기대 생애 동안 요구되는 모든 가치 있는 변경에 대응할 수 있다면 그 프로젝트는 지속 가능하다. 라고 할 수 있다. 소프트웨어 엔지니어링이란 여러 버전의 프로그램을 여러 사람이 참여해 개발하는 것이다. 소프트웨..
0. 들어가며 P34 자바는 부분적으로 당시 널리 쓰였던 C 프로그래밍 언어를 본떠 만들어졌다. C에는 메모리 자동 관리가 없었고, 메모리 관리 오류는 당시 프로그래머에게 자주 두통을 일으키게 하는 오류였다. 자바는 언어 설계를 통해 이러한 종류의 오류(메모리 관리 관련 오류)를 없앴다. 이것이 자바가 초보자에게 좋은 언어가 된 이유 중 하나다. 하지만 좋은 프로그래머와 좋은 프로그램을 탄생시키려면 좋은 프로그래밍 언어 이상의 것이 필요하다. 그리고 자바로 인해, 디버깅하기 더 어려운 새로운 버그 종류가 생겨났음이 드러났다. 이런 버그 중에는 감춰진 메모리 관리 시스템으로 인해 생긴 형편없는 성능이 포함된다. P36 요즘 프로그래밍은 미디를 사용하는 것처럼 되고 있다. 더 이상 프로그램을 작성하기 위해 ..
3.5 조건 변수 어떤 조건을 만족하지 않는 동안에는 프로세스를 대기 상태로 두고 조건이 만족되면 대기 중인 프로세스를 실행하고 싶을 때가 있다. 예를 들면 교차로의 신호등을 떠올릴 수 있는데, 이와 같은 신호등을 동시성 프로그래밍 세계에서는 조건 변수라고 부르며, 조건 변수를 기반으로 프로세스의 대기를 수행한다. 다음 코드는 Pthreads를 이용한 조건 변수의 예다. Pthreads에서는 pthread_cond 계열 타입과 함수를 이용해 조건 변수를 구현한다. 이 코드에는 어떤 데이터를 생성하는 프로세스와 생성된 데이터를 소비하는 프로세스가 있으며, 데이터를 소비하는 프로세스는 데이터가 생성될 때까지 대기한다. #include #include #include #include pthread_mutex ..
· 끄적끄적
지난 8월 중순, 부산에서 열린 정션 아시아 2022 해커톤을 다녀왔다. 개인적으로 오프라인 해커톤을 3년만에 다녀왔는데, 너무 즐겁고 인상적이었다. 비록 코로나가 아직 완전히 종식된 것은 아니지만.. 이런 행사가 앞으로도 자주자주 생기길 바라는 마음을 담아서 해커톤 후기를 작성해 본다. 서막 때는 2022년 6월 말, 페이스북을 보다가 우연하게 정션 아시아를 한다는 광고를 처음 보게 되었던 것 같다. 대회를 나가고 싶었고 사전에 팀을 꾸려서 나가고 싶어서 보자마자 페북, 링크드인, 슬랙 채널 등등에 팀을 구한다는 글을 바로 올렸다 감사하게도 내가 참여하고 있는 글또 커뮤니티 분들이 빠르게 응답을 주셨고, 넥스터즈라는 IT 연합 동아리 분도 연락을 주셔서 다섯 명 팀 빌딩은 완료되었다. 나는 이런 팀빌딩..
오늘은 로지텍 버티컬 마우스 LIFT에 대한 내돈내산 후기를 적어보려 한다. 회사에서 트랙패드를 쓰고 있었는데, 집에서 재택 근무를 할 일이 많고 매번 트랙패드를 들고 왔다갔다 하기가 힘들어서 집에서 쓸 마우스를 하나 구매하기로 마음을 먹었다. 로지텍 마우스는 이전에 MX Anywhere 2S 를 처음 써봤는데 너무 좋았고 그래서 고민을 많이 하지 않고 로지텍에서 다시 구매를 하기로 했다. 그리고 일반 마우스는 오래 썼을 때 손목이 아프고 손가락도 무리가 가는 것 같아서 버티컬 마우스를 알아보기 시작했다. 가장 먼저 본 모델은 MX Vertical 모델이었다. 정가 기준 129,000원이고 벌크 모델은 9만원 대로도 구매를 할 수 있는 제품이다. 그리고 원래는 버티컬 마우스 라인업이 이 모델만 있는 줄 ..
DevOwen
오웬의 개발 이야기