마수리
마수리
  • Видео 30
  • Просмотров 104 241
[.Net 소스코드 열어보기] CancellationToken의 구현을 알아보자
CancellationToken과 CancellationTokenSource의 관계를 실제 .Net Source code를 확인해보면서 이해해보는 시간을 갖습니다.
Просмотров: 232

Видео

공부 안하고 Hash 100% 이해하기!
Просмотров 1,3 тыс.2 года назад
문서의 무결성, 비트코인의 머클트리등 해시 알고리즘을 이용한 실제 사례를 바탕으로 해시에 대한 이해를 돕는 영상입니다.
딱! 한번만 공부하자 Hash!
Просмотров 3,1 тыс.3 года назад
해시는 컴퓨터 내부적으로 값이 같은지 비교하기 위해서 사용합니다. 총 2편으로 제작될 영상의 첫 번째 영상으로 해시의 기본 개념부터 살펴봅니다. 이해하기 쉬운 카카오QR입장코드라는 예를 들어 시청자의 이해를 돕습니다.
예제와 함께 Dynamic 타입을 한번에 이해하자!!
Просмотров 9413 года назад
[목차] 0:00 강력한 타입 언어 0:55 다이나믹 키워드의 정의 2:05 다이나믹 키워드와 인텔리센스 2:43 다이나믹 타입과 오브젝트 타입 비교 6:05 다이나믹 타입 사용시 주의점 6:55 [예제] 다이나믹 키워드로의 리펙토링 [설명] Dynamic 타입은 Object 타입과 비교해서 보면 이해가 한층 더 쉽습니다. Dynamic 타입과 Object 타입의 차이와 실 사용 예제를 통해 Dynamic 타입을 한번에 이해해봅시드아!
[멀티쓰레드#3] Task의 등장배경 (ThreadPool, Thread Chain)
Просмотров 3,5 тыс.3 года назад
Thread()와 Task()를 비교해서 Task의 장점 및 등장배경에 대해 살펴봅니다. Task()를 보면서 ThreadPool과 Task Chain의 개념도 살펴봅니다. 참고영상: ruclips.net/video/ZUqUlZ3GjlA/видео.html
'진심'으로 승부하였습니다.
Просмотров 3223 года назад
프로그래머 최종면접에 대해 이야기를 합니다. 여러분의 진심은 무엇인가요? *. 미숙한 촬영으로 영상 비율이 기존과 다른게 촬영 되었습니다. 왠지 뭔가 이상하더라..
Static이 뭔지 모른다고!?
Просмотров 9 тыс.4 года назад
Static Keyword에 대해서 알아보며 매모리 공간에 대해서도 같이 알아봅니다.
[멀티쓰레드#2] .Net 4.0 이전의 비동기 코드의 문제점
Просмотров 3,2 тыс.4 года назад
Thread() 클래스를 보면서 왜 Microsoft에서 Task()라는 신개념을 만들게 되었는지 이해해보도록 합니다. 이 영상에선 간단히 Thread()를 이용해 비동기 코드를 만들고 Thread() 클래스의 단점에 대해서 이야기 해봅니다.
[객체지향] Return은 객체와 객체 사이의 연결고리!!
Просмотров 2,9 тыс.4 года назад
프로그래밍의 Return에 대해서 객체지향적인 관점에서 생각해봅니다. List로 Return할 때와 IEnumerable로 Return 할 때 무엇이 다를까요? 그리고 객체를 Return 할 때 고려야해될 사항은 어떤 것이 있을까요?
여기 저기서 보이는 IEnumerable이란 무엇일까?
Просмотров 7 тыс.4 года назад
foreach, Linq등에 사용되는 IEnumerable과 IEnumerator에 대해서 설명합니다.
결국 프로그래머는 꾸준히 공부 하는 놈이 잘 되더라고요!!
Просмотров 3324 года назад
똑똑하고 잘 배우려는 사람이 꾸준히 성장하더라고요. 저도 그러겠습니다. 그러기 위해선 공부가 필요하단 사실을 가장 먼저 깨달아야 한다고 생각해요!! 영상 속 캔디 크러시 사가 삼각함수 영상의 출처는 ruclips.net/video/R2DumqRKSdw/видео.html 입니다. 필요하시면 직접 가서 보시는 것도 좋을 것 같아요!
프로그래머 신입 면접 썰.. 라떼는 말이야..
Просмотров 1,9 тыс.4 года назад
제가 경험했던 프로그래머 신입 면접 이야기를 합니다. 제가 기업 조사를 남들과 다르게 했던 점, 컴퓨터 상식, 간단한 코딩테스트 문제 등에 대해서 이야기 합니다.
컴퓨터 지식, 도메인 지식보다 중요한 것이 있습니다!
Просмотров 5865 лет назад
우리 모두 항상 생각하며 일해봅시다!
당신은 좋은 팀, 동료와 일 하고 계십니까?
Просмотров 3465 лет назад
좋은 동료, 좋은 팀, 좋은 프로젝트가 있다면 더할나위 없이 좋겠죠!! 게다가 많은 연봉까지!! 우리 다같이 열심히 노력해 봅시다!!
다형성의 모든 것(All about polymorphism)
Просмотров 3,9 тыс.5 лет назад
다형성(Polymorphism)이 어떻게 동작하고 왜 사용해야되는지 논리적인 메모리 구조를 사용해 이야기합니다. 또한, 다형성의 예를 스타크래프트의 '어택땅'에 비유해서 다형성의 사용예를 설명합니다. 비록 처음에 이해하긴 쉽지 않은 내용일 수 있지만 꼭 이해해야하는 내용이라고 생각합니다.
인터페이스를 이용한 다형성 설명 (인터페이스를 쓰는 이유)
Просмотров 9 тыс.5 лет назад
인터페이스를 이용한 다형성 설명 (인터페이스를 쓰는 이유)
인터럽트,문맥교환 (Interrupt, Context Switching)
Просмотров 1,5 тыс.5 лет назад
인터럽트,문맥교환 (Interrupt, Context Switching)
동영상 봐주시는 분들 모두 감사드립니다.
Просмотров 1075 лет назад
동영상 봐주시는 분들 모두 감사드립니다.
프로그래머 / 개발자 이직시 실력 다음으로 중요하다고 생각하는 것!
Просмотров 2855 лет назад
프로그래머 / 개발자 이직시 실력 다음으로 중요하다고 생각하는 것!
현직 개발자가 말하는 현 직장에서 해야할 3가지 일!! / 프로그래머 / 직장 / 회사
Просмотров 5635 лет назад
현직 개발자가 말하는 현 직장에서 해야할 3가지 일!! / 프로그래머 / 직장 / 회사
[멀티쓰레드#1] 프로그래밍에서의 동기 / 비동기의 개념
Просмотров 9 тыс.5 лет назад
[멀티쓰레드#1] 프로그래밍에서의 동기 / 비동기의 개념
[C#] Action과 Func에 대해 알아본다
Просмотров 5 тыс.5 лет назад
[C#] Action과 Func에 대해 알아본다
[C#]델리게이트의 모든 것(All about delegate)
Просмотров 17 тыс.5 лет назад
[C#]델리게이트의 모든 것(All about delegate)
왕초보 Unity로 게임만들기 - #5 클레스란 무엇인가_2
Просмотров 2986 лет назад
왕초보 Unity로 게임만들기 - #5 클레스란 무엇인가_2
언어에 관계 없이 100% 이해할 수 있는 람다식 강의(lambda expression)
Просмотров 10 тыс.6 лет назад
언어에 관계 없이 100% 이해할 수 있는 람다식 강의(lambda expression)
왕초보 Unity로 게임만들기 - #4 클레스란 무엇인가_1
Просмотров 8546 лет назад
왕초보 Unity로 게임만들기 - #4 클레스란 무엇인가_1
왕초보 Unity로 게임만들기 - #3 함수란 무엇인가 2
Просмотров 1,2 тыс.9 лет назад
왕초보 Unity로 게임만들기 - #3 함수란 무엇인가 2
For the Unity3D beginner - #2 What is the function 1
Просмотров 1,2 тыс.9 лет назад
For the Unity3D beginner - #2 What is the function 1
왕초보 Unity로 게임만들기 - #0 인트로
Просмотров 7 тыс.9 лет назад
왕초보 Unity로 게임만들기 - #0 인트로
왕초보 Unity로 게임만들기 - #1 변수란 무엇인가
Просмотров 3,2 тыс.9 лет назад
왕초보 Unity로 게임만들기 - #1 변수란 무엇인가

Комментарии

  • @MurlocGuy-om2wg
    @MurlocGuy-om2wg 18 дней назад

    궁금한게 있습니다! static은 프로그램 종료까지 메모리를 사용하는것으로 이해했는데 그럼 성능면에서는 지양하는게 좋은걸까요?

    • @User_Masuri
      @User_Masuri 12 дней назад

      안녕하세요~ 저는 C#환경에서 static keywrod를 사용하면서 그런 부분까진 생각하지 않고 사용했었네요. 메모리가 아주 부족한 환경일땐 한번 쯤 고려해보는 것이 좋을 것 같긴합니다만 static keyword를 사용할 땐 메모리 점유를 고민하시는 것보단 1개의 static 변수를 프로그램 종료시까지 공유해서 사용한다는 측면을 좀 더 생각하시면 좋을 것 같습니다. 다른 질문 사항 있으시면 언제든지 또 질문 주시기 바랍니다!

  • @jskim6569
    @jskim6569 26 дней назад

    짧지만 강렬한 강의입니다

    • @User_Masuri
      @User_Masuri 26 дней назад

      감사합니다! 짧지만 제 마음을 울리는 댓글이네요!

  • @민득근
    @민득근 Месяц назад

    캔슬레이션토큰이 발행자 개념인게 신기하네요 재밌게 봤습니다 좋은 영상감사합니다 자주 올려주세요 ! mvvm 라이브러리에 대해서도 한번 다뤄주시면 감사하겠습니다. 요즘 개발할 때 mvvm 라이브러리를 통해서 Ioc 컨테이너를 사용하고 있는데 주변 동료분들에게 이점을 말해주고 싶은데 실질적인 개발에 도움되긴보단 Ioc는 VM Class 관리에 대한 생명주기와 밀접해있는 것 같아서 주변에 설명하기가 어렵네요 ..

    • @User_Masuri
      @User_Masuri 26 дней назад

      안녕하세요~ 댓글 감사드립니다! mvvm은 한번정도 사용해서 많이 알지는 못하지만 IoC에 대해서는 이야기 해볼 기회가 있으면 좋을 것 같네요!

  • @한권으로끝내기
    @한권으로끝내기 Месяц назад

    와 진짜 설명 들으면서 이렇게 이해했어야 했구나 하고 충격을 먹었습니다. 좋은 설명 감사합니다!

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

      ㅋㅋㅋ 아이고 칭찬 감사드립니다!! 누군가에게 도움이 된다니 기쁘네요!! 질문 있으시면 언제든지 하세요~

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

    궁금한게 있습니다. 실제 비즈니스 로직의 예제에서 SendData 메서드에서 _nowTabIdx의 값에 따라 신규, 변경, 등 분기가 나누어지는데 굳이 델리게이터를 쓰는 이유가 무엇인지 궁금 합니다. 신규보고로직 및 변경보고로직 둘다 함수로 따로 만들어져 있을 텐데 Switch문에서 각 분기별 로직을 만든 후 아래에서 SendXMLFilesInFolder을 호출하면 될 것 같고 결국 case마다 다르게 호출하는 거라 분기는 결국 그대로인데 해당 로직에서 델리게이트를 사용하는 이유를 잘 모르겠습니다.

    • @User_Masuri
      @User_Masuri 26 дней назад

      아이고! 댓글이 누락돼서 질문 주신지 한달이나 늦게 답변 드리는점 죄송합니다. 바로 답변 드리겠습니다! 우선 아주 원론적인 궁금증으로 질문 주신 것같아 아주 좋은 질문이라고 생각합니다. 우선 SendData()에서 호출하는 SendFiles(MyDelegate) 함수를 보시면서 제 댓글을 읽어 주시면 이해가 빠르게 되실 것이라 생각됩니다. SendFiles()의 기능은 1. 파일명을 가지고 보고파일을 XML 형태로 만들 로직을 가져옵니다.  - 이 부분이 비즈니스 로직에 따라 달라지는 부분이고 밑에 2, 3번 부분은 비즈니스 로직에 상관없이 똑같이 태워야 하는 로직입니다. 2. 보고Logic 객체가 만들어지고 이 객체를 이용해서 특정 위치에 MakeXML(); 함수로 XML 파일을 만듭니다.  - 보고Logic은 델리게이트로 이루어 져서 각각의 비즈니스 로직에 맞는 알맞은 보고 파일을 만들게 됩니다. 3. SendXMLFilesInFolder(); 함수를 이용해서 그 파일을 서버에 업로드 합니다.  - SendFiles() 함수는 어떤 비즈니스 로직으로 어떤 XML 파일이 만들어지는지 관심이 없습니다. 그저 MakeXML()를 호출하여 XML파일을 만들고 서버로 보내기만 하면 됩니다. 이제부터 델리게이트를 사용한 이유를 설명드리겠습니다. -. 신규, 변경, 취소 등등의 비즈니스 로직은 각각 조금씩 다른 XML을 만들어야 합니다. 예를들어 변경 데이터는 변경 대상이 될 원본 XML의 id가 들어가야 한다던가 혹은 취소 데이터의 경우 취소 이유가 반드시 들어가야하는 등의 로직이 필요합니다. 그래서 위의 1번 과정에서 보고파일을 XML 형태로 만들 로직이 각각 조금씩 다르기 때문에 이 부분을 델리게이트로 받은 것입니다. 보고파일을 XML 형태로 만드는 것 외의 로직은 신규나 변경이나 취소나 모두 같은 로직을 사용합니다. 신규, 변경, 취소에 관계없이 보고Logic이라는 것만 있으면 그걸 가지고 XML 파일을 만들고 XML 파일이 만들어지면 그것을 서버로 보내는 로직은 모두 같다는 말입니다. 그렇기 때문에 SendFiles()라는 함수의 재사용성을 높이기 위해 XML을 만드는 부분만 델리게이트로 빼게 된 것입니다. 글로 설명하다보니 설명이 좀 어려운데 제가 잘 못설명한게 있어 이해가 안가시면 다시 재질문 주시면 감사드리겠습니다! ------------------------------------------------ 예) 만약 아래와 같은 공통로직이 MakeXML() 함수 앞뒤로 더 있는 함수라면 SendFiles()를 재사용하기 위해 델리게이트를 사용한 것을 더 이해하기 쉬우실 수 있습니다. public bool SendFiles(MyDelegate Get보고Logic) { if(IsServerAlive() == false) return false; if(Has누락된파일()) Send누락파일(); if(IsFolderAvailable() == false) CreateFolder(); string 파일명 = "파일명 + 현재시간 + 시퀀스"; #region 비즈니스 로직에 따라 다르게 동작해야 하는 부분 var 보고Logic = Get보고Logic(파일명); 보고Logic.MakeXML(); #endregion if(Is보고XML파일크기체크() == false) { Log("파일 크기가 0일 수 없습니다."); return false; } return SendXMLFilesInFolder(); } '비즈니스 로직에 따라 다르게 동작해야 하는 부분'만 제외하고 모두 공통로직이므로 이 부분만 델리게이트를 이용해 파라미터로 받았던 것입니다.

  • @PONYMakeup
    @PONYMakeup 2 месяца назад

    영상 많이 올려주세요 뭐라고 하시는진 모르겠지만 항상 잘 보고 있습니다.

    • @User_Masuri
      @User_Masuri 2 месяца назад

      네.. 노력하겠습니다....^^

  • @전인선-n4r
    @전인선-n4r 3 месяца назад

    델리게이트에 대해서 자세히 알려주셔서 감사합니다. ! (@4:51 볼차례)

    • @User_Masuri
      @User_Masuri 2 месяца назад

      감사합니다! 질문은 언제든지 환영입니다!

  • @user-jk47
    @user-jk47 3 месяца назад

    친절한 설명 감사합니다! Foo2()함수에서 _nonStarticVar = 1;은 왜 오류가 안되는지 궁금합니다 스택에 있는 함수에 메모리에 있는 static변수를 넣어도 되는지요!

    • @User_Masuri
      @User_Masuri 3 месяца назад

      안녕하세요~ 질문은 언제나 환영입니다! Foo2()는 함수가 new로 메모리에 올라갔을 때만 사용할 수 있는 non static 함수입니다. Solution class도 역시 new를 해서 메모리에 올라갔을 때만 사용할 수 있는 non static 클래스입니다. 제가 드리고 싶은 말은 Foo2()나 Solution이 가지고 있는 _nonStaticVar나 같이 new를 했을 때 메모리에 올라간다는 사실입니다. 결국 Foo2()를 호출했을 땐 _nonStaticVar 역시 메모리에 올라가있는 상태일 수 밖에 없으니 Foo2()함수에서 _nonStaticVar에 접근할 수 있는 것입니다. 스택에 있는 함수에서 static 변수에 값을 넣는 것은 가능합니다~ 하지만 그 반대인 static 함수에서 메모리에 올라가야 사용할 수 있는 _nonStaticVar와 같은 변수엔 접근이 불가능합니다. (이 경우는 Foo1()이 예제가 되겠네요) 왜냐하면 static 함수는 Solution 클래스를 new 하지 않고도 이미 메모리에 올라가있는 상태이기 때문에 new를 해서 메모리에 올려야하는 _nonStaticVar와 같은 변수는 접근할 수 없는 것입니다. 혹시 제 답변이 이해가 가지 않으신다면 다시 질문 주시면 답변드리겠습니다. 감사합니다!

    • @user-jk47
      @user-jk47 3 месяца назад

      @@User_Masuri 답변 감사합니다! 제가 질문을 _nonStaticVar가 아니라 StaticVar로 써야했는데 오타를 했네요 ㅠ Foo2()함수에 _StaticVar는 어떻게 가능한 원리인가요? 메모리가 스택에 비해 상위 개념(?)이라서 그런 것인가요?

    • @User_Masuri
      @User_Masuri 12 дней назад

      우선 대댓글에 대해서 알람이 오지 않아.. 하나하나 확인 후 이제 발견해서 답변이 많이 늦었습니다 ㅠㅠ 답변 드리겠습니다. _StaticVar가 Foo2()함수에서 접근이 되는 이유가 궁금하셨던 것 같습니다. 그 내용은 영상에도 설명 드렸습니다만 static 변수는 프로그램 실행 시 먼저 모두 메모리에 올라가게 되어서 Foo2()함수안에서 _StaticVar가 이미 메모리에 있기 때문에 아무런 할당연산(new()) 없이 접근이 가능한 것입니다. 질문에 있는 메모리가 스택에 비해 상위 개념은 아니고 new() 연산자로 Foo2()함수가 스택 메모리에 올라가기 전에 이미 static 변수는 메모리에 올라가기 때문에 접근이 가능하다라고 생각하는게 맞으실 것 같습니다~ 혹시 다른 질문 있으시면 또 말씀 주세요. 대댓글이라 알람이 안올 것 같은데 제가 자주 확인해서 답변 드리도록 하겠습니다! 좋은 하루 되세요!

  • @BlackMoka
    @BlackMoka 4 месяца назад

    유용한 강의 덕분에 깨달음 얻고 갑니다 감사합니다!

    • @User_Masuri
      @User_Masuri 4 месяца назад

      도움이 되셨다니 다행입니다!!

  • @aromatic6619
    @aromatic6619 4 месяца назад

    이마에 문신하셨나요?

    • @User_Masuri
      @User_Masuri 4 месяца назад

      머리카락 튀어나온거 말씀하시는거죠? ㅋㅋㅋ 몇번이나 재촬영하다보니 ㅋㅋ 정리가 안됐네요 ㅋㅋㅋ

  • @AreYouKiddingMx
    @AreYouKiddingMx 4 месяца назад

    너무 오랜만입니다.... 앞으로 많이좀 올려주세요!! 수많은 강의 봤지만 TOP3 채널 중 하나 입니다. 넘 좋아요,,

    • @User_Masuri
      @User_Masuri 4 месяца назад

      아이고 ㅠㅠ 칭찬 감사합니다!! 제가 실력이 없어서 올릴 소스가 많지가 않네요 ㅋㅋ 실력을 쌓아서 많이 올릴 수 있는 사람이 되겠습니다 ㅋㅋ

  • @nibbles00
    @nibbles00 4 месяца назад

    훨씬 멋있어 지셨네요^^

    • @User_Masuri
      @User_Masuri 4 месяца назад

      ㅋㅋㅋㅋ 머리만 길렀습니다 ㅋㅋㅋ 좀 스타일이 바뀌였죠? ㅋㅋ

    • @nibbles00
      @nibbles00 4 месяца назад

      @@User_Masuri 항상 영상 잘 보고 있습니다

  • @notnull-qe7er
    @notnull-qe7er 4 месяца назад

    1년 만에 업로드 하셨네요....ㅠ

    • @User_Masuri
      @User_Masuri 4 месяца назад

      그러게 말이예요 너무 오래 걸렸네요 ㅠㅠ

  • @kimozex
    @kimozex 4 месяца назад

    오랫만이시네요 'ㅁ'/

    • @User_Masuri
      @User_Masuri 4 месяца назад

      안녕하세요~ 닷넷데브는 매일 들어가고있습니다 ㅋㅋㅋ

  • @pixelsaram
    @pixelsaram 4 месяца назад

    헐 얼마만의 새 영상이에요! 감사합니다! 오랜만이라 그런지 갑자기 어려운 내용을 다루시는 느낌이네요 ㅎㅎ 영상 잘보겠습니다 마수리님! 그리고 엄청 스타일이 힙해지셨네요 ㅎㅎㅎ 화이팅입니다 감사해요!

    • @User_Masuri
      @User_Masuri 4 месяца назад

      ㅋㅋㅋㅋㅋ 아이고 댓글도 바로 달아주시고 감사드립니다. 회사 옮기고.. 머리 길러보고있는데 ㅋㅋㅋ 여러분들이게 못볼꼴 보여드리는 것 같아서 급하게 모자를 쓰고 촬영했습니다 ㅋㅋㅋ 내용은 어렵지 않아요~ 한번 봐보시고 모르시는게 있으시면 언제든지 댓글 달아주시면 감사드리겠습니다!

  • @택배-x1e
    @택배-x1e 4 месяца назад

    여태 유튜브에서 delegate 강의 본시간이 10시간분량은 될건대 이해를 못했음.. 근대 이분 강의 20분듣고 delegate 완벽하게 이해했음.. 정말 대단한 분인듯..

    • @User_Masuri
      @User_Masuri 4 месяца назад

      하하하 ㅋㅋㅋ 처음보시면 이해가 잘 안가실 수도 있긴해요~ ㅋㅋ 제 영상을 보고 이해하셨다니 기분이 좋네요!! 이제 Func, Action, Predicate를 공부하실 차례인 것 같습니다!! 화이팅입니다

  • @pixelsaram
    @pixelsaram 4 месяца назад

    Func랑 Action 강의 중 제일 잘 이해가 됐습니다. 늘 감사합니다 마수리님 보다가 궁금한점이 생겼습니다..! unit 오브젝트들이 주기적으로 GameManager Static Instance에 컴포넌트로 붙어있는 JPS 길찾기 알고리즘 메소드를 실행하려고합니다. unit들이 JPS 메소드를 실행하기 위해 GameManager 내 Queue에 Func를 쌓고, 순서대로 실행하는 것 까지는 할 수 있는데, 실행결과인 List<Vector3>을 실행요청한 unit에게 돌려줄 수 있는 방법을 모르겠습니다.. 고심하다가 문의드립니다 마수리님.. 답 주시면 정말 감사드리겠습니다..!

    • @User_Masuri
      @User_Masuri 4 месяца назад

      안녕하세요!! 몇 가지 방법이 떠오르는데요. 그 중에 가장 간단한 방법이라고 생각되는 것을 한번 적어보겠습니다. 우선 Func를 쌓는 다는 것이 어떤 로직인지 잘 모르겠습니다만 최대한 이해한 것을 바탕으로 작성해보겠습니다. 도움이 되셨으면 하네요. 예를들어 두 수를 더하는 함수가 다음과 같이 있을 때 void Add(int x, int y) { // 오버플로우는 고려하지 않았습니다. int result = x + y; } callback할 함수를 하나 파라미터로 담아보면 문제가 혹시 해결 될까요? Add(int x, int y, Action<int> callback) { int result = x + y; callback?.Invoke(result); } Add 함수를 호출하는 측에서는 Add(1, 2, result => { // 여기서 결과를 받아서 처리하면 됩니다. }); 이렇게 처리하면 함수를 호출하는 측에서 함수의 실행결과를 callback으로 받아볼 수 있습니다. 호출 측에서는 callback을 바탕으로 원하시는 작업을 하실 수 있습니다. 제가 이해한대로 답변을 작성했으니 혹시 더 도움이 필요하시면 댓글 달아주시기 바랍니다!

  • @pixelsaram
    @pixelsaram 5 месяцев назад

    강의 잘 듣고있습니다 감사합니다

    • @User_Masuri
      @User_Masuri 5 месяцев назад

      잘 들어주셔서 감사합니다

  • @Pushing_Daisies_
    @Pushing_Daisies_ 7 месяцев назад

    2024-0127-2138 1

  • @Gyokujin
    @Gyokujin 7 месяцев назад

    억지로 머리에 집어넣은 개념이 많았는데 선생님 덕분에 많이 정리되는것 같습니다 감사합니다 ㅎㅎ

    • @User_Masuri
      @User_Masuri 7 месяцев назад

      다들 저를 선생님이라고 부르시는군요 ㅋㅋㅋㅋ 도움이 되셨다면 다행이네요~~ 감사합니다!

  • @ydapper
    @ydapper 8 месяцев назад

    마수리님 요즘은 영상안올리시나요??? 근황이 궁금합니다.

    • @User_Masuri
      @User_Masuri 8 месяцев назад

      안녕하세요~ 요즘 영상 안올린지 오래 됐네요! 주변에서도 올리라고 하는데 ㅋㅋ 간단한 주제로라도 올려보도록 해보겠습니다!

  • @Gyokujin
    @Gyokujin 8 месяцев назад

    정말 유익했습니다 감사합니다 선생님!

    • @User_Masuri
      @User_Masuri 8 месяцев назад

      앗 ㅋㅋ 저 선생님 아닙니드아아~~~ ㅋㅋㅋㅋ 그냥 옆자리에 있는 평범한 개발자예요 ㅋㅋ

  • @Gyokujin
    @Gyokujin 8 месяцев назад

    겉핣기로만 배웠던 건데 이렇게 복습 겸 핵심만 잘 설명해 주시니 이해가 잘 되는군요! 감사합니다.

    • @User_Masuri
      @User_Masuri 8 месяцев назад

      이해가 잘 되셨다니 제가 다 기쁘네요~ 감사합니다!

  • @참치참치-n9s
    @참치참치-n9s 8 месяцев назад

    약국썰 진짜 너무 재밌고 유익해요. 유튜브 다시 돌아와주세요 ㅠㅠ 오늘 처음 봤는데 팬됏어요 ㅋㅋㅋㅋㅋ

    • @User_Masuri
      @User_Masuri 8 месяцев назад

      약국썰 풀었던 영상이군요 ㅋㅋ 유튜브 영상 다시 직어 보도록 노력해보겠습니다! 감사합니다.

  • @참치참치-n9s
    @참치참치-n9s 8 месяцев назад

    진짜 현실적인 조언이네요 .. 비록 저는 지금 회사 재정 상황 때문에 구조 조정 당해서 어쩔 수없이 이직 준비를 하는 중이지만, 다음 회사에서 이직을 고민할 때 이 영상을 꼭 기억하겠습니다!!

    • @User_Masuri
      @User_Masuri 8 месяцев назад

      아주 예전에 만든 영상이라 제가 뭐라고 한진 모르겠지만 ㅋㅋㅋㅋ 도움이 되셨다니 다행이네요~

  • @참치참치-n9s
    @참치참치-n9s 8 месяцев назад

    와진짜 간결하게 설명해주시네요... 바로 구독했습니다

  • @박찬진-k5i
    @박찬진-k5i 9 месяцев назад

    갑자기 자신이 없어졌어요 ㅋㅋ.

    • @User_Masuri
      @User_Masuri 8 месяцев назад

      ㅋㅋㅋㅋㅋㅋ 왜요!! ㅋㅋ

  • @박준형-z7o
    @박준형-z7o 9 месяцев назад

    명쾌한 설명 잘 들었습니다!!

    • @User_Masuri
      @User_Masuri 8 месяцев назад

      도움이 되셨다니 감사합니다!

  • @pixelsaram
    @pixelsaram 9 месяцев назад

    자주봽고싶어요 ㅠㅠ

    • @User_Masuri
      @User_Masuri 9 месяцев назад

      유튜브 안찍은지 너무 오래 됐네용 ㅠㅠ

  • @pixelsaram
    @pixelsaram 9 месяцев назад

    유니티 독학중에 마수리님 영상 정주행하고있습니다 엄청나게 자세하고 친절한 설명에도 부족한 저로써는 완전히 이해하기 어려운 개념이라 자주 다시 보러오게되네요 ㅎㅎ 정말 감사드립니다 복받으세요 마수리님!!

    • @User_Masuri
      @User_Masuri 9 месяцев назад

      도움이 되셨다니!! 다행이네요!! 감사합니다!!

  • @hi-fi2680
    @hi-fi2680 10 месяцев назад

    당신 최고야

    • @User_Masuri
      @User_Masuri 10 месяцев назад

      감사합니다! ㅋㅋㅋ

  • @백일-x1h
    @백일-x1h 11 месяцев назад

    안녕하세요 저는 C#을 늦게입문해서 지금 부랴부랴 배우고 있는 와중에 델리게이트 를 이해 못하고 패스하고 있다가 회사 면접에 딱 델리게이트 질문이 나왔는대 제대로 대답도 못하고 나와서 속상한 마음에 영상을 찾아보다가 선생님 영상을 보고 조금이나마 델리게이트 개념이 이해가 되서 정말 감사한 마음에 댓글을 남겨봅니다.. 정말 감사합니다

    • @User_Masuri
      @User_Masuri 11 месяцев назад

      아이고 ㅠㅠ 요즘 면접에서 델리게이트를 물어보는군요.. 사실 델리게이트는 어려운 거 같아서 지나치기 쉽지만 몰라선 안될 아주 중요한 개념입니다. .Net API도 델리게이트를 파라미터로 받는 함수들이 아주 많습니다. 델리게이트가 없인 함수를 파라미터로 넘길 수 없으니 당연한 일이기도합니다. 혹시나 공부 중에 이해가 안가시는게 있으시면 언제든지 질문 주세요!

  • @TubeYou-r8x
    @TubeYou-r8x Год назад

    람다식의 구체적인 사용 의미인 '코딩을 줄인다' 에서 이마, 구독, 좋아요, 클릭하고 갑니다. 감사합니다.

    • @User_Masuri
      @User_Masuri 11 месяцев назад

      제가 한 설명인데도 조금 부족해 보이는 설명이네요 ㅋㅋㅋ 함수를 파라미터로 전달하는 곳에 델리게이트 선언을 하지 않고 직접 코드를 넣을 수 있는게 람다식이라고 보시면 좀 더 정확할 것 같습니다~~

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

    영상 잘 봤습니다. 한가지 객체가 여러 타입에 대입하게 만드는거를 다형성, 한가지 객체가 한가지 타입에 대입하는거는 단혀성 이다. 이렇게 다형성을 작업을 할수있게 인터페이스를 만들거나 추상 클래스 또는 일반 클래스를 만들어서 공통 프로퍼티들을 뽑아서 정의하는거를 추상화 작업 추상화 작업이라고 하는 이유는 메서드 또는 메서드의 파라미터 타입, 반환 타입을 지정해주고 내부 로직은 오버라이딩을 하든 뭐를 하든 신경안쓰기 때문 맞을까요?

    • @User_Masuri
      @User_Masuri 11 месяцев назад

      추상화란 단어에 의미를 여쭤보신 것 맞으시죠? 지금 설명해주신 추상화란 단어의 의미는 좀 틀린 것 같아요 제가 한번 설명해드리겠습니다! 추상화란 서로 다른 객체들이 공통적으로 갖고있는 특성을 모은 것이라고 생각하시면 됩니다. 이해가 바로 안되실 것 같아 몇 가지 예를 들어드리겠습니다 1. 강아지, 앵무새, 고양이, 코끼리 등은 모두 다른 동물이만 동물의 특성 중 하나인 울음소리를 갖는다는 특징이 있습니다. 이럴경우 강아지, 앵무새, 고양이, 코끼리 객체가 가지고 있는 공통 특성인 운다()라는 함수를 갖는 일반 클래스나 추상 클래스나 인터페이스등을 만들어서 울수있는 것들에 대한 추상화를 할 수 있을 것입니다. 당연히 이렇게 되면 동물 객체들을 다루는 로직에서 운다()를 추상화하고있는 인터페이스등을 가지고 다형하게 프로그래밍할 수 있을 것입니다. 2. 네이버페이, 카카오페이, 페이코 등의 결제수단들은 아마 결제(), 환불()이란 이름의 함수로 추상화할 수 있을 것입니다. 왜냐하면 앞서 말씀드린 결제수단들은 모두 결제를 할 수 있고 그에 따른 환불도 할 수 있을 것이기 때문입니다. 이렇게 추상화 해놓고 다형성있게 로직을 작성해 놓으면 영상에서 말씀 드린 것 처럼 다른 결제 수단의 추가에 따른 코드 변경이 없어질 수 있습니다. 이런 것을 개방 폐쇄 원칙 (OCP)라고 하는데 이 부분에 대해선 한번 찾아보시면 좋을 것 같습니다. 조금 어려운 말로 정리를 한다면 세상에 있는 다양한 문제를 컴퓨터 안에서 일반되게 처리할 수 있도록 공통문보를 추출하는 것을 추상화라고 생각하시면 될 것 같습니다. 다른 질문 있으시면 편안하게 댓글로 질문 주시면 최대한 답변 드리겠습니다. 감사합니다!

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

    정말 감사합니다~~~

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

    델리만쥬 전아직도 좀 어렵네유 좀더 배워야겟습니다 ㅜㅜ C#이 정말 매력적인 언어라구 생각해용 새로운영상들 기대하겟습니다!!

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

      어느 부분이 이해가 안가시나요? 제가 보충설명 해드릴 수도 있을 것 같은데!

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

      @@User_Masuri 그런데 영상보면 static void main 진입점 없이도 실행이 잘되는데 따로 설정하신게 잇나요?

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

      @@BmoChops 안녕하세요~ static void main 함수는 Visual Studio에서 콘솔 프로젝트를 만들면 자동으로 실행되게 만들어지는 프로그램이예요! 이 부분은 Visual Studio의 콘솔 프로젝트를 만드는 것을 검색해서 보시면 이해가 되실 것 같습니다!

  • @수박이-n2w
    @수박이-n2w Год назад

    와 람다식 따로 찾아봐도 모르겠던데 이 강의로 100% 진짜 이해했어요 감사합니다.

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

      저도 영상에서 말씀드렸다싶이 람다식 이해하기 위해 많은 자료를 찾아봤던 기억이 있네요 ㅋㅋ 과거의 저와 같은 분에게 도움이 되었다고 생각하니 보람찹니다!! 영상 좋게 봐주셔서 감사드립니다!

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

    뒷통수 씨게맞은거같내여ㅋㅋ

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

      칭찬이실까요? ㅋㅋㅋ 칭찬이였으면 좋겠네요!! ㅋㅋ

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

      @@User_Masuri 당연하죠!!! 엄청 감사하죠! 목소리도 좋으시고 설명도 잘해주시고 많이 도움되는 채널 이에요~!!

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

    강의천재.. 바람이 있다면 말이 중간 중간 뭉개지는 현상, 그리고 소리가 가끔씩 작은경우가 있고, 프로그램 강의를 전체를 해주시면 좋겠습니다.

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

      좋은 의견 감사드립니다!!

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

    이분은 정말 최고의 강사임. C# 이든 언어 전체를 처음부터 강의해 주세요.. 유료강의도 듣겠습니다.

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

      유튜브 영상을 좀 올려야 하는데말이죠.. ㅋㅋㅋ

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

    강의재주가 있으신 분입니다. 마이크좀 어떻게 해봐요.. 소리가 너무 작고 뭉개져서 들립니다. 우퍼까지 써서 소리 키우고 듣습니다. 너무 좋은 자료 입니다.. GOOD

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

      앞으론 소리 키워서 녹음 하겠습니다!!

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

    와..이렇게 쉽게 설명하는 강사가 있을까??? C# 강의를 처음부터 부탁드립니다. 교수법에 재주가 있으십니다.

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

      좋은 댓글 감사드립니다 ㅋㅋㅋㅋ 웃었네요 ㅋㅋ

  • @77ILI
    @77ILI Год назад

    최공~👍

  • @77ILI
    @77ILI Год назад

    초보자라서 이해가 안되는 부분이 있는데... private 랑 readonly가 있는데도 왜 List로 반환하면, 외부에서 수정할 수 있는거죠?

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

      안녕하세요 그 부분이 헷갈리시는군요 ㅎㅎ 간단하게 설명 드리겠습니다. library class를 설계한 프로그래머가 _books에 직접적으로 접근할 수 없도록 private으로 막아둔건 사실입니다. 다만 GetBooks() 함수에서 private으로 접근하지 못하도록 해 놓은 _books변수를 외부로 그대로 리턴하기 때문에 클래스 밖에서도 접근이 가능한 것입니다. 그래서 다른 객체지향 책들에서도 모든 변수를 private으로 막는다고 캡슐화가 잘 될까요? 라는 질문으로 이러한 주제에 대해서 이야기 하기도 합니다. 질문 주신 부분은 크게 이해하기 어려운 부분이 아니니 시간이 지나시면 자연스럽게 이해가 되실 부분이라고 생각합니다! 화이팅하세용~~

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

      @@User_Masuri List로 선언하면 외부에서 _GetBooks함수를통해 결국엔 private _books로 선언한 변수에 접근할수있기때문에 캡슐화원칙을 지키지 못해서 조회만가능한 Enumerable를 사용한다구 생각하면 되나용..

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

      @@BmoChops 대댓글에 대해서는 알림이 오지 않아 답변이 늦어졌습니다! 바로 답변 드리겠습니다! 1. GetBooks()를 통해 private _books를 바로 리턴하는 것은 캡슐화 위반이다. GetBooks()를 통해서 private _books에 그대로 접근하는 부분은 캡슐화 위반이 맞습니다. 이렇게 객체 안에 있는 private 변수를 바로 리턴하면 객체 안의 상태가 밖으로 빠져나가 사용자를 통해 객체의 상태가 쉽게 조작 될 수 있는 캡슐화 위반이 되어 취약한 객체가 될 것입니다. 2. 캡슐화 원칙을 지키기 위해서 IEnumerable을 사용했는가? GetBooks()에서 private _books를 List로 리턴하나 IEnumerable로 리턴하나 정도의 차이지 캡슐화 위반에 대한 위험여지가 있다고 생각됩니다. 여기서 IEnumerable로 리턴한 이유는 영상에서 설명했듯이 데이터를 받는 측에서 조작할 수 없도록 강제하기 위해서 입니다. 이것은 이 객체를 사용하는 측에서 객체 안에서 book을 어떤 타입으로 관리하는지 알 수 없게 만들어 캡슐화를 지키는 것으로 생각할 여지는 있습니다만 이미 GetBooks() 함수로 library 객체가 가지고 있는 세세한 데이터 정보를 모두 볼 수 있는 상태이기 때문에 캡슐화 위반이라고 생각합니다. IEnumerable로 리턴한 것은 이 것에 대한 최소한의 영향을 주기 위해 데이터의 삭제나 추가를 할 수 없는 IEnumerable로 리턴을 했다고 보시는게 더 정확하실 것 같습니다! 다른 질문 사항 있으시면 언제든지 질문 또 주세요~~

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

      @@User_Masuri 이해가 됫습니다 감사합니다!

  • @77ILI
    @77ILI Год назад

    막연하게 for each 라고 알고 있었는데, 좋은 영상 감사합니다.

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

      인터페이스를 이용해서 돌아가는 로직이 여럿 있습니다. 대표적으로 using도 그렇네요 ㅎㅎ 이쪽 부분도 한번 확인해보시면 재밌으시지 않을까 싶습니다!

  • @칩칩이
    @칩칩이 Год назад

    js는 변수에 그냥 함수 할당할수 있는데 ㅉㅉㅉ, 마소빨 언어 답네

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

    다음편 언제올려주시나요?

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

      안녕하세요 ㅠ 요즘 유튜브를 안하고 있어서 ㅠㅠ 다시 다잡고 시작하게 되면 영상 올리도록 하겠습니다!

  • @심바날라
    @심바날라 Год назад

    이래서 db설계가 그만큼 중요한거임 db설계만 잘해도 코드줄수가 절반이상 줄어듬~ 프로그래머는 소스를 수정하는 생각보다는 db에서 수정하면 물흐르듯 자연스럽게 흘러가도록 예상하면서 일하는게 수월함

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

      네 맞습니다 설계도 당연히 중요하죠!! ㅎㅎ

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

    c# 시작하게 되서 찾아보다가 여기까지 왔습니다. c# 컬렉션 보다가 해쉬까지왔네요 ㅋㅋ 요즘은 영상 안올리시나요? 재미나게 보고 있습다! 그리고 거래원장에 데이트 비용은 잘못된 예시네요 여친은 상상속에 동물이기 때문이죠 ㅋㅋ

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

      안녕하세요 우선 잘못된 예시로 혼란을 드린 점 깊은 사죄 드립니다.. ㅋㅋㅋㅋ 제가 요즘 영상을 올리지 않고있긴한데.. 시간내서 좋은 주제가 있으면 영상 찍어 올리도록 하겠습니다! 감사합니다.

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

    좋은강의 감사합니다 질문이있는데 조상class a=자손class b 같은경우 말씀하신것처럼 a에는 b의 필수요소가 있으니까 a와 b에서 구현한건 쓸수있다. 는 알겠습니다만 반대로 자손class b = (자손class) 조상a 이 경우에 왜 이렇게쓰는지 멤버개수를 맞추려고 한다는데 그냥 조상 class a 를 new연산자로 받아와서 쓰면되는게아닌가요?ㅠ 이해가잘안갑니다

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

      안녕하세요! 좋은 질문입니다. 언제든지 이해가 안가시는게 있으시면 말씀 주세요! '자손class b = (자손class) 조상a' 과 같이 사용하는 경우는 이미 '조상a', '조상b', '조상c'가 만들어진 상황에서 그 각각의 객체를 '자손class'로 받아서 처리하게 되면 기능이 추가될 때 마다 코드를 변경하지 않아도 되는 코드가 되기 때문입니다. 이러한 이유로 인터페이스를 사용하고 이런 것을 객체지향에서는 OCP라고 부르는데 이쪽을 좀 더 공부해보시면 좋을 것도 같습니다. 제 영상 ruclips.net/video/TnvfaFNuF9U/видео.html 14분 정도부터 보시면 히드라리스크라는 클래스를 추가하면서 그 예를 설명드리고 있으니 한번 확인해보시면 좋을 것 같습니다. 혹시 제 답변 중에 이해가 안되시는 부분이 있으시면 언제든지 댓글 달아주시기 바랍니다. 감사합니다!