전체보기(316)
-
크라우드디어(Crowddeer) 서비스를 오픈했습니다.
Crowddeer 기간 2020.12.01 ~ 진행중 찾는 사람은 많이 없는 블로그이지만 그동안 혼자 만든 서비스를 오픈하게 되어 공유드리고자 홍보 글을 씁니다. 크라우드디어라는 서비스입니다. 놀러오셔서 구경해주시면 감사하겠습니다. https://crowddeer.com/ Crowddeer Crowddeer crowddeer.com 크라우드디어는 누구나 만들 수 있는 커뮤니티 서비스입니다. 크라우드디어는 포탈에 독립적인 서비스입니다. 본인만의 크라우드를 개설하고 키워나가보세요. 왜 만들었을까? 프로젝트의 시작은 뜬금없지만 BTS 에서 시작했습니다. 방탄이 세계적인 그룹이 되면서 해외 팬들이 많아졌는데, 팬카페인 아미는 '다음'이라는 포털에 있었습니다. "그럼 해외 팬들은 팬카페에 가입하려면 다음이라는 포..
2021.06.22 -
테코톡 정리
유투브에서 재미있는 채널을 발견해서 정리합니다. Proxy Proxy 서버 대신 처리하는 서버, 클라이언트와 서버 사이에 있는 중계 서버, 캐시 / 보안 / 트래픽 분산의 이점이 있음 Forward proxy 일반적으로 말하는 proxy 클라이언트 - 포워드 프록시 - 인터넷 - 서버에 위치 캐싱에 이점이 있다. 서버에 포워드 프록시가 요청한 것 처럼 요청이 가기 때문에 익명성에 이점이 있다. ex. 프록시 서버를 설정한다. ex. 해커가 IP 추적 방지를 위해 프록시를 썼다. ex. 외국에서 접속하는 것 처럼 테스트하기 위해 프록시 서버를 써라 ex. 인터넷 서버 속도를 높이기 위해 프록시 서버 설정을 해줘라 Reverse proxy 클라이언트 - 인터넷 - 리버스 프록시 - 서버에 위치 포워드 프록시..
2020.10.13 -
Firetorch
Firetorch 소개 Firetorch 는 파이어베이스 만으로 프론트엔드와 백엔드를 구현하고자하는 팀을 위한 퀵스타트 템플릿입니다. Firebase 가 불이니까 불을 쉽게 전달해주는 템플릿이 되자해서, 이름을 횃불, firetorch 라고 지었습니다. 깃허브 : https://github.com/kok202/firetorch 프론트엔드와 백엔드가 같이 구현 되어있으며 아래와 같은 간단한 시나리오를 구현하고 있습니다. 이메일 가입 이메일 로그인 회원 정보 기입 (Unique nickname) 회원 정보 조회 회원 정보 수정 로그아웃 프론트엔드 특징 프론트엔드에서 Firestore 에 직접적으로 통신하는 것을 지양합니다. 프론트엔드 모듈에는 아래와 같은 모듈들이 설치되어있습니다. React Typescri..
2020.08.26 -
리팩토링 2판 - 01
기능 이동 좋은 소프트웨어 설계의 핵심은 모듈화 얼마나 잘 되어 있는지다. 객체 지향 프로그래밍의 핵심 모듈화 컨텍스트는 클래스다. 모듈성이란 프로그램 어딘가를 수정하려 할 때 해당 기능의 작은 일부만 이해해도 가능하게 해주는 능력이다. 프로그램 상당 부분이 동작을 구현하는 코드로 이뤄지지만 프로그램의 진짜 힘은 데이터 구조에서 나온다. 관련된 코드들은 가까이 모여있으면 좋다. 관련된 코드가 모여있다면 함수 추출이 쉬워진다. 필드와 함수가 적절한 위치에 있는 것이 좋다. 하지만 추상화 라는 것은 일반적으로 그 경계를 긋기가 힘들다. 그래서 코드 베이스의 기능범위가 달라지면 추상화의 경계가 움직인다. 함수 관점에서 생각해보면 초기에는 응집도가 높고 한가지 일만 수행하던 함수가 어느새 둘 이상의 다른 일을 ..
2020.04.30 -
리팩토링 2판 - 00
다음 책을 읽고 정리합니다. http://www.yes24.com/Product/Goods/89649360?scode=032&OzSrank=1 리팩터링 2판 개발자가 선택한 프로그램 가치를 높이는 최고의 코드 관리 기술마틴 파울러의 『리팩터링』이 새롭게 돌아왔다.지난 20년간 전 세계 프로그래머에게 리팩터링의 교본이었던 『리팩토링』은, 기존 코드의 디자인을 개선하고 소프트웨어 유지 관리 능력을 향상시켰으며 기존 코드를 이해하기 쉽게 만드는 데 도움을 주었다. 간절히 ... www.yes24.com 리팩토링 전통적인 소프트웨어 개발 방법에서는 완벽한 설계를 만들고 코드를 짜려하였다. 그러나 완벽한 설계라는 것은 존재하지 않는다. 시간이 흐르면서 코드는 수정되고 시스템의 무결성은 망가진다. 또한 구조도 엉망..
2020.04.27 -
GC
GC 자바에서는 메모리를 GC 알고리즘을 통해서 관리한다. 따라서 개발자가 메모리 처리 로직을 만들 필요도 없고 만들어서도 안된다. GC 는 런타임 데이터 영역중 Heap 영역이 대상이 된다. GC 가 제대로 동작하지 않으면 메모리가 가득차서 JVM Hang 이 걸리거나 메모리를 추가할당 받게된다. 메모리를 계속 추가 할당 받다가 넘치게되면 OutOfMemory 로 JVM 이 다운될 수 도 있다. GC 가 발생하거나 객체가 이동할 때마다 어플리케이션에 병목이 발생하고 성능에 영향을 준다. JVM 에서는 이를 관리하기 위해 스레드 로컬 할당 버퍼라는 것을 이용한다. 이는 스레드 별로 메모리 버퍼를 사용하여 다른 스레드에 영향을 주지 않는 메모리 할당 작업을 가능하게한다. GC 의 목표 메모리 할당 사용중인..
2020.04.25