본문 바로가기

전체 글

(122)
[리뷰/책] 구글 앱스 스크립트 완벽 가이드 한 줄 요약 : Google Apps 서비스들을 커스터마이징해서 사용하길 원하는 사용자에게 권장 자동화. 매크로. RPA(Robotic Process Automation) 등 운영 환경에 따라 여러 이름으로 불리고 있지만 결국 사용자가 하고자 하는 일을 편리하게 만들고자 하는 것을 도와주는 기능들을 가리키는 용어들이다. '한글' 문서를 사용할 때는 '메일 머지', 엑셀(Excel) 문서에는 'VBA(Visual Basic for Applications)'가 대표적이라 할 수 있다. 자동화 기능들은 사용자에게 편리함을 주었지만 불편함도 있었다. 예를 들면, 한 컴퓨터에서 만든 VBA기능을 적용하려면 일일이 VBA코드를 전달해야만 한다. 지금은 클라우드 기반의 소프트웨어들이 보급이 되면서 1명의 사용자가 N..
[리뷰/책] 《엑셀 대신 파이썬으로 업무 자동화하기》리뷰 한 줄 요약 : 파이썬 공부 후 사이드 프로젝트용으로 참고하면 유용한 책 프로그래밍에 대한 진입장벽이 낮아지고 있다. 이런 흐름때문에 프로그래밍을 통해 반복되는 업무를 편하게 처리하려는 사용자도 늘고있다. 그런데 자동화는 프로그래밍의 진입장벽이 낮아지며 갑자기 생겨난 것이 아니다. 문서 작성할 때 주로 사용했던 ᄒᆞᆫ글(한글), 엑셀에도 자동화 기능은 있었다. '매크로', '자동 서식' 가 그것이다. 매크로 같은 기능이 이미 있는데 왜 프로그래밍 언어까지 배워서 자동화를 해야 할까? 내 생각은 폭 넓은 확장성과 커뮤니티에 있다고 생각한다. 관련된 기능을 만들어 놓은 '라이브러리'가 풍부하기 때문이다. 확장성은 자동화하려는 프로그램(엑셀 등)과 관련된 추가, 자동화 기능을 모아놓은 묶음인 라이브러리가 많다..
[리뷰/책] 동시성 프로그래밍 한 줄 요약 : 병렬처리에 대한 바닥부터 다룬 심화학습 책 난 개발을 하며 병렬처리를 해야 할 때면 항상 긴장된다. 내가 원하는 대로 동작을 하지 않을 수도 있다는 두려움 때문이다. 왜 병렬처리를 두려워하게 됐을까? 생각해보면 대학교 다닐때도 운영체제, 시스템 구조 시간에 잠깐 배운 것이 전부이기 때문인 것 같다. 예를 들면 '컴퓨터에서 작업 처리는 프로세스 단위로 메모리가 할당되고, 프로세스는 다시 프로세스의 논리적인 작업 단위인 한 개 ~ 여러 개의 스레드로 분할되어 처리된다.' 과 같은 두루뭉술한 내용말이다. 나의 두려움과 달리 병렬처리는 숨쉬듯이 사용되고 있다. 하지만 실제 개발을 하면서 병렬 처리를 할 때면 프로그래밍 언어에서 제공하는 메소드 코드를 쓰고, 실행하는 것에 그친다. 이런 나에게 동..
[리뷰/책] 자바 마이크로서비스를 활용한 SRE 한 줄 요약 : 서비스 출시 후 발생 가능한 문제와 자바 기반 시스템에서의 대응 노하우를 모아놓은 책 시간과 노력을 들여 서비스를 개발한 뒤 고민이 생기게 된다. 내부, 외부적인 요인에 의해 발생되는 서비스 불능(장애) 상황을 만나게 되기 때문이다. 완벽한 시스템이란 불가능에 가깝다. '미니멈의 법칙'처럼 약점이 있기 마련이다. 이런 상황에서 개발자/관리자는 발생 가능한 장애 상황을 내다보고 예방하거나, 이미 문제 상황이 발생한 뒤라면 같은 상황을 피하기위해 수정해야 한다. 어떻게하면 예방할 수 있을까? 경험이 많은 담당자라면 과거에 겪었던 비슷한 경우를 떠올려서 조치할 수 있다. 하지만 경험한 적 없던 문제라면? 또는 그럴만한 경험이 없다면 어떻게 해야 할까? 그런 고민에 대한 도움을 얻을 수 있는 책..
당연하게 생각하는 것을 깊숙하게 찔러본다 어느날 문득 '랜선은 왜 주흰/주/초흰/파/파흰/갈흰/갈 순서로 연결할까?' 궁금증이 생겼다. 그 이유를 찾고 찾고 또 찾다보니 전기 역학부터 시작하는 방대한 역사가 있었다. 한 예로 Cat 6 규격 케이블의 중심선은 Cat 5(e) 규격 케이블 중심선보다 1 AWG(0.0705mm)의 굵다. 이 굵기 차이로 인해 발생하는 RJ-45 부품 호환성 문제를 해결하기 위해 RJ-45 내에 삽입되는 케이블의 배치를 평면 형태에서 지그재그 형태로 바꿨다. RJ-45라는 부품의 규격은 정해져있고, 이미 상용화되서 전세계에 널리 퍼져 있으므로 하위 버전에 대한 호환성을 깨트리면 제품간 호환성 문제가 발생하기 때문이다. 간단하지만 이런 내용도 정리해보면 1-2시간짜리 궁금증 해결 소재용 발표자료로 만들 수 있을 것 같..
[리뷰/책] 당당한 디자인 결정을 위한 9가지 방법 한 줄 요약 : 혼자 일하는게 아니라면 그 누구라도 읽어야 하는 책 "이번 기획대로 진행해야 하는 이유가 뭐야?" "당연히 있어야 하는 내용 아닌가요?" 회의, 프로젝트를 진행할 때마다 매번 어려움을 겪는다. 그 중에서 가장 힘든건 커뮤니케이션이다. 의견 차이가 발생하면 조율하는 것은 외부 고객뿐 아니라 같은 회사 내 동료 직원을 대할 때도 마찬가지로 쉽지 않다. 회사 생활이 힘들다고 말하면 '시간이 해결해 준다'라고 한다. 그런데 나는 이런 고생을 줄이고 싶다. '당당한 디자인 결정을 위한 9가지 방법'은 프로젝트를 진행하며 커뮤니케이션에 대한 고민이 있는 누구에게든 효과적인 참고서다. '디자인 결정을 위한'이라는 문장 대신 '개발 프로젝트를 위한', '사업 보고를 위한'을 넣어도 어색하지 않기 때문이..
한빛네트워크 제3회 혼공능력시험 이벤트 2021년 12월 10일부터 2022년 1월 23일까지 한빛미디어 혼공능력시험 이벤트 페이지에서 에 응시할 수 수 있다. 응시 가능한 과목은 7개 과목이다. c언어 자바 파이썬 머신러닝+딥러닝 프로그래밍 기초 자바스크립트 SQL 출제 문제는 각 과목을 공부했다면 풀 수 있지만, 도움이 필요하다면 '혼자 공부하는' 시리즈 책을 참고하며 풀 수 있게 힌트가 나와있다. 알고리즘 문제라면 풀기 어려워서 안풀었을텐데 이런 이론 문제, 기본 지식을 묻는 문제는 재밌다. 개발자가 아니라 개발 관련 다른 일을 찾아보는게 맞을까...
[리뷰/책] <개발자에서 아키텍트로> 리뷰 한 줄 요약 : 하드스킬과 소프트스킬 개발에 좋은 참고서 이 책은 회사에서 기능 개선 할 때 유용하게 봤던 책이다. 기능 개선은 고려해야 하는 부분은 크게 세 가지가 있다. 현재 기능의 동작을 보장할 것 고객사/내부 직원의 개선/수정 요구사항을 반영할 것 향후 시스템 개선에 문제가 없도록 시스템을 구성할 것 시스템 개발 초기에는 기능 수정이나 추가할 때 큰 부담이 없다. 시간이 흐르며 시스템 코드는 복잡해지고, 기능 추가/수정은 어려워지기 시작한다. 복잡도가 높아진 것이다. 이런 상황에서 문제가 생긴다면 개발자로서, 제품의 담당자로서(=고객사 문의 담당자) 두 가지 역할을 병행하게 된다. 이런 고민을 해결하기위해 팀장님께 도움을 구하고, 선배에게도 도움을 구했지만 정답은 없었다. 사용자/담당자마다 바라보..