회사에 입사하고 야근에 대해 많은 생각을 하게 되었습니다.

아무래도 야근을 좋아하는 분은 거의 없을 것이라고 생각합니다.

 

주변에서도 야근을 자주 하는 회사는 최대한 피하라는 얘기를 많이 들었을 것입니다.

 

그 근본적인 이유가 무엇일까 신입 개발자가 보고 느끼면서 생각해봤습니다.

 

* 이 글은 SI업체에 다니는 신입 개발자의 관점으로 작성한 것입니다.

 

 

🤔 근본적인 문제가 무엇일까?

 

위의 문제에 대해 생각하기 전에  우선 '야근을왜 할까?' 라는 의문을 먼저 가졌습니다.

 

그 결과 나온 것은

 

  1. 해당 개발자의 역량을 넘어서는 업무 할당
    ex) 신입 개발자에게 자바로 배치 프로그램을 만들라고 시킴

  2. 회사가 소화할 수 없는 수준의 일을 받은 경우
    ex) 회사에 개발팀이 제대로 꾸려져 있지 않은데 무리하게 금융권 대규모 프로젝트를 받음

  3. 개발 외적인 업무를 개발자에게 할당
    ex) 개발보다 문서화가 너무 많아서 시간을 소비

 

위 세 가지는 제가 직접 경험한 것들도 포함되어 있습니다.

 

저는 위 세 가지를 하나하나 좀 더 깊게 생각해봤습니다.

어떻게 하면 극복 혹은 개선해 나갈지 말입니다.

 

 

 

 

1️⃣ 해당 개발자의 역량을 넘어서는 업무 할당

  • 무능한 사수가 자신이 할 일을 부사수에게 넘기는 경우
  • 개발자의 경력을 뻥튀기해서 파견을 보내는 경우
    • 클라이언트는 해당 개발자가 n년차이기 때문에 충분히 가능할 것이라 생각하고 업무 부여
    • 대부분 이 경우에는 사수라고 할 만한 사람이 제대로 없고 팀도 잘 안 굴러가는 상황인 것 같습니다.
      (팀이 있다고 해도 서로 소통을 잘 안 하는 경우가 많음)
  • 회사에 개발팀이 제대로 안 꾸려진 경우
    • 이런 경우에는 사수도 없다는 걸 입사 후 알게 되었습니다.
    • 만약에 사수가 있다고 해도 무늬만 사수인 경우

 

  • 군대식 마인드로 어떻게든 하면 가능하다고 생각하는 경우
    • 이 경우는 데드라인을 정해주고 PM이 계속 개발자를 닦달하는 경우를 봤습니다.
      * PM이 계속 개발자를 쪼는 업무가 주 업무인지 고민

 

 

 

2️⃣ 회사가 소화할 수 없는 수준의 일을 받은 경우

  • 1번과 동일하게 회사에 개발팀이 제대로 안 꾸려진 경우
  • PM 혹은 기획자가 해당 업무를 소화할 만한 개발자와 기간을 제대로 정하지 못한 경우
    • 회사에 개발자가 없더라도 외주 개발자로 채워서 진행할 수 있지만 못한 경우
    • 해당 프로젝트를 맡게 될 개발자가 너무 자만해서 역량 이상의 일 혹은 기간을 선정한 경우

 

 

 

3️⃣ 개발 외적인 업무를 개발자에게 할당

  • 개발을 진행해야 하는데 계속 문서화 업무를 시켜 주객전도가 된 경우
  • PM 혹은 기획자가 개발자의 업무의 경계에 대해 아예 모르는 경우
    • 이 경우는 개발자에 대해 대우가 상당히 안 좋은 회사 일 것이라고 생각합니다.
  • PM 혹은 기획자조차 없고 있다고 해도 분업화가 제대로 이뤄지지 않은 경우
  • 개발자가 자만하고 모든 걸 다 할 수 있다고 얘기하고 업무를 받은 경우

 

 

 

 

 

 

 

