728x90

전체 글 21

일반인의 Flutter 앱개발 11. Dart(async Returnung Future, Stream, Listen, asBroadcastStream)

cont. Asynchronous Programming 지난번 10번 포스팅에 이어 같은 영상이다. 요새 드는 생각이 확실히 1강 2강 때보다는 좀 더 상위단계 같은 느낌이 나는 것 같다. 그렇지 않은가? 나만 그런가 ㅋㅋㅋ 재미도 없고 인기도 없는 글을 읽어주는 당신께 박수를 보낸다. 오늘 이번 영상 끝내고 내일부터는 함수 파먹을 거니까 각오하라 더보기 아 미안하다 방금 밑에서 올라왔는데 다음 포스팅으로 넘어간다^^ Returning Future 리터닝 퓨처라... 느낌상 어려울 것 같지 않다. 해보고 어려우면 밑에서 사과하겠다. 지난번에는 Future를 Void로 리턴받았었는데 이번에는 값을 리턴 받는 방법을 배워보자. 지금 addNumbers라는 놈은 리턴하는 값이 Void인데 이놈이 'number..

일반인의 Flutter 앱개발 10. Dart(비동기 프로그래밍 Asynchronous Programming, await, async, Future, CPU Thread)

기나긴 Class가 끝났다. 이제 얼마 안 남았나? 나도 앱 개발할 수 있는 건가? 오늘은 비동기 프로그래밍이라는 건데 아무 감도 안 온다. 이 글이 포스팅됐다면 나 같은 사람도 이해한 거니까 여러분도 할 수 있다. CPU Thread 작동원리 이야 이런 것도 알아야 하는구나. CPU 살 때 보면 저 네모 박스처럼 스레드라고 나오는데 이제 말하고자 하는 게 저 스레드이다 스레드는 CPU가 작업을 하는 가장 작은 유닛이다. 어떤 작업을 시키면 스레드가 하나 붙어서 그걸 작업해주는 거다. 이제 그림을 보자. 강의 일부분을 캡처했다. CPU에서 작업을 시작하면 해당 작업이 완료될 때까지 1개의 Thread는 사용이 불가하다. 이것이 기본 작동원리다. 그런데 문제는 서버에 작업을 요청했을 때 일어난다. 작업 1..

일반인의 Flutter 앱개발 9. Dart(Class static, interface, abstract, generic, OOP)

기초는 얼마나 남았을까? 앞으로 보려고 하는 영상이 2강 남았다. 지금 보는 이 영상도 오늘 포스팅이 끝나면 끝날지도 모르겠다. 제발 새벽 근무라 첫 문장 쓰고 잠깐 눈 붙이고 왔더니 2시간이 지나있었다. 쓸데없는 라임이 떠올라 끄적였으나 부끄러워 접어뒀다. 나의 부끄러움이 당신의 부끄러움으로 되지 않을 것 같다고 자신하는 사람만 열어보길. 더보기 잡설은 각설 이제는 본론으로 예썰 Static 당신이 항마력이 있던 없던 Static은 배워야 한다. 바로 예를 들면서 시작해보자. 우리는 미래에 사장님이 될 거니까 오늘은 사장님이 되어 아르바이트생을 관리하는 클래스부터 시작한다. 주석에도 달아놨듯이 'static은 instance에 귀속되지 않고 class에 귀속된다'.라고 써놨는데 이제 이런 글을 봐도 느..

일반인의 Flutter 앱개발 8. Dart(Class : 상속 Inheritance, Override)

이번 강의 엄청 강조했다. OOP의 꽃 같은 상속이다. 상속(Inheritance) 상속을 얼마나 잘 쓰느냐에 따라 코딩의 퀄리티가 달라진다고 하니 개념을 잘 잡고 가자. 상속(Inheritance) 기본적으로 부모님이 자녀에게 상속을 할 때는 부모의 모든 것이 자녀에게 가는 개념인데 코딩에서도 마찬가지로 적용된다. 부모 클래스의 모든 속성을 자식 클래스가 부여받는다. 자식 클래스의 속성은 부모 클래스에 부여할 수 없다. 오늘의 뼈대는 이놈에서 시작한다. 아이돌이라는 부모 클래스에서 남돌, 여돌 클래스로 상속하며 연습을 할 것이다. 남돌 자녀 클래스 자 이제 대망의 자녀 클래스를 생성해 보자. 자녀 클래스의 이름은 BoyGroup이고 상속받고자 하는 부모 클래스는 extends 다음에 지정해주면 된다. ..

일반인의 Flutter 앱개발 7. Dart(Class, getter, setter, private)

오늘은 getter, setter부터 배우고 시작해본다. 맘 같아선 바로 건너뛰고 앱 개발 뛰어들고 싶지만 개발하다 보면 어차피 다시 공부하러 올 거 같다. 프로그래머 형님들이 그 많은 것들 중에 이걸 배우라고 강의 까지 해놓으신 걸 보면 이유가 있지 않을까? Getter(데이터를 가져올 때) 어렵지 않은 놈이니 가볍게 접근해보자. Getter를 배우기 위해 Idol Class를 베껴 만들어 보았다. 선언은 어렵지 않은데 중괄호를 써야하는걸 주의하면 되겠다. 이제 이걸 테스트 해보자. 22년에는 레드벨벳이 아니라 블랙핑크가 좋아지셨나 보다. 블랙핑크와 BTS의 첫 번째 멤버를 출력해보면 첫번째 리스트에 들어있는 멤버들 (지수, RM)이 잘 출력된 걸 확인할 수 있다. 리스트는 첫 번째가 0부터 시작한다 ..

