0-based Nick
0-based Nick
  • Видео 35
  • Просмотров 3 148

Видео

값객체가 불변해야 하는 이유(w/@Data) - Java팁
Просмотров 56Месяц назад
설명에서 빠뜨렸는데, @Data는 @EqualsAndHashCode가 포함되어 있습니다. 모든 필드값을 활용하여 해시값을 생성하고 값을 판정하기 때문에, 포함되길 원치 않는 필드가 해시값에 숨어들어가는 문제도 있어요. #Java팁 #값객체 #불변
hashCode() 재정의할때 조심하자(w/Objects.hash()) - Java팁
Просмотров 423 месяца назад
화질구지네요 🦜 #Java #tip #hashCode #hash #override
hashCode()는 좋은 해시함수일까? - Java팁
Просмотров 503 месяца назад
hashCode()는 해시 자료구조를 효율적으로 사용하기 위한 해시값을 반환하는 목적을 가지고 있습니다. #Java팁 #hashCode() #hash
Hash에 대한 기본적인 이야기 - 생각공유
Просмотров 893 месяца назад
해시는 임의의 데이터를 고정된 길이의 데이터로 변환해줍니다. #생각공유 #자료구조 #Hash
시간이 없는 생활에 대하여 - 잡담
Просмотров 578 месяцев назад
영상이 올라오지 않는 동안 구독을 눌러주신 분들도 계신데요. 보잘 것 없는 영상이지만 좀 더 자주 업로드 하겠습니다. 그리고 그간 위로와 조언과 응원을 보내주신 주변 분들께 정말 감사드립니다. 더욱 열심히 살아서 보답하겠습니다. #잡담 #시간관리
도대체 뭘 어떻게 나눠야 좋은걸까 - 생각공유
Просмотров 10611 месяцев назад
1. 잘 모르니까 과감하게 떠들어보는 것입니다. ㅋㅋㅋ 2. 예시 코드는 우테코 프리코스 미션 진행했던 것을 일부 가져와봤습니다. 정말 많은 생각을 하게 된 시간이었네요. #생각공유 #추상화 #객체지향 #클린코드
코드가 더럽다는게 뭔데요 - 생각공유
Просмотров 207Год назад
시간이 없어서 급하게 녹음하다 보니 매끄럽지 못한 부분들이 있네요 양해부탁드립니다🙇‍♂️ #생각공유 #코딩
테스트 코드는 언제 작성할까? - 생각공유/리팩토링
Просмотров 58Год назад
적어도 리팩토링하기 전에는 작성하자. #|생각공유 #테스트코드 #리팩토링
복잡한 흐름의 코드 리팩토링하기 팁/경험 - 생각공유/리팩토링
Просмотров 339Год назад
리팩토링 하고나서 더이상 쓸모없어진 코드를 한 번에 지울 때의 쾌감은 정말 엄청나더라구요. #생각공유 #리팩토링
Java에서 통계값 쉽게 구하기 & 주의할 점 - Java팁/StreamAPI
Просмотров 101Год назад
PS 하다가 알게된 간단한 팁입니다. #Java팁 #StreamAPI
뭐가 절차지향적인거고 객체지향적인 건데요 - 생각공유
Просмотров 458Год назад
1. 절차지향과 객체지향은 상반되는 개념이 아니다 2. 하지만 분명히 구분되는 것 또한 사실이다 #생각공유 #절차지향 #객체지향
변수명에 자료타입을 표시하지 말자 - 생각공유/우테코 프리코스
Просмотров 18Год назад
우테코 프리코스 커뮤니티에서 공유되었던 질문에 남겼던 개인적인 생각을 영상으로 정리해보았습니다. 사실 뭐 어떻게 해도 좋은데요. '변수명에 자료형을 넣지는 말자'라는 생각은 드네요. #생각공유 #우테코프리코스 #변수명 #네이밍
추상화 수준이 맞지 않다는 것을 알 수 있는 싸인 - 생각공유
Просмотров 49Год назад
1. 너무 설명하고 싶었는데 너무 설명을 잘하지 못해서 아쉽네요. 언젠가 다시, 쉽게 설명해보고 싶습니다. 2. 추상화 수준을 잘 맞추면 코드가 잘 정돈될 수밖에 없다는 생각을 가지고 있습니다. 물론 쉬운 것은 아니지만, 이런 기준을 가지고 있으면, 언제든 필요에 따라 정리를 시도해볼 수 있다고 생각해요. #생각공유 #코드리뷰 #추상화수준
Java에서 상수를 위해 어떤 방법을 택할까? - Java팁
Просмотров 35Год назад
가급적이면 enum을 쓰는게 좋지 않을까요? #Java팁 #enum
테스트하기 쉬운 코드를 작성할 때 고려할 점 - 생각공유/클린코드/우테코 프리코스/로또
Просмотров 40Год назад
테스트하기 쉬운 코드를 작성할 때 고려할 점 - 생각공유/클린코드/우테코 프리코스/로또
하나의 '단위'로 분리하자...는 훼이크고 커뮤니케이션 잘 좀 해보자 - 생각공유/클린코드
Просмотров 74Год назад
하나의 '단위'로 분리하자...는 훼이크고 커뮤니케이션 잘 좀 해보자 - 생각공유/클린코드
자바도 다중상속으로 인한 문제가 일어납니다 - Java팁/프리코스 3주차
Просмотров 41Год назад
자바도 다중상속으로 인한 문제가 일어납니다 - Java팁/프리코스 3주차
어쩌면 예외가 아닌걸 예외처리하고 있을지도 - 생각공유/우테코 프리코스
Просмотров 140Год назад
어쩌면 예외가 아닌걸 예외처리하고 있을지도 - 생각공유/우테코 프리코스
뷰, 왜/얼마나 나눠야 할까? - 생각공유/우테코 프리코스/4주차
Просмотров 35Год назад
뷰, 왜/얼마나 나눠야 할까? - 생각공유/우테코 프리코스/4주차
공통된 행위를 추출할 때 인터페이스/클래스 중 무엇을 택할까? - 생각공유/우테코 프리코스
Просмотров 34Год назад
공통된 행위를 추출할 때 인터페이스/클래스 중 무엇을 택할까? - 생각공유/우테코 프리코스
if나 for 코드블럭 안에서도 하나의 일만 하자 - 생각공유/우테코 프리코스
Просмотров 38Год назад
if나 for 코드블럭 안에서도 하나의 일만 하자 - 생각공유/우테코 프리코스
객체를 식별하는 기준에 대해 - 생각공유/우테코 프리코스/객체지향의 사실과 오해
Просмотров 83Год назад
객체를 식별하는 기준에 대해 - 생각공유/우테코 프리코스/객체지향의 사실과 오해
사용자에게 문제를 일으킬 기회를 주지 말자 - Java팁/우테코프리코스/자동차경주,로또
Просмотров 41Год назад
사용자에게 문제를 일으킬 기회를 주지 말자 - Java팁/우테코프리코스/자동차경주,로또
if-else 왜 쓰지 말라고 하는 걸까? - 생각공유/우테코 프리코스
Просмотров 118Год назад
if-else 왜 쓰지 말라고 하는 걸까? - 생각공유/우테코 프리코스
이해하기 쉬운 변수명을 위한 고민 - 생각공유/우테코 프리코스/자동차경주
Просмотров 34Год назад
이해하기 쉬운 변수명을 위한 고민 - 생각공유/우테코 프리코스/자동차경주
메서드에는 static을 언제 붙일까? - Java팁/우테코 프리코스
Просмотров 59Год назад
메서드에는 static을 언제 붙일까? - Java팁/우테코 프리코스
잡담 - 우테코 프리코스 후기를 빙자한 나불나불
Просмотров 162Год назад
잡담 - 우테코 프리코스 후기를 빙자한 나불나불
record 사용 시 주의할 점 (w/일급컬렉션)
Просмотров 168Год назад
record 사용 시 주의할 점 (w/일급컬렉션)
테스트 케이스는 모든 경우의 수를 다뤄야 할까? - 생각공유/우테코 프리코스/숫자야구
Просмотров 26Год назад
테스트 케이스는 모든 경우의 수를 다뤄야 할까? - 생각공유/우테코 프리코스/숫자야구