🤔 극복할 방법 혹은 해야 할 것

  • 금전적, 시간적으로 여유가 있다면 바로 퇴사를 하는 것도 좋다고 생각했습니다.
    • 퇴사 후에 교육기관에 들어가서 다시 포트폴리오를 만들면서 공부
    • 교육기관을 들어간다면 시험을 보고 들어가는 곳으로 지원
  • 금전적, 시간적 여유가 안된다면 배민 출신 개발자 이동욱님처럼 1년 정도 다니면서 이직 준비
    • 이동욱님의 이직 준비 방법에 대해 정리한 글 => 링크
    • 회사를 다니면서 생기는 돈으로 현업 개발자를 대상으로 진행하는 교육과정 듣기
      => 고스펙의 개발자에게 코드 리뷰를 받아볼 수 있음
      => 대부분 가격대가 비싸기 때문에 잘 찾아서 진행
      => 찾아본 교육과정 들
      1. 코드숨 => 우아한 형제들, 마켓 컬리 출신의 개발자에게 배울 수 있음
      2. NEXTSTEP => 우아한 테크코스(우테코)라는 유명한 교육기관의 커리큘럼을 배울 수 있음
      3. POCU  => 개발의 기초적인 지식을 유튜브 채널 포프TV를 운영하는 개발자에게 배울 수 있음
    • 만약에 회사에서 교육에 대한 지원을 한다면 놓치지 않고 진행

 

 

😀 느낀 점

  • 이런 회사는 개발자의 성장을 통해 이득을 얻으려고 하는 게 아니고, 당장 써먹기 바쁘다는 느낌을 받았습니다.
  • 야근을 하는 경우는 대부분 안 좋은 상황일 때 많이 한다는 것을 느꼈습니다.
  • 개발자에게 야근은 당연하다고 생각하는 회사는 정말 위험하다고 느꼈습니다.
    • 이런 경우 회사에서 개발자에 대한 대우도 안 좋은 다는 것을 느꼈습니다.
  • 야근을 한다고 하면 어떻게 시간을 관리해야 할까 고민하게 되었습니다.
    • 지금 당장 답은 안 나오지만 회사를 다니면서 계속 고민해야 할 것
  • 개발자 이동욱님의 영상을 보고 우선 회사를 다니면서 이직을 준비해야겠다고 생각했습니다.
    • 근본적인 문제는 돈이 없으면 내가 원하는 좋은 교육을 들을 수 없음
    • 대우가 안좋은 회사라도 배울점은 당연히 있다고 생각
  • 성공적인 이직 화이팅!!

 

 

 

반응형

https://www.youtube.com/watch?v=V9AGvwPmnZU 

 

🤢 SI 회사에서 배움의 한계

  • 얼마나 짧은 시간 안에 많은 게시판 페이지를 만드느냐가 중요한 평가 척도
  • 고객이 원하는 서비스를 만들어서 납품을 하고 다시 나오는 것을 반복
  • 반복적인 업무를 진행하다보니 실력을 늘리는 데에 한계가 있었음

 

 

😅 SI에서 이직을 하기 위한 공부

  • 항상 매일 아침에는 두시간 공부
  • 토요일 일요일은 고시원 카페에서 시간을 쏟아붓고 공부
  • 알고리즘 테스트나 전공지식이 부족하기 때문에 전공지식을 쌓기 위한 온라인 수업 듣고 공부
  • 내가 느낀점
    • SI에서는 요구사항에 맡게 다양한 프로젝트를 만들어 볼 수 있다는 경험을 얻을 수 있음
      => 하지만 그 업무가 단순 반복적이면 성장에는 도움이 안될 확률이 높음
    • 유저가 실제로 있는 서비스 회사를 가야 더 크게 성장할 수 있음

 

 

 

 

