함수형 프로그래밍이 뭔가요?

Sdílet
Vložit
  • čas přidán 28. 09. 2019
  • #함수형 #커링 #스칼라
    객체지향과는 또 다른 패러다임! 뭔가 세련되어 보이지만 알듯 모를듯한 개념이죠.
    두 🍫 공장의 예시를 통해 함수형 프로그래밍에 대한 감을 잡은 뒤,
    이 패러다임이 왜 만들어졌고 어떤 장점을 갖는지
    그리고 이에 사용되는 개념들과 예시코드를 통해 함수형 프로그래밍을 알아가보기로 해요!
    = = =
    🏠 얄코사이트: www.yalco.kr
    🛒 개발자스티커 구매: smartstore.naver.com/honeykers
    🎥 가장 쉬운 Git 튜토리얼: • [고정댓글필독] 가장 쉬운 Git 강좌 ...
    🎥 포인터 쉽게 알아보기: • 포인터가 뭐고 왜 쓰는건가요?
    🎥 객체지향에 대해 알아보기: • 객체지향 프로그래밍이 뭔가요?
    🎥 객체지향 디자인 패턴: • 객체지향 디자인패턴 1
    🎥 함수형 프로그래밍이란?: • 함수형 프로그래밍이 뭔가요?
    🎥 쿠키 vs 세션 vs 캐시: • 쿠키, 세션, 캐시가 뭔가요?
    🎥 프로세스와 스레드: • 프로세스는 뭐고 스레드는 뭔가요?
    🎥 비동기 프로그래밍: • [코딩만화] 비동기 프로그래밍이 뭔가요?
    🎥 REST API 알아보기: • [구버전 - 고정댓글 필독] REST A...
    🎥 GraphQL 알아보기: • [고정댓글 필독] GraphQL이 뭔가요?
    ===
    🎬 영상 주요 포인트
    📬 함수형 프로그래밍의 특징
    첫째, 인풋과 아웃풋이 있다는 것.
    이 친구들에게 일을 시키는 방법은
    그들의 역할대로 처리할 중간재료를 넘겨주는겁니다.
    그러면 각자 맡은 작업을 해서 결과물을 반환하게 되죠.
    둘째, 외부 환경으로부터 철저히 독립적입니다.
    이쪽 친구들처럼 다른 곳에 뭘 적어두지도, 참조하지도 않아요.
    오로지 자신들에게 주어지는 것들로만 정해진 작업을 하는거죠.
    셋째, 방금 그 두번째 특성 덕분에 가능한 건데
    같은 인풋에 있어서 언제나 동일한 아웃풋을 생산해내요.
    외부 요인에 영향을 받지 않으니,
    철저히 들어오는 재료에 따른 결과물이 만들어지고
    다른 직원들에 대해서도 넘겨주는 결과물 외에는
    아무 영향을 주지 않죠.
    때문에 이 친구들이 이렇게 연결되어 있는 이상
    같은 양과 종류의 카카오를 넣어주면
    언제나 같은 수와 품질의 초콜릿이 만들어질 걸
    기대할 수 있을거에요.
    ...
    함수형 프로그래밍이 주목받게 된 주요 이유 중 하나가
    이와 같은, '부작용'에 의한 문제로부터 보다 자유롭다는거에요.
    여기서 말하는 부작용은, 어떤 함수의 동작에 의해
    프로세스 내 특정 상태가 변경되는 상황을 말해요.
    변경된 상태는 다른 동작들에게 영향을 미치겠죠.
    ===
    🎵 엔딩송 : 권민호, 김한영 - Let's Dance
    🎼 자료출처 : gongu.copyright.or.kr
    🎼 Music promoted by DayDreamSound : • Video
  • Věda a technologie

