본문 바로가기

전체 글77

이클립스에러-Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) svn업데이트 받고나니 갑자기 프로젝트 실행안되면서 Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) 오류가 발생했다. 구글링 결과 eclipse.ini 에 코드를 추가하면 해결된다하여 이클립스가 다운된 폴더에서 구성요소 파일을 찾아 --illegal-access=warn --add-opens java.base/java.lang=ALL-UNNAMED 를 추가해주었다. 그런데도 같은 오류가 계속 발생해서 다시 구글링 해보니 또 다른 방법이 있어서 시도해보았다. Window > Preference > Java > Install JREs에서 현재 설티된 jd.. 2022. 7. 18.
소프트웨어 테스트의 종류와 각각의 특징 1. 시각에 따른 테스트 여기서 말하는 시각이란 완성된 소프트웨어를 개발자의 입장에서 테스트하는지, 사용자의 입장에서 테스트하는지에 관한 것이다. 소프트웨어의 각 단계에서 개발자의 시각으로 테스트하는 것을 확인(Verification) 테스트라고 하는데, 개발자가 작성한 코드의 결과가 맞는지만 확인한다. 결과만 맞으면 성공으로 판단하기 때문에 실제 사용자가 요구한 프로그램을 작성했는지 확인할 수 없다. 확인 테스트는 개발자의 시각에서 테스트를 각 단계별로 수행하는 것으로, 설계도대로 프로그램을 만들었는지 확인하는 것이다. 이전 단계에서 수행하여 생성된 결괏값이 현재 단계의 산출물에 반영이 되는지 테스트하고, 요구 분석 명세서의 내용이 설계 설명서에 모두 반영이 되어 있어야 하며 이 내용을 토대로 프로그래.. 2022. 2. 14.
Express로 간단한 API Server 만들기(2) 1. Express에서 GET 리퀘스트와 POST 리퀘스트 1. GET 리퀘스트 https://iwuooh.tistory.com/entry/Express에서 작성한 코드를 살펴보자. app 객체의 get 메소드를 사용할 때 아무런 오류 없이 잘 실행되었는데, app 객체의 get 메소드는 request로 들어오는 라우트 핸들러가 path로 온다고 해서 항상 실행되는 것이 아니다. 제대로 실행이 되려면 조건이 하나 더 필요한데, request의 성격을 나타내기 위해 request의 헤드 부분에 존재하는 속성을 메소드라고 한다. 이때 이 request의 메소드가 get이어야 한다는 것이 바로 그 조건이다. 즉, app 객체의 get 함수는 특정 path로 오는 get 메소드를 가진 request를 처리하는 .. 2022. 2. 8.
Express로 간단한 API Server 만들기 1. Express와 API Server Express는 Node.js 환경의 서버 프로그램을 만들 때 사용되는 프레임워크이다. 사실상 Node.js의 표준 프레임워크로 사용된다고 볼 수 있다. Express를 이용하여 API Server를 만들어보자. 서버의 종류에는 웹페이지를 Response의 Body에 담아서 보내주는 Web Server가 있고, 클라이언트의 요청을 처리하여 그 처리결과를 Response의 Body에 JSON 등의 형식으로 보내주는 API Server가 있다. 새로 만든 cowork 디렉터리를 npm init 하여 패키지로 만들고 npm install express를 실행하여 express를 다운로드한 후에 코드를 작성했다. express에서 공개하는 express 함수를 불러온 후.. 2022. 2. 7.
비동기 함수와 동기함수 / 공식문서에서 readFile, readFileSync 함수 찾아읽기 Node.js의 코어 모듈인 fs에 내장된 readFile 함수와 readFileSYNC 함수에 대해 알아보자. 1. readFile 함수 readFile 함수는 비동기 함수로, 문서에서 볼 수 있듯이 세 개의 인자가 필요하다. 1) path : 내용을 읽어올 파일의 경로 2) options : 파일의 내용을 읽을 때 적용할 옵션 3) callback : 파일의 내용을 다 읽었을 때 실행될 콜백 []로 묶인 2) options인자는 필수 인자가 아닌 선택 인자이고, 1) path와 3) callback은 필수 인자이다. 해당 파일의 내용을 utf-8이라는 인코딩으로 읽기 위해 options인자에 'utf8'이라 써줄 수 있고, 예시처럼 options의 인자로 ['encoding':'utf8', 'flag.. 2022. 2. 3.
간단한 웹 서버 만들기 1. 간단한 웹 서버 만들기 아래 코드를 작성하고 실행시킨 후 127.0.0.1:3000으로 접속하면 아무것도 나오지 않는다. 서버를 만들긴 했지만 요청 내용을 작성하지 않았기 때문이다. 코드를 아래와 같이 수정한 후에 127.0.0.1:3000에 접속하면 hello world!가 화면에 출력됨을 확인할 수 있다. 2. URL 구조 URL은 Uniform Resource Locater의 약자로, 웹상의 특정 자원의 위치를 나타내는 문자열이다. 특정 자원은 HTML, CSS, JavaScript 파일 등을 의미한다. https://www.codeit.kr/learn/3719?class=52&lecture=3 위의 URL을 뜯어서 살펴보면, 1) 가장 앞부분에 있는 스킴(scheme)에는 보통 프로토콜(클라.. 2022. 1. 24.
비동기 프로그래밍과 이벤트 1. EventEmitter 객체와 on, emit 메소드 이 코드에서는 events라는 코어 모듈을 가져오는데 이 모듈은 하나의 클래스를 외부에 공개한다. 여기서는 EventEmitter 클래스를 가져왔다. EventEmitter는 클래스이므로 객체로 만들어줘야 사용이 가능하다. myEmitter 객체의 on 메소드는 어떤 이벤트가 발생했을 때 실행할 콜백을 등록한다. emit메소드는 이벤트를 발생시킨다. 위 코드를 실행하면 다음과 같이 결과가 나온다. 'test'라는 이벤트가 발생했을 때 실행될 콜백 함수를 on메소드에서 정의했고 emit메소드로 'test' 이벤트를 발생시켜줬기 때문에 console.log 함수가 실행되어 Success!라는 결과 값이 출력된다. 위의 실행코드를 아래와 같이 바꿔보자.. 2022. 1. 24.
7가지 자료구조(Data Structure)의 종류와 각각의 장단점 자료구조(Data Structure)의 정의와 중요성 자료구조(Data Structure)란 컴퓨터 과학에서 데이터를 조직적으로 관리하여 구조적으로 표현하는 방식과 이를 구현하는데 필요한 기능을 가능하게 하는 기술이다. 보다 구체적으로 설명하자면, 자료구조는 데이터 값의 집합과 각 데이터의 관계, 데이터에 적용시킬 수 있는 함수나 명령이 포함되어 있는 것이다. 잘 짜인 자료구조는 메모리 용량을 최소한으로 사용하게 할 수 있고 실행시간을 단축시킴으로써 보다 효율적인 알고리즘을 실행할 수 있는 데에 도움을 준다. 어떤 프로그램을 설계하는지에 상관없이 자료구조를 선택하는 것은 가장 우선적으로 고려되어야 할 내용이고 매우 중요하다. 큰 프로젝트를 만드는 경우 최종 결과물의 성능이나 구현의 어려움 등이 자료구조에.. 2022. 1. 21.
차세대 5G 기술 오픈랜(open LAN)의 정의와 향후미래 오픈 랜(open LAN)이란? 오픈 랜(open LAN)은 개방형 무선 접속망으로, 여러 장치로 구성된 무선통신장비의 네트워크 표준을 맞추는 기술이다. 글로벌 네트워크 장비 제조사들은 LTE를 상용화하면서 기지국의 데이터 처리장비나 무선장비의 연결 구간에 같은 기업의 제품만을 사용하게 했다. 이는 5G 상용화를 계기로 네트워크 장비 제조사에 대한 종속성을 탈피해야 한다는 논의를 활성화시켰다. 기존에는 각 통신사의 사양에 알맞은 통신장비를 각각 생산해야 했다. 제조사에 따라 통신장비가 인터페이스나 기지국 운용체계의 규격이 달라 다른 회사의 장비와 상호호환이 불가능했다. 이는 통신사가 하나의 제조사 제품을 사용할 수밖에 없게 만들고 특정 제조사에 종속되어 장비의 수급이 어렵고 비용면에서 부담이 컸다. 오픈.. 2022. 1. 19.