😆 서비스 회사로 이직 후

  • 회사에 처음 가자마자 2주동안 파일럿 프로젝트를 줌
    • 혼자 힘으로 질문하지 않고 서비스 하나를 만들어보는 과제
    • 만든 후 세시간동안 모든 개발자가 모인데에서 코드리뷰를 받음
    • 그동안은 만든 기능과 화면에 대해서만 평가를 받았었는데,
      서비스 회사를 가게 되면서 철저하게 코드에 대한 평가를 받게 됨
      => 좋은 코드는 무엇인지
      => 내부적으로 이 코드로 발생할 수 있는 문제가 무엇인지
  • 전 회사에서 1년정도 공부를 한 상태이지만 대학교를 졸업하고 취업한 사람과 비슷한 평가를 받게 됨

 

 

🤔 이직 후 개선해야 겠다고 생각한 점(방향성)

  • 빨리 만드는 것은 당연히 가춰야할 덕목
    => 빨리 만들되 어떻게 하면 더 좋은 구조로 더 확장성 있는 구조로 개발하는게 더 좋은지 공부
  • 블로그에 공부한 내용을 정리
    => 정리하다가 배달의민족에서 채용의뢰가 옴

 

 

 

📝 기억보다는 기록을

  • 개발자가 커리어를 쌓으면서 되게 관통하는 주제
  • 머릿속에 있는 것들 혹은 남들이 얘기했던 것들이 결국 기록하지 않으면 나중에 흐트러짐
  • 세미나를 참석 할 때도 속기사처럼 타이핑
  • 오늘 회사에서 일했던 것도 글로 정리
  • 내가 공부했던 것들 혹은 회사에서 해결했던 문제들
  • 내가 앞으로 하고 싶은 것들 하다못해 개인적인 잡담까지도 전부 다 기록
  • 이런 기록들이 계속 쌓여 그 기록들이 나중에 나를 표현하는 척도가 되지 않을까?

 

 

 

 

😀 느낀점

  • 좋은 코드를 보기 위해서는 좋은 회사로 이직을 해야 함
  • 서비스 회사에서 트레픽을 경험해보는 것이 개발자 성장에 엄청 큰 도움이 됨
  • 공부를 엄청 열심히 하겠다가 아니라 꾸준히 할당량을 해나갈 수 있도록 진행
  • 1일 1커밋은 내가 공부를 지속하고 있다는 하나의 지표

 

 

 

반응형

 

 

참고자료

  • velog [jinseoit.log] AWS - ec2 포트 포워딩(port forwarding) =>  링크
  • 스파르타코딩클럽 - 웹개발의 봄, Spring 5-6강

 

아래 글은 공부 용도로 작성한 글입니다.

깊은 내용은 [참고자료] 리스트에 있는 링크를 확인해주시길 바랍니다.


 

 

🤔 포트 포워딩이란(Port Forwarding)?

포트 포워딩은 외부에서 접속한 IP 주소와 포트 번호를 내부 호스트에 다시 매핑하는 것을 말합니다.

 

 

 

 

👨‍💻 EC2 포트 포워딩 명령어

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
  • dport 80, --to port 8080 : 80 port로 들어오면 8080 포트로 재매 핑
  • 제가 스프링 부트를 사용하고 스프링 강의를 참고해서 기본 포트인 8080으로 되어 있습니다.

 

 

 

👩‍💻 포트 포워딩 확인 명령어

sudo iptables -t nat -L --line-numbers

  • 포트 포워딩은 우선순위가 있어 dport 가 똑같은 게 있다면 상위 포트가 우선순위로 적용됩니다.
    즉, dtp:http(80 포트)로 접속 시 가장 위 port인 8080으로 접근하게 됩니다.

 

 

 

 

⛔ 포트 포워딩 삭제

sudo iptables -t nat -D PREROUTING {삭제할 번호}

 

 

 

 

반응형

 

아래 글은 스크립트, 컴파일 언어 관련 개념 정리 및 작성자 공부를 위해 작성되었습니다.

 

 

📃 참고자료

 

 

 

