[책 리뷰] 개발자를 위한 최소한의 실무 지식

개발자를 위한 최소한의 실무 지식

나는 따로 사수가 있어서 배우면서 한적이 없기 때문에 거의 모든 지식을 온몸을 부딪히며 배우고 있기 때문에

‘개발자를 위한 최소한의 실무 지식’ 이라는 제목이 날 이끌었다.

현재 백엔드겸 프론트엔드를 공부하고 있기 때문에 보안문제, DB에 관해 많은 고민이 있었는데

뒷면에 써있는 사수가 필요한 개발자를 위한 현장 맞춤 실무 가이드라는 이름과

DB, 시큐어 코딩, 체계적인 자원 관리 등등… 을 보고 나에게 딱 필요한 책이라는 생각이 들었고

많은 지식을 알게 되었다.

책 소개

이 책은 기본적인 CS지식이 있어야 좀 편하게 읽을 것 같은데 꽤 설명히 자세해서 딱 나 정도의 초보 개발자가 읽으면 좋은 책인 것 같다.

적혀 있는 고민들이 딱 내가 지금 하고 있는 고민들이라서 더 그런 것 같다..

목차

챕터들은 이런식으로 구성되어 있었는데 실무자가 알려준다는 책의 컨셉에 알맞게

기본적인 내용들은 매우 간단하게 설명되어 있고 학교에서 잘 설명해 주지 않는 내용들을 많이 설명하거나

협업할때 어떻게 코딩해야 편한지, 주석은 어떻게 달아야 하는지, 보안성 있게 코딩하려면 어떻게 해야하는지와 같은 내용들을 다루어주어 좋았다.

그림, 코드

일단 개발자를 위한 최소한의 실무 지식은 컬러인쇄라는 점부터 기분이 좋았는데, 그래프, 그림을 많이 사용해주셔서 이해하기 쉬웠고

특히 코드들을 직접적으로 넣어서 예시를 보여준다는 점이 좋았다.

사진의 코드는 쉬운 예시이지만 복잡한 자바 코드들도 많이 적혀있어서 글로만 설명하는 것보다는 이해가 잘됐다.

단점은 자바위주의 책이다 보니 코드관리, 보안관리와 같은 확장 프로그램들도 자바에서만 적용되는게 많다는점?

하지만 그런 프로그램이 있다는 것만 알아도 구글링해서 다른 언어에 적용되는걸 찾는건 쉽기에 문제가 되진 않았다.

꿀팁들

malloc + free는 학교에서도 귀에 딱지가 앉도록 들었던 내용이지만 free() 해준 후 NULL로 초기화 해주는 내용은 처음 보았다.

이런 꿀팁 내용들이 개발자를 위한 최소한의 실무 지식 책에 곳곳에 있어서 찾아 읽는 것도 즐거웠다.

더 찾아보면 좋을 키워드

더 공부할 수 있는 키워드도 나와있어서 따로 공부할 때 좋을 것 같다.

트랜잭션이나 인덱스와 같은건 정말정말 유용했다.

이 책을 보며 알게된 내용들

사실 개발자를 위한 최소한의 실무 지식첫 챕터부터 내가 요즘 고민하고 있던 내용이었기 때문에 많은 도움이 되었다.

오토커밋을 해제해라

DB작업을 하다보면 여러 작업들을 할때 에러가 많이 발생해 DB에 영향을 끼칠때가 있어서

항상 try-catch를 통해서 에러를 잡아준 후 session rollback을 하게 되는데 오토커밋을 해야하나 말아야 하나 고민이 많았다.

사실 커밋을 매 번 하는것도 귀찮기도 하고 오토커밋 기능을 매우 유용하고 편하게 쓰고 있었기 때문에 거의 항상 사용했었다.

커밋은 ‘약속하다’라는 뜻으로 여러 개의 쿼리를 묶어 하나의 트랜잭션으로 처리하겠다고 약속하는 명령어”

“롤백은 쿼리 실행 도중 오류가 발생하면 상태를 되돌리기 위해 사용하는 명령어

오토커밋을 해제하지 않는 실수를 범할 수 있습니다 에서 이미 너무 찔려버렸다 그리고 이 책을 끝까지 읽을 수 밖에 없었다.

그리고 모호했던 개념인 ‘트랜잭션‘과 ‘롤백‘에 대해 제대로 잡을 수 있었다.

트랜잭션은 하나의 묶음인데 쿼리하나가 시작되면 자동으로 하나의 트랜잭션이 시작되게 되고 커밋하게 되면 해당 트랜잭션이 처리된다.

여기서 롤백을 한다면 다시 트랜잭션 실행전으로 돌아가기 때문에 에러가 발생했을 때 커밋전으로 돌아갈 수 있다.

