TIL 및 회고

roach·2021년 3월 13일
0

TIL

목록 보기
5/8

Toggl

  • 시간 관리를 위해 사용중 아직까지 효과를 잘 모르겠으나, 확실히 이시간대에 내가 뭘하는구나, 이번주는 알고리즘에 시간을 덜 투자했네, 오늘은 여기 좀 투자해줘야지? 이런생각을 하게된다.

스터디

오늘 처음 안것들

  • switch 연산자에서 -> 연산자를 통한 연산이 가능하다
  • double, float== 로 비교하면 error 가 날 수 있다.
  • 한 배열안에서 중복되지 않는걸 찾기 참신하게 풀기

    public static void main(String[] args) {
        Operator operator = new Operator();
        int result = operator.solution(new int[]{5, 2, 4, 1, 2, 4, 5});
        System.out.println(result);
    }

    // XOR
    // 5 ^ 0 = 5
    // 5 ^ 5 = 0
    // 101
    // 101
    // ---
    // 000
    // 5 ^ 1 ^ 5 => (5 ^ 5) ^ 1 = 0 ^ 1 = 1
    private int solution(int[] numbers) {
        int result = 0;
        for (int number : numbers) {
            result ^= number;
        }
        return result;
    }
  • java 13 에서의 switch 연산자의 변화들..

  • offer add 등등의 차이점

Queue<Integer> queue = new LinkedList<>();
boolean offer = queue.offer(1);
boolean add = queue.add(1); // throw exception

queue.poll();
queue.remove(); // throw exception

queue.peek();
queue.element(); // throw exception

고민해봐야 할것들

  • instanceof 는 왜 좋지 않은 패턴일 수도 있을까? 물론 좋은 방법일때도 있을 것이다. => 판단하는데 있어서 컴파일 시점 / 런타임 시점이 중요한 부분이라고 생각함.

  • 시멘틱과 효율성 어떤것이 어떤 상황에 좋은 판단일까?

도움이 됬던 행동들

  • 모든 로그를 DEBUG 로 보기, 학습하는데 시간은 오래걸리나 여러가지 생각들을 할 수 있는것 같다. 예를 들면 무언가를 하는데 쿼리 두개나 여러개가 날라가는데 그게 과연 옳은 방식으로 현재 되고 있는건가? 더 좋은 방법은 없는가? 라는 생각을 해야 한다는 것들 -> 이런 생각을 해야 하기에 당연히 오래 걸릴 수 밖에없는데 너무 빨리빨리 하려했다. 습관을 고쳐야 함.

  • 바이트 코드를 읽다보니 이제 몇몇 익숙한 것들은 바이트 코드 문서를 안보고도 읽을 수 있게 됬다. 생각보다 도움됨.. 공부할때만 실제로는 잘 써본적이 없어서 모르겠음. 그래도 남한테 어떤 방식의 Concept 을 설명할때는 꽤나 도움이 된다고 생각함.

  • 팀원들과 어떤 방법에 대해 토의하기, 이번주는 줌에서 이런것들 얘기를 많이 한것같다. 상당히 도움이 된것 같다. 앞으로 더 많이 방법론? 들에 대한 얘기를 해봐야겠다.

고쳐야 할점

  • 커밋전 자동 포맷팅 => 이거 자꾸 실수해서 아예 자동화 하는법을 찾고 있다.
  • 요구사항 잘 읽기
  • 천천히 좋은 방법에 대해 고민하며 코딩하는 습관들이기
profile
모든 기술에는 고민을

0개의 댓글