# 스크립트 언어 (Scripting Language)

 

소스 코드를 컴파일(Compile)하지 않고도 실행 할 수 있는 프로그래밍 언어

ex) 파이썬, 자바스크립트 등등

 

  • 소스 코드를 컴파일하지 않고 인터프리터로 소스 코드를 한줄한줄 읽어 바로 실행하는 방식으로 동작하는 언어
    - 인터프리터(interpreter)란?
       => 프로그래밍 언어의 소스 코드를 바로 실행하는 컴퓨터 프로그램 또는 환경
  • 컴파일 하지 않고 바로 실행한다는 특징이 있지만, 소스 코드를 읽으며 실행하기 때문에 프로그램의 실행 시간은 느리다.
  • 소프트웨어의 동작 내용을 대본(스크립트)로 보고 제어하는 언어

 

 

 

# 컴파일 언어 (Compiled Language)

 

구현체들이 일반적으로 컴파일러(소스 코드로부터 기계어를 생성해내는 변환기)이면서,

인터프리터(런타임 전 변환 과정을 거치지 않는, 소스 코드의 단계별 실행기)가 아닌 프로그래밍 언어이다.

ex) C, C#, 자바 등등

 

  • 소스 코드를 컴파일한 후 기계어를 CPU/메모리를 통해 읽어 실행하는 방식으로 동작하는 언어
  • 컴파일을 하기 때문에 규모가 큰 프로그램이라면 컴파일 시간이 오래 걸릴 수 있지만,
    컴파일 후의 기계어를 통해 프로그램을 실행하기 때문에 실행 시간은 빠르다.

 

 

 

컴파일이란?

  • 사람이 이해하는 언어를 컴퓨터가 이해할 수 있는 언어로 바꿔주는 과정.
  • 원시코드에서 목적 코드(목적 파일)로 바꾸는 것이 컴파일이고, 목적 파일을 실행파일로 바꾸는 것이 링크이다.
  • 원시코드는 C언어나 자바, 파이썬 같은 사람이 이해할 수 있는 언어를 말하고 목적 파일은 컴퓨터가 컴퓨터가
    이해할 수 있는 언어이다. 
    (실행파일도 마찬가지 컴퓨터가 이해할 수 있는 언어로 구성되어 있다.)

 

컴파일에 대해 오해 하고 있는 부분

 

컴파일에 대해 알지 못한 사람들이 많이 오해하고 있는 부분이 자신이 소스 코드를 작성하고 실행파일을 만드는 것을 컴파일이라고 생각하지만, 이것은 컴파일러(Dev c++, 비쥬얼 스튜디오 등)가 하는 역할이지 컴파일이라는 개념은 원시코드에서 목적 파일로 바꾸는 것이다. 바꾸어진 목적 파일은 단순한 컴퓨터가 이해할 수 있는 목적 파일일 뿐 실행 할 수는 없다. 이것을 링커라는 실행할 수 있는 실행파일로 만드는데 이 실행파일이 우리가 자주 사용하는 .exe파일이다.

 

 

반응형

 

 

 

API란?(위키백과)

API(Application Programming Interface 응용 프로그램 프로그래밍 인터페이스)는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공한다.

 

 

 

 

 

 

 

 

적절한 예시와 쉽게 설명 되어 있는 글

https://www.a-mean-blog.com/ko/blog/%ED%86%A0%EB%A7%89%EA%B8%80/_/API

 

토막글: API - A MEAN Blog

API는 프로그래밍을 배우다 보면 언젠가는 듣게 되는 단어이며 프로그래밍을 배우지 않더라도 IT쪽에서 일을 하면 이곳저곳에서 들리는 단어인데, 정확한 뜻은 잘 모르는 경우가 많습니다. API는

www.a-mean-blog.com

 

 

 

 

 

레스토랑을 비유한 설명과 API의 역활

 

http://blog.wishket.com/api%EB%9E%80-%EC%89%BD%EA%B2%8C-%EC%84%A4%EB%AA%85-%EA%B7%B8%EB%A6%B0%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8/

 

