전체 글
-
JavaScript의 JSON개발언어/JavaScript 2022. 4. 2. 20:52
JavaScript는 모든 데이터 형태가 Object형태로 만들어지고, 그것을 참조하기 위한 변수가 필요하다. JavaScript 데이터 객체와 JSON 생성 방법 다른 언어에서는 변수 n을 선언하고, true라는 논리 값을 대입한다고 설명하는 것에 반해 JavaScript에서는 대입이라는 개념이 존재하지 않는다. 왜냐하면 JavaScript에서 변수 n은 값을 저장할 수 있는 공간을 가지고 있지 않다. 그래서 JavaScript의 모든 변수들은 참조 변수가 되고, 값을 저장할 곳이 없는 참조 변수는 new라는 것을 통해서 Boolean형 객체로 해당 값을 Boxing한다. 변수 n이 그 Boxing된 값 true를 참조하게 한다. 그러다 보니 JavaScript는 아주 소소한 정수값 하나를 변수에 담을..
-
JavaScript의 Object 객체개발언어/JavaScript 2022. 4. 2. 18:18
정적인 객체 정의와 동적인 객체 정의 정적인 객체정의 객체지향을 지원하는 언어들은 Object라는 개념을 가지고있다. 그리고 Object는 class라는 것으로 먼저 그 객체에 대한 형식과 type을 정의한다. 그리고 그것을 실체화 함으로써, 객체라는 것이 만들어 진다.(즉, 정의를 하고 객체를 만든다.) 동적인 객체 정의 그러나 JacaScript는 그렇지 않다. 객체를 우선 만들고, 그 객체를 정의한다. protorype 시스템을 가지고 있는 것이다. Object 객체의 Expand Object 키를 기반으로 데이터를 저장해야 할 때 var exam = new Object(); 느닷 없이 Object라고 하는 객체를 맨땅에 생성한다. 그리고 나니까 내가 원하는 속성이 존재하지 않는다. Expand O..
-
Git 시작하기형상 관리 도구/Git 2022. 3. 21. 21:09
시간&차원 Git은 마치 시간여행을 하는 것처럼, 프로젝트의 버전을 언제든지 되돌릴 수 있고, 여러 차원을 넘나 드는 것 처럼 프로젝트의 내용을 마치 다른 폴더인 것 처럼, 여러 모드로 자유롭게 전환하고, 변경사항들을 쉽게 이동 할 수 있다. 비유 하자면 내가 만들고 있는 프로젝트 폴더의 시간과 차원을 종횡으로 넘나들 수 있다는 것이다. Git Bash Git 사용에 적합한 터미널 리눅스/맥(유닉스)에서 사용되는 CLI 명령어들을 윈도우에서 사용가능 - 타 프로그래밍에도 유용 기본 설정 그대로를 설치 CLI vs GUI - Command Line Interface - Graphical User Interface Git 최초 설정 Git 전역으로 사용자 이름과 이메일 주소를 설정 GitHub계정과는 별개 ..
-
JWT(JSON Web Token)Web 개발/Web 기본 지식 2022. 2. 19. 16:59
JWT의 존재 이유 가상의 시나리오 어떤 웹 어플리케이션을 하나 개발한다고 생각 해보자 당연히 클라이언트가 있고, 그 클라이언트와 통신을 할 API 서버를 두게 된다. 그럼 거기에는 자연스럽게 데이터베이스가 따라간다. 이런 구조로 서비구를 구동 중에 있다가 서비스가 잘되어서 이용자가 많이 늘어 나게 되었다. 그런 경우에 클라이언트는 보통 문제가 되지 않는다. 오프라인 앱이라면 그냥 유저가 가지고 있는거니까 상관이 없고, 웹 어플리케이션이라면 CDN을 통해서 저렴하게 배포를 할 수가 있다. API서버는 어떨까 이 경우에도 스케일 아웃을 해서 서버를 늘리면 된다. 서버를 굴리기 위한 비용도 그닥 비싸지 않다. 이런 경우 가장 번거로운건 바로 데이터베이스 이다. 병렬처리 하기가 쉽지 않기 때문에 기본적으로 분..
-
Enterprise Architecture 프로젝트 구성하기-2카테고리 없음 2022. 2. 13. 13:14
Note.MVC6프로젝트의 HomeController HomeController의 생성자에서 UserBll 타입의 인스턴스 변수 _userBll을 생성해준다. 그래서 _userBll 이스턴스 변수가(new 객체 생성 없이) Dependency Injection 컨테이너에 들어 갔고 그래서 Index( ) aptjemdptj _userBll로 해당 클래스에 있는 메서드를 가져오는 호출 명령을 한다. Note.BLL 라이브러리 클래스의 BLL.cs Bll메서드가 호출되었기 때문에 Bll.cs에서는 파라미터 userNo값을 받아서, _userDal 인스턴스 변수를 사용해서, UserDal 클래스의 메서드를 호출하고 역시 userNo값을 넘긴다. Note.DAL 라이브러리 클래스의 DAL.cs 그럼 DAL.cs..
-
Enterprise Architecture 프로젝트 구성하기-1카테고리 없음 2022. 2. 13. 12:35
새로운 프로젝트를 만들기 이전에 프로젝트 보다 더 큰 개념이 Solution부터 만든다. Solution 안에는 여러가지 프로젝트를 담을 수 있다. 그동안은 한개의 솔루션에 하나의 프로젝트만 담았지만 원래 솔루션의 개념은 그런 것이 아니다. 솔루션은 하나의 프로젝트를 담기위해 만들어진 그릇이 아니라 다양한 프로젝트를 넣어 둘 수 있는 그릇이다. 솔루션을 만든뒤 바로 프로젝트를 만들지 않고, 프로젝트들을 구분하고 담아줄 폴더를 먼저 생성한다. BuginessLogicLayer,DataAccessLayer,PresentationLayer가 공통적으로 사용할 공통분모가 존재한다. 흔히 Modelclass와 ViewModelclass가 그렇다. 왜냐면 BuginessLogicLayer에서 validation할 ..
-
프로젝트에 MVC프레임워크를 사용하도록 설정하고 Demo컨트롤러 만들기카테고리 없음 2022. 2. 10. 13:48
ASP.NET Core는 처음 만들어졌을 때, dotnet core의 핵심 엔진 위에 기본적인 서비스 MVC가 포함이 되어 있는 상태이다. MVC ASP.NET의 가장 큰 서비스이기도 하다. 현재 프로젝트에서 MVC형태 대로 어떠한 단위를 나눠서 웹프로그래밍을 해주고 싶다면, 몇가지 절차가 필요하다. 프로젝트 디렉토리에 MVC각각의 관련된 파일을들 담게 될 폴더를 생성해 준다. 물론 Views 폴더를 제외한 Controllers폴더와 Models는 class폴더로 존재한다. dotnet은 namespace만 일치 시켜주면, class 파일이 어디에 위치해도 상관이 없다. Controller 폴더와 Model 폴더는 다른곳에 다른위치에 존재해도 전혀 상관이 없다. 다만 Views폴더는 읽어올시 경로가 중요..
-
오라클 데이터베이스 SQL 36강-Outer Join을 이용한 게시글 목록 쿼리Data Base/SQL 2022. 2. 6. 15:45
내부 조인 연습 조인된 테이블 쿼리하기 *JOIN을 다룰 때 문제가 되는 몇가지* JOIN이라는 얘기는 컬럼을 합친다는 것이고 컬럼을 합칠 때 위 그림에는 컬럼의 이름이 충돌날 일이 없다. 근데 컬럼을 합칠 때 식별이 애매한 경우가 있을 수 있다. 게시글의 번호, 제목 작성자이름을 조회하시오. SELECT SEQ,TITLE,NAME FROM MEMBER INNER JOIN NOTICE ON MEMBER."ID" = NOTICE.WRITER_ID 필드 이름의 충돌문제 테이블의 식별자로 ID를 쓰는 경우가 많다. 게시글의 컬럼명을 식별하기 위해 테이블명을 사용 SELECT ID, NAME, NAME FROM MEMBER INNER JOIN NO MEMBER.ID = NOTICE.WRITER_ID => 어느 ..