본문 바로가기
개발자 일지/기타

[TIL]블로그와 깃커밋에 관해 / 이번 주 학습 내용들

by 네빌링 2021. 11. 12.
반응형

-블로그 방향성에 대해 고민을 정리한다.

-이번 주 학습 내용들을 간단하게 정리한다.


 

 블로그를 쓰면서도 고민하고 있는데 TIL에 적는 것과 각각 카테고리에 포스팅하는 것과 어떤 기준으로 분류 해야할지 모르겠다. 찾아보니 요새는 git에 TIL을 많이 하는 것 같기도 하고..나도 git을 계속 하고 있긴 한데..이런저런 고민하면서 좋은 블로그들도 찾았고 일일커밋에 대한 회의적인 글도 보았다.

 

https://blog.outsider.ne.kr/1141

 

일일 커밋 :: Outsider's Dev Story

작년에 [샌프랜시스코](http://blog.outsider.ne.kr/1103)에 갔다 오고 나서 오픈 소스 활동을 더욱 열심히 해야겠다는 생각이 들었다. 평소에도 생각하던 일이지만 동기부여가 훨씬 강력히 되었다고나

blog.outsider.ne.kr

 

 여기서 outsider님은 일일커밋 중단에 관한 이유들을 제시했는데, 사실 아직 내공이 부족한 나에게도 적용되는 건지는 모르겠다. 일단 나는 하루도 안 빠지고 블로깅, 깃커밋을 하진 않고 있다. 하루에 거의 안빠지고 조금씩이라도 공부 하고 있지만 블로그, 깃은 주기적으로는 하되 매일 하고 있진 않다.

 그러나 본질은 어쨋뜬 목적전도가 되면 안 된다는 것이다. 내 내공을 올리기 위해 블로그나 깃커밋은 굉장히 좋은 방법이자 쌓이는 자료가 되지만, 올리는데에 집착하여 정작 해야할 더 중요도 높은 공부, 놓치는 공부가 있으면 안 된다. 

 고로 지금 티스토리, 깃커밋 방식은 내 스타일대로 유지하면서 추후 기준이 좀 더 명확해지면 정리해 바꾸든지 해야겠다. 일단 나는 회사에서 잠깐잠깐 인터넷 보면서 새로알게 된 것들 or 복습한 것들을 TIL로 정리하고 좀 더 심화적으로 정리해야할 것들은 개별 카테고리에 더 깊이 있게 블로깅 해야겠다.

 

아 그리고 고수의 좋은 블로그도 발견했다. 

https://milooy.wordpress.com/

 

Yurim Jin, Programmer&Designer

Fork my brain because I'm ready to commit

milooy.wordpress.com

진짜 대단한 분들이 많다.

 


VUE

 vue를 급하게 배우고 급하게 실무투입이 된 만큼 vue에 대한 코딩은 익숙해졌지만 프로젝트 구조나 설정방법 등 깊이가 부족하다고 느껴서 틈틈이 프로젝트 구조를 분석하고 있다. vue에 관한 용어나 관련 npm 패키지들이 너무 많아서 예전에 정리했던 것도 헷깔려서 조금씩 다시 정리해놓으려고 한다.

 

  • VUE CLI
    • VUE 프로젝트의 골격, 구성을 도와주는 공식 지원 툴
    • webpack, eslint, babel 등 옵션을 선택하고 구성을 도와준다
    • CLI 2, CLI 3의 차이를 좀 알아둘 필요가 있음
      • CLI 2는 webpack.config.js가 프로젝트 루트 레벨에 노출
      • CLI 3은 node_module/@vue/cli-service/webpack.config.js에 있음
      • 그밖에도 차이점이 꽤 있다.
    • vue.config.js
      • @vue/cli-service에서 자동으로 로딩하는 파일
      • webpack 사용시 webpack.config.js를 직접 수정하였으나 vue-cli를 사용하면 vue.config.js를 통해 webpack까지 설정 가능
  • vue 실행, 동작 순서
    • 1)index.html : application 뼈대 HTML
    • 2)main.js : 최초 로딩 스크립트
      • new Vue(...).$mount('#app')
    • 3)App.vue : 최상위 컴포넌트
      • <router-view>들어있어서 로딩 -> router/index.js 참고(라우터 기본설정)
  • vuex
    • 리액트의 redux같은 중앙집중식 저장소
    • mutation, getter 등
    • 프로젝트에서는 로그인 관련 등 공통 모듈에 사용되는 것들에 적용되어 있음

 

JAVA

  • String
    • String은 문자열이 직접 변수에 저장되는 것이 아니라, 문자열이 String 객체로 생성되고 변수가 String 객체 참고
    • 문자열 리터럴이 동일 값이면 String 객체 공유
    • 문자열 재할당시 값이 바뀌는 것이 아니라 새로운 String 객체가 만들어지고 그것을 참조
String name = "kim";
name = "park"; //park으로 name변수에 대입되는 것이 아니라 새로운 park 객체 주소 참고

String address1 = "seoul";
String address2 = "seoul"; //address1과 문자열 리터럴이 같기 때문에 같은 객체 공유
  • Wrapper Class
//BOXING
Integer num = new Integer(50); 

//AUTO BOXING
Integer num = 17;

//UNBOXING
Integer num = new Integer(50);
int n = num.intValue();

//AUTO UNBOXING
Integer num = 17
int n = num
  • StringBuilder 초기화 방법
StringBuilder sb = new StringBuilder();
sb.setLength(0);
  • List 내부의 값 체크시 size가 아니라 isEmpty() 활용하기
    • 소나큐브에서도 그렇게 권장하고 블로그들에서도 그렇게 권장(list.size > 0 이런식으로 사용하지말자)
    • isEmpty() 체크 전에 List 자체가 null이면 isEmpty()에서 오류 발생하기 때문에 다음처럼 사용
List<Object> a = new ArrayList<>();

//a안에 값이 있는 경우
if (a != null && !a.isEmpty()) {
	//...
}

JavaScript

  • 함수선언식, 함수표현식 -> 따로 포스팅
  • Vue의 methods: {...} 내부에 메소드 선언시 익명함수 프로퍼티 쓰면 호이스팅 대상이 아니기 때문에 순서 고려

DB

 

반응형