API란? 비개발자가 알기 쉽게 설명해드립니다! - Wishket

여러분은 API가 무엇인지 알고 계신가요? 자주 듣게 되지만 그 개념이 무엇인지 정확하게 알기란 쉽지 않은데요. 이번 시간 위시켓이  API란 무엇인지 알기 쉽게 설명해드리고자 합니다. 위시켓

blog.wishket.com

 

 

 

 

 

어렵지만 디테일하게 설명 되어 있는 글

https://www.redhat.com/ko/topics/api/what-are-application-programming-interfaces

 

API(애플리케이션 프로그래밍 인터페이스)란 - 개념, 기능, 장점

API(애플리케이션 프로그래밍 인터페이스)란 애플리케이션 소프트웨어의 개발 및 통합에 사용되는 정의 및 프로토콜 세트를 뜻하며, 개발 민첩성과 간소화를 지원합니다.

www.redhat.com

https://www.redhat.com/ko/topics/api

 

API의 이해

서비스를 통합하거나 새로운 서비스를 개발하여 인지도를 확대하세요. API는 유연성, 간소화 및 제어 기능을 제공하여 이를 지원합니다.

www.redhat.com

 

 

 

 

 

반응형

 

 

 

* 부트스트랩이란?

 

부트스트랩(Bootstrap)은 웹사이트를 쉽게 만들 수 있게 도와주는 HTML, CSS, JS 프레임워크이다. 하나의 CSS로 휴대폰, 태블릿, 데스크탑까지 다양한 기기에서 작동한다. 다양한 기능을 제공하여 사용자가 쉽게 웹사이트를 제작, 유지, 보수할 수 있도록 도와준다.

(출처: 위키백과)

 

 

부트스트랩은 예쁜 CSS를 미리 모아둔 것

(CSS를 다룰 줄 아는 것과, 미적 감각을 발휘하여 예쁘게 만드는 것은 다른 이야기이기 때문에,

현업에서는 미리 완성된 부트스트랩을 가져다 쓰는 경우가 많습니다.)

 

 

* 부트스트랩 시작하기 및 다운로드

 

https://getbootstrap.com/docs/4.0/getting-started/introduction/

 

Introduction

Get started with Bootstrap, the world’s most popular framework for building responsive, mobile-first sites, with BootstrapCDN and a template starter page.

getbootstrap.com

 

 

 

 

* 부트스트랩 컴포넌트

 

https://getbootstrap.com/docs/4.0/content/reboot/

 

Reboot

Reboot, a collection of element-specific CSS changes in a single file, kickstart Bootstrap to provide an elegant, consistent, and simple baseline to build upon.

getbootstrap.com

 

 

 

 

* 부트스트랩 시작 템플릿

 

아래 파일을 복사해서 새로운 HTML 파일을 하나 만들고, 시작해보아요

<!doctype html>
<html lang="en">

<head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"
        integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

    <!-- Optional JavaScript -->
    <!-- jQuery first, then Popper.js, then Bootstrap JS -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"
        integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q"
        crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"
        integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl"
        crossorigin="anonymous"></script>

    <title>스파르타코딩클럽 | 부트스트랩 연습하기</title>
</head>

<body>
    <h1>이걸로 시작해보죠!</h1>
</body>

</html>

 

 

남이 미리 작성한 CSS를 내 HTML 파일에 적용한다는 점에서,

bootstrap 적용은 CSS 파일 분리와 원리가 동일합니다.

다만, CSS의 파일이 인터넷 어딘가에 있다는 점이 다를 뿐입니다.

반응형

 

 

 

 

아래 글은 작성자 공부를 위해 작성되었습니다.

 

 

📃 참고자료

 

  • 유튜브 채널 EO [배달의민족 CEO에게 뽑고 싶은 개발자를 물어보았다]

 

 

