전체 글
-
예매, 예약 시스템에 대한 고찰 - 1프로그래밍 2024. 3. 3. 22:51
대부분의 개발자는 분산 처리와 인프라에 대해 고민할 경우가 많지 않다. 분산 처리의 경우 대부분 Message Queue라던지, 비동기 처리를 공부할 것이다. 여기서 다루고자 하는 것은 대량 접속자에 대한 처리에 대한 고민이다. 우리가 영화나 공연 또는 기차 예매 시스템을 개발한다고 하자. 예로 공연 예매 시스템을 구현한다면 어떻게 해야 할까? 일반적인 개발자는 모든 서버와 인프라를 하나의 시스템으로 간주한다. 즉, 모든 시스템은 동일한 역활을 수행하는데 있어, 특정 영역이나 구분 없이 모두 공통적인 기능을 수행하는 시스템을 구축하게 된다. 이러한 경우 대량 접속자 또는 처리에 취약할 수 밖에 없다. 특히 도메인과 많은 연관성이 있는데 그림으로는 아래와 같다. 위와 같은 예매 좌석이 있다고 하자. 각 구..
-
좋은 관리자 UI란?칼럼 2024. 2. 27. 00:06
개발자는 언제나 화면을 만든다. 언제나 개발자 곁에는 GUI 도구들이 있었고 사용자를 위해서는 UI가 필요하다. 그렇다면 좋은 관리 UI란 무엇일까? 먼저, 화면 동작에 대한 시나리오이다. 목록 ----------------> 상세 -------------------> 입력 | | | -------------------------> 수정 | | | -------------------------> 삭제 -----------------------> 삭제 모든 화면은 목록을 통해서 진입해야 한다. 그림으로는 아래와 같다. 물론 모든 화면이라는 표현이 맞지는 않지만 일반적으로 위와 같은 시나리오 이다. 상세는 어떨까? 상세는 RTL에 따라 우측 상단과 하단에 각각 버튼이 배치 된다. 상단 우측에 배치되어야 하는..
-
RTO(Return to Office)는 회사 가치를 향상시키지 않고 직원을 비참하게 만듭니다.칼럼 2024. 2. 26. 17:23
원문 : RTO는 회사 가치를 향상시키지 않고 직원을 비참하게 만듭니다. 아르스 테크니카 (arstechnica.com) RTO doesn’t improve company value, but does make employees miserable: Study Data is consistent with bosses using RTO to reassert control and scapegoat workers. arstechnica.com 데이터는 RTO를 사용하여 통제권을 강화하고 작업자를 희생양으로 삼는 상사와 일치합니다.
-
왜 회사는 망할 수 밖에 없는가?칼럼 2024. 2. 26. 15:11
Why software projects fail (vadimkravcenko.com) Why software projects fail Some of you know that I work in the agency business — how that translates to my technical experience is that I used to work on many highly different vadimkravcenko.com 우리는 알고 있다. 바로 게으른 사람들 때문이라는 것을... 대부분의 IT 서비스를 개발하는 회사는 90%의 확율로 망한다. 커머스, ERP, CRM, 솔루션 등을 개발하는 회사는 왜 망할 수 밖에 없는가? 아래의 조건에 2개 이상 부합한다면 망한다. 회사에 전문가가 있는가? ..
-
ASP.NET MVC에서 ASP.NET CORE MVC + WEBAPI의 여정 - 파트2프로그래밍 2024. 2. 16. 13:56
이제 MVC 대신 BLAZOR SPA를 할 차례 입니다. .NET을 사용하는 Web project들은 대부분 MVC로 구현된다. 또는 현대적 어플리케이션을 작성한다면 대부분 react, vue를 사용하고 있으리라. (angular는 사랑받지 못하고 있다...) 그럼 왜 Blazor를 추천하는가? 파트1에서 대부분의 개발자가 Winform을 거쳐왔다고 이야기 하였다. 그러나, 특이 케이스들이 있으니, WPF, Sliverlight를 개발해본 개발자들이 되겠다. WPF는 간단히 말해서 마크업 기반으로 UI 프로그램을 작성할 수 있는 UI프레임워크가 되겠다. 그렇다, WPF 마크업이 HTML의 마크업과 유사(?)하기에, 또한 MVC를 거치며 모델화하는 프로젝트를 경험한 개발자에게 유용한 Blazor는 .net..
-
ASP.NET MVC에서 ASP.NET CORE MVC + WEBAPI의 여정 - 파트1프로그래밍 2024. 2. 15. 15:02
이제 과거의 유산을 걷어내고 새로 스택을 쌓을 시간 입니다. ASP.NET MVC와 ASP.NET CORE MVC는 상당한 간극이 있다. 대표적으로 HttpContext를 사용하는 방법에 있다. ASP.NET MVC의 HttpContext는 Application에서 전역 객체에 속한다. 아래와 같이 설명할 수 있다. Request (Browser) ----> IIS - Create Application Thread (at ThreadPool) ---> ASP.NET MVC Pipeline ----> Find route to Controller 또한 ASP.NET MVC에서는 별도의 의존성 주입이 기본으로 없으므로 대부분의 코드가 HttpContext를 직접적으로 사용하고 있다. 코드로는 아래와 같다. p..
-
애플은 PWA를 죽이고 싶어합니다.IT News 2024. 2. 15. 13:41
원문 : Apple은 PWA를 죽이고 싶어합니다. 이제 그 어느 때보다 명확해졌습니다 | by 대니 뫼르케르케 | 2024년 2월 | ITNEXT (주)아이티넥 Apple Wants To Kill PWAs It’s now more clear than ever itnext.io 실버라이트와 Flash도 애플이 죽였습니다. 상황이 더 나빠질 수 없다고 생각했을 때 Apple은 iOS 17.4 베타 릴리스에서 PWA를 비활성화하기로 결정했습니다. 처음에는 이것이 베타 릴리스에서 드문 일이 아닌 버그라고 생각했지만 PWA가 비활성화되었음을 나타내는 팝업을 보여주는 이 트윗을 보았습니다. 수년 동안 Apple은 경쟁 브라우저가 Webkit 엔진에서 실행되도록 요구한 다음 핵심 기능을 구현하는 것을 거부하여 iOS..
-
로그인을 구현하시나요? 당장 Session사용을 멈추세요.프로그래밍 2024. 2. 15. 13:27
Session 객체에 로그인 정보와 유무를 담지 마세요. 빌드 후 다시 로그인 하시겠습니까? 웹 개발을 할때 가장 좋지 못한 계정 관리 케이스가 무엇이냐고 물어 본다면 아래와 같다. "로그인 상태를 Session으로 처리하려고 할때이고 이 말은 빌드할때마다 로그인을 다시 해야 된다는 이야기다." 그럼 어떻게 처리해야 할까? 우리는 JWT가 있음을 알고 있다. 또한 JWT에 Claim정보를 넣을 수 있다는 것도 알고 있다. Claim정보에 사용되는 것들은 대부분 규격화 되어 있다. 따라서 해당 규격에 맞게 JWT를 생성해서 Client(Browser)에서 보관하고 있어야 한다. 그것이 쿠키가 되었든 로컬스토리지가 되었든 말이다. 그럼 서버측에서는 어떻게 로그인 되었는지 알까? JWT는 암호화되어 발행되고 ..