전체 글

안녕하세요. 사진과 철학에 관심이 많은 웹 프론트엔드 개발자 오원종입니다. 시간이 지나도 꾸준히 읽힐 수 있는 글을 쓰고 싶습니다. 재미있는 일만 하면서 살고 있는 사람입니다.
지난 포스팅에 이어서 C++의 개체 지향 프로그래밍 내용을 정리해 보고자 한다. 복사 생성자 복사 생성자는 나와 같은 클래스에 있는 개체를 매개변수로 받는 생성자이다. 아래처럼 선언하고 구현할 수 있다. // Vector.h class Vector { public: Vector(const Vector& other); private: int mX; int mY; }; // Vector.cpp Vector::Vector(const Vector& other) : mX(other.mX) , my(other.mY) { } 같은 클래스에 속한 다른 개체를 이용하여 새로운 개체를 초기화한다. 코드에 기본 생성자가 없을 경우 컴파일러가 자동으로 기본 생성자를 만들어 주는 특성이 있다고 했었는데, 복사 생성자도 마찬가지..
안녕하세요 데브오웬입니다. 오늘은 오랜만에 제품 리뷰를 하려고 해요. 바로 제가 약 10개월째 쓰고 있는 키보드인 키크론 K1 리뷰입니다. 당시 키보드를 선택할 때 제가 생각한 구매 조건은 다음과 같이 두 가지 정도였던 것 같습니다. 너무 비싸지도 싸지도 않은 가격 맥북에서도 무리없이 잘 쓸 수 있는 키보드 아무래도 너무 저렴한 키보드는 또 오래 쓰기 어려울 것 같고, 또 합리적인 가격 중 맥북을 지원하는 키보드가 생각보다 그리 많지 않아서 선택지가 많이 좁혀졌던 것 같아요. 그리고 오른쪽에 숫자 패드 있는 키보드가 왠지 더 편할 것 같다는 막연한 생각에 키크론 K1 104키 RGB를 질렀습니다! 키크론 K1은 풀 알루미늄 하우징으로 되어 있어서 상당히 고급스러웠습니다. 색상도 블랙이라 정말 편하게 막 ..
오늘은 우아한 테크러닝 3주차(5회차, 6회차)에서 공부했던 내용들에 대해서 정리해 보려고 한다. 다섯 번째 세션 9월 15일 화요일 5번째 수업에서는 다음과 같은 내용을 다루었다. 리덕스 (Redux) 커링 (Currying) 몽키패치 (Monkey Patch) 미들웨어 (Middleware) 다음과 같이 리듀서와 스토어를 생성한 후, 스토어의 변경이 일어날 때마다 확인할 수 있는 subscribe 메서드를 사용한다. 그리고 store의 dispatch 메서드를 이용하여 action을 실행할 수 있다. import { createStore } from "./redux"; function reducer(state = { counter: 0 }, action) { switch (action.type) { ..
지난 포스팅에서 디자인패턴에 대한 개관을 살펴보았다. 이번 포스팅부터는 디자인 패턴을 하나씩 자세하게 알아보려고 한다. 가장 먼저 살펴볼 패턴은 추상 팩토리 패턴이다. 추상 팩토리 패턴은 객체 생성(Object Creational)과 관련된 패턴이다. 추상 팩토리 패턴은 상세화된 서브 클래스를 정의하지 않고도 서로 관련성이 있거나 독립적인 여러 객체의 군을 생성하기 위한 인터페이스를 제공한다. 이름만 봐서는 팩토리 메서드 패턴과 비슷해 보이지만 추상 팩토리 패턴은 팩토리 메서드 패턴을 좀 더 캡슐화한 방식이라고 볼 수가 있다. 추상 팩토리는 주로 다음과 같은 경우에 사용한다. 객체가 생성되거나 구성, 표현되는 방식과 무관하게 시스템을 독립적으로 만들고자 할 때 여러 제품군 중 하나를 선택해서 시스템을 설..
오늘은 C++의 개체지향 프로그래밍 부분을 공부하고 정리한 내용을 포스팅 해 보려고 한다. 양이 많아서 두 번의 포스팅에 나누어서 적어보려고 한다. 개체지향 프로그래밍 개념은 C++에만 있는 건 아니다. Java에도 있고 다른 많은 언어에도 있다. Java로 예를 들면, 다음과 같은 개념들은 자바와 C++ 모두 있는 것들이다. 클래스 개체 생성자 함수 오버로딩 힙에 개체 생성하기 등 하지만 자바에는 없고 C++에만 있는 개념들도 있다. 예를 들면 스택에 개체 생성하기 복사 생성자 소멸자 연산자 오버로딩 등 C++은 OOP와 OOP가 아닌 것들을 섞어서 쓸 수 있다는 장점도 가지고 있다. 자바는 OOP에 관해서 엄격한 편이지만, C++은 C의 후방호환성을 가지고 있어서 유연하다는 장점이 있다. OOP의 핵..
· Dev. Life
안녕하세요 오웬입니다.저는 지난 6월, 굿닥에 웹 프론트엔드 개발자로 입사하여 3개월동안 수습기간을 진행하였습니다. 오늘은 수습기간을 마치는 기념(?)으로 그 회고를 해 보려고 합니다. 지난 3개월동안 제가 느끼고 경험했던 것들, 그리고 굿닥이라는 회사에 대해 소개하는 글을 짧게 작성해 보도록 하겠습니다. 입사 첫 날입사 첫 날 느꼈던 설렘과 긴장감을 아직도 기억합니다. 제 개인적으로 정규직 오퍼를 받은 회사였고, 정말 깊은 고민을 해서 결정한 회사여서 기대감도 있었고 한편으로 걱정도 있었습니다. "과연 내가 가서 잘 할 수 있을까?" 그렇게 입사 첫 날이 시작되었고, 회사에 가서 기본적인 회사 소개와 본부별 소개를 듣고 장비를 받아서 환경설정을 하다 보니 하루가 정말 빠르게 지나갔던 것 같습니다. 그리..
오늘은 우아한 테크러닝 2주차(3회차, 4회차)에서 공부했던 내용들에 대해서 정리해 보려고 한다. 세 번째 세션 9월 8일 화요일 세 번째 시간은 React에 대해 알아보는 시간이었다. 리액트가 만들어진 이유와 가상 DOM (Virtual DOM), 그리고 간단한 실습과 리액트에서 상태관리를 어떻게 하는지에 대해서 공부했다. 과거에 우리는 직접 DOM을 조작해서 JS로 화면을 그려주었다. 여기에 사용되었던 대표적인 라이브러리가 jQuery였다. list에 들어있는 데이터를 기반으로, rootElement의 innerHTML에 넣어 DOM을 직접 조작했다. 이 코드를 보면서 민태님이 몇 가지 조언을 해주셨는데 다음과 같다. 코드는 끊임없이 변화하다 보니 좀더 변화에 잘 대응할수 있는, 빠르게 수정할 수 있..
지난번 포스팅에 이어 프랑스어 공부를 한 내용들을 정리해 본다. Frenchpod101의 Level1 레슨 11~14까지의 내용이다. 어휘 aimer : to love On aime l'apéritif. : We love the pre-dinner drink un réalisateur (M) : a movie director Luc Besson est le réalisateur de "Nikita". : Luc Besson is the movie director of "Nikita." venir de : to come from, to have just Je viens de France. : I come from france Je viens de finir mes devoirs. : I just finis..
DevOwen
오웬의 개발 이야기