Komentáře • 198

  • @hjj4412
    @hjj4412 Před 4 lety +88

    해당 지식에 대한 이해도는 물론 구성, 연출, 편집에 연기력까지 완벽하다. 이런 강의는 유래가 없다.

    • @yalco-coding
      @yalco-coding  Před 4 lety +3

      헉 ㅠㅠ 감사합니다. 더 좋은 컨텐츠들 만들어내겠습니다!

    • @MokSunUng
      @MokSunUng Před 4 lety +2

      진짜 너무 좋아요

  • @akthfdyd
    @akthfdyd Před 3 lety +4

    이분 영상들은 다 괜찮은듯 다 알고있는 이야기들인데도 뭔가 예시로 잘 정리되어 주니어들에게 설명해줄 때에 좋아서 시니어들에게도 이 채널 추천함

  • @yalco-coding
    @yalco-coding  Před 3 lety

    아래 영상으로, 함수형 프로그래밍의 친구인 반응형 프로그래밍도 알아보세요!!
    czcams.com/video/KDiE5qQ3bZI/video.html

  • @jocoding
    @jocoding Před 4 lety +6

    와 예시 코드랑 이미지 설명이 너무 좋아요👍👍 쏙쏙 잘들어오네요ㅎㅎ 감사합니다🙇🏻‍♂️

    • @yalco-coding
      @yalco-coding  Před 4 lety

      앗 조코딩님 방문해주셔서 감사해요!!! 정말 좋은 영상들 잘 보고 있습니다!! ㅠㅜ

    • @jocoding
      @jocoding Před 4 lety

      얄팍한 코딩사전 영상 좋게 봐주셔서 감사합니다ㅎㅎ 저도 코딩사전 구독하고 챙겨보겠습니다!

    • @jeffreylim5920
      @jeffreylim5920 Před 4 lety +1

      오 조코딩님이시다!

  • @Square2017
    @Square2017 Před 3 lety +1

    함수형에 대한 막연한 어려움이 있었는데 이걸 이렇게 쉽게 설명해 주시네요
    따봉입니다

  • @user-dr4lx8ls1m
    @user-dr4lx8ls1m Před 2 lety +1

    선생님 영상 하나하나가 보석입니다.. 정말 감사합니다

  • @smboy86
    @smboy86 Před 4 lety +32

    미쳣다;
    이게 이렇게 설명이 되는군요
    스승님 ㄷㄷ

  • @marimoony
    @marimoony Před 3 lety

    저같은 사람도.. 이해할 수 있다니... 평생 유튜버로 좋은컨텐츠 내주시길 바라는건 제 욕심인가요 사랑해요

  • @changjuna1637
    @changjuna1637 Před 3 lety +2

    최고의 강의입니다. 모든 영상 다 봐야겠네요. 감사합니다!!

  • @user-qt2hj2nh7l
    @user-qt2hj2nh7l Před 3 lety +10

    와... 설명 진짜 잘하신다.. 예시가 있어서 이해하는데 엄청 도움됐어요! 공부 열심히 해서 면접 합격할게요!!

    • @yalco-coding
      @yalco-coding  Před 3 lety +1

      감사합니다!! 화이팅이에요~!!

  • @user-yi9hq8zf8k
    @user-yi9hq8zf8k Před 3 lety +1

    정주행하겠습니다ㅜㅜ 감사합니다!

  • @kai-mo
    @kai-mo Před 4 lety +2

    정~~~말 알기 쉽게 잘 설명해주시네요. 함수형 프로그래밍에 관심이 생겨서 우연히 보게 됐는데 설명에 감탄하고 구독하고 갑니다 👍👍👍👍👍

  • @heize9874
    @heize9874 Před 4 lety +3

    대박입니다... 진짜.... 좋은 자료 감사합니다!

  • @DevWonYoung
    @DevWonYoung Před 4 lety +3

    와 ㅋㅋ 엄청난 영상 잘보고갑니다. 이해가 쏙쏙되네요🤩

    • @yalco-coding
      @yalco-coding  Před 4 lety +2

      우왓!! 데브원영님 댓글주셔서 감사해요~!!! ㅠㅠ

  • @nathaneast9927
    @nathaneast9927 Před 3 lety +2

    늘 좋은 퀄리티의 영상에 감사 드립니다😺

  • @kmkang7573
    @kmkang7573 Před 3 lety +1

    해당 동영상 덕분에 함수형 프로그래밍의 개념이 명확해 졌어요. 감사합니다.

  • @user-fi4nr7me1m
    @user-fi4nr7me1m Před 3 lety +1

    설명듣고 바로 구독누르고 갑니다. 중독성이 상당하군요. ㅎㅎ

  • @user-lv3hz2xq7r
    @user-lv3hz2xq7r Před 3 lety +1

    사람들과 소통력 갑이시네여 감사합니다~

  • @user-ob7uu7ey3l
    @user-ob7uu7ey3l Před 4 lety +12

    이런 황금채널이 있엇군요ㄷㄷ 구글 추천알고리즘 고마워!!!
    함수형프로그래밍이 언제나 궁금했는데 조금 맞지않는 비유일 수 있지만 함수로 파이프라인을 만든다 로 생각할 수 있겠군요ㅋ

  • @user-ii7jc8tp9e
    @user-ii7jc8tp9e Před 4 lety +12

    뭐지... 대단하다... 객체지향에
    이어 함수형... 이분 도덕책 ...

  • @AngeloYeo
    @AngeloYeo Před 2 lety +1

    와 미쳤습니다 정말 많이 배우고 갑니다 😁

  • @lgh91
    @lgh91 Před 2 lety +1

    우와 진짜 감탄만 하다갑니다. 정말 .... 너무......와........

  • @junhyungkim926
    @junhyungkim926 Před 2 lety

    영상 엄청 잘 만들었네요. 감탄하고 갑니다.

  • @leewonjae6453
    @leewonjae6453 Před rokem +1

    너무 재미있고 유익한 영상 감사합니다 ㅎㅎ

  • @floa2299
    @floa2299 Před 4 lety +2

    오늘도 너무 재밌어요!! 열심히 홍보해야지 ++

  • @user-di1lk9ub5n
    @user-di1lk9ub5n Před 4 lety +1

    와 명쾌하고 쉽게 알려주시네요 잘봤습니다

  • @bloodybelllee
    @bloodybelllee Před 4 lety +2

    유용한 영상이었습니다 다음 영상 기대됩니다 ㅎ

  • @user-dh1wp4ns5z
    @user-dh1wp4ns5z Před 3 lety

    정말 대단하십니다 !! 존경합니다

  • @user-km2yl7id6n
    @user-km2yl7id6n Před 4 lety +3

    오늘도 잘보고갑니다 횻횽~

  • @user-en2yt8wv6j
    @user-en2yt8wv6j Před 4 lety +1

    최고의 코딩 채널입니다

  • @hanjang513
    @hanjang513 Před 4 lety +1

    정말 개념 잡기에 이만한 채널이 없다

  • @sharonkim7186
    @sharonkim7186 Před 4 lety +4

    세상에!!!!!! 이렇게 자세히 함수형프밍에 대해서 알려주는 한글콘텐츠가 있다니ㅠㅠㅠㅠ 진짜 최고입니다!!! 사담이지만,,? 몇 년 전에 NLP에 관심이 많아서 프랑스로 교환학생을 갔을 때 공대 수업에서 함수형프로그래밍 강좌를 찾아 들어봤어요!! 알고보니 한국에서는 듣도보지 못했던 Ocaml 강의였는데........ 학부에서 C, python 정도만 조오금 건드려보고 간 제 머리로는... 도통 뇌에 입력이 안 돼서.. 한국어/영어 다 동원해서 구글링을 했는데 전혀 소득이 없었거든요 ㅠㅠ 함수형 언어중에서는 그나마 조오오금 F# 만 한글 리소스가 있고.... 제가 만약 이 영상을 그 때에 볼 수 있었더라면 용기를 조금 얻어서 끝까지 그 과목을 해볼 수 있었을까 싶네요 ㅎㅎ 영상 감사합니다!!!!! 계속 반복해서 볼게요!!!!

    • @yalco-coding
      @yalco-coding  Před 4 lety +1

      와아 프랑스만 해도 역시 다르군요 ㄷㄷ Ocaml 강의라니;; 좋은 경험 나눠주시고 힘나는 댓글 주셔서 감사합니다!!!

  • @aa-wb9zi
    @aa-wb9zi Před 3 lety +1

    사전지식이 없어서 어렵네요 ㅋㅋ 한번더 보고 공부하겟습니다..

  • @user-yu4cn1mr9e
    @user-yu4cn1mr9e Před 3 lety +2

    얄팍하다고 해서 속았음 ㅋㅋㅋ 엄청난데요?
    그리고 너무 재밌기도하고 유익하기도 하네요^^
    영상 잘 만들어 주셔서 감사합니다!

  • @junginkwon4361
    @junginkwon4361 Před 4 lety +2

    좋은 영상 감사합니다! 구독합니다 최고!!!! 👍

  • @sasasang
    @sasasang Před 3 lety +4

    감사합니다!!

  • @gomg4944
    @gomg4944 Před 2 lety

    아는것과 아는걸 설명하는건 천지 차이인데
    아는걸 아주 잘 설명하는건
    얄코네요!

  • @nomad-traveler-sw
    @nomad-traveler-sw Před 2 lety

    이런 연기력 ㅎㅎ 너무 좋다 ㅠㅠ 감동

  • @FPScala
    @FPScala Před 4 lety +8

    와우 좋은 영상이네요. 위의 예제에서 함수형 공장라인의 장점은 공장라인을 늘리기가 쉬운방면 비 함수형 공장라인은 공장 라인을 늘릴때마다 신경쓸게 한두가지가 아니죠. 공장장 님께서 다른 직원과 이야기 하고 있거나 다른일을 하고 있으면 기다려야 된다거나 등등. 아무튼 좋은영상 감사합니다.

    • @yalco-coding
      @yalco-coding  Před 4 lety

      맞아요, 장단점이 있어서 적절한 곳에 사용하는게 중요하죠. 좋은 댓글 주셔서 감사합니다!!!!

  • @oiojin831
    @oiojin831 Před 4 lety +1

    모둔 영상이 감동적입니다

  • @user-iu5iz8cu1l
    @user-iu5iz8cu1l Před 3 lety +3

    ES6 공부하면서 많은 도움이 됐습니다 ^^

  • @jeffrey0208
    @jeffrey0208 Před 2 lety

    2년전에 처음엔 그냥 봤는데, 이제야 제대로 이해가 되네요 ㅋㅋㅋ

  • @dumbveloper
    @dumbveloper Před 4 lety +2

    좋은 영상 잘보고가요~!

  • @user-ke5ez6xx7f
    @user-ke5ez6xx7f Před 3 lety +2

    진짜 최고 .....

  • @user-to1hf3nm1z
    @user-to1hf3nm1z Před 4 lety +1

    함수형 프로그래밍 글을 아무리 읽어도 감이 안잡혔는데 덕분에 대략적이나마 이해하고 갑니다.

  • @user-wb4dr7fw2i
    @user-wb4dr7fw2i Před 3 lety

    영상 잘보았습니다 감사합니다.

  • @user-zm6ry8fh6p
    @user-zm6ry8fh6p Před 3 lety

    ㅗㅜㅑ... 함수형 언어에 관심만 있었지 알아볼 생각도 안했는데... 14분만에 뙇! Reactive Programming을 잠깐 다뤄본 적은 있었는데, 이제야 왜 그런 모양새가 나왔는지 완벽히 이해가 가네요!

  • @sjk176
    @sjk176 Před 4 lety +2

    오 좋은 영상 감사합니다. 설명이 귀에 쏙쏙 들어오네요 교육자이신가봐요 ㅎㅎ

    • @yalco-coding
      @yalco-coding  Před 4 lety +1

      아직은 그냥 프로그래머입니다 ㅠ 감사합니다!

  • @sunkyoungjin7744
    @sunkyoungjin7744 Před 3 lety +2

    좋은 영상 정말 감사합니다!! 왜 이 채널을 이제야 발견한거죠 ㅠㅠ

  • @user-lq2qs8pz2r
    @user-lq2qs8pz2r Před rokem +1

    미쳤다 라는 말밖에 안 나온다...

  • @zaery_o7069
    @zaery_o7069 Před rokem +1

    감사합니다.

  • @user-lw5qo2xq6w
    @user-lw5qo2xq6w Před 4 lety +2

    너무좋아요

  • @dpffpself
    @dpffpself Před 2 lety

    우와 마지막 함수컴비네이터 스칼라에서 하는건 마치 Array API에서 chaining 하는거랑 비슷해보이네요! ㅇㅁㅇ!! 라고 영상 보면서 쓰다가 영상 끝까지 보니 이게 바로 Lodash였군요 머쓱
    함수형이 뭔지.. 객체지향이 뭔지... 이름만 들었다가 명확한 설명 너무 감사합니다.
    (재귀함수 하노이의 탑 찾다가 들어왔어요)

  • @shibadog8914
    @shibadog8914 Před 4 lety +3

    초고수!!

  • @dhdp2338
    @dhdp2338 Před 4 lety +1

    입력에 명령어든 어떤 자료형이든 다넣어서
    출력으로 명령어든 뭐든 다출력해내는 만능 함수... ㄷㄷ

  • @7575070
    @7575070 Před 3 lety +1

    늦었지만 궁금한 점이 하나 있어 댓글을 남깁니다.
    11-12분 가량의 실습에 관한 질문입니다.
    함수형으로 프로그램을 짜면 결국 .filter 과 같은 함수를 만들려면 그 함수 안에 결국 변수를 선언하고 for문을 돌리는 기능들이 있어야 하는 것 아닌가요?
    그러면 결국 메모리 측면에서는 별 차이가 없지만, 짜야 하는 코드가 줄어들고 코드를 읽는 방식이 달라지는 정도의 이점을 생각할 수 있는 것인가요?
    그럼 코딩을 새로 접하는 사람들이 for문이나 변수에 관한 지식 없이도 쉽게 코드를 짤 수 있는 방식으로 생각하면 되는 건가요?

    • @yalco-coding
      @yalco-coding  Před 3 lety +1

      for문에 대한 지식 없이 코드를 짜기 위함이기보다는(그런 기초도 없이 프로그래밍하는건 위험하다고 봅니다) for문을 일일히 직접 작성함으로써 생길 수 있는 부수효과들의 위험성을 제거하기 위해 이미 만들어져 있는 filter 등을 사용한다고 보시면 됩니다. 그래서 함수형으로 만들어진 언어나 라이브러리에는 웬만한 기능들이 다 갖춰져 있는거고요 😀

  • @raykim4826
    @raykim4826 Před 2 lety

    따봉 박고 갑니다.

  • @fumi_
    @fumi_ Před 4 lety +2

    이거 C에서도 함수포인터로 충분히 될 것 같은데.. 라고 생각하면서 보다가 중간중간에 코드 예시들을 읽으면서 구현이 가능하고 안하고가 증요한게 아니라는 걸 느꼈습니다.... 코드가 놀랍도록 간결하고 직관적이게 만들어지네요. 물론 모든 경우에 대해서 그런 것은 아니겠지만 함수형 패러다임을 한번 공부해보고싶다는 생각이 듭니다.

    • @yalco-coding
      @yalco-coding  Před 4 lety

      맞아요, 유용하게 쓰일 수 있는 상황들이 있으니 익혀두시면 도움될 때가 많을거에요!!

  • @sejiwork7486
    @sejiwork7486 Před 4 lety +1

    로대시를 사용 하고 있지만, 커링이라던지 제가 접라지 못했던 단어가 나와서 너무 좋아요.
    좀 더 심화 내용을 쉽게 설명 해줄수 있을까요?

    • @yalco-coding
      @yalco-coding  Před 4 lety

      제안 감사합니다! 준비해보도록 할게요.

  • @yefamily
    @yefamily Před 3 lety

    감사합니다. ^^

  • @user-jp6bw8ec6x
    @user-jp6bw8ec6x Před 4 lety +4

    정말 좋은 채널이네요.
    구독자로써 바램은...해당 주제를 공부하기 위한 간단한 책이나 레퍼런스 등을 공유해주시면 더 좋을것같습니다. (지금도 물론 훌륭합니다ㅎㅎ)

    • @yalco-coding
      @yalco-coding  Před 4 lety +1

      조언주셔서 감사합니다!! 이 영상의 경우 '함수형 사고', '함수형 자바스크립트'등이 크게 도움이 되었어요. 특정 책을 콕 집어 추천하기 어려운 영상도 있지만, 좋은 추천자료가 있을 경우에는 영상에 넣도록 할게요!!

  • @Choiy15
    @Choiy15 Před 4 lety +1

    역시... 코딩 개념은 어느 교수님보다 잘 이해시키실거에요

  • @127-A
    @127-A Před 2 lety

    아, 조금 감이 잡히네요. 좋은 영상 감사합니다.

  • @junghwankim348
    @junghwankim348 Před 3 lety +2

    영상 잘보고 있습니다. 프로그램 컴파일도 한번 다뤄주시면 감사하겠습니다 ㅠ

    • @yalco-coding
      @yalco-coding  Před 3 lety +1

      감사합니다!! 준비해보도록 할게요 :-)

  • @ding-co8036
    @ding-co8036 Před 2 lety

    Thanks

  • @hahakim6623
    @hahakim6623 Před 4 lety +3

    예시가 ㅋㅋ웃기네요 감사합니다!

  • @noname_2184
    @noname_2184 Před 4 lety +5

    DB도 다뤄주세요!! RDBMS랑 NoSQL따로요~~

    • @yalco-coding
      @yalco-coding  Před 4 lety +1

      넵, 머지 않아 준비해볼게요!! 제안 감사합니다!!

  • @user-vs1mn9tl4q
    @user-vs1mn9tl4q Před 4 lety +1

    좋은영상 잘봤습니다. 함수형은 입력값을 필터하는게 중요한 작업이 될 것같다는 생각이드네요. 무슨값이 들어오든 자신의 함수에서 처리할수있는 값이 들어와야 할것같은 느낌이.. 모던 자바스크립트중 어떤 스택을 활용하면 함수형 프로그래밍을 구현하기 보다 수월할지 질문 드려봅니다ㅎㅎ

    • @yalco-coding
      @yalco-coding  Před 4 lety +1

      감사합니다!!! '함수형 자바스크립트'란 책에 잘 정리되어 있는데, 외부 라이브러리로는 람다와 로대시, 그리고 RxJS가 많이 사용되더군요. 각각 특성과 기능들이 있어서 상황마다 적절히 선택하여 사용하면 좋을 것 같습니다.

    • @hmy1282
      @hmy1282 Před 4 lety +1

      정적타입 언어에서는 리턴타입에 Option과 같은 타입을 활용하는 경우가 많아요. 처리 못하면 빈 값을 돌려주게요

  • @postgres2981
    @postgres2981 Před rokem

    안녕하세요. 영상 보면서 공부하는데에 정말 도움 많이 됐습니다. 근데 다름이 아니라 9:06에서 첫 줄에 const calcWidth2 = (op) => (num) => op(2, num)에서 (num)은 익명함수인데, 어떻게 num이라는 인자에 add2(3)의 3이라는 값이 할당되는 건가요? return function(num)는 add2 함수(변수)의 첫번째 인자 num1을 가져오는 것이라는 건 직접 코드로 확인했습니다. 그런데 return function(num)이 작동 과정중에 어떻게 add2의 첫번째 인자를 가져오게 되는것인지 이해가 안됩니다. 인터넷에서 3시간 동안 검색해봐도 문법식으로 밖에 안 알려주고 원리에 대한 설명은 하나도 없어서요. 하 정말 궁금하네요..

    • @yalco-coding
      @yalco-coding  Před rokem

      먼저 num은 함수가 아니라 인자로 받은 숫자입니다. 코드를 해석하자면 calcWith2는 op이란 연산을 인자를 받아서 그걸로 또 다른 함수를 반환하는, 즉 또 다른 함수를 만드는 함수입니다. 그 반환되는 함수는 num이란 인자를 받은 뒤 이를 2와 함께 op 연산을 돌리는거죠.
      calcWith2 = (op) => ((num) => op(2, num)) 이렇게 괄호로 묶으면 이해가 더 쉬우실지 모르겠습니다. 문법을 정확히 이해해야 원리를 아실 수가 있을거에요.

  • @user-ow7rn1pi3w
    @user-ow7rn1pi3w Před 4 lety +1

    레얄 감동설명...

  • @index_.
    @index_. Před 4 lety +1

    저는 구글링 하며 독학했는데, f(x) = 2x + 1
    은 void f(int x)
    {
    return (x * 2) + 1;
    }
    로 설명 하는게 이해가 빨랐어요
    근데 얄팍한 코딩님 영상을 코딩을 모를 때 봤다면 참고가 많이 되었을 것 같아요

    • @yalco-coding
      @yalco-coding  Před 4 lety

      그 함수부분 처음엔 어렵죠 ㅠㅠ 감사합니다!!

    • @user-zr9dm5ro7g
      @user-zr9dm5ro7g Před 2 lety

      C린이인데
      리턴값이 정수 형태니까 선언문을
      int f(int x)로 해야 하나요?

    • @index_.
      @index_. Před 2 lety

      @@user-zr9dm5ro7g int나 long, long long쓰면 됩니다

  • @haselnussschwarzbraun9100

    🙂👍 양질의 비디오에요.

  • @zihasoo
    @zihasoo Před 2 lety

    아니 연기하시는게 너무 웃겨요 ㅋㅋㅋㅋ

  • @fdl9625
    @fdl9625 Před rokem +1

    혹시 자바스크립트보다 타입스크립트를 쓰면 함수형 프로그래밍이 조금 더 쉬울까요?
    스칼라의 타입명시 방식이 타입스크립트랑 비슷한 것 같아서요

    • @yalco-coding
      @yalco-coding  Před rokem +1

      타입스크립트는 자바스크립트에 보다 엄격하게 제약을 거는 언어입니다. 쉬워진다기보단 오류 여지가 줄고 안정적이 된다고 표현할 수 있을 것 같습니다.

  • @dongsilove
    @dongsilove Před 3 lety

    너무 속도가 빨라서 속도를 낮추어 보고 있는데.. ㅋ 술에 취해 말씀하는 듯 들리네요.. 여튼 좋은 영상입니다.

  • @user-rn9xs7no6b
    @user-rn9xs7no6b Před 4 lety

    함수를 편하게 만든것을 라이브러리라고 하나요 ?? ..
    라이브러리에 대해도 알고싶어요 알려주세요 ~ 얄코님 !

    • @yalco-coding
      @yalco-coding  Před 4 lety

      라이브러리는 꽤 포괄적인 개념인데, 나중에 어디든 쓸 수 있도록 만들어놓은 것, 코드로 짜서 그냥 내놓든 포장해놓든 한 것, 심지어 디자인 요소들도 라이브러리라고 불려요. 그냥 누가 짜놓아서 남도 갖다 쓸 수 있는 웬만한것들은 라이브러리라고 보시면 돼요 :-)

  • @smash3689
    @smash3689 Před 4 lety +1

    6:59 저렇게 함수를 변수로 저장하고 콜백으로 부르는게 c#의 delegate? event? 비슷한 거라고 이해해도 되나요..???

    • @yalco-coding
      @yalco-coding  Před 4 lety +1

      맞습니다. 어떤 조건이 충족했을 때 할 일을 함수나 메서드로 넘겨주는거라고 이해하시면 돼요 :-)

    • @smash3689
      @smash3689 Před 4 lety

      @@yalco-coding 감사합니다!

  • @dandan7022
    @dandan7022 Před 4 lety +1

    함수형 프로그래밍에서는 그럼 private public개념을 나누지않고 전부 private으로 관리한다는 개념인가요? 독립적으로 동작하려면

    • @yalco-coding
      @yalco-coding  Před 4 lety +1

      private, public과는 다른 차원이에요 ^^ private 변수도 함수에 의해 변경되면 부수효과가 발생하고, 순수함수가 public으로 짜일 수 있느니까요. const와 오히려 연관있다고 보시면 돼요

  • @sunggukcho8811
    @sunggukcho8811 Před 4 lety +3

    git똥차죠 ㅋㅋㅋ

  • @hyung-seokchoi4277
    @hyung-seokchoi4277 Před 3 lety +2

    아... 수학에서 연산자를 연산하는 개념과 비슷하군요!

  • @user-sc3uu7to7r
    @user-sc3uu7to7r Před 3 lety

    파이썬에서 map filter reduce들이 고계함수 였군요

  • @ChrisShim
    @ChrisShim Před 3 lety

    모나드도 설명해주세요 ㅋㅋ

  • @YeongjunKim
    @YeongjunKim Před 4 lety +1

    연오랑..... 저도 알아요^^

  • @qaztrewqaz9960
    @qaztrewqaz9960 Před 3 lety +1

    함수형 으로 프로그래밍 하면 Race 콘디션으로 부터 자유롭나요?

    • @yalco-coding
      @yalco-coding  Před 3 lety +2

      함수형으로 짠다고 race condition free가 되는 건 아니지만(어디 어떻게 쓰냐의 문제죠), race condition을 방지하는데 있어, 적절한 함수형 코드가 유용히 쓰일 수 있다고 할 수 있어요 😀

  • @Dneif
    @Dneif Před 3 lety +1

    11:40 자바스크립트에서도 filter, map, join 사용해서 스칼라랑 거의 완전히 동일하게 함수형으로 코딩할 수 있는데도
    일부러 비함수형 예시로 드신 이유가 있을까요?
    class Student {
    constructor(a, b, c) {
    this.name = a;
    this.division = b;
    this.major = c
    }
    }
    var students = [
    new Student("홍길동", "문과","문학"),
    new Student("전우치", "이과","기계"),
    new Student("임꺽정", "이과","화학")
    ]
    console.log(students
    .filter(e => e.division =="이과")
    .slice(0, 3)
    .map(e => `${e.name}(${e.major})`)
    .join(' '))

    • @yalco-coding
      @yalco-coding  Před 3 lety

      바로 이후에 다룰 함수형 방식과 비교하기 위함입니다 😀

    • @Dneif
      @Dneif Před 3 lety

      @@yalco-coding 답변 감사합니다!

  • @vitamaxdh
    @vitamaxdh Před 4 lety +1

    조아요를 안누를 수가 없다...

  • @whatalovelydog
    @whatalovelydog Před 4 lety +2

    영상 잘보고 있습니다! Rest? REST API, RESTful API 등에 대해서도 간략하게 알려주실수 있나요..?ㅠㅠ

    • @yalco-coding
      @yalco-coding  Před 4 lety +1

      다음 영상 주제입니다 ㅎㅎ 며칠만 기다려 주세요!!!

    • @whatalovelydog
      @whatalovelydog Před 4 lety

      @@yalco-coding 감사하고 사랑합니다.

    • @geepkoing570
      @geepkoing570 Před 4 lety +1

      @@yalco-coding 기대하고 있겠습니다 !!

  • @user-rj9tq7kw1k
    @user-rj9tq7kw1k Před 3 lety +1

    파이썬은 객체지향언어인줄 알았는데 구글에 검색해보니 함수형이란 말도있고..파이썬은 어떤경우인가요??ㅜㅜ

    • @yalco-coding
      @yalco-coding  Před 3 lety +1

      영상에 나왔듯 객체지향과 함수형은 반대말이 아닙니다. 파이썬은 객체지향언어의 특성을 갖추고 있고 함수형으로 코딩할 수 있는 요소들도 있는 다중 패러다임 언어에요 😀

  • @kuby934
    @kuby934 Před 3 lety +1

    흠.. 비동기도 함수형 프로그래밍에 포함되나여?

    • @yalco-coding
      @yalco-coding  Před 3 lety

      둘이 가리키는 뜻은 정확히는 다릅니다만 보통 함께 사용되기 때문에 서로 관련이 깊다고는 할 수 있습니다. 이를테면 함수형 라이브러리인 ReactiveX는 비동기를 위한 것이기도 하죠. 비동기는 보통 특정작업 후 실행될 함수를 인자로 넘겨주므로 함수형의 형태를 띠곤 합니다

  • @jeffreylim5920
    @jeffreylim5920 Před 4 lety +2

    우와우와 황금채널 ㅇㅈㅇㅈ

  • @user-lp8hr4ew8c
    @user-lp8hr4ew8c Před 4 lety +1

    고계함수가 고차함수와 같은 의미인가요?

  • @user-ec9if8lv1e
    @user-ec9if8lv1e Před rokem +1

    함수형 프로그래밍 언어 입문으로는 스칼라가 좋을까요?

    • @yalco-coding
      @yalco-coding  Před rokem

      영상 올릴때쯤엔 스칼라가 뜨는 듯 했는데 요즘 많이 죽어서 ㅠㅠ 그럼에도 개념을 위해 배우신다면 스칼라, 하스켈 등이 좋은 걸로 알고 있고 그렇지 않다면 자바스크립트로도 좋습니다. 제 최신 영상의 자바스크립트 강의를 보시면 마지막 부분에 함수형을 자세히 다룹니다.

    • @user-ec9if8lv1e
      @user-ec9if8lv1e Před rokem

      @@yalco-coding 오 감사합니다

  • @user-hl5sk1oj1m
    @user-hl5sk1oj1m Před 3 lety +3

    9:38 여기서 슥-할라(스칼라)를 이해한 사람은 저뿐인건가요..?

    • @yalco-coding
      @yalco-coding  Před 3 lety +1

      이불킥하는 무리수였는데 ㅠㅠ 알아봐주셔서 감사합니다!!

    • @user-hl5sk1oj1m
      @user-hl5sk1oj1m Před 3 lety

      ㅋㅋㅋㅋ 너무 제 취향입니다 ㅠ 항상 재밌게 보고있습니다 헤헤 감사합니다!!

  • @jameskim6845
    @jameskim6845 Před rokem

    영상 감사하게 보고 있습니다. C 로 임베디드 프로그램을 평생해왔지만 웹환경 프로그래밍은 최근에 공부하기 시작했습니다.
    javascript를 공부하다 이 영상도 보게 되었는데요. 제가 아직도 화살표함수의 인자 전달개념을 이해 못하고 있는 것 같은데..
    add2(3) 이 실행되면 calcWith2(add) 가 실행되는 것 까지는 이해 됩니다. 그리고 calback 함수로 add(num1, num2) 가 지정되므로 num1 = 2, num2 = num
    이 지정되는 것도 알겠어요. 그렇다면 처음 add2(3) 을 부를 때 3 값이 어느 경로로 num 으로 전달되는지 이해가 가지 않습니다. 그냥 저렇게 간다 라고
    생각하면 되겠지만 논리적으로 받아들여지지 않아서요.
    그리고 calcwith2() 라는 함수는 함수포인터를 활용한 callback 함수를 교체하여 한가지 함수로 런타임 중 다른 기능의 여러 일을 처리하도록 하는 것이 목적인 것 같습니다.
    그렇다면
    const add = (num1, num2) => num1 + num2;
    const multiply = (num1, num2) => num1 * num2;
    const calW2 = (op, num) => op(2,num);
    calW2(add, 3);
    calW2(multiply, 3);
    위와 같이 기술하면 코드도 짦아지고 가독성도 좋아지는데 왜 저렇게 꼬인 코딩을 하는 것인지도 궁금합니다.

    • @yalco-coding
      @yalco-coding  Před rokem

      해당 예제는 '주어진 값을 2와 더한다'란 기능을 갖는 'add2'란 함수를 만들어낼 수 있음을 보여주는 예제입니다. 예제에서는 불필요하게 꼬여보이지만 실무에서는 복잡한 과정을 일일이 조합하지 않고 필요한 기능만 해내는 함수를 동기적으로 조합하여 생성할 수 있는 코드죠.
      3을 받아오는 경로는 코드를 좀더 유심히 살펴보시면 이해하실 수 있을 것이라 생각합니다. calcWith2는 (op) => (num) => op(2, num)란 함수를 반환하죠? add2는 그렇게 반환된 함수고요(num) => add(2, num). 그 함수는 num을 인자로 받아 그걸 add(2, num) 한 결과를 반환하는겁니다.

    • @yalco-coding
      @yalco-coding  Před rokem

      이 부분의 이해가 어렵다면, 제 최신 영상인 자바스크립트 강좌 무료 파트를 들어보시면 마지막 부분에서 함수형 프로그래밍을 설명합니다. 이 부분이 도움이 되어드릴 것입니다.

    • @jameskim6845
      @jameskim6845 Před rokem

      @@yalco-coding 이해 하는데 꽤 시간이 들었네요.. add2 = calcWith2(add) 가 선언 될 때 add2는 op로 add(a, b)가 고정된
      (num) => op(2,num) 의 함수 포인터가 반환된 것이네요.. 그러니 add2(3) 이 call 되는 문장에서 (3) => add(2, 3) 이 실행 되는 것이고요.. 감사합니다. 그래도 여전히 이렇게 가독성이 안좋은 코드를 써야 하나? 하는 의문은 사라지지 않습니다. 제가 너무 구닥다리라서 그런 모양입니다.

    • @yalco-coding
      @yalco-coding  Před rokem

      @@jameskim6845 코드 그 자체로만 생각하지 마시고 실무에서 그것이 어떻게 사용될지를 상상해보신다면 가독성에 대해서도 다르게 생각하실 수 있게 될 거에요. 상황에 따라 필요에 맞는 함수를 만들어서 내어주고, 사용자는 그 과정의 코드들을 다 볼 필요 없이 그 만들어진 함수만 받아서 쓴다고(즉 Kim James님의 코드처럼 직접 함수를 조합할 필요 없이) 이해하시면 의문이 어느정도 해소될 것입니다.

  • @ID-OUTPUT
    @ID-OUTPUT Před 3 lety +1

    이걸 보고 카카오를 샀어야 했다...

  • @user-rb3uj5js6x
    @user-rb3uj5js6x Před 2 lety

    8:40

  • @user-wp6vu6tv5q
    @user-wp6vu6tv5q Před 3 lety

    설명이 너무 좋은데 말을 편집하는게 빨라서 속도를 느리게 하고 보게 되네요 ㅠㅠ 좋은설명 감사해요

  • @kingcarnam
    @kingcarnam Před 3 lety +2

    부업 성대모사

  • @qqqq1836
    @qqqq1836 Před 4 lety +1

    11:54 ㅋㅋㅋㅋㅋ갑자기 빡빡이아저씨 목소리가 들리네요

  • @user-bn3gw5ww4f
    @user-bn3gw5ww4f Před 4 lety +3

    Git 똥찹니다! 👍