일반인의 Flutter 앱개발 6. Dart(Class, Named Constructor)

오늘도 Class를 뜯어먹어 보자 네가 애플리케이션을 만들 거면 무조건 Class를 쓸 것이다. 라는 느낌이 온다. 강하게 온다. 아무것도 모르는 코린이지만 이 Class라는 틀이 있어야 유저 정보도 집어넣고 할 수 있을 것 같은 너낌? 그리고 이 기본기 익히고 나면 바로 앱 개발 도전해봐야겠다. 글씨만 보니까 지치는 감도 있고.. 여러 훌륭한 코딩 선배님들이 만들어놓으신 오픈소스들을 이용하면 조금... 그나마 수월하지 않을까(제발) Named Constructor 이런 방법으로도 Constructor를 인스턴스화 시킬 수도 있다는 걸 보여주는 예제인데 많이 쓰인다고 하니 꼭 알아두자. 어렵지도 않다. 코드팩토리님 강의로 하나하나 따라가 보자 기본 틀은 아래와 같다. 이제 여기다 살을 붙여가며 하나씩 해..

일반인의 Flutter 앱개발 5. Dart(Class, Named parameter)

대망의 Class를 배우는 날 평소대로 더코딩파파님의 강의로 듣는데 도저히 이해가 안 됐다 ^^ 코딩 인생 3일 차에 처음으로 난관에 부딪혀서 공부를 그만두고 10분간 쉬어줬다. 휴식 후 코드팩토리 채널의 강좌를 들어보았으나 더 방대한 내용에 좌절감을 맛보았다. 3일 만에 포기할 수 없기 때문에 눈물을 머금고 한 걸음씩 걸어가 보기로 했다. ㅠㅠ 오늘 Class는 더코딩파파님과 코드팩토리님의 강좌를 같이 녹여서 이해해 봐야겠다. Class가 뭐냐 대체 OOP(Object Oriented Programming) - 객체지향 프로그래밍에서 굉장히 중요하게 여겨지는 게 이 클라쓰라는 거다. 응 이것도 무슨 말인지 하나도 모르겠고 나중에 알게 될 것이라고 하니 '그렇구나' 하고 넘어가본다. Class는 비슷한 ..

일반인의 Flutter 앱개발 4. Dart(String, Library, Final, Const, List, Set, Map)

이번엔 좀 가볍다! 물론 제대로 파고들면 더 많은 내용이 있겠지만 이 정도만 알고 넘어가면 되겠다 싶은 내용이라 할만했다. 어떤가? 지난번 Control Flow 보다 훨씬 간단해 보이지 않는가? 이미 우린 그만큼 성장했다고 우겨보자. 믿어보자. 라이브러리(Library) 아 이것은 또 무엇일까? 이건 dart:math라는 라이브러리를 math라는 이름으로 쓸 수 있게 추가한 것이다. 내가 아는 라이브러리는 도서관인데 도서관은 온갖 종류의 문서, 도서, 출판물 등을 볼 수 있게 모아둔 곳이지 않은가? 코딩 세계의 라이브러리는 내가 필요하다고 생각하는 코딩을 누군가가 미리 해놓아서 그걸 갖다 쓰게 해주는 것이다. 지난번에는 짝수를 걸러내는 함수를 코딩했었는데 이것을 내가 직접 하지 않고 누군가가 만들어놓고..

일반인의 Flutter 앱개발 3. Dart(Control flow, If, For, bool)

오늘은 Control flow에 대해서 살펴보자. Control flow 아 뭔가 벌써 복잡하다 색도 다양하고 문장도 길어진다. 하지만 우리는 앱 개발자를 할 것이기에 포기하지 말고 해내 보자! 코포자(코딩포기자)인 내가 이해했으면 당신도 당연히 할 수 있다! Bool 보자보자 어디 보자. bool은 해당 함수를 true or false 값으로 리턴하는 놈이다. 뭘 하던 결과는 Yes or No로 간단히 나온다는 말이다. 함수 이름이 귀엽다 '이거 짝수인가?' 이런 느낌이다. int x를 입력받아서 짝수인지 아닌지 골라내는 함수를 만들고 싶은 거다. IF 어려운 거 같은데 생각보다 쉽다. If 말 그대로 만일에~라고 해석하면 된다. 코딩에서 나누기는 '%'로 표시하고 값이 같은지 비교할 때는 '=='로 ..

일반인의 Flutter 앱개발 2. Dart(함수)

이제 fuction에 대해서 다시 배워보자. 빨간색 동그라미 친 부분을 function으로 바꾸면 예시가 나온다. Comment 기능 1번 줄 짝대기 두 개 '//' 이건 코멘트라는 건데 프로그래밍할 때 컴파일러가 이 부분은 무시하고 프로그램으로 만들어준다. 부가설명을 하기위해 사용한다고 보면 된다. //이건 한 줄만 적용이 되지만 이렇게 /*이 사이에 할말을 적자*/ 를 이용하면 여러 줄을 코멘트로 바꿔 버린다. 함수 뜯어보기 int timesTwo()라고 함수를 선언했다. 이 함수는 실행하고 나서 결괏값을 int(이거 뭔지 헷갈리면 이전 포스팅 참고)로 리턴한다는 말이다. timesTwo(int x) 여기서의 int는 함수안에 x라는 값을 받아서 넣을 건데 이 값이 int의 형태로 들어갈 것이라는 말..

728x90