%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4

2018-09-22
Blazor와 C#으로 풀스택 웹 개발하기 Blazor — Full-stack web development with C# and WebAssembly 웹 어셈블리는 웹 프론트엔드 관련 기술들 중에서도 가장 넓은 범용성을 발휘하는, 비교적 최근에 태동한 새로운 기술입니다. 계속해서 우리나라 안에서는 논란이 되고 있는 ActiveX 기술이나 Java Virtual Machine이나 Adobe Flash 같은 Rich Internet Application, 혹은 Google의 NaCl (Native Client) 같은 기술을 연상하게 하는 측면도 있습니다. 그렇지만 이전과 달리 웹 어셈블리는 Microsoft, Google, Firefox, Apple 등 업체를 가리지 않고 모두가 공통적인 스펙을 지원하도록 생태계가 만들어지고 있으며, 이전처럼 특정 업체가 본인들의 이상향만을 무리하게 밀어넣지 않도록 한다는 점에 있어서 다르다고 할 수 있습니다....
2018-09-22
- Prologue 안녕하세요. IntelliJ + Spring MVC 글을 썼었던 김대희입니다. 이번에는 Cloud Service , Web Hosting을 이용해 본 저의 경험 및 공부했던 이론에 대해 설명드리고, 그 이후  Azure를 이용한 저의 Portfoilo Site 구축 과정 및 소스에 대해 설명을 드리는 글입니다. 설명할 블로그는 친구와 함께 대학교 4학년때 만들었던 것인데, 현재는 저 혼자 이 사이트를 관리하고 있습니다. 해당 사이트의 구조는 Azure + .Net + XML을 바탕으로 만들어진 블로그이며, 현재도 계속 관리하고 있습니다. Azure를 쓰지 않았던 분들도 한번 이런식으로 나만의 포트폴리오 사이트를 만들어 보시는 것도 좋을 것 같아 적는 연재글입니다....
2018-09-17
'|' 기호를 이용해서 발생시간, 출발지, 목적지, 출발지포트, 목적지포트, 공격명, 원본로그 필드를 구분하는 로그가 있다. 자고로 로그는 테이블 구조에 우겨 넣어서 분석해야 제 맛. 그런데 원본로그 필드가 3개로 나눠졌네? [caption id="attachment_19124" align="aligncenter" width="600"] 첫번째 필드[/caption] [caption id="attachment_19125" align="aligncenter" width="600"] 두번째 필드[/caption] [caption id="attachment_19126" align="aligncenter" width="600"] 세번째 필드[/caption] 로그를 다시 보니 OR 연산자로 사용된 '||' 기호가 확인된다. 결과적으로 원본로그가 3개 필드로 쪼개짐....
2018-09-13
* 아직 소프트웨어를 모르는 대한민국 기업의 위기 를 읽지 않으신 분은 이를 함께 읽어주세요. 얼마전 주 52시간 근로 제도 논쟁 [1] 이 있었습니다. 그 중에서 특별히 ICT 업종은 예외를 인정해준다는 정부의 방침이 기사화 되면서 페친들의 비난이 줄을 이었습니다. 사회생활 초기부터 늘 스스로 야근을 했던 제 입장에서는 근로 시간에 대한 규정은 관심 밖의 영역이지만, 소프트웨어 업계에서 근로 시간이 쟁점이 된다는 사실은 씁쓸하기 이를 데 없습니다. 그래서, 이 글에서...
2018-09-06
이 글은 읽기 전에 이전 글까지 모두 읽을 필요는 없습니다. 다만 맥락을 이해하기 위해서 1편 은 미리 읽는 편이 좋습니다. REST 기반의 간단한 분산 트랜잭션 구현 -1편 TCC 개관 REST 기반의 간단한 분산 트랜잭션 구현 - 2편 TCC Cancel, Timeout REST 기반의 간단한 분산 트랜잭션 구현 - 3편 TCC Confirm(Eventual Consistency) REST 기반의 간단한 분산 트랜잭션 구현 - 4편 REST Retry 지난 글까지는 REST 기반의 분산 트랜잭션 구현 방법 중 하나인 TCC Try-Confirm/Cancel 를 다루었다. 분산 환경에서는 네트워크 오류나 일시적인 서비스 중지 등으로 인해 일시적으로 REST 요청이 실패할 수 있다. 이러한 문제는 REST 요청을 재시도...
2018-08-22
JPA(하이버네이트)로 개발하다 보면 JPA가 자동으로 만들어 실행하는 SQL문을 확인하고 싶을 때가 있다. 이 글은 스프링 부트와 JPA를 함께 사용하는 환경에서 SQL문을 로깅 Logging 하는 방법을 소개한다. 예제 프로젝트 이해를 돕기 위해 간단한 스프링 부트 + JPA 예제 프로젝트를 만들고 SQL문 로깅을 추가해 보자. 예제 프로젝트는 스프링 부트에서 제공하는 부트스트랩 Bootstrap 도구인 SPRING INITIALIZR 로 프로젝트를 만든다. 의존성으로 JPA와 별도로 데이터베이스 설치하지 않고 사용할 수 있는...
2018-08-09
1부에서는 기술블로그 구독서비스(이하 서비스)를 왜 만들게 되었고 어떤구조로 만들가에 대해 이야기를 해보았다면, 이번 포스팅에서는 만들면서 만나게 된 각종 트러블슈팅 종합세트(?) 를 하나씩 풀어보고자 한다.  물론 개발을 하면서 아무 문제 없이 잘 되면 당연히 좋겠으나 잘되도 이상한게 개발이라는 세계가 아니던가. 잘 안되면 문제, 잘 되도 문제 ㅠㅠ, 출처 : https://www.clien.net/service/board/park/9111495 1부 : 왜 만들게 되었는가 그리고 어떤 구조로 만들었는가...
2018-08-09
요즘 일상에서 가장 많이 쓰는 도구는 Dooray 서비스 다. 지난 번에 지극히 개인적인 활용을 다룬 글 을 올리긴 했지만, 두레이의 일반적인 쓰임새는 개인 작업 관리용이 아니라 협업 도구다. 약 19개월정도 써온 사용자 1) 로서 두레이를 쓰면서 이 점은 좋으니 널리 알리고 싶다 거나 이렇게 써보면 좋겠다 고 느낀 내용을 몇 가지를 써본다. 화면 기획서를 공유하며 다자간 협업 이끌어내기 하위 작업을 통해 주 단위 작업 흐름 만들기 태그 그룹을 이용해 개발 단계 표현하기...
2018-08-09
해당 코드는 Github 를 확인해주세요. Properties 설정값을 가져오는 다양한 방법들이 있습니다. 방법이 많다 보니 좋지 않은 패턴으로 사용하는 예도 흔하게 발생합니다. 안티 패턴을 소개하고 이것이 왜 안 좋은지 간단하게 소개하고 제가 생각하는 좋은 패턴도 소개해드리겠습니다. properties properties 설정은 위와 같습니다. 참고로 .yml 설정 파일입니다. 안티패턴 : Environment 일반적으로 가장 쉬운 Environment를 활용한 방법입니다. 많은 것들 생각하지 않고 properties에 정의된 것을 key 값으로 찾아옵니다. 위의 Environment 이용해서 properties에서 설정을 가져오는 것은 편하지만 단점들이 있습니다....
2018-08-06
REST 기반의 간단한 분산 트랜잭션 구현 -1편 TCC 개관 REST 기반의 간단한 분산 트랜잭션 구현 - 2편 TCC Cancel, Timeout REST 기반의 간단한 분산 트랜잭션 구현 - 3편 TCC Confirm(Eventual Consistency) REST 기반의 간단한 분산 트랜잭션 구현 - 4편 REST Retry 지난 글 에서는 TCC Try-Confirm/Cancel 에서 'Confirm 하기 전에 실패하는 경우' 일관성을 유지하기 위한 방법으로 Timeout과 Cancel을 이야기했다. 그리고  휴리스틱 예외를 언급하면서 결과적 일관성 모델을 간단하게 소개하였다. 이번 글은 결과적 일관성 모델을 사용하여 'TCC Confirm 중에 실패하는 경우' 일관성을 유지하는 방법에 대해 다룬다....
더보기