https://www.youtube.com/watch?v=3H4umWD5bwI 

 

 

 

 

 

✳ 도움이 필요한 사람에게 도움을 주는 조직

 

 

  • 모르는 내용이 있어 물어보는 사람에게 도움을 주면서, 조직 전체로 봤을 때는 그 사람이 헤맸을지 모르는
    시간을 아낄 수 있게 해준 것
  • 천재 개발자가 모든걸 만드는 것이 아닌 조직 전체가 일을 잘할 수 있는 방법론이 존재
  • 나 혼자 성장 하는 것이 아닌, 같이 일하는 사람도 성장하는 조직
  • 개인이 성장하는 것이 조직에 고스란히 성과로 나타나는 사이클이 돌 수 있는 조직

 

 

 

 

 

✳ 개발자 본인 스스로를 코딩하는 사람으로 정의하지 않는다

 

 

  • 우리에게 주어진 비즈니스 문제를 해결하는 사람
  • 코드를 만줄 짰다고 해서 좋은 프로그래머는 아니다, 그 코드로 만들어낸 비즈니스 가치가 중요
    (그 비즈니스 가치가 나를 증명하고 인정을 받는다.)
  • 때로는 문제를 해결하는 방법이 정책을 바꾸고 프로그래밍을 안하는 것일 수도 있음
  • 코딩 실력도 중요하지만, 그보다 먼저 중요한 것은 문제해결력
  • 실제로 코딩하는 시간은 20% , 나머지는 어떤 로직으로 풀어내야 할지 고민하는 시간
    - 어떤 문제를 풀어야 하는거지?
    - 속도를 높여야 하는 문제인가?
    - 아예 새로운 기능을 추가해야 하는 건가?

  • 상위 레벨의 방향성이 일치되어야 전체적인 일의 결과가 나온다
    * 상위 레벨에서 1도가 틀어지면 밑으로 갈수록 차이는 더욱 커진다

  • 풀고자 하는 문제를 해결하기 위해 노력의 80%가 들어가야 함
    - 이런 문제를 해결하기 위해 혼자 노력하는 것이 아닌 꾸준히 커뮤니케이션
    - 문제를 어떻게 바라보냐에 따라서도 해결책도 굉장히 많이 달라짐

 

 

 

반응형

 

 

 

 

아래 글은 유튜브 채널 "홍정모의 실리콘밸리 도전기"의 영상을 보고 정리한 내용입니다.

 

 

 

https://www.youtube.com/watch?v=GvzRaegV-XM 

 

 

 

✳ 구글링만으로 공부해도 충분할까요?

 

 

  • 인터넷에 있는 정보만 가지고 공부할 수 있는 사람은 굉장히 제한되어 있다.
    ex) 스택 오버플로우(Stack overflow)와 같은 사이트

  • 인스타그램에서 현직 프로그래머(영상에 나오는 개발자)로 굉장히 숙련되어 있는 상황의 사람에게도,
    검색만 갖고 새로운 지식을 얻기가 굉장히 어렵다.
    -> 책 혹은 동영상 강의를 통해 지식을 습득

  • 인터넷에 있는 자료를 영어로 처음 보고 이해가 안가는 것은 당연한 것이다(좌절 X).
    -> 어려서부터 영어로 컴퓨터를 공부한 사람조차도 그것을 쉽게 이해하지 못한다.

 

 

 

✳ 불안함과 두려움, 어떻게 극복하나요?

 

 

  • 누구나 불안함과 두려움을 느낀다.
    하지만 그 불안함과 두려움이 나를 움직이는 원동력이 된다.
    -> 가장 강력한 원동력

 

 

 

 

 

✳ ~~를 하려고 하는데 욕심일까요?

 

  • 진짜 욕심이 있으면 질문을 하지 않았을 것이다.
    하고 싶은게 있으면 우선 빨리 하나라도 시작해야 한다.
  • 우선 시작해서 간단한 거라도 해보면 느낌이 달라져서 다른 사람이 되게 된다.
    -> 그때 다시 한번 더 생각해본다
  • 한국인들이 지적 수준이 높아 너무 멀리 봐서 목표를 높게 잡는다.
    하지만 한단계 한단계 가야 한다는 마음으로 시작한다.

 

 

