사이드 프로젝트를 해보겠다고 한 번도 생각하지 않은 소프트웨어 개발자는 본 적이 없다. 나만해도 사이드 프로젝트를 많이 해왔다. 아, 좀 더 명확히 말하면 사이드 프로젝트를 많이 시작했다. 솔직히 말해서 시작한 프로젝트 중 끝낸 건 별로 없다. 내 인생과 경력을 돌이켜봤을 때 모든 게 극적으로 변한 한 순간, 변곡점이 하나 존재한다. 그 변곡점은 내가 사이드 프로젝트를 처음으로 마무리한 순간이었다.
얼마 전 지인으로부터 도움받은 글이라며 링크 하나를 공유해 줬다. 개발자 이력서 작성하는 방법 - 99콘 이력서 후기라는 내가 지난해 작성한 글로 포스팅 후 나조차도 상세 내용을 잊고 있었다. 헌데 요즘 내가 고민 중인 내용의 답이 이 포스팅 안에 있었다. 슬럼프가 온 어느 날, 아무것도 해낼 수 없을 것 같은 땐 내가 작성했던 털어놓기 어려웠던 개발자로서 고민을 해결해 준 책, 함께 자라기를 다시 읽어 보고 마음을 다 잡는다.
소프트웨어 개발자를 대상으로 하는 온갖 서적을 살펴보아도 업계에 입문하는 방법, 성장하고 출세하는 방법, 최대 성과를 거두기 위해 알아두어야 할 것을 포함해 개발자가 알아야 할 사항을 하나부터 열까지 알려주는 책은 단 한권도 찾을 수 없어 이 책을 만드는 중이다. 당신도 이 여정에 함께하길 바란다. - 존 손메즈
올 2월 중하순부터 본격적으로 코로나 사태가 심각해지면서 회사는 주 5일 온전한 재택근무로 전환했다. 이전에도 재택근무를 주 1회하고 있어기에 이번 코로나 사태로 인해 근무 형태가 바뀐 것은 내게 큰 일은 아니었다. 하지만 중간에 매월 회고를 전혀 하지 못했다. 왜냐하면 정말 일밖에 한게 없어서.. 할 이야기가 없었다. 하지만 나는 현재 개발이란 일을 하고 있고, 이 블로그는 개발 블로그이니 일 이야기로 회고를 하는 건 방향에 부합해 몇 가지 회고를 해볼까 한다.
내외부 관련된 서비스를 런칭하거나 기능을 추가할때 같이 논의되는 Auth에 대해 들어보셨을텐데요, 보통 Auth라고 하면 Authentication을 말하거나 Authentication + Authorization를 통칭합니다. 이렇게 구분지어 분리를 해놓은 거 보니 다른 것 같긴한데 과연 무엇이 어떻게 다를까요? 함께 알아가요.
Apache Cassandra는 대규모로 확장 가능한 분산 NoSQL DB로 Facebook 내부에서 시작하여 오픈소스로 출시되었습니다. 아파치 카산드라는 다운 타임 없이 지속적인 가용성과 고성능 및 선형 확장성을 제공합니다. 데이터 센터와 지역에 걸쳐 단순하고 손쉬운 복제, 페타 바이트 규모의 정보와 초당 수천 건의 동시 작업을 처리 할 수 있는 카산드라는 하이브리드 클라우드 환경에서 대량의 데이터를 관리 할 수 있습니다. 성능 저하없이 확장성과 고 가용성이 필요한 경우 여러 데이터 센터와 클라우드에서 대량의 정형, 반 정형 및 비정형 데이터를 관리 할 수있는 올바른 선택입니다.
객체지향 애플리케이션의 중심 사상은 연쇄적으로 메시지를 전송하고 수신하는 객체들 사이의 협력 관계를 기반으로 사용자에게 유용한 기능을 제공하는 것이다. 클래스 기반의 객체지향 언어를 사용하는 대부분의 사람들은 객체지향 애플리케이션을 클래스의 집합으로 생각한다. 프로그래머 입장에서는 클래스는 실제로 볼 수 있고 수정할 수 있는 구체적인 존재다. 대부분의 입문자들은 클래스 간의 상속 관계가 객체지향 설계를 가치 있게 만드는 핵심적인 매커니즘이라고 배운다. 하지만 객체지향의 강력함은 클래스가 아니라 객체들이 주고받는 메시지로부터 나온다. 객체지향의 애플리케이션은 클래스를 이용해 만들어지지만 메시지를 통해 정의된다.
Spring Framework Triangle이라 불리는 스프링 프레임워크 핵심 3요소 IoC(역전 제어), AOP(관심 지향 프로그래밍), PSA(서비스 추상화)를 다룰 예정입니다.
그 전에 DI…
아파치 카프카는 여러 대의 분산 서버에서 대량의 데이터를 처리하는 분산 메시징 시스템입니다. 메시지를 받고, 받은 메시지를 다른 시스템이나 장치에 보내기 위해 사용하는데요, 높은 처리량과 실시간으로 대량의 데이터를 취급하기 위해 초점을 맞췄으나 이제는 기능과 신뢰성을 향상시켜 현재는 데이터가 들어오는 대로 순차 실행하는 플랫폼이 되고 있습니다. 이러한 카프카란 무엇인지 한 번 정리하는 시간을 가져보겠습니다 :)
어떤 문제에 직면했고, 어떤 방향으로 해결하는지 스토리를 담아 작성한 글은 설령 해당 기술의 버전이 바뀌었을지라도 미래의 나에게 문제 접근 해결 방식에 대한 영감을 줄 수 있다고 생각합니다. 그래서 저는 글쓰기를 시작하게 되었습니다. 앞으로 글또에 참여하며 꾸준히 글을 작성하려고 합니다.