[TIL] 2022-01-04

nathan·2022년 1월 4일
0

TIL

목록 보기
2/34

성장과 흐름

  • 오늘 JK님께서 해주신 말씀들 중 가장 인상이 깊은 부분을 정리해보려고 한다.
  • 작업난이도와 실력의 여하에 따라 몰입을 할 수 있는 상태인지 아닌지를 나타내는 그림이다.
  • 불안함과 지루함에 위치하고 있다면 어떻게 해야하는지에 대해 말씀하신 것을 간략히 정리하겠다.

불안함 극복하기 (주로 낮은 실력으로 인해 나타난다.)

  • 실력을 높이자!
    • 무엇을 모르는지 아는 것이 가장 중요하다. 이를 위해서 전문가 또는 나보다 잘하는 사람을 곁에 두고 질문을 하거나 내가 쓸 수 있는 도구를 이용하는 것이 바람직하다.
  • 난이도 낮추기!
    • 큰 문제들을 작은 단위의 문제로 나누어 생각해보자.

지루함 극복하기 (주로 낮은 작업 난이도로 인해 나타난다.)

  • 실력 낮추기

    • 익숙하지 않은 환경에 자기 자신을 둔다.(ex. 새로운 도구 및 방법 활용해보기)
  • 난이도 높이기!

    • 제약을 추가하여 문제 자체를 hard하게 만들어 난이도를 높여보자.

논리 연산자 vs 비트 연산자 ?

  • 이해를 돕기 위해 아래의 C 코드를 참고하자.
#include <stdio.h>

int main(void)
{
 int a, b;
 a = 0x01;
 b = 0x02;
 printf("%d", a&b); // 0
 printf("%d", a&&b); // 1
} 
  • a&b (0x01 & 0x02)의 결과는 0, a&&b (0x01 && 0x02)의 결과는 1로 다르게 나온다.

  • 왜 이런 차이가 발생할까?

    • a = 0x01 = 0 0 0 1
    • b = 0x02 = 0 0 1 0
    • a & b = 0 0 0 0 (AND 조건이 만족되는 둘다 1인 경우가 존재하지 않는다.)
    • a && b에서는 a와 b가 비트 값으로 인식되는 것이 아니고, 0인 수만 false, 0을 제외한 모든 수는 true로 인식된다.
    • 따라서 true && true = true가 되는 것이다.
  • &와 &&만 비교했지만 |와 || 또한 원리가 같다.

참고 : https://r2adve.tistory.com/239


오늘을 마치며...

  • 코드 리뷰를 백엔드 조원들끼리 처음 진행했는데, Jerry님이 총대를 메주시고 진행을 맡아주셔서 원활히 진행될 수 있었다.(감사합니당 Jerry님!)
  • 코드 리뷰 때 쿠킴님이 jUnit을 이용하여 테스트 코드를 작성하는 것을 보고 나도 따라해 봤다. 아직은 미숙하지만 입력 받아서 print문으로 떡칠된 main 메서드를 실행하는 것보다 훨씬 효율적이라 앞으로는 자주 애용해야겠다.
  • 조원들의 알록달록한 intelliJ를 보며 어떻게 하는건지 싶었는데, 이쁜 테마 플러그인부터 시작해서 git tool box, code metrix, sonarlint와 같은 유용한 플러그인도 알게되어 적용했다! (신기 ㅎㅎ)
  • HashMap이라는 자료구조를 처음 사용해봤는데, python의 딕셔너리 같은 개념이라 쉽게 이해하고 사용할 수 있었다. 한가지 언어를 능숙하게 하면 다른 언어를 배우기 쉽다는 말이 이해가 됐다. 앞으로 Java 학습이 순탄치만은 않을테지만, 잘 할 수 있을거란 자신감이 생긴다!!
profile
나는 날마다 모든 면에서 점점 더 나아지고 있다.

0개의 댓글