본문 바로가기

전체 글56

IT 지식 독서요약 47,51 자바스크립트와 파이썬은 어떻게 작동할까? 자바스크립트 브라우저가 웹페이지에서 자바스크립트를 발견하면(예를 들어 , 태그를 만나면) 프로그램의 텍스트를자바스크립트 컴파일러로 전달한다 컴파일러는 프로그램에 에러가 있는지검사하고 , 프로그램을 모형 컴퓨터처럼 만들어 낸 컴퓨터의 어셈블리 언어 명령어로 컴파일한다 . 모형 컴퓨터 같은 시뮬레이터를 실행하여 자바스크립트 프로그램이 수행하기로 되어 있는 모든 기능을수행한다. 시뮬레이터와브라우저는 밀접하게 상호작용한다 . 자바스크립트는 싱글쓰레드 언어이다 호출스텍이 한개이기 때문에 1회에 1개의 작업을 처리하는 구조이다 함수는 호출스텍의 가장 윗쪽에서 먼저 처리된다 그렇기에 브라우저 이미지 작업을 자바스크립트로 진행할때 엄청긴 함수가있다면 브라우저는 작업을 처리하지못하고 대기상태가 됩니다. 이런경우 함수작업.. 2022. 6. 13.
인텔리제이 브레이크포인트와 디버거를 통해 오류 해결하기 인텔리제이를 통한 작업중에 데이터 변수로 인한 문제때문에 작업속도가 지연될때가 있습니다. 이때 오류가 발생하는 지점이 어떤곳인지, 오류가 왜, 어떻게 발생했는지 알수있으면 오류로 인한 문제해결시간 시간을 줄일수 있습니다 이런식의 데이터 입력값 문제가 생겼을때 본문코드 좌측의 빈공간을 눌러 브레이크 포인트를 걸고 디버깅 상태에서 개발중인 웹을 실행하면 다음과 같은 화면이 나오게 됩니다 이렇게 정지 포인트에 들어가는 식별자와 식별자 안쪽의 입력변수의 타입을 확인할수있습니다. 입력변수의 값이 맞지 않아서 생기는문제가 서버인지 클라이언트 부분인지, 또 어떤 자료형이 들어왔는지 확인후 코드를 수정하여 에러를 해결 할수있습니다. 이방법은 스프링 서버 코드에서만 적용이 되는데, 후에 html 부분의 자료 값문제일때에.. 2022. 6. 6.
MVC 패턴 이해와 사용법 MVC란 MVC 는 Model, View, Controller의 약자 입니다. 하나의 애플리케이션, 프로젝트를 구성할 때 그 구성요소를 세가지의 역할로 구분한 패턴입니다. 출처: 오픈듀토리얼스 위의 그림처럼 사용자가 controller를 조작하면 controller는 model을 통해서 데이터를 가져오고 그 정보를 바탕으로 시각적인 표현을 담당하는 View를 제어해서 사용자에게 전달하게 됩니다. 저건 하나의 로직을 설명하기 위해 만든 그림이고 사실 MVC 패턴의 구조는 출처:XESCHOOL 이 그림이 더 어울릴 것입니다. Controller가 view에도 영향을 미치는(화살표를 보자) 부분이 있어야 합니다. 위의 그림을 보면서 다시 MVC 패턴이 뭔지 감을 잡도록 해봅시다. 모델은 컨트롤러에 컨트롤러는 .. 2022. 6. 5.
Web Server와 WAS의 차이 Web Server와 WAS의 차이 Web Server Web Server의 개념 소프트웨어와 하드웨어로 구분된다. 1) 하드웨어 Web 서버가 설치되어 있는 컴퓨터 2) 소프트웨어 웹 브라우저 클라이언트로부터 HTTP 요청을 받아 정적인 컨텐츠(.html .jpeg .css 등)를 제공하는 컴퓨터 프로그램 Web Server의 기능 HTTP 프로토콜을 기반으로 하여 클라이언트(웹 브라우저 또는 웹 크롤러)의 요청을 서비스 하는 기능을 담당한다. 요청에 따라 아래의 두 가지 기능 중 적절하게 선택하여 수행한다. 기능 1) 정적인 컨텐츠 제공 WAS를 거치지 않고 바로 자원을 제공한다. 기능 2) 동적인 컨텐츠 제공을 위한 요청 전달 클라이언트의 요청(Request)을 WAS에 보내고, WAS가 처리한 결.. 2022. 6. 4.
스프링 과제 2 api 명세표 내용 Method api request response 메모 작성 POST /api/memos username,contents,title(JSON) header:token STRING 작업결과메세지 메모 조회 GET /api/memos {id,title,username,contents,작성시간}LIST 메모 수정 PUT /api/memos/{id} username,contents(JSON) header:token STRING 작업결과메세지 메모 삭제 DELETE /api/memos/{id} header:token username,contents(JSON) STRING 작업결과메세지 댓글 작성 POST /memo/comments/{id} username,contents,title,해당게시물의 num(JSO.. 2022. 6. 3.
IT 지식 독서요약 소프트웨어 27. 작문과 비슷한 프로그래밍 프로그래밍에는 많은 언어들이 만들어지고 사용되고있다. 언어들은 각각 용도에 특성화되어있다 C언어 벨연구소에 서일하던 데니스 리치가 유닉스 체제에서 사용하기위해 개발하였다. 원래 데니스 리치랑 같이 일하던 켄 톰슨 이라는 사람이 자기이름을 딴 B언어을 만들었는 이것을 개선하여 C언어로 리치가 만들었다고한다. 유닉스 시스템의 바탕은 C로 작성되어있고 , 대부분 운영체제의 커널도 C언어로 만들어졌다. C++은 C언어에서 객체 지향형으로 만들어졌다. 이떄문에 오늘날에 널리쓰이는 운영체제 커널이 C로 만들어지게되었다 C는 시스템 개발에 적합하지만 , 응용프로그램에도 사용이 됩니다 C++ 1980년대에 규모가 큰프로그램의 복잡성 관리를 위해 만들어진언어 벨연구소에서 일하던 비야네 스트롭스트롭 이 개발했다 C언어를 .. 2022. 6. 3.
DI 와 Ioc의 원리와 사용법 강한 결합 어떤 객체를 다른 클래스에서 생성하여 사용하였을 때, 해당 객체에 변경을 가하면 해당 객체를 생성한 다른 클래스에서도 똑같이 변경을 해줘야 하는 상태를 의미한다. 다음 예시를 통해 더 자세히 알아보자. 1. Animal이라는 객체를 선언 public class Animal { } 2. Cat이라는 클래스에서 Animal 객체를 생성 public class Cat{ public Animal animal; public Cat() { this.animal = new Animal(); } } 3. Animal 클래스에서 Animal 객체에게 이름을 지어준다면, public class Animal { public Animal(String name) { } } 4. Cat 클래스에 있는 Animal 객체.. 2022. 5. 29.
MVC 패턴,Controller & Servicec & Repository 개념 Controller & Servicec & Repository 란 무엇일까? MVC패턴은 Model – View – Controller 의 약자로써 개발을 할 때 3가지 형태로 역할을 나누어 개발하는 방법론이라고 한다. Model 어플리케이션이 무엇을 할 것인지 정의하는 부분이다. 즉, DB와 연동하여 사용자가 입력한 데이터나 사용자에게 출력할 데이터를 다룬다. spring 의 서비스 역할을 맡기도한다 View 사용자에게 시각적으로 보여주는 부분이다. (UI) Controller(사용자가 보는 페이지, 데이터처리 사이에서 중간제어자 역할을 한다) Model이 데이터를 어떻게 처리할지 알려주는 역할을 한다. 사용자에 의해 클라이언트가 보낸 데이터가 있으면 모델을 호출하기전에 적절히 가공을 하고 모델을 호출.. 2022. 5. 28.
<aside> restAPI의 put 과 patch 는 어떤 차이점이 있을까요? 어떤 경우에 사용하면 좋을까요?</aside> Patch요쳥은 자원에 대한 부분적인 수정을 적용하기 위한 HTTP 메서드이고 PUT요청은 기존 값을 유지하면서 새 값을 덮어 씌웁니다. 만약에 put 요청을 patch 요청처럼 항목을 누락하고 변경값만 넣게 되면 나머지 항목들은 null 로 저장되게 됩니다 예를 들어 특정게시물의 수정및 좋아요등의 기능은 그 게시물의 내용, 작성자 , 좋아요 토글등의 정보가 필요하고 다른 정보와 연관성이 있는작업은 put 매서드가 좋습니다 반대로, 회원정보수정 과 같은기능들은 다른 정보에는 의존하지않고 해당 정보의 id 값을 기준으로 바꾼다면 patch 매서드가 더 효율적일 것입니다 2022. 5. 26.