하지만 오토 커밋을 해버린다면 문제가 발생해도 해당 트랜잭션 이전으로 돌아갈 수가 없는 것이다.!!!

그리고 바로 내 코드로 돌아가 오토 커밋을 다 지우고 롤백을 제대로 적어줬다.. 너무 많더라 ㅎ…

무결성

무결성의 개념은 학교에서도 대충 배웠기 때문에 알고 있었는데 뭔가 이번기회에 다시 정립하게 되었다.

  1. 개체 무결성 – 특정 열에 중복된 값이 들어가지 않아야 한다. -> unique, primary key 제약조건을 통해
  2. 참조 무결성 – 테이블 정규화로 해결 -> + foreign key
  3. 도메인 무결성 -> 해당 도메인에 속한 값이어야 함 -> unique, not null, check

정규화는 열심히 하고 있는데 sql에서 제약조건들을 좀더 공부해보고 적용해야할 것 같다.

CHECK 제약 조건도 이번에 처음알았기 때문에 공부는 확실히 필요한 것 같다.

시큐어 코딩

개발자를 위한 최소한의 실무 지식 책의 꽃이라고도 할 수 있는 시큐어 코딩 내용이다.

보안 쪽을 잘 모르는 상태로 다 개발하다보니, 보안이 신경쓰일 수밖에 없었다.

물론 여기 나오는 보안은 정말정말 최소한이기 때문에 더 공부해 보아야겠지만 어떤 것을 공부해야할지 방향성을 알려준 것 같다.

sql 인젝션은 잘 알고 있었고 내가 하는 프로그램단에서는 모듈을 사용해서 sql 명령어들을 처리하기 때문에 많은 걱정은 없었다.

하지만 취약한 접근 통제나, 오류 메시지에서도 정보가 노출될 수 있다는 사실은 약간 충격이었다 ㅋㅋㅎ

sql 에러메시지를 그대로 출력해주는 경우도 많았는데 그 경우 내 테이블의 데이터들과 내 서버가 어떤 상태인지 그대로 노출될 수도 있는 것이다.

또한 특수문자들이나, url도 철저하게 보안해주어야 한다고 생각하니까 진짜 할 것 많다는 생각이 들었다.

결론

기타 도움이 되는 여러가지 내용들이 정말 많았는데 협업할 때 깃 사용하기, 이슈처리하는 방법, 나쁜 코딩습관들, 가독성 좋게 코딩하는 법,

에러메시지 하는 방법, 작명하는 방법등도 나와있어 유익했다.

정말 개발자를 위한 최소한의 실무 지식 이라는 이름에 걸맞게 기초 지식이지만 꼭 필요했던 것 같다.

초보 개발자이지만 이렇게 하나씩 습득한 내용을 적용시키는게 제일 중요하다고 생각하고

실제 내 프로젝트에 하나씩 넣어볼 생각이다! 파이팅

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

heaven

Share
Published by
heaven
Tags:

Recent Posts

[책 리뷰] 비전공자도 배울 수 있는 타입스크립트

비전공자도 배울 수 있는 타입스크립트 자바스크립트는 이상하게 정이안가는 언어중에 하나이다. 분명 web을 처음 시작했을 때…

2개월 ago

[책 리뷰] IT 엔지니어를 위한 AWS 운영의 기본과 노하우

IT 엔지니어를 위한 AWS 운영의 기본과 노하우 선택한 이유 AWS는 정말 공부해야지 공부해야지... 하면서도 쉽게…

4개월 ago

[책 리뷰] – 소프트웨어 설계의 정석

소프트웨어 설계의 정석 누군가가 설계해 준 프로그램을 만드는 것에서 벗어나 나만의 소프트웨어를 설계하는 것의 중요성을…

4개월 ago

[책 리뷰] 개발하는 남자의 핸즈온 플러터 – 김성덕

개발하는 남자의 핸즈온 플러터 최근 계속해서 플러터를 개발할 일들이 많은데, 워낙 가지고 있는 강의들은 많은데…

5개월 ago

AI 사업계획서 독스헌트 docshunt 후기 – 초안잡을때 유용한듯!

갑자기 독스헌트 사업계획서? 아직 거창한 사업계획서를 쓸일은 없지만, 최근 진행하는 프로젝트의 지원금을 받을 수 있을까…

6개월 ago

[책 리뷰] 혼자 해도 프로처럼 잘 만드는 굿즈 제작 비법

이번에는 개발 관련 책이 아닌 특이하게 굿즈 제작 비법 책이다 혼자 해도 프로처럼 잘 만드는…

6개월 ago