전체 글

전체 글

    devfest 2023 - signalr_netcore

    https://github.com/atawLee/devfest2023.git 관련소스는 여기서 확인 가능합니다. SignalR SignalR은 실시간 웹 통신기능을 사용하기 편하게 만든 라이브러리 입니다. 기본은 WebSocket방식이지만 Long Polling등의 방식도 지원합니다. SignalR은 닷넷기반 라이브러리이므로 사용하려면 닷넷 서버여야 합니다. 서버측은 닷넷에 종속되어있지만 Client로는 닷넷뿐만 아니라 js,python,dart등을 지원하는 라이브러리들이 많습니다. 이번 devfest에서 소스에서 signalR에 대한 내용을 약간 넣었는데 해당 부분에 대한 질문을 하신분이 계셔 포스트를 작성하게 되었습니다. 이포스트에서는 SignalR 서버를 구축하는 방법을 살짝 살펴보고 플러터 sig..

    2023 회고

    참여한 행사 코드인송도 2022 올해의 시작은 작년에 시작 된 Flutter Songdo의 이벤트로 부터 시작했습니다. 팀원으로 참여했고, 사이즈가 작고 수익이 없는 앱이지만 천원의 행복이라는 앱을 만들면서 피그마와 클린아키텍처에 대해서 접근할 수 있었고, 모바일 앱 개발자가 아닌 제가 앱에서 중요하게 생각하는 것들에 대해서 조금이나마 접근해볼수 있었던 시간이었습니다. WPF 스터디 이전부터 제가 하는 Window Application 부분에 대해서 조금 더 잘하고 싶은 마음과, 어떻게 해야 좀 더 구조적으로 구성을 잘 해서 다음에 보더라도 수정이 좀 더 용이하게 개발을 할 수 있는가에 대한 고민이 컸습니다. 그래서 MVVM과 WPF에 대해서 깊게 배우고 싶었지만, WPF는 오래된 프레임워크와 기술이지만..

    EF Core 시작하기(1) - ef core 패키지 설치, DB 연결

    EF Core 시작하기(1) - ef core 패키지 설치, DB 연결

    EF Core EF Core는 닷넷의 ORM도구인 Entity Framework를 오픈 소스 플랫폼 교차 버전으로 만든 것 입니다. Entity Framework가 visual studio 환경에 종속적이고 GUI환경에 윈도우창으로 나오는 설계 도구를 사용해서 사용했다면, EF Core는 Cli기반이므로 Visual sutdio를 사용할 수 없는 리눅스나, 맥에서도 터미널을 통해서 사용할 수 있습니다. 이 포스트에서는 DBMS로 MySql을 사용하고 있고, docker를 이용해서 로컬에 설치하고 진행했습니다. IDE는 Rider를 사용하였습니다. 맥이나 리눅스에서도 동일하게 사용할 수 있습니다. 이부분은 포스트에서는 생략합니다. dotnet tool 설정 dotnet sdk가 설치되어 있다면 터미널에서 ..

    오픈소스 스터디 회고 : Polly - PR부터 Merge까지

    오픈소스 스터디 회고 : Polly - PR부터 Merge까지

    10월 1일에 GDG Songdo에서 진행된 오픈소스 스터디 2기에 참여하였고 스터디를 통해서 App-vNext/Polly: Polly is a .NET resilience and transient-fault-handling library that allows developers to express policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner. From version 6.0.1, Polly targets .NET Standard 1.1 and 2.0+. (github.com)에 PR을 올리고 제가 올린 기능이 오늘(23-11-08) Merg..

    bloc 중첩 사용해서 일부만 랜더링 시키기

    BLoC 패턴 [https://blog.arong.info/flutter/2023/01/10/Flutter-BLoC-%ED%8C%A8%ED%84%B4-1.html] 블록 관련해서는 밍님의 위 시리즈를 보시면 매우 정리가 잘되어있습니다. bloc 패키지의 사용상 요점은 스테이트별로 클래스를 만들고 특정뷰에서 사용되는 블록/큐빗을 통해서 emit될때 스테이터스의 변경사항을 view에 적용하는 것이 핵심입니다. 개발중 커스텀카드를 이용해 리스트빌더를 카드의 favorite icon을 클릭하면 favorite상태를 변경시키고 다시 리스트를 favorite 한 항목에 대해서 다시그려줘야 하는데 페이지별로 cubit을 사용하게되면 페이지 전체를 다시랜더링 해야하므로 낭비라고 생각하게 되었습니다. 따라서 리스트빌더 ..

    생성자 초기화, explicit

    생성자 관련해서 다른언어와 거의 같았다면 흘려보고 말생각 이었는데 생각보다 C++는 문법적으로 제 생각보다 더 다양한 부분이 있어서 오늘도 정리하게 되었습니다. 생성자 초기화 주의사항 #include using namespace std; class Position { public: Position() : _x(10), _y(10) { Print(); } Position(int n) : _x(n),_y(n) { Print(); } void Print() { cout

    C++ 포인터와 레퍼런스

    6일간의 연휴간 C++을 익히는 시간을 가졌습니다. 10년전에 처음 프로그래밍을 배울때 가장 어려웠던 C의 포인터 개념을 다시 한번 되새기고 남기려고 이 포스팅을 남깁니다. void 포인터 타입과 상관없이 포인터를 생성합니다. nullptr은 비어있는 포인터 변수를 만들때 넣습니다. void* pointer = nullptr; 포인터 할당 int value = 100; int* ptrValue1 = &value; 포인터는 다른 변수의 주소값을 할당해서 지정합니다. int value = 100; int* ptrValue1 = &value; int* ptrValue2 = ptrValue1; 혹은 다른 포인터를 그대로 지정하여 사용할 수 있습니다. 여기서 &value 와 같이 변수앞에 &이 붙는 경우는 변수의..

    Blazor Server로 풀스택 웹어플리케이션 만들기(1) - Blazor Server란?

    Blazor Server로 풀스택 웹어플리케이션 만들기(1) - Blazor Server란?

    이 시리즈에서는 블레이저 서버를 이용해서 풀스택 웹어플리케이션을 만드는 내용을 다룹니다. C# Blazor란? C#과 razor 컴포넌트를 이용해서 프론트엔드를 구성할 수 있습니다. C#에서는 ASP.NET Core라는 강력한 백엔드 프레임워크가 이미 있기 때문에, 프론트엔드와 백엔드 모두를 C#으로 작성할수 있습니다. Blazor 프로젝트 템플릿은 두가지로 나눌 수 있습니다. Blazor WebAssembly Blazor WebAssembly는 말그대로 WebAssembly 프로젝트입니다. 브라우저에서 wasm으로 빌드 된 닷넷 런타임을 실행시키고 C#코드를 실행시키는 방식으로 구동됩니다. 따라서 Blazor Wasm도 Asp.net core 서버와 코드를 공유할수 있는 큰 장점이 있습니다. 언어를 전..