반응형

 

 

 

 

<홍정모의 실리콘밸리 도전기> 의 영상을 보고 정리한 글입니다.

 

 

 

youtu.be/JjK2IFKNkEc

 

 

 

1. 타이핑 연습

 

 

  • 단순히 타이핑 속도를 빠르게 하려는 것 X
  • 10손가락을 모두 사용 할 수 있도록 습관
  • 위 두 가지를 실천하면 타이핑 속도를 저절로 빨라짐.

 

 

2. 컴퓨터의 메모리에 대한 생각

 

 

프로그래밍의 핵심은 놀랍게도 CPU가 아닙니다.

CPU는 명령을 수행하는 존재입니다.

 

ex) +, - 와 같은 연산

 

 

위의 내용보다 진지하게 고민 해야 할 것은 메모리입니다.

코드를 한줄 한줄 작성 할 때 메모리가 어디에 저장되고 어떤 과정을 거칠지 생각해야 합니다.

 

* 컴파일 과정 후 운영체제를 거쳐서 실행이 될 때 메모리에 어떻게 어디에 작동 혹은 저장이 될 지에 대한 생각.

 

메모리 위주의 접근

 

메모리에는 데이터만 저장 되는 것이 아닌, CPU에게 뭘 시킬지 명령까지 저장되어 있습니다.

 

 

 


위의 두가지를 처음 실천 할 때 상당히 불편함을 느낄 수 있습니다.

영상에서는 코드 몽키가 아닌, 뛰어난 프로그래머가 되는 가장 빠른 지름길이라고 설명 합니다.

반응형

프로세스(Process)와 스레드(Thread)의 차이를 알기 전 선행 되면 좋은 지식

 

* 위 내용 클릭 시 링크로 이동

 

 

 

프로세스와 스레드의 차이를 알아야 하는 이유

 

  • 기술면접에서 단골로 나오는 질문
  • 운영체제 과목에서 기본으로 다루는 중요한 내용

 

 

 

Git(깃)똥차게 잘 설명하는 영상(유튜버 얄코)

www.youtube.com/watch?v=iks_Xb9DtTM

 

- 위 영상은 제 기준(비전공자 코딩초보)으로도 이해하기 쉽도록 정리가 되어 있습니다.

- 일상생활을 비유해서 설명 하기 때문에 기본 지식이 없어도 볼 수 있습니다.

 

텍스트 정보를 읽어도 이해가 안되시는 분들에게 강력하게 권장드립니다.

 

 

 

텍스트와 이미지로 정리되어 있는 사이트

 

velog 개발장 - 프로세스와 스레드의 차이

 

프로세스와 스레드의 차이

프로세스와 스레드의 차이는 프로세스와 스레드, 그리고 프로그램이 작동하는 방식에 대해서 잘 이해하고 있는지 확인하기 위해 기술면접에서 단골 질문 사항으로 나온다.

velog.io

 

- 프로세스와 스레드의 함축된 정의를 풀어서 설명 해 놨습니다.

- 프로세스와 스레드의 차이를 알아야 하는 이유

- 면접관이 위 주제를 물어보는 이유와 답변에 관한 것

 

 

 

 

설명이 잘 정돈되어 있는 사이트

gmlwjd9405.github.io/2018/09/14/process-vs-thread.html

 

[OS] 프로세스와 스레드의 차이 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

- 마치 잘 정돈된 HTML코드 처럼 설명이 적혀있습니다.

- 사전 지식이 있으신 분은 빠르게 훝어 보기 좋은 사이트입니다.

- 정보가 한눈에 들어오기 때문에 복습을 하시는 분들에게 추천드립니다.

반응형

+ Recent posts