전체 글293 [Network] Port Forwarding - 외부 특정 device의 network를 내부 router에 직접 연결한 것처럼 연결시킨 것. 연결 이후 자유롭게 data를 주고 받음. - Firewall 이 구축된 application에서는 보안 안정성이 있으나, FTP server, Email server, Web server 등은 그런게 없을 수 있으므로 주의 필요. https://portforward.com https://portforward.com/is-portforward-safe/ 2022. 8. 21. [Knowledge] Domain Specify Language (DSL) - '도메인 특화 언어' 라는 번역이 대중적으로 쓰임. - 특정 Domain(범주, 영역) 에서만 쓰이는 Language - 언어 지향 프로그래밍의 일종 (반대 개념 : 다중 언어 프로그래밍(Polyglot)) @@ 언어 지향 프로그래밍 : ==>Software를 개발할 때 하나의 Language만 사용함이 아니라 작업별로 가장 적합한 Language를 사용하는 것. ==> 겉으로 보기엔 Polyglot과 접근 방식이 유사해보이나(여러 Langauge 사용 및 통합하여 개발), 언어 지향 프로그래밍의 특징은 개발자가 고유한 DSL을 build 하거나 해당 접근 방식의 일부로 Domain Specify 개념을 사용해 기존 Language를 확장하는게 목적. 1) DSL을 적용하여 컴파일러와 마찬가지로 추상.. 2022. 8. 20. [HTML] 왜 HTML은 Programming Language가 아닌가? - HTML은 Markup Language의 일종. - Data를 HTML tag로 mark up 하거나 encapsulate 하여, Data를 정의하거나 webpage에 목적을 명시. - HTML은 browser에 data가 무엇인지(heading인지, paragraph인지, link인지 등) 설명하고(명시), browser는 그에따라 Data 를 시각화 함. - HTML은 Browser(Web page) 에 대한 구조성 목적으로 쓰일 뿐 다른 기능은 없음. - Programming Langauge는 기능성 목적이 있어야 하는데, HTML은 기능적으로 뭘 하는게 없음. - HTML은 Programming Logic 이 없음. if-else 등의 조건문 없음. 이벤트-작업 처리 없음. 변수 선언 및 함수.. 2022. 8. 19. [Knowledge] Polyglot in Programming - 단일 언어로 구현하기 어려운 기능 추가나 성능 향상을 여러 language를 함께 사용하여 이뤄내는 것. - Business Logic 은 Java로 짜고, UI 는 JavaScript & HTML, Data 저장 및 관리는 MySQL 등을 씀. ==> HTML과 SQL은 Programing Langauge는 아니지만 엄연히 Language의 일종이다. https://www.techtarget.com/searchsoftwarequality/definition/polyglot-programming 2022. 8. 18. [OS] CPU vs GPU 차이 [CPU] - Central Processing Unit, 중앙 처리 장치 - Processor, Chip 등으로 불리기도 함. - 수백만 Trangister로 구축됨. 여러 개의 Processing Core를 가진 Computer의 뇌 - CPU 는 Computer 및 운영 체제에 필요한 명령과 처리를 실행. [GPU] - Graphics Processing Unit, 그래픽 처리 장치 - 그래픽 카드 라고 불림. - Core 로 구성된 Processor. - CPU와 비슷함. but CPU가 일반의사 라면 GPU는 전문의사 처럼 특정 작업에 더 집중. - GPU가 더 많은 Core로 구성돼 병렬 처리에 강점 ==> 코인 채굴로 GPU 가격이 오른 이유. [CPU] - CPU 는 다양한 workload.. 2022. 8. 15. [Knowledge] Overhead in C.S - [Techtarget] OS나 Application을 구동하는 System Software에 필요한 processing 시간을 의미. - [현직들 피셜] 프로그램 요구사항 이상의 processing 시간/resource 를 요구하는 걸 뜻하기도 함. - ex_1) 1km 거리를 비행기로 이동한다면 상당한 overhead 겠으나, 그 1km 사이에 국경이 있어 비행 이동이 필수적라면 그 overhead는 가치가 있음. - ex_2) 차로 이동할 것을 비행기로 이동하면 overhead가 훨씬 크지만, 속도/보안/안정성 등에서 더 좋을 수 있음 https://www.techtarget.com/whatis/definition/overhead https://stackoverflow.com/questions/2.. 2022. 8. 14. [Java] Java 에도 pointer가 있는가? - 없음 - C/C++ 에서 Pointer는 주소값을 가진 변수. ==> Pointer란? * algebraic data type이다. * 다른 data type 을 가지는, null인 data type. * 엄밀히 말해 Memory address를 명시적으로 다룰 수 있는 interface 환경의 data type에만 써야함. - Java 의 Class는 주소값 없이 그저 가져다 쓰는 참조. (참조 변수 new) - C++ 에는 reference(참조) 가 따로 있음. 이 reference가 Java의 Class 와 비슷한 기능을 하지만 또 다름. ==> C++은 한번 Reference하면 바꿀 수 없지만, Java는 가능. ==> C++의 Reference는 Null 로 초기화 할 수 없지만, Jav.. 2022. 8. 13. [Error Management] 해킹 대응 - 해킹이 발생하여 Traffic 이 과도하게 몰린다. 몇 시간만에 수 만개 씩 쌓이는 등 - 이런 해킹에 어떻게 대응할 수 있을까? 1) Power Off : 전원을 내려버린다. 명확하며 강력하다. 2) 비정상 traffic 이 발생하는 ip address 를 찾아 차단. 3) 제공되는 packet 커맨드 외의 모든걸 최앞단에서 무시하고, 주요 event 내에서 Client에게 발생 가능한 최대 수치를 정함. ==> 여기서 이상 패턴(기준 최대 수치 초과)을 감지하면 눈으로 확인하며, 모니터링 tool로 조회 후 조치 4) Client 에서 중요한 data는 byte 배열을 한번 꼬거나 암호화(Hash)시켜 못 알아보게 함. 오픈 카톡방 2022. 8. 12. 이전 1 ··· 14 15 16 17 18 19 20 ··· 37 다음