22.09.27 TIL⛅️

조배·2022년 9월 27일
0

TIL

목록 보기
3/30
post-thumbnail

JS

? 연산자

? 연산자에 가장 중요한 점은 조건에 따라 반환 값을 달리하려는 목적으로 사용한다는 것이다.

// ? 연산자
// condition이 true -> value1 , false -> value2를 반환한다.
let result = condition ? value1 : value2;

코드를 보면 정말 단순하지만 유용하다.
그래서 자칫하면 if문을 모두 대체할 수 있는데 그럴 경우를 지양한다고 한다.
그 이유는 위의 문법으로 사용하게되면 코드가 if문에 비해 짧아지지만 가독성이 안좋다.
개인적으로도 if문의 경우는 흐름이 보이는 코드가 좋다고 생각해왔기 때문에 ? 연산자가 지향하는 방식으로 활용할 수 있지 않을까라는 생각이든다.😎
오늘부터 머리식힐때 JS를 끄적여볼까하는데 정글의 일정상 쉽진 않을듯 싶다.🥲

GIT

pull 과 fetch의 차이

내가 이해한 바로는 pull은 fetch + merge 라고 생각하면 되고,
fetch의 경우는 "커밋(commit)"을 로컬저장소에 가져오고, 추 후 확인한 후 직접 merge 시켜줘야한다.

깊게 들어가자면 fetch 하게되면 fetch 브런치가 생성되면서 누적된 커밋메세지가 나타난다.
pull의 경우에는 원격저장소를 가져와서 바로 로컬데이터에 적용시킬텐데,
fetch의 경우에는 다르게 fetch 브런치를 생성해서 커밋사항을 로컬저장소에 가져온다는 것이다.
이 경우 merge 하기전 파일을 확인 할 수 있다는 점이 좋아보였다.
git은 알면 알수록 좋은 기능 밖에 없다. TIL에 자주 등장할 듯 싶다.😁

오늘의 TMI 😎

리스트 컴프리헨션 (List Comprehension)

한 줄로 정의하고 싶어서 계속 고민하다가 코드로 보여줘야겠다는 생각이 든다.

# 일반적인 리스트 생성 과정
a = []
for i in range(1,5):
	a.append(i)
## a = [ 1, 2, 3, 4]
# 리스트 컴프리헨션 사용
a = [ i for i in range(1,5)]
## a = [ 1, 2, 3, 4]

솔직히 말해 내가 리스트 컴프리헨션을 처음 사용하게 된 것은 멋있어 보여서였다.
사실 파이썬을 적응하기 전까지는 리스트 컴프리헨션을 멀리했었다.😅
어차피 같은 기능을 하는데 내가 굳이 배워야할까라는 생각이었고, 파이썬에 점차 적응하면서 자신감 만땅(?)이 되었을 때 사용하게 되었다.
오늘 동기들에게 리스트 컴프리헨션에 대해 설명하는데 자신감이 없었다.
그래서 리스트 컴프리헨션에 대해 깊게 정리하고자 오늘의 TMI로 선정했다.
성능이 더 좋다는 말은 익히 들었지만 '얼마나 빠를까?'라는 생각에 직접 해봤다.


사진을 보면 리스트 컴프리헨션의 경우가 월등히 빠르다.
그 이유는 파이썬에서 컴프리헨션 문법에 대한 최적화가 되어있어 for문 보다 리스트 컴프리헨션으로 리스트를 생성하는 경우가 빠르다.
정리하자면 리스트 컴프리헨션은 '빠르고, 간결하다' 사용 안 할 이유가 없다고 생각할 수 있지만 조심해야 한다.
위의 ? 연산자에서도 언급했지만, 때에 따라 가독성이 별로일 수 있다.
실제로 나도 처음 리스트 컴프리헨션을 보았을 때 이해하기 어려웠고, 'for 문으로 리스트를 생성해주는 게 코드의 이해하고 흐름을 파악하는데 더 좋지 않을까..?' 라는 생각을 하였다.
무엇보다 파이썬에 익숙하지 않은 사람에게 보여줄때는 적합하지 않다고 생각하고, 분명 장점이 많지만 사용에 주의 해야 할 것 같다.😀

내일의 나에게🥲

  • GIT pull Request
  • 전역변수 -> 리스트와 변수의 차이
profile
깃허브로 이전했습니다 -> https://chobae.github.io/

0개의 댓글