Комментарии

  • @techroad1497
    @techroad1497 22 дня назад

    진짜 같이 할 동료 찾기가 어려워서 7년간 창업을 했었고. 여러 실패를 하다가 제품을 만들었고 그런 사람들과 3년째 현재 같이 있습니다. 현재는 200명 정도의기업이 되었습니다. 이 과정에서 10년이 넘게 걸렸던 마인드셋을 벌써 가지셨네요. 미래가 매우 기대가 됩니다. 과거의 저에게 한마디 한다고 생각하고 한마디만 하자면. 개발자란 직업은 AI로 인해서 메가 트렌드가 변한것 같습니다. 이제는 개발자를 "문제해결자" 라고 하는것이 맞는 표현인것 같습니다. 문제를 정의하는 능력이 있다면 더 좋고. 문제 를 찾는 능력까지 있다면 매우 높은 생산성을 만들거라 봅니다. 해결하고자 하는 문제에 알고리즘이 필요하면 내가 아닌 잘하는 사람을 데리고 와도 됩니다. 문제정의에 대해서 체득 하고자 한다면 몰로코 두나무 센드버그 라는 기업을 검색하시면 좀더 자세히 알아볼수있습니다.

  • @hyeonsu-hl2ff
    @hyeonsu-hl2ff 22 дня назад

    지금 회사다니시나요?

  • @펜로즈-u9k
    @펜로즈-u9k Месяц назад

    GOSU

    • @aka-nick
      @aka-nick Месяц назад

      그랬으면 좋겠네요 ㅋㅋㅋ 잘 지내시나요 새치님

    • @펜로즈-u9k
      @펜로즈-u9k Месяц назад

      @aka-nick 백수가 되었읍니다...

    • @aka-nick
      @aka-nick Месяц назад

      그 소식은 이미 오픈채팅에서 눈팅했습니다..🥲... 머하고 지내시는지 궁금했는데 마침 오늘 메시지를 읽었네용 새치님 여유있으실때 디코에서 DM이나 한번 주세요 ㅋㅋ

  • @롱스톤커리
    @롱스톤커리 Месяц назад

    설명을 잘 하시네요~! 예시와 코드로 설명하는 것들이 명확해서 좋았어요! 잘보고 갑니다!

    • @aka-nick
      @aka-nick Месяц назад

      잘 설명하려고 노력 중이에요 ㅎㅎ 칭찬 감사합니다 =)

  • @웃는남자-i8o
    @웃는남자-i8o Месяц назад

    요샌 gpt쓰면 되서..

    • @aka-nick
      @aka-nick Месяц назад

      ㅋㅋㅋ 맞아요 저도 간단한 기능에는 자주 사용했었어요. 신기하기도 했고요 ㅎㅎ 근데 복잡한 로직은 결국 손팩토링으로 밖에 해결이 안되고(체감상 컨디셔널 로직 세개 넘어가면 전혀 못 알아들음), 간단한 로직은 IDE 기본 제공 기능으로도 충분해서, 결과적으로 리팩토링 용도로는 gpt를 잘 안 쓰게 되더라구요. 손이 느려서 그런지 복붙하는게 시간이 더 걸려요🤣 ㅋㅋㅋ

  • @mazinga_z9265
    @mazinga_z9265 Месяц назад

    잘 봤습니다. 감사합니다. 키보드 소리가 특이한데 어떤 키보드 쓰실까요?

    • @aka-nick
      @aka-nick Месяц назад

      엌... 오래된 영상이라 마이크 터지는 소리가 나서 불편하셨을텐데 좋게 봐주셔서 감사해요 😊 키보드는 맥북 내장 키보드입니다! 설계 문제인지 뽑기 문제인지 왼쪽 ctrl, option, cmd 그리고 spacebar 칠 때 마다 파찰음이 있네요 😂

  • @mazinga_z9265
    @mazinga_z9265 Месяц назад

    영상 남겨주셔서 감사합니다. 좋은 내용 공유 감사합니다. ☺

    • @aka-nick
      @aka-nick Месяц назад

      감사합니다 :) 댓글까지 남겨주시니 힘이 나네요! 😍

  • @조바이든-r6r
    @조바이든-r6r 2 месяца назад

    좋습니다

    • @aka-nick
      @aka-nick 2 месяца назад

      오래전 영상들은 소리도 듣기 힘드실텐데 감사합니다!

  • @조바이든-r6r
    @조바이든-r6r 2 месяца назад

    좋습니다

    • @aka-nick
      @aka-nick 2 месяца назад

      감사합니다! 닉네임과 프사에서 바이든과 트럼프가 균형을 이루셨네요! 😂

  • @hyeonsu-hl2ff
    @hyeonsu-hl2ff 2 месяца назад

    오 몰랐던 사실이네요.. 어쩌다가 저 경우를 테스트하게 되신건가요?

    • @aka-nick
      @aka-nick 2 месяца назад

      엇....... 무슨 케이스였을까요...🥲 되게 오래전에 메모해놨던 내용들을 영상으로 올리고 있어서 어떤 경우였는지 기억이 안나는데요, 그런데 '~~할 때 발생합니다'를 알려준다면 그것도 유용하겠네요! (자세한 사정을 공유할 수 있는게 많지는 않겠지만 그래도요) 유용한 아이디어를 주셔서 감사합니다!

  • @펜로즈-u9k
    @펜로즈-u9k 8 месяцев назад

    살아계셔서 다행이군요 딴건 몰라도 건강은 챙기시길 바랍니다

    • @aka-nick
      @aka-nick 7 месяцев назад

      엌ㅋㅋ 네 살아있어요 감사합니다 ㅋㅋ 펜로즈님도 별일 없으시죠? 어케 지내시는지 궁금하네요 다들 뵌 지가 오래되어서 다같이 한번 뵙고 싶은데 시간이 나질 않네요 ㅋㅋ;;

    • @펜로즈-u9k
      @펜로즈-u9k 7 месяцев назад

      @@aka-nick 음..저는 나름(?) 잘 지내고 있습니다. 회사는 계속 다니고 있고 최근 개발 동아리 들어가서 사이드 플젝 준비하고 있습니다. 한번 뵙고 싶긴 한데 닉님이 시간이 안나서 언제 뵐 지 모르겠네요 ㅋㅋㅋ.. 시간 여유 나실 때 연락 주시면 감사하겠습니다.

  • @user-vu5ho6co6h
    @user-vu5ho6co6h Год назад

    의외로 힘들게 it공부안하는 방법으로, 하브루타식의 이렇게 생각을 공유하면서 수다떠는 오히려 인문학식의 접근법이 힘들지않게 공학하는 방법이 아닐까합니다

    • @aka-nick
      @aka-nick Год назад

      맞습니다 재미 붙여서 하고 있습니다 ㅋㅋ 실제로도 같이 수다 떨 사람이 있으면 좋겠지만, 그럴 사람 찾기는 어려워서, 이렇게 혼자라도 이야기 하면 좋더라구요 댓글 남겨주셔서 감사합니다! 좋은 연말 되세요 😇

  • @카라멜땅콩-p2p
    @카라멜땅콩-p2p Год назад

    잘들었습니다

    • @aka-nick
      @aka-nick Год назад

      댓글 남겨주셔서 힘이 나네요! 감사합니다 ☺️

  • @JunhoKwak-d4y
    @JunhoKwak-d4y Год назад

    get(i)' 대신 명시적인 Getter(예: 'getFirstNumber')를 사용하는 것이 코드의 유연성 측에서 유리할 것 같습니다. 만약 서비스의 요구사항이 변경되어, 공을 가져온 후 추가적인 후처리 작업 이후 값의 비교가 필요하다면, 현재의 코드는 수정이 필요할 것으로 예상됩니다. 기존 코드에서는 'get(i)'를 사용하여 값을 가져오고, 이후에 외부에서 후처리 작업을 해야하므로 정보의 은닉이 해쳐질 우려가 있습니다. 그러나 명시적 Getter를 사용한 경우에는 메서드 내부에서 후처리 작업을 처리하고 결과물만을 외부로 전달하기 때문에 정보 은닉이 유지됩니다. 따라서 'get(i)' 대신 명시적인 Getter(예: 'getFirstNumber')를 사용하면 코드의 가독성을 향상시키고, 요구사항 변경에 대한 유연성을 확보할 수 있습니다. 이로써 내부 구현의 변경 시에도 캡슐화가 유지되며, 외부에서의 영향을 최소화할 수 있을 거 같습니다.

    • @aka-nick
      @aka-nick Год назад

      준호님 정성스러운 댓글 남겨주셔서 감사합니다! ☺️ 정리하자면 세 가지 정도의 의견을 남겨주신 것 같습니다. - 후처리와 같은 요구사항 변경에 유연하게 대응 - 정보은닉/캡슐화 - 코드 가독성 일단, 이 영상의 골자는 '정말 모든 상황에서 정보를 은닉할 수 있는가?'였어요. '가능한 상황에서는 정보를 은닉'하되, 요구사항에 의해 공개해야 하는 상황에서는 getter를 사용해도 무방하다(어떻게 구현하든 정보가 공개되는건 똑같다)는 것이었죠. 전달드리고 싶었던 말씀이 잘 전달이 되었는지 확인하고자 먼저 말씀을 드려보았고요! 이렇게 다시 확인을 하는것은... 일부분 공감할 수 있는 내용도 있지만 그러기 어려운 내용도 있기 때문인데요! 😅 # 1. 후처리와 같은 요구사항 변경에 유연하게 대응 말씀주신 '후처리'의 예시 같은 경우에는, 꼭 지금 상황이 아니더라도, '후처리'라는 것 자체가 반환되는 변수의 값이나 타입에 반드시 변경이 일어날 것임을 전제로 하고 있기 때문에, 무조건 수정이 일어날 수 밖에 없습니다. '후처리'라는... 사실상 '반환값 변경'이라는 요구사항이 추가되는 상황을 전제로 하면, 확장에 열려있고 수정에 닫혀있는 구현은 없을 거에요. 그냥 논리적으로 불가능한 거니까요. getter를 쓰고 있었다면 getter로 데이터를 가져다 쓰던 쪽의 기존 코드에서 수정이, getFirst()를 쓰고 있었다면 getFirst 메서드 안에서 기존 코드의 수정이, 하다못해, 본래 '처리기(혹은 컨버터 등)'를 거쳐서 반환하고 있었더라도, 해당 처리기의 기존 코드에서 수정이 일어날 겁니다. (글로 설명이 잘 되고있는지 모르겠는데, '후처리'에 대해서는 나중에 영상으로 좀 더 자세히 이야기해봐도 좋겠네요. 주제를 주셔서 감사합니다😇👍) 그리고 후처리를 어디에서 하는가와 정보의 은닉이라는 주제는, 적어도 현재 상황에서는 크게 상관이 없다고 생각이 들어요. 영상에서도 말씀드렸다시피, 현재 은닉이 깨지고 있는 지점은 '"n번째 숫자를 내놔!"라고 요구하는 지점이거든요. 마치 `numbers.get(1)`이나 `numbers.getFirstNumber()`처럼 말이죠. # 2. 정보은닉/캡슐화 사실 1번과 같은 맥락이라는 생각도 들고, 정보은닉/캡슐화에 대해서는 영상 안에서 충분히 설명을 했다고 생각이 들어요. 하지만 질문을 주셨으니까 하나의 예시를 더 들어보고 싶은데요! 예를 들어 준호님께서 제안해주신대로 getFirstNumber() 같은 코드를 사용 중인 상황이라고 전제하겠습니다. 여기서 새로운 요구사항이 추가되었습니다. 기존에는 세 자리 숫자였는데 이젠 네 자리 숫자로 야구를 하기로 해서 네 번째 숫자를 가져와야 하는 거죠. 만약 '(입력/정답)숫자들' 클래스의 정보가 정말로 제대로 은닉되었다면, getFourthNumber() 같은 건 추가될 필요가 없어야 합니다. getFourthNumber라는 이름 자체가, 해당 객체 안에 fourthNumber라는 속성, 또는 그에 준하는 값이 존재한다는 것을 외부로 노출하고 있으니까요. 정보 은닉이 깨지는 것이죠. 만약 은닉하고 싶다면, 영상의 설명에서처럼, getStrikes()와 같은 좀 더 추상적인 수준의 메시지로, 세자리든 네자리든 커버할 수 있어야 잘 은닉된 상황이라고 할 수 있겠죠. 하지만 그건 불가능했습니다. 볼은 그렇게 비교하는게 가능하지만 스트라이크는 정확히 자릿수를 비교해야만 했거든요. 애초에 정보를 은닉할 수 있는 요구사항이 아니었던 것입니다. # 3. 코드 가독성 이 부분은 선택이 가능한 부분 같아요. getter가 더 나은데 한 발 양보해서 getFirst()를 할 수도 있겠다, 그런 의미는 당연히 아니고요 😅 둘 다 똑같이 특정 객체의 정보를 공개해버리는 코드이기 때문에, 어떻게 써도 똑같으니까, 함께 코드를 작성하는 팀원들 간에 '무엇이 더 보기 좋은지'를 컨벤션으로 정하기 나름이겠다는 생각입니다. `숫자.가져오기(1)` 보다는 `숫자.첫번째숫자가져오기()`가 좀 더 명시적으로 느껴질 수도 있겠단 생각이 드네요! 다시 한 번 정성스러운 답글 남겨주셔서 감사합니다 😊

  • @znhyk
    @znhyk Год назад

    감사합니다

    • @aka-nick
      @aka-nick Год назад

      댓글 남겨주시니깐 힘이 나네요! 감사합니다 좋은 하루 보내세요😇

  • @김민식-k6e
    @김민식-k6e Год назад

    언제나 좋은 영상 감사합니다!

    • @aka-nick
      @aka-nick Год назад

      힘이 되는 댓글 남겨주셔서 감사합니다! 좋은 하루 보내세요!

  • @주성문-d6z
    @주성문-d6z Год назад

    좋은 영상 감사합니다 ~_~

    • @aka-nick
      @aka-nick Год назад

      ㅋㅋ 감사합니다 주성님 좋은 하루 되세요 ㅎㅎㅎ

  • @hyeonsu-hl2ff
    @hyeonsu-hl2ff Год назад

    우테코 합격하신건가요?

    • @aka-nick
      @aka-nick Год назад

      아니요! 프리코스만 참가했습니다! 우테코 결과가 벌써 나왔었나요? 합불 처리 과정이 엄청 빠르군요! 우테코 지원자셨다면, 좋은 결과 있으셨길 바랍니다 😇👍

  • @user-vu5ho6co6h
    @user-vu5ho6co6h Год назад

    와 영상이 생각이 깊어서 너무좋네요

    • @aka-nick
      @aka-nick Год назад

      개인적인 생각일 뿐이에요! ㅎㅎ 좋게 봐주셔서 감사합니다 ☺️

  • @hyeonsu-hl2ff
    @hyeonsu-hl2ff Год назад

    관습적 또는 맹목적 기술, 규칙 적용이 초래하는 비효율성을 깨달을 수 있었던 영상 이었습니다. 저도 아직 아마추어지만 개인적으로 느꼈던 경우가 비즈니스 layer에서 서비스 클래스를 만들 때 보통 OCP 정책을 지키기 위해서 (확장 가능성을 위해서) Service Interface를 만들고 구현체로 ServiceImpl을 만드는 것이 좋다라고 배웠습니다. 그리고 팀 프로젝트에서 개발을 진행하는데 전혀 비즈니스적으로나 기능적으로나 확장가능성이 적어보이는 부분인데도 전부 추상화를 적용하는 것을 보고 팀원에게 물어봤더니 "강사님이 이렇게 쓰라던데?" 라는 말을 듣고 이게 맞나라는 생각이 들었습니다. 물론 향후 요구사항이 어떻게 바뀔지 모르고 단정지을 수 없기 때문에 저렇게 사용하는 것 이지만 그냥 배웠다고 별 생각없이 적용하는 부분은 오히려 더 큰 비효율성을 낳는다고 생각해요. 역시 개발자는 why? 를 달고 살아야 하는 직업인 것 같습니다 ㅎㅎ

    • @aka-nick
      @aka-nick Год назад

      좋은 경험담 공유해주셔서 감사합니다 😇 서비스도 인터페이스를 두고 만들 수 있군요! 그런 구조는 어떤 경우에 필요할지 궁금증이 들기도 하네요 🤔 말씀해주신 것처럼 '그냥 어디서 그렇게 하라길래' 보다는 스스로 좀 더 설득력 있는 이유를 찾고, 좀 더 나은 코드를 생각해나가는 과정 자체가 즐겁게 느껴지는 것 같아요 😄 열심히 생각하는 훈련도 계속 하다보면 점점 가속이 붙지 않을까요? 많은 비효율을 절감할 수 있는 경험치를 쌓고 있는 셈이 되겠네요 :)