웹 개발/웹&프로그래밍
-
'마이크로서비스' 단어에 대한 오해웹 개발/웹&프로그래밍 2023. 3. 12. 20:49
우리가 보통 마이크로서비스 아키텍처 또는 마이크로서비스라고 불리는 아키텍처 스타일에서 한국말로 번역되면서 오해를 불러일으킬만한게 있다. 마이크로서비스를 영어로 표기할 때 Microservice가 아닌 Microservices가 정식 명칭이다. 정확히 말하려면 '마이크로서비스들'이라고 말해야겠지만, 한국말로 번역하면서 '들'이라는 복수 표현이 사라진듯하다. 우리나라 말 특성상, 매번 말할 때마다 마이크로서비스들이라고 말하거나 표현하기 불편해서 생략한게 아닐까? AWS, red hat 같은 공식 사이트에 번역된 글을 봐도 모두 마이크로서비스라고 적혀있다. 원래 2011년 소프트웨어 아키텍처 워크샵에서 microservice라는 용어가 사용되었는데, 2012년 이 용어를 쓴 그룹에서 microservices가..
-
왜 Null을 보고 나쁘다고 하는걸까?웹 개발/웹&프로그래밍 2022. 3. 26. 23:55
신입 때부터 관용어처럼 'null은 나쁘다'라는 말을 들어왔다. '왜 null은 나쁜가?'라는 궁금증을 가지고 있으면서도 막연히 객체, 값의 불안정함, null 처리를 위해 생기는 지저분한 코드들을 만들어내기에 나쁘다고 하는거겠지? 라며 근거없이 혼자 추측해서 짐작만 하고 있었다. 근원적인 질문에 대해 이해하고 정리해두고 싶어서 null이 왜 나쁜지 몇가지 레퍼런스들을 읽어보기로 했다. 1. Null이란 1-1. 개념 먼저 null이란 무엇인가? 영국의 컴퓨터 과학자인 Tony Hoare(토니 호어?라고 읽어야하나)가 만든 개념으로 위키백과를 참고하자면, In computing, a null pointer or null reference is a value saved for indicating that ..
-
Unit Test에 나오는 Fixture와 Mock은 무엇일까?웹 개발/웹&프로그래밍 2020. 4. 5. 12:19
Test Fixture Fixture는 '고정되어 있는 물체'를 의미한다. Junit 팀에서 말하는 테스트 픽스처란? 의역하자면, 테스트 실행을 위해 베이스라인으로서 사용되는 객체들의 고정된 상태이다. 테스트 픽스처의 목적은 결과를 반복가능할 수 있도록 알 수 있고, 고정된 환경에서 테스트할 수 있음을 보장하기 위함이다. 예시 ㅇ 목 또는 가짜 객체의 세팅이나 생성 그리고 삽입할 데이터의 준비 ㅇ 구체적이며 알고있는 데이터를 지닌 데이터베이스 로딩 ㅇ 테스트 픽스처를 만들어내는 특정 파일들을 복사하면 특정 상태로 초기화된 객체들 생성됨. Junit은 테스트 클래스들이 매번 테스트 실행 전/후 아니면 한번만 픽스처를 가질 수 있도록 애노테이션으로 제공한다.(JUnit4이 제공하는 4가지 픽스처 애노테이션:..
-
[Study] Reactive 선언문(그대로 인용)웹 개발/웹&프로그래밍 2019. 12. 26. 23:57
Webflux를 활용하려면 꼭 머릿속에 두어야 하는 내용이지만, 깜빡할 때를 대비해 아예 블로그에 그대로 가져옴. Reactive 선언문 2014년 9월 16일에 발행됨. (v2.0) 다른 분야에서 활동하는 조직들은 유사한 소프트웨어를 구축하기 위한 패턴들을 독립적으로 발견하고 있습니다. 이러한 시스템은 보다 견고하고, 탄력적이며, 유연하며 최신의 요구사항을 반영하기 쉽습니다. 최근 몇 년간 애플리케이션의 요구사항이 급격하게 변화했기 때문에 이러한 변화가 발생하고 있습니다. 불과 몇 년 전까지만 해도 거대한 애플리케이션은 수십 개의 서버로 구성되어, 몇 초의 응답 시간과 몇 시간의 오프라인 유지보수를 허용하고, 기가 바이트 데이터를 담고 있었습니다. 오늘날의 애플리케이션은 모바일 기기에서 부터 수천 개의..
-
[Programming] localhost에 도메인 이름을 붙일 수 있다고?웹 개발/웹&프로그래밍 2019. 10. 3. 16:35
쿠키 문제로 .kakao.com 도메인을 사용하고 싶었는데 localhost에 도메인이름을 붙일 수 있다! 1. 터미널에서 아래의 명령어를 입력한다. $ cat /etc/hosts 2. 그럼 이런 화면이 나온다. 3. vi로 빨간 박스의 내용을 수정해준다. (난 권한이 없어 sudo로 수정) $ sudo vi /etc/hosts 4. 내가 정하고 싶은 도메인 이름을 기입해준다. 나의 경우는 localhost를 zorba.local.kakao.com으로 지정하고 싶다. 5. 끝 - zorba.local.kakao.com으로 입력하면 localhost로 띄운 서버와 같은 내용이 나올 것이다~ localhost에 도메인 이름을 붙일 수 있다는 걸 알게 됐는데, 왜 이제까지 몰랐을까 생각해보니 이제까진 '쿠키'..
-
[Programming] lazy가 뭣이여?(lazy, lazy loading, lazy initialization)웹 개발/웹&프로그래밍 2019. 9. 29. 15:56
lazy라는 개념에 대해 정리해두면 좋을 것 같음. 내가 이해한 'lazy'의 개념: 프로그래밍에서 lazy라는 개념은 필요할 때, 바로 실행하지 않고 미루다가 필요한 순간 그때 어떠한 행위를 하겠다는 의미로 생각된다. geeksforgeeks에서 설명하는 lazy loading이란? on-demand loading으로도 불린다. 여기서 on-demand란 '요구가 있을 때는 언제든지'라는 의미이다. 온라인 콘텐츠(웹앱이나 웹사이트)의 기술 최적화이다. 전체 웹페이지를 로딩하는 것이 아니라 유저가 필요할 때까지 미루고 남겨두었다가 원하는 부분에 대해서 요구하는 순간에 로딩하는 것이다. 대표적인 예로 무한 스크롤이 있다. 웹 페이지를 유저가 내릴 때 로딩된다. lazy initialization 의미 객체..
-
티스토리 에디터 마크다운에 코드 하이라이트 적용하기웹 개발/웹&프로그래밍 2019. 4. 6. 17:44
이번 티스토리 에디터 업데이트로 티스토리에서 바로 마크다운을 작성하게 됐는데, 코드가 진한 초록색으로만 나와서.. 이유를 찾아보니 유저의 자유로운 선택 을 위해 따로 적용하진 않았다고 한다. 출처 : 티스토리 공식 사이트 그래서 코드 하이라이트를 어떻게 적용하느냐. 이 포스팅에서 사람들이 많이 사용하는 Highlight.js로 코드 하이라이트 적용하는 법을 소개하려한다. 이 곳을 들어가면 Hightligt.js를 어떻게 적용하는지 안내가 되어있는데 티스토리 마크다운에 코드 블럭만 어떻게 적용하는지만 소개해보겠다. 아래의 코드를 html에 붙이라고 하는데, 스킨 에 계속 적용해서 쓰기 위해 cdn방식으로 적용해보겠다. 먼저 관리자 창으로 들어가서 스킨편집 창에서 아래처럼 html의 사이에 코드를 붙여준다...