전체 글38 [OOP] 객체지향프로그래밍 OOP 개발 시 객체 중심으로 협업과 유지보수를 위한 소프트웨어 개발 방법론, 패러다임 과거에는 절차지향, 구조적, 데이터 중심 프로그래밍이 패러다임이였으나 PC가 보급되기 시작하면서 웹 및 각종 소프트웨어의 발전이 생김. 기존의 절차지향 등 프로그래밍 방식을 사용한 시대에는 대부분 업무적으로 사용하는 프로그램이 대부분(계산기 등) 따라서 INPUT OUTPUT에 대한 문서화가 명확해야했으며 그걸 토대로 개발 및 유지보수 진행 이러한 시스템이다보니 객체지향이 굳이 필요 없었다 기존 방식으로는 한계가 있어 객체지향프로그래밍이 패러다임으로 발전 객체지향프로그래밍은 이미 옛날 부터 있던 개념이였다. 다형성, 추상화, 상속, 무엇을 이용해서 만들어짐 즉 OOP의 특징의 정확한 의미는 character가 아닌 ?.. 2020. 4. 17. [XFF] 클라이언트 IP 가져오기 (X-Forwarded-For) X-Forwarded-For(XFF) - HTTP Header 중 하나로 HTTP Server에 요청한 Client의 IP를 식별하기 위한 표준 - 웹 서버나 WAS 앞에 L4 같은 Load balancers 나 Proxy server, caching server 등의 장비가 있을 경우 웹서버는 Proxy server 나 장비IP에서 접속한 것으로 인식 따라서 웹서버는 실제 클라이언트 IP가 아닌 앞단에 있는 Proxy서버 IP를 요청한 IP로 인식하고, Proxy장비 IP 로 웹로그를 남김 이 때 웹 서버에서는 X-Forwarded-For HTTP Hearder에 있는 클라이언트 IP를 찾아 실제 요청한 클라이언트 IP를 알 수 있고, 웹로그에도 실제 요청한 클라이언트 IP를 남김 콤마를 구분자로 Cl.. 2020. 4. 14. IT Communication과 Layer IT Communication - 상대(Class..), 규약(프로토콜), 수단(네트워크...), 내용으로 이루어짐 ex) class ---------------- class 상대 - Class 규약 - 메서드 선언부 즉, 객체지향에서는 인터페이스가 규약(프로토콜)이 된다. 인터페이스 구현 시 구현한 대상을 어느곳에서든 인터페이스에 정의된 메서드 선언부만 보고 사용 가능 Layer - 위 예제에서 상대 즉 Class 하나 하나를 Layer라 칭함 - 대표적으로 네트워크 7계층(서로 프로토콜을 통해 하나의 메세지를 쪼개어 중간 데이터 유실을 방지) 2020. 4. 14. [MSSQL] OPENQUERY에 변수 사용 시 문제점 및 해결방법 DECLARE @ID VARCHR(100) SET @ID = 'USER123' DELETE T1 FROM OPENQUERY(DEV, SELECT * FROM TBL_MEMBER WHERE ID = @ID) AS T1 이렇게 OPENQUERY 안에 MSSQL의 DECLARE 변수 사용 시 에러가 발생한다. 해결방법은 OPENQUERY를 변수에 담아 실행시키는 방법이 있다. DECLARE @ID VARCHR(100), @OPENSQL NVARCHR(1000); SET @ID = 'USER123' SET @OPENSQL = N'DELETE T1 FROM OPENQUERY(DEV, SELECT * FROM TBL_MEMBER WHERE ID = '+ @ID +') AS T1' EXECUTE SP_EXCUTESQ.. 2020. 4. 14. [Redis] Redis? Redis(Remote Dictionary Server) - 메모리 기반의 “키-값” 구조 데이터 관리 시스템 - 모든 데이터를 메모리에 저장하고 조회하기에 빠른 Read, Write 속도를 보장 - 오픈소스 비 관계형 데이터베이스(NoSQL) 보통은 빠른 처리 속도를 위해 In-Memory 즉, Cache Server 용도로 사용한다. Jedis vs Lettuce - 이전에는 Jedis를 많이 사용하였지만 현재는 Lettuce를 많이 사용 - Jedis에 비해 성능이 월등히 우수 - 코드가 깔끔하게 디자인 되어 있으며 공식문서 정리가 잘 되어 있음 - Jedis의 경우 피드백을 거의 해주지 않음. but Lettuce는 즉각 처리 성능 비교 참고 사이트 https://jojoldu.tistory.co.. 2020. 4. 13. [Cache] Redis & Mecached 장단점 Redis vs Memcached Redis 특징 처리 속도가 빠르다.(데이터가 메모리+Disk에 저장된다. 그러나, 속도는 Memcached와 큰 차이가 없다.) 만료일을 지정하여 만료가 되면 자동으로 데이터가 사라진다. 저장소 메모리 재사용 하지 않는다. (명시적으로만 데이터를 제거할 수 있다.) 문자열, Set, Sorted Set, Hash, List등의 다양한 Data Type을 지원. 장점 리스트, 배열 형식의 데이터 처리에 특화됨 1. value 값으로 문자열, 리스트, set, sorted set, hash 형 등 여러 데이터 형식을 지원함 2. 리스트 형 데이터의 입력과 삭제가 MySQL에 비하여 10배 정도 빠르다. 여러 프로세스에서 동시에 같은 key에 대한 갱신을 요청할 경우 Ato.. 2020. 4. 13. 이전 1 2 3 4 5 6 7 다음