목록분류 전체보기 (88)
SOCO
vs code terminal에서 npm start 입력하면 localhost:3000 이 열림 App.js 파일 불러옴
관계도 상태관리 SPA를 위한 프레임워크 프론트 Client 백 Server 웹 프레임워크 Context API Redux React Node.js ---> express vueX vue NgRx Angular | Type Script Python ---> django Flask Java ---> Spring(전반) Spring boot JSP(일부분) PHP ---> laravel Ruby ---> Ruby on Rails 프론트앤드 추가 HTML CSS -> 부트스트랩(CSS라이브러리) JS -> jQuery(JS라이브러리) 모바일 어플 안드로이드 : JAVA, Kotlin IOS : Swift 통합개발환경(IDE) -이클립스 -안드로이드 스튜디오 텍스트 에디터 -아톰 -VS code -> 텍스트 에..
5 톰캣을 웹 서버로 활용하는 강의 톰캣은 WAS(웹 어플리케이션 서버)이기도 하지만 웹 서버이기도 함 웹 서버는 웹문서를 제공하는 역할임 step1. apache-tomcat-9.0.48 > webapps > ROOT 문서를 보관하고있는 홈디렉토리(ROOT)에 문서를 둠 문서를 저장하는 경우 인코딩 방식을 ANSI 방식으로 해야 글자가 깨지지 않음 step2. apache-tomcat-9.0.48 > bin startup 배치파일을 열어둔 상태에서 클라이언트로서 브라우저를 통해 문서 요청 http://localhost:8080/example1.txt http://자신의컴퓨터아이피:8080/example1.txt /example1.txt => 홈디렉토리(/)에서 example1.txt파일을 불러주세요! ..
3 웹을 이용해서 CS프로그램을 만들게 되면서, 데이터 전송, 업데이트 문제를 해결함 웹을 이용해서 CS프로그램을 만들게 되면서 서버 쪽에서는 추가적인 것들이 필요해짐 전통적인 웹 방식은 클라이언트가 요청을 하고 서버는 해당 요청에 대한 문서를 찾고 그것을 돌려주는 방식이었음 하지만 동적으로 문서를 돌려주기 위해서는 서버가 찾는 곳에 문서가 있으면 안되고 필요한 내용을 만들어낼 수 있는 코드가 있어야했음 즉, 웹 서버는 필요한 코드를 찾고 이를 실행하여 DB에서 내용을 찾아서 문서화한 후 돌려줘야했음 이를 위해 서버에는 코드를 실행할 수 있는 환경이 필요해짐 기본적으로 존재하는 웹 서버에 더해 코드를 실행하고, 그 실행된 결과를 돌려줄 수 있는 WAS가 필요해짐 *WAS : 웹 어플리케이션 서버 정리하자..
2 [과거] 클라이언트 프로그램(데이터 요청자)과 서버 프로그램(데이터 제공자)이 있었음 클라이언트 프로그램과 서버 프로그램을 줄여서 CS프로그램이라고 했음 소켓, RPC 등을 이용해서 데이터 전송을 했으나, 데이터 전송 구현의 어려움, 클라이언트 프로그램 업데이트(재설치)의 어려움 등을 이유로 Web(HTTP)을 활용한 방식으로 변화했음 [웹 활용 방식으로의 변화] 웹의 작동방식 웹은 페이지를 요청하고 페이지를 찾아서 페이지를 제공하는 방식임 웹은 브라우저가 있어서 페이지를 요청할 수 있는 환경을 가지고 있고, 웹 클라이언트의 요청에 대해 웹 서버가 바로 응답할 수 있음 웹 프로그램을 활용한다는 생각은 서버/클라이언트 프로그램을 웹 프로그램에 얹을 수 있다는 생각임 이를 위해 정적인 페이지를 전달하는 ..
1 서블릿/JSP : 자바를 이용해서 웹개발을 할 수 있는 API임 웹개발은 서버프로그램개발(백앤드/서버), 프론트 개발(프론트앤드/클라이언트) 예를 들면, JavaScript는 프론트앤드개발이고, Java는 백앤드개발임 Java로 웹을 만들기 위해서는 Java API를 알아야함 여기에는 JDK, 서블릿/JSP, JDBC가 있음 Java를 해본 적이 없으면 Java를 먼저 배우고 JDBC라는 DBMS를 배운 적이 없으면 이를 먼저 공부하고 공부하는 게 좋다 자바 웹을 개발하기 위해서는 서블릿이라는 API를 얹으면 됨 Java프로그램에 서블릿을 얹으면 자바 웹 프로그램을 만들 수 있음! 하지만 서블릿은 문서를 출력하는 부분에 있어서 비효율적이라는 문제가 있음 이러한 문제를 해결하기 위해 (문서의 출력을 간..
//배열 선언 [] const array=['banana', 'apple', 'grape', 'kiwi'] //배열 길이 const array=['banana', 'apple', 'grape', 'kiwi'] console.log(array.length) // 4 //index별 요소 const array=['banana', 'apple', 'grape', 'kiwi'] console.log(array[0])// 'banana' console.log(array[1])// 'apple' console.log(array[2])// 'grape' console.log(array[3])// 'kiwi' //요소별 index const array=['banana', 'apple', 'grape', 'kiwi'] ..
1. 배열에 대한 반목문 : 배열명.forEach( ( ) => { }) 배열의 요소를 순차적으로 훑으면서 함수를 실행함 배열명.forEach((요소, 인덱스) => { }) const array = [3,1,4,6] array.forEach((element, index) => { console.log('인덱스 : '+index +' 숫자 : ' +element) }); //인덱스 : 0 숫자 : 3 //인덱스 : 1 숫자 : 1 //인덱스 : 2 숫자 : 4 //인덱스 : 3 숫자 : 6 응용 예시 const answer=[3,1,4,6]; //정답은 3,1,4,6 const value = '3214' //입력한 값은 3214 let strike = 0; //처음 시작은 스트라이크 0 let ball ..
for(let i=0 ; i{}, (i+1)*1000) } for(var i=0 ; i {}, (i+1)*1000) } 1. 블럭 안에서 밖으로 접근가능하지만 밖에서 안으로 접근할 수 없음 2. 블럭 안에서 변수에 값을 할당하는 경우 우선 블럭 안에서 선언된 변수(지역변수)를 먼저 찾고 블럭 안에 없으면 그 다음에 블럭 밖에서 선언된 변수(전역변수)를 찾음 3. for문의 시작에서 i를 선언하는 경우 해당 i는 for 문의 {}에서 선언된 것임. 따라서 for문{} 밖에서는 해당 i를 변경하거나 불러올 수 없지만 {let i=0; setTimeout( () => {} , (i+1)*1000)} {i=1; setTimeout( () => {} , (i+1)*1000)} {i=2; setTimeout( ()..
variable ; mutable(let), constant ; immutable(const) variable -> 메모리의 값을 읽고 쓰는 게 가능함 값을 할당한 다음 변경이 가능함 constant -> 메모리의 값을 읽기만 가능함 선언&할당한 다음에는 읽기만 가능하고 다시 다른 값을 쓰는 것이 불가능함 js는 변수이ㅡ 값이 바뀔 이유가 없으면 const로 선언하는 것이 좋은 습관임 메모리의 값이 저장되는 두가지의 방법이 있음 1. 프리미티브 타입인지 2.오브젝티브 타입인지에 따라서 다른 방식으로 저장됨 1-> value 값 자체가 메모리에 저장됨 2-> object는 메모리에 한 번에 갈 수 없고 const ellie라고 선언하고 object를 할당하게 되면 엘리가 가리키고 있는 곳에는 레퍼런스가 있..