Assert 어디에 넣을지 모르면 넌 주니어

  Рет қаралды 15,804

포프TV

포프TV

Күн бұрын

Пікірлер: 77
@yeyememe8120
@yeyememe8120 9 ай бұрын
중간중간 이것도 모르면 주니어니까 돌아가라고 말해놓고 결국은 Assert에 대해 설명해주시는 스윗함이 돋보이십니다.
@포프티비
@포프티비 9 ай бұрын
전문용어로 츤데레?...😅
@이세진-e8j
@이세진-e8j 9 ай бұрын
예전 회사에서 foo(A* a) { assert(a != nullptr) } 대충 이런 함수에 크래시가 났는데 assert 지우고 if (a == null) { return } 이렇게 바꿔놓고 버그 고쳤다고 하는 사람도 있었답니다.
@포프티비
@포프티비 9 ай бұрын
주니어죠
@이세진-e8j
@이세진-e8j 9 ай бұрын
하지만 절대 주니어 연차가 아니었죠.
@wy97765
@wy97765 9 ай бұрын
ㅋㅋ😂
@성이름-t9p4o
@성이름-t9p4o 9 ай бұрын
ㅁㅊㅋㅋㅋㅋㅋ
@bspyeon
@bspyeon 9 ай бұрын
그렇게 버그를 만들고. . .
@DonghoPark
@DonghoPark 9 ай бұрын
관련 없는 내용일수도 있지만... 하드웨어 설계(프론트엔드 칩설계, RTL이라 부르는...) 분야에서도 assertion 을 많이 사용합니다! 프로토콜이나 하드웨어의 스펙을 assert로 기술하고(하드웨어 구현 x, 소프트웨적 표현), 하드웨어를 구현하는거죠. 그러면 이후 시뮬레이션 단계에서 하드웨어 버그를 잡아 낼 수 있습니다. 최근에는 시뮬레이터 만이 아니라 assert를 합성기(hdl 코드를 하드웨어로 번역해주는 하드웨어 컴파일러)에서 하드웨어로 번역해주기도 해서 에뮬레이션(fpga 등등) 단계에서 assert를 활용하기도 하더군요 ㄷㄷ
@eo1120
@eo1120 9 ай бұрын
assert 는 디버깅할 때도 가정하는 경우의 수를 줄일 수 있어서 상당히 유용합니다. 단 릴리즈에서 무시하는 것이 좀 별로라서 로그라도 남길 수 있게 바꿔서 쓰면 더 좋습니다. 그리고 컴파일 타임 assert (c++ 의 경우 static_assert) 도 아주 좋습니다.
@희택-1
@희택-1 9 ай бұрын
마틴 파울러였던가, 어느 외국 블로그에서 예외 처리하는 방법에 exception과 assert가 있다고 봤었던 기억이 있네요. 하지만 경험상으론 assert 존재나 필요성을 얘기하는 개발자는 거의 못 본 것 같습니다. 저도 가끔 쓰긴하는데, 뭔가 쓰자고 설득하기도 그렇고 해서 잘 안쓰게 되었네요 ㅎㅎ 좋은 영상 감사합니다.
@디지털미디어
@디지털미디어 9 ай бұрын
그러면 그냥 exception 으로만 처리하는 걸까요??
@희택-1
@희택-1 9 ай бұрын
@@디지털미디어 용도에 맞게 둘 다 활용해야죠.
@타유의덮밥이야기
@타유의덮밥이야기 7 ай бұрын
항상 재미있고 유익한 영상 감사합니다! 좋아요 누르고 갑니다!
@이두희-z3w
@이두희-z3w 9 ай бұрын
생각 정리가 잘 안되는 1인으로서, 포프님만의 생각정리? 하는 노하우 관련 영상도 부탁드리겠습니다. 연차가 쌓였으나 테스트를 등한시 했던 사람으로서...........
@장우재-j7e
@장우재-j7e 9 ай бұрын
포프형님 영상 정말 잘 보고 있습니다~ 개발과는 상관없는 삶을 살고 있지만 영상을 통해 삶에 도움이 되는 조언들을 얻고 있습니다 ㅎㅎ 무엇보다 재밋어요 영상 계속 올려주세요~
@121-f7y
@121-f7y 8 ай бұрын
궁금한게 있는데요 이런 지식은 어떻게 줍줍할 수 있나요? 이렇게 지식을 공유해주시는걸로 평소에 줍줍하긴 하지만 평소에 알아서 잘 좀 하고 싶은데... 방법을 잘 모르겠더라구요 ㅜㅜ 항상 감사합니다
@케인유물발굴대
@케인유물발굴대 8 ай бұрын
그럼 참고 할만한 assert 활용 오픈 소스 코드 링크를 게시해 주실 수 있으실까요 ?
@주정열-n4p
@주정열-n4p 7 ай бұрын
저는 assert넣을 부분에도 exception을 썼습니다. 왜냐면.. 나란 녀석이 Debug에서 잘 걸렀다고 Release에서 똑바로 거를까?? 이기 때문입니다.
@포프티비
@포프티비 7 ай бұрын
사실 둘의 용도는 매우 다릅니다.
@주정열-n4p
@주정열-n4p 6 ай бұрын
@@포프티비 덕분에 말씀하신 용도에 잘 쓰고 있습니다 감사합니다
@무나딱
@무나딱 9 ай бұрын
서당개 3년이면 풍월을 읊는다는 옛말이 요즘 많이 와닿습니다 알림설정해놓고 뜨는거 하나씩만 봐도 견문이 넓어지네요
@user-gchgctv
@user-gchgctv 9 ай бұрын
후렴처럼 끝나는 '넌 주니어'
@doltoBlorin
@doltoBlorin 6 ай бұрын
러스트 코드 짜면서 맨날보는 예제에 밑줄에 나오는게 다 어설트 코드였군요 그걸 보면서 공부하면서 어설트가 뭔지 몰랐던 주니어는 웁니다😂
@임혁진-v1b
@임혁진-v1b 9 ай бұрын
최근에 포프님 추천으로 코드 컴플리트를 읽고 있는데 assert에 대한 내용이 있던게 기억나네요. 새 프로젝트에 기능을 빠르게 추가하는데 assert만한게 없는거 같습니다. 새로운 기능을 만들 때 그 함수 안의 기능 자체보다도 precondition이나 입력 값에 실수가 나는걸 많이 경험합니다.
@정하성-e1f
@정하성-e1f 9 ай бұрын
전 앱개발하고 있는데 assert로 확인해서 처리하는게 크래시 고사지내는것보다 훨씬 낫다고 생각합니다.
@정재빈-b7o
@정재빈-b7o 9 ай бұрын
asset를 사용해야하는 구체적인 상황에 대해 더 자세히 알아보고 싶어서, java assert 나 유사한 키워드로 검색하니, junit 테스트코드에서 사용하는 assertion이나 실제 사용하는 상황보다는 assert 함수 자체에 대한 설명만 나와 이렇게 질문드리게 되었습니다. 제가 고민해본 결과로는 Controller에서 값을 받아 Service 에서 사용하는 경우와 같이 상위 함수에서 Excpetion 처리가 반드시 되어와야 하지만, 되지 못하였을 경우를 대비하여 assert를 사용해야 하는 것 같다고 느꼈는데, 이런 경우에 사용하면 되는 걸까요?
@포프티비
@포프티비 9 ай бұрын
그것도 좋은 경우고요. 코드 작성자가 생각하는 모든 가정을 어서트로 넣는 겁니다. 예를 들면 어떤 수를 짝수로 바꾼뒤에는 그게 짝수인지 assert를 넣어도 되고요. 스트링에서 첫 단어 자르기 연산을 한뒤 새 스트링이 대문자로 시작하는지 assert를 넣어도 되고요. For문을 돌고 난 뒤에 색인이 특정 값인지 어서트를 넣어도 됩니다. 비유를 들면 라면 끓이는 매뉴얼 따라할때 물이 끓어 라면을 넣고 3분 기다릴때 그 동안 계속 가스불이 켜있다고 가정을 하잖아요? 이럴때 가스불이 꺼지지 않았다는 assert를 넣는 겁니다. :)
@zero_to_full
@zero_to_full 9 ай бұрын
영상을 볼 때마다 아마 기회는 없겠지만 같이 일해보고 싶네요 ㅎㅎ
@user-no1oe2rg1v
@user-no1oe2rg1v 9 ай бұрын
난 아직 주니어였다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 내일부터당장써봐야겠네요.
@Cso_ko
@Cso_ko 9 ай бұрын
항상 개발자에 대한 객관적 지표를 제시하려고 노력하는게 멋지십니다 ! 포프님은 두가지이상의 분야(모호하지만 개발자와 수학자 혹은 물리학자 혹은 경제전문가 혹은 법률전문가 등)에서 전문가라고 판단된 분을 본적있으신가요 ?
@민-v4x
@민-v4x 4 ай бұрын
생산 자동화분야 엔지니어로 가닥은 잡았는데…공부 열심히 하겠습니다😂
@user-of3rb1jv4l
@user-of3rb1jv4l 9 ай бұрын
좋은 말씀 감사합니다! 혹시나해서 찾아보니 유니티에도 어설트기능을 제공하네요! 항상 조건문으로 체크해왔는데 당장 바꿔야겠어요 👍
@iankang1246
@iankang1246 9 ай бұрын
가정 설정문...! 이걸 왜 이제 알았을까요...! 꼭 써보겠습니다!
@meinlet5103
@meinlet5103 9 ай бұрын
1:25 그냥 우리회사코드
@DotoriHunter
@DotoriHunter 8 ай бұрын
좋은 영상 감사합니다. 근데 힐링이 아니고 펙폭 티비같습니다 ㅜㅋㅋ
@jangseokhan1984
@jangseokhan1984 8 ай бұрын
1:12 이거 모르면 주니어도 아니라 봐도 되지 않을까요...???
@Boy-qp7hw
@Boy-qp7hw 9 ай бұрын
kzbin.info/www/bejne/oWHUnp6HfNajg5o 0:35초부터 말씀하실때 이 영상이 생각났네요 TempleOS를 개발하신 Terry Davis라는 분입니다 "An Idiot admires complexity, a Genuis admires simplicity" 근데 저는 간단하게 적고싶어도 못하고 있으니까 주니어입니다 ㅎㅎ ㅋㅋ ㅈㅅ;;
@taehyunjo1265
@taehyunjo1265 9 ай бұрын
100% 동의하는데, 오히려 왜 영상 시작에 논란의 여지가 있을 수 있다고 말씀하신지 궁금하네요.
@jahyukshin4239
@jahyukshin4239 9 ай бұрын
assert 자체를 안쓰는 사람들이 많아서 그런거 아닐까요? 주로 웹 진영에서요
@이세진-e8j
@이세진-e8j 9 ай бұрын
assert를 쓰는 사람이 저 뿐인데 탈출해여할까요? ㅠㅠ
@user-ee6sh6oj7g
@user-ee6sh6oj7g 9 ай бұрын
안녕하세요 포프형님 웹 백엔드개발 3년차입니다 게임서버로 전향하는게 현실적으로 가능한지 혹은 이전 경력은 인정받을수있을까요?? 다음학기 포큐아카데미 씨샵부터 수강예정입니다ㅜ
@포프티비
@포프티비 9 ай бұрын
실제 전향하신 분들이 있으니 현실적으로 가능은 합니다. (사실 이런 질문들에 대답은 다 '가능합니다'죠) 이전 경력은 인정받을수도 아닐수도 있습니다. 웹 백엔드라는 직군 아래서 하는 일들이 너무 다양하니까요. 기술적으로 난이도가 있는 일들을 해왔다면 어디 가든 거의 인정받습니다.
@chickennoir691
@chickennoir691 9 ай бұрын
내용 너무 흥미롭네요
@초록송아지-t7u
@초록송아지-t7u 9 ай бұрын
파이썬은 이상한게 try catch 를 쓰게끔 라이브러리가 되어있더군요 허락구하는거 보다 용서구하는게 쉽다는 철학이라나 뭐라나... 아 다시보니 파이썬은 특정플래그를 넣지않으면 릴리즈모드에서도 assert 를 실행하네요 디버그모드에서만 assert 를 실행하게 바뀌어야할텐데... 이런 이상한 언어...
@88_byeol_byeol
@88_byeol_byeol 8 ай бұрын
OrNull 같이 규칙에 있는 건 안 넣었는데 넣어야했다니 ㅠ
@포프티비
@포프티비 8 ай бұрын
당연한 규칙들을 assert로 넣어두면 나중에 댕청한 실수를 하는 걸 빨리 잡을 수 있어 좋더라구요.
@디지털미디어
@디지털미디어 9 ай бұрын
저는 주니어입니다 ㅠ..
@cogidtjr
@cogidtjr 8 ай бұрын
제목이 매콤하긴 하네요
@포프티비
@포프티비 8 ай бұрын
한국인은 매운맛을 좋아한다고....
@방가-d6e
@방가-d6e 8 ай бұрын
아 나 주니어네, 분발해야겠네요
@Null214
@Null214 9 ай бұрын
혹시 assert를 남용하는 경우도 있나요?
@포프티비
@포프티비 9 ай бұрын
Assert의 불리언 표현식에 로직을 넣은 경우? 릴리즈 버전에서는 그 로직이 사라져서 버그가 됩니다
@번개-l3c
@번개-l3c 9 ай бұрын
​@@포프티비 아?? ㄷㄷㄷㄷㄷ 그러겠네요 ㄷㄷㄷㄷ ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
@이지석-n2r
@이지석-n2r 9 ай бұрын
​@@포프티비 와 상상도 못했네요 로직을 넣는다는 발상은 ㅋㅋㅋㅋㅋ
@이세진-e8j
@이세진-e8j 9 ай бұрын
제가 회사 갓 입사했을 때 이렇게 버그 만들었어요. 함수 리턴하는게 항상 true 여야해서 assert 안에서 함수호출했죠. 그래서 릴리즈에서만 이상하게 동작했던 경험이….
@Null214
@Null214 9 ай бұрын
와..ㅋㅋ 그런 행동하는 것만 아니라면 assert는 어느정도 맘편히 쓸 수 있겠군요
@georgestokes4728
@georgestokes4728 9 ай бұрын
유닛테스트나 어설트나... 내가 넣는 건데 그때 생각 못한걸 나중에는 생각할수 있을까?
@꿀벌아빠
@꿀벌아빠 9 ай бұрын
assert를 많이 박으려고 하는데 로직 7줄:assert 1줄 비율은 절대 못 따라가겠더라구여.. 나는 아직 멍10주니어..
@dddo6216
@dddo6216 6 ай бұрын
if문으로 전부 return시켰었는데 안좋은 방식인가보네요. ㅜ
@MerlinBi
@MerlinBi 8 ай бұрын
예전 회사가 생각나네요. 디버그모드로 실행만하면 assert에 걸려서 계속 창띄워서 일을 도저히 진행할수가없어 그냥 릴리즈 모드로만 개발하던 곳이었는데 그걸 방치해놓으면서 게임 출시까지 하고 서비스까지 하고있다니... 지금 생각해도 어질어질합니다.
@포프티비
@포프티비 8 ай бұрын
저도 그런 회사 본적 있죠. 최적화가 가장 어려웠던 프로젝트기도 해요. 아마 정리정돈 하며 개발을 하지 않아서 그 두 문제가 동시에 터진게 아닐까 생각이 드네요
@gubsingyo3
@gubsingyo3 9 ай бұрын
어떤 사람이 assert는 bp 찍는 용도다 라고 하시는데 그사람 주니어인가요?
@ohyes5882
@ohyes5882 9 ай бұрын
ㅇㄷ
@jahyukshin4239
@jahyukshin4239 9 ай бұрын
어... 크게 보면 맞는 말 아닌가요? assert로 프로그램이 뻑났다는거는 결국 assert를 박은 함수에 문제가 있거나, 전달 받은 값들에 문제가 있다는건데, 이를 고치려면 결국 디버그 브레이크 찍고 디버깅 하는 방법 밖에 없으니까요. assert는 결국 디버깅을 더 잘 할 수 있게 만들어 주는 도구일 뿐이라 생각해요.
@포프티비
@포프티비 9 ай бұрын
어떤 조건에 실패할 경우 bp찍는거다란 의미면 맞는 이야기고. 그 조건이 없다면 틀린 이야기.. 근데 실무에서는 어서트 나면 더이상 진행 안되게 강제 크래시를 만드는 회사도 있습니다.
@jahyukshin4239
@jahyukshin4239 9 ай бұрын
c++에서 assert 말고 __debugbreak를 쓰는 것에 대해서는 어떻게 생각하시나요?
@포프티비
@포프티비 9 ай бұрын
디버그 모드에서 조건 건사후 실패할때 _debugbreak 걸도록 어서트 매크로를 만드는 거 말씀이신가요? 실무에선 대부분 그렇게 해요. 콜 스택이 딱 실패한 코드에서 멈춰있도록 하기위해
@이세진-e8j
@이세진-e8j 9 ай бұрын
assert(false) 와 차이가 있나요?
@yonggyulee
@yonggyulee 8 ай бұрын
assert는 표준이고 debugbreak는 아닙니다
@포프티비
@포프티비 7 ай бұрын
콜스택 위치 차이
@멜론맛케익
@멜론맛케익 9 ай бұрын
디버깅 시간을 어설트쓰는 시간으로 땡겨쓰자
@theflow5341
@theflow5341 9 ай бұрын
오.. 이런 방법이 있었구먼
자기 방어적 프로그래밍
12:09
포프TV
Рет қаралды 15 М.
이런 테크 회사는 빤스런
12:09
포프TV
Рет қаралды 15 М.
Will A Basketball Boat Hold My Weight?
00:30
MrBeast
Рет қаралды 119 МЛН
Mom had to stand up for the whole family!❤️😍😁
00:39
Elza love to eat chiken🍗⚡ #dog #pets
00:17
ElzaDog
Рет қаралды 10 МЛН
함수, 이렇게 만들면 넌 주니어
8:07
포프TV
Рет қаралды 19 М.
우리 개발자들이 해외에서 일해야되는 이유(인터뷰)
17:32
믿음과 학습속도
22:18
포프TV
Рет қаралды 44 М.
이 코드 못 짜면 넌 주니어
7:00
포프TV
Рет қаралды 17 М.
일잘하는 사람과 시뮬레이션 능력
28:03
포프TV
Рет қаралды 33 М.
문서 파일에서도 보이는 개발자 자질
13:31
포프TV
Рет қаралды 21 М.
Why You Are Still a Junior Programmer
12:26
포프TV
Рет қаралды 28 М.
놀랍게도 이 문제는... 정답율이  0%였습니다!
16:08
Veritasium 한국어 - 베리타시움
Рет қаралды 650 М.