커링 (Currying) - 세련된 함수형 코드 작성하기

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 ก.ย. 2024
  • #함수형프로그래밍 #코딩 #프로그래밍
    이번 영상에서는 함수형 프로그래밍의 대표적인 테크닉 중 하나인 currying에 대해 알아본다. Currying는 한 번에 해야 하는 일을 여러 단계로 쪼개 처리하는 코딩 방식이다. 이를 설명하기 위해 샌드위치를 만드는 함수를 예로 드는데, 기존의 방식은 한 함수가 샌드위치의 세 가지 재료(빵, 고기, 채소)를 한 번에 처리하지만, Currying은 이 공정을 각 재료, 즉 인자별로 분할한다. 이를 적용하여 함수를 단계별로 분할해서 실행할 수 있다. 이렇게 함으로써 기존의 공정을 각각의 재료별로 여러 단계와 갈래로 분화해서 처리할 수 있다는 장점이 있다. 이번 영상에서는 이에 대한 자세한 코드 예시와 설명을 제공한다. 다음 영상에서는 함수형 프로그래밍의 가장 까다로운 주제인 모나드에 대해 알아볼 예정이다.
    = = =
    🏠 얄코사이트: www.yalco.kr
    📖 얄코 도서: www.yalco.kr/b...
    🧑‍🏫 얄코 강의: www.yalco.kr/#...
    🎥 제대로 파는 Git & GitHub: • 제대로 파는 Git & GitHub (대...
    🎥 제대로 파는 자바: • 제대로 파는 자바 - Java 끝.장.내...
    🎥 제대로 파는 파이썬: • 제대로 파는 파이썬 - Python 끝장...
    🎥 제대로 파는 자바스크립트: • (구판) 제대로 파는 자바스크립트 - 고...
    🎥 제대로 파는 HTML & CSS: • 제대로 파는 HTML & CSS (대학생...
    🎥 갖고 노는 MySQL 강좌: • 왕초보용! 갖고 노는 MySQL 데이터베...
    🎥 반응형 프로그래밍 RxJS 강좌: • 반응형 프로그래밍이 뭔가요? (+ Rea...

ความคิดเห็น • 30

  • @yalco-coding
    @yalco-coding  2 หลายเดือนก่อน +2

    🎫 얄코 강의 선착순 반값쿠폰 (매주 갱신)
    bit.ly/yalco-fcfs-coupon
    예제코드 확인 : yalco.notion.site/Currying-9c0ef959812f4891902396a9626560f0?pvs=4
    얄코 강좌들 보기:
    www.yalco.kr/#lectures
    얄코 책 보기:
    www.yalco.kr/#books

  • @노민준-i5w
    @노민준-i5w 2 หลายเดือนก่อน +2

    굉장히 이해하기 어려운 개념이었는데, 쉽게 설명해주셔서 감사합니다

    • @yalco-coding
      @yalco-coding  2 หลายเดือนก่อน

      영상이 도움되어드렸다니 기쁩니다! 감사합니다~!!

  • @seongjunMin
    @seongjunMin 2 หลายเดือนก่อน +1

    좋은기법을 배웠습니다 명강의 감사합니다

    • @yalco-coding
      @yalco-coding  2 หลายเดือนก่อน

      감사합니다!!

  • @crtmt97
    @crtmt97 2 หลายเดือนก่อน +2

    와 이 영상은 짧지만 임팩트있네요.. 감사합니다

    • @yalco-coding
      @yalco-coding  2 หลายเดือนก่อน

      감사합니다!!

  • @user-tc2cx8vh4u
    @user-tc2cx8vh4u 2 หลายเดือนก่อน +1

    마지막쯤 예제를 보고 이해완료!! 💡

  • @user-xd1vf4yc5z
    @user-xd1vf4yc5z 2 หลายเดือนก่อน +1

    UI 구성에 따라 적절히 사용하면 사용자 상호작용 분기에 따라 데이터를 가져올수 있게 하는 방법으로 사용할 수도 있겠네요.
    또는 객체지향과 함수형을 모두 지원하는 언어라면 추상화 시킨 후 아키텍처 레이어에 따라 각각을 curring 하는 방식도 상상해볼 수 있을 것 같습니다.
    굉장히 잘봤습니다. 감사합니다!

    • @yalco-coding
      @yalco-coding  2 หลายเดือนก่อน

      말씀주신대로 다양한 활용도가 있을거예요. 영상 보아주셔서 감사합니다!!

  • @aAgglkw221
    @aAgglkw221 2 หลายเดือนก่อน +1

    좋은 영상 감사합니다

    • @yalco-coding
      @yalco-coding  2 หลายเดือนก่อน

      영상 보아주셔서 감사합니다!

  • @안아줘요선생
    @안아줘요선생 2 หลายเดือนก่อน +1

    함수가 1급객체이면
    함수로 함수를 생성해서 사용할 수 있군요 ㄷㄷ

  • @kyungjunim13
    @kyungjunim13 2 หลายเดือนก่อน +1

    "currying 없이도 같은 기능을 작성할수는 있지만 간결함과 직관성에서 아쉬운 모습이 되죠" 는 주관적인거 같습니다.
    개인적으로는 Cleverness

    • @kyungjunim13
      @kyungjunim13 2 หลายเดือนก่อน +1

      끝까지 볼걸 그랬네요. 끝에서 단점을 지적해주셨네요. 좋은 영상들 항상 잘 보고 있습니다. 감사합니다.

    • @beepandbap.
      @beepandbap. 2 หลายเดือนก่อน +2

      준민이 귀여워잉

    • @yalco-coding
      @yalco-coding  2 หลายเดือนก่อน

      맞아요. 말씀주신 부분 때문에 가능한 한 좋고 나쁨에 대한 직설적인 표현은 줄여 스크립트를 짰습니다. 성능 관련해서도 애매한 부분이 있었고... 함수형 프로그래밍이 보다 대중적이 되면 더 많은 사람들에게 편리한 코드가 될 거예요.

  • @leeck_anderson9492
    @leeck_anderson9492 2 หลายเดือนก่อน +1

    참 좋은 개념이긴 한데 이렇게 작성하면 디버깅하거나 수정할때 진짜 골치아플것 같네요. 함수를 까봤는데 또 함수가 있고 그 함수에 또 함수가 있고...디버깅 하는 사람 입장에선 빡칠것 같아요 ㅋㅋㅋ

    • @yalco-coding
      @yalco-coding  2 หลายเดือนก่อน

      맞습니다. 디버깅에 관한 점도 커링의 단점으로 꼽혀요.

  • @gagip7777
    @gagip7777 2 หลายเดือนก่อน +1

    저는 게으른 평가라는 특징과 input을 부분적으로 입력 받을 수 있다는 특징 때문에
    매개변수가 여러 개 필요하지만 각 인자를 다른 시점에 선언해야 할 때 커링을 사용해요
    그런데 함수형에 익숙하지 않으신 개발자가 볼 때 커링이 직관적이지 않아서 이 기법 대신 다른 방법을 찾으려고 하는데 달리 생각이 나지 않네요ㅠㅠ

    • @yalco-coding
      @yalco-coding  2 หลายเดือนก่อน +1

      정말 적재적소에 잘만 쓰면 대체제를 찾기 어려운 기법인데, 커링 정도의 함수형 코드는 보다 널리 알려졌으면 좋겠습니다.

  • @user-qr5bq5vx1g
    @user-qr5bq5vx1g 2 หลายเดือนก่อน +1

    모나드 영상 기대되네요 ㅎㅎ 이 어려운걸 어떻게 설명하실지..

    • @yalco-coding
      @yalco-coding  2 หลายเดือนก่อน

      많이 고민중입니다 ㅠㅜ

    • @yalco-coding
      @yalco-coding  2 หลายเดือนก่อน

      방금 올렸습니다 🙂

  • @tachyon-network
    @tachyon-network 2 หลายเดือนก่อน +3

    우리는 영국인이나 미국인이 아니므로 콩글리시를 쓰는게 맞습니다.
    카레잉이라고 부르는게 좋을 거 같습니다
    +구수하게 전라도 사투리를 가미해 보았습니다

  • @chachamint-eg9hq
    @chachamint-eg9hq 2 หลายเดือนก่อน +2

    오늘 저녁은 커리

  • @kkomjang
    @kkomjang 2 หลายเดือนก่อน +2

    갠적으로 커링 너무깊게하면 디버깅이너무열받앗습니다
    적당히쓰면좋을듯

    • @yalco-coding
      @yalco-coding  2 หลายเดือนก่อน

      환경에 따라 다르지만 확실히 디버깅이나 오류 확인에 있어 어려운 부분도 있더군요. 말씀주신대로 적절한 선에서 쓰는게 좋을 것 같아요.

  • @softk
    @softk 2 หลายเดือนก่อน +1

    커링(currying) 이라길래 카레(curry) 요리하는 건가 싶었더니…

    • @curtsoon6135
      @curtsoon6135 2 หลายเดือนก่อน +1

      ㅋㅋㅋㅋ 그 유명한 수학자 Haskell Curry 가 고안한 개념이라서 커링이래요