본문 바로가기
반응형

프로그래밍174

JAVA 어노테이션에 대해서.... JAVA 스프링을 보면서 어노테이션을 굉장히 많이 활용하는 것을 보고 조사해야 겠단 생각이 들어서 조사를 했습니다. 1. 어노테이션이란? 어노티에션은 메타데이터로 클래스 파일에 임베디드되어 컴파일러에 의해 생성된 후 자바 가상머신에 포함되어 작동됩니다. 즉, 어노테이션이 있으면 프로그래머 입장에서 해당 코드가 어떤 상태인지 알 수 있는 가독성이 올라가게 되며, 컴퓨터 입장에서는 해당 코드에 오류발생시 좀 더 정확한 지점의 오류를 찾아줄 수 있는 좋은 메타데이터 입니다. 여기서 메타데이터란 데이터에 대한 데이터라는 뜻으로 데이터가 데이터의 상태를 표현한다. 라고 생각해주시면 될 것 같습니다. 2. 어노테이션의 종류 어노테이션에는 기본 어노테이션, JAVA 커스텀 어노테이션이 있습니다. 우선 기본 어노테이션.. 2021. 3. 15.
AWS 시작하기(EC2 사용해보기) 1. EC2란? AWS에서 EC2는 Elastic Compute Cloud의 약자로(C가 2개라 C2....) 클라우드에서 컴퓨터를 가져온다라고 생각하시면 됩니다. 즉, 서버를 원격으로 임대하는 것이죠. 다른말로 표현하자면 아마존 서버가 클라이언트에게 자신의 클라우드 서버를 인스터스해 준다. 라고 말할 수 있습니다. (클라우드 공부하면서 느낀게 인스턴스화 한다. 인스턴스를 준다. 라는 말을 자주 사용하게 됩니다.) 2. EC2 시작하기 aws.amazon.com/ko/ 클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services 제조 AWS를 활용한 Siemens의 에너지, 의료 서비스, 제조 분야 혁신 Siemens가 AWS를 사용하여 어떻게 문화를 바꾸고 혁신을 장려하며 비즈니스 .. 2021. 3. 14.
자바 스프링 설치 및 기본 웹페이지 실행하기. 자바 스프링을 공부하면서 정리하는 글입니다. 스프링 공부를 어떻게 해야할지 감이 안잡혔는데, 저와 같은 분들에게 도움이 되었으면 합니다. 참고로 해당 글은 www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8 [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., 스프링 학습 첫 길잡이! 개발 공부의 길을 잃지 않도록 도와드립니다. 📣 확인해주세 www.inflearn.com inflearn에서 무료로 제.. 2021. 3. 12.
MVC 패턴 1. MVC 패턴이란? 모델-뷰-컨트롤러(Model–View–Controller, MVC)의 줄인말로 코드를 짤때 해당 기능별로 코드를 나눈것을 말합니다. 즉, 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 말합니다. 여기서 말하는 비즈니스 로직이란 사용자와 데이터 베이스 간에 정보전달을 원활히 해주는 코드 개념입니다. 즉, MVC모델을 사용하면 각 클래스 마다 처리하는 일이 정해저 있으므로 가독성이 좋아지며, 코드의 수정이 쉽다는 뜻입니다. 2. MVC 패턴.... 정말 필요할까? 요즘 웹 어플리케이션 서버를 보면 대부분 MVC모델을 사용합니다. 또한 요즘 트랜드는 MVC가 선택이 아닌.. 2021. 3. 12.
Web Server과 WAS의 차이점(MVC 모델링) 기초부터 설명해욧~ 1. Web이란? Web Server와 WAS를 알기전 Web에 대해서 집고 넘어가봅시다. Web은 우리가 흔히 크롬 or 사파리 or 익스플로러 라는 소프트웨어 프로그램을 통해 Web통신을 하는 것을 말합니다. Web통신은 기본적으로 http 또는 https 프로토콜을 사용하고 있죠. 과거에는 인터넷을 통해 문서를 보기 위해서 사용했습니다. 이것이 무슨말이냐? 정적 페이지 : https://microsoft.github.io/cpprestsdk/namespaces.html 이런 html 확장자로 된 정적 페이지를 보기위해서 사용했습니다. 즉, 언제 어디서나 인터넷만 연결되어 있다면 A4용지로 인쇄된 문서나 책 등을 굳이 가지고 다닐 필요가 없었죠. 컴퓨터로 인터넷에 접속해서 문서를 보면 되니깐요. 편리.. 2020. 11. 8.
C++] 스레드의 사용량을 알아보자!!(Concurrency Visualizer) 1. 소개프로그래밍을 하면서 스레드가 과연 잘 사용되고 있는지? 혹시 어딘가 block되어서 제대로 일을 못하고 있는지? mutex구간이 많아서 컨텐션이 많이 발생되는지?? 이럴때 프로그램(프로세스)을 돌리면서 실시간 데이터 정보를 받아 각 스레드의 사용량을 보여주는 프로그램이 있습니다. Visual studio의 확장 프로그램인 Concurrency Visualizer for Visual studio 프로그램 입니다. 저는 Visual studio 2019 버전을 사용했습니다. 2. 설치 방법1. 2. 3.설치가 완료되면 visual studio를 껏다 켜주세요. 그럼 마저 설치가 된 후 프로그램을 실행할 수 있습니다. 3. 사용 방법#include #include #include #include #i.. 2020. 11. 8.
DB] 테이블이란? 기본키, 외래키, 후보키, 복합키란 1. DB에서 테이블이란?관계형 데이터베이스에서 데이터들을 목록별로 정리해서 완성된 하나의 집합체를 테이블이라고 합니다. 말보단 그림이 더 편할테니 그림을 보시죠. 학번 이름 전공 성별 집주소 학년 20200001 홍길동 소프트웨어과 남 경기도 화성 1 20200002 아무개 정보통신과 여 경기도 수원 1 20200003 이몽룡 소프트웨어과 남 서울 마포 1 20200004 아름이 관광과 여 인천 1 위 표처럼 학번, 이름, 전공, 성별, 집주소 등으로 목록을 정한 후, 해당 목록에 맞게 데이터를 입력해서 완성된 하나의 집합체를 테이블이라고 합니다. 즉, 위 표 전체를 테이블 이라고 말합니다. 저 테이블에서 행과 열로 나눌 수 있습니다. 2. 행과 열행은 가로를 뜻합니다. DB에서는 로우(row)라고 많.. 2020. 11. 7.
DB란? DBMS와 다른점은 뭘까? 1. DB란?DB란 데이터들의 집합체를 뜻합니다. 이것 저것에 대한 데이터들이 들어있는 하나의 거대한 통이죠.그럼 이 데이터들은 어디에 저장될까요? 바로 하드디스크 혹은 SSD에 저장됩니다. 테이블&n bsp;형태로요. 그럼 이 저장된 테이블에 접근해서 데이터를 뽑고, 추가하고, 잘 정리해서 보여줄 수 있게 하는 녀석이 DBMS입니다. 2. DBMS?DBMS는 DB에 저장된 내용들에 접근해 수정, 가공, 삭제 등을 처리하는 소프트웨어입니다. DBMS는 DataBase Management System 의 약자로 단어 뜻 그대로 DB의 매니저 역할을 하는 놈입니다. 대표적인 예로, Mysql, MariaDB 등이 있겠내요. 그림으로 표현하자면 다음과 같이 될 것입니다. 3. 굳이 DB를 사용해야 하나?흠.... 2020. 11. 6.
C++] visual studio 에서 deadlock 상태 확인하기(CRITICAL_SECTION) 1. CRITICAL_SECTIONCRITICAL_SECTION 클래스는 에서 제공하는 MFC 라이브러리 기능입니다. CRITICAL_SECTION 은 데드락이 발생했을시 디버깅을 통해서 쉽게 원인파악이 가능합니다. 2. 예제 코드#include #include #include using namespace std; class CriticalSection{ CRITICAL_SECTION m_critSec;public: CriticalSection() { InitializeCriticalSectionEx(&m_critSec, 0, 0); } ~CriticalSection() { DeleteCriticalSection(&m_critSec); } void Lock() { EnterCriticalSection(&.. 2020. 11. 5.
C++] cpprestful-server 완성본(CpprestSDK) 1. 소개마이크로 소프트에서 진행하고 있는 오픈소스 프로젝트 CpprestSDK를 활용해 만든 restful server입니다. 설치방법 및 간단한 셈플 코드는 제 블로그에 있으니 참고해주시기 바랍니다. openSSL을 통해 https가 가능하도록 구현했는데, 사용하시려면 코드내에 http부분을 https로 변경해주시기 바랍니다. 자세한 코드와 사용 방법은 git URL을 참고해주세요. git URL : https://github.com/dnfwlq8054/Cpprestful_Server 2. 매커니즘해당 restful 서버는 Json 통신만 지원합니다. 또한 Get, Put, Post, Delete 요청 시 핸들러가 이를 감지 -> 각 요청에 맞는 함수 객체를 콜백 형식으로 반환해 줍니다. 반환받은 함.. 2020. 11. 5.
Java Socket을 이용한 흡연감지 서버 프로젝트 입니다. 1. 소개친구 1명과 같이 만들었습니다. 저는 전체적인 설계, 구상을 했으며 서버, 라즈베리, 아두이노 코딩을 했습니다. 친구는 서버 DB, 클라이언트 부분을 담당했습니다. 아두이노와 라즈베리파이는 동글을 이용한 블루투스 통신을 진행하게 했습니다. 라즈베리와 JAVA서버는 byte통신을 이용해 데이터를 주고 받도록 만들었습니다. 자세한 사용 방법은 git URL을 참고해 주세요. git URL : https://github.com/dnfwlq8054/Java_Smoking_detection_TeamProject 2. 실행화면 서버 클라이언트 2020. 11. 5.
Java] Console FreeChat 프로그램. 1. 소개제가 대학교 다닐 때 만든 개인 프로젝트입니다. 소켓을 이용한 멀티쓰레드 방식의 채팅서버입니다. 사용 방법은 github에 올라와 있으니 참고하시 바랍니다. git URL : https://github.com/dnfwlq8054/Java_Console_freeChat 2. 실행화면 서버 클라이언트 (사진 클릭해서 보세요~) 2020. 11. 5.
Go 언어의 goroutine에 대해서... 기본적으로 C++은 Thread or task or async를 이용해 쓰레드를 만듭니다. JAVA는 extands Thread을 이용한 run overriding or implements Runnable 을 이용한 run overriding 또는 future클래스를 이용한 Thread 할당 등.... 여러가지 방식으로 Thread를 만들 수 있습니다. 반면 Go언어에서 쓰레드를 사용하려면 go 키워드를 이용한 goroutine을 사용해야 합니다. 1. goroutine vs Thread??Thread의 경우 기본적으로 stack을 할당받으며, heap, data 영역은 공유를 하게 됩니다.때문에 프로세스보다 가볍다는 장점과 context 발생시 프로세스보다 빠르다는 점이 있습니다. Thread는 기본(.. 2020. 11. 4.
Go언어를 왜 사용 할까? Go언어란?Google에서 만든 프로그래밍 언어 입니다. C를 기반으로 만들어 졌으며, C언어의 장점을 살리면서 다양한 곳에서 활용할 수 있도록 만든 언어입니다. 즉, 시스템 개발, 운영체제, 웹 서버, 웹 브라우저, 로봇, 검색앤진 등 다양한 곳에서 사용하도록 말이죠. Go언어의 특징은 다음과 같습니다.1. 개발 속도 2. 모듈화를 위한 의존성 3. 동적 타입을 가진 속성 언어 4. 가비지 컬렉션 5. 병렬 처리 1. 개발 속도가 빠르다.Go 언어는 라이브러리에서 여러가지를 제공하고 있습니다. Go 언어는 멀티코어 기반으로 설계되어 있기 때문에 현재 하드웨어 개발, 소프트웨어 개발에 큰 이점을 갖고 있는 것이 사실입니다. 코드도 간결하게 짤 수 있습니다. 또한 C/C++에서의 컴파일 시간보다 현저히 빠.. 2020. 11. 4.
http와 tcp/ip의 이해 1. Http? tcp/ip? 네트워크 전공이신 분들은 이 두개가 서로 상호작용 한다는 것을 알고 있을 것입니다. 문제는 방대한 양의 정보와 잘못된 지식인데, http와 tcp/ip를 완전 다른놈 취급한다는 사실입니다. http를 까보면 tcp가 나오게 됩니다. 즉, tcp 기반으로 만들어진 프로토콜이 http라는 말입니다. 이를 이해하기 위해선 OSI 7 Layer를 이해해야 합니다. 하지만 너무 자세히 알 필요는 없습니다. 간략한 그림을 보여드리도록 하죠. 2. OSI 7 Layer 저희가 인터넷 주소창에 'www.google.com' 이라는 도메인 네임을 입력했다고 가정해 봅시다. 그럼 인터넷 창에선 www.google.com에 접속해 서비스를 받기위해 여러가지 포멧 형태가 일어나게 됩니다. 여기서.. 2020. 10. 31.
반응형

스킨편집 -> html 편집에서