본문 바로가기

전체 글

(163)
알고리즘1 The HALTING Problem The HALTING Problem 프로그램에 입력이 들어오면 종료할 것이냐? 멈추지 않는다면 알려주는 것이 좋지 않을까? 무한루프는 멈추지 않는 프로그램 중 하나 어떤 프로그램이 종료하지 않는지를 미리 알 수 있는가? 언젠가 끝난다는 것을 말할 수 있는 시점이 있을까? 반대로 절대로 안 끝난다는 것을 확신할 수 있는 시점이 있을까? Alan Turing의 증명 -> 결론 : 이 문제는 안 풀린다. -> 이 문제는 풀린다고 가정함. (귀류법으로 증명) 프로그램 D = 모든 프로그램 M과 M에 대한 모든 입력 X에 대해서 M(X)를 실행하면 종료할 지 영원히 계속 수행될지 판단할 수 있다고 하자. - 프로그램 D는 Yes/No를 대답하는 프로그램 - 프로그램 D는 항상 종료함 즉, 프로그램 D의 입력은 어..
react + node.js 지금까지의 환경 정리 react + node.js +mysql => 셋 다 aws에서 동작하고 있음 (ec2에서 서버 클라이언트 모두 돌아가며 db는 rds로 연결) 서버 실행 명령어: npm start 클라이언트 실행 명령어: npm run start (안된다면 앞에 sudo붙여주기) 이미 해당 포트에서 실행중이라면 프로세스 종료하기 sudo fuser -k 80/tcp 코드를 새로 업로드하면, 1. github에 올린다 (현재 github desktop와 연결) 2. ec2 콘솔창에서 해당 폴더 들어간 후 sudo git pull origin master 3. 서버 실행 4. 콘솔창 다시 열고 클라이언트 실행 RDS와 연결된 mysql은 컴퓨터 상의 heidiSQL 프로그램과 연결되어 있음 간단한 데이터 삽입,삭제, 테이..
java HashMap 난 항상 향상된 for문을 사용하는 편이었는데 람다식에 좀 더 익숙해질 필요가 있는듯 //key출력 valuevalues.forEach(value -> System.out.println(value)); //key와 value출력 productPrice.forEach((key, value) -> { System.out.print("key: "+ key); System.out.println(", Value: "+ value); }); keySet()만 또 익숙했었는데! 키와 값이 모두 필요할 땐 entryset()을 이용하자. compute() ,computeIfPresent() putIfAbsent() , computeIfAbsent() 사실 이거때문에 이 글 씀 getOrDefault 찾는 키가 존재하면..
router Link를 사용하려면 반드시 Router안에 있어야 함! Browser라우터가 Hash라우터와 다른점은 #가 없다는 것 => github page에 업로드하기 힘들다고 함 각각의 상세페이지를 위해서 router에 props를 같이 전달하고싶다. 라우터 안의 모든 라우트들은 기본적으로 props가 전달됨. history location match staticContext 추가로 props를 전달하기 위해서 안의 to 속성을 object로 담아서 보낼 수 있다. 근데 왜 hash,search, pathname모두 전달이 되는데 필요한 state에만 값이 안들어가는걸까..
상태 1. mounting - constructor(자바스크립트 class 생성 시 호출) 컴포넌트가 마운트될 때, 화면에 표시될 때, 컴포넌트가 나의 웹사이트에 갈 때 constructor호출 - render (setstate 실행시) componentDIdMount으로 rendered 완료 확인 2. updating - 사용자에 의해 업데이트 componentDIdUpdate으로 updated 완료 확인 3. unmounting - 컴포넌트가 죽는 것
PropTypes / state map은 요소를 하나씩 처리 후 배열로 반환 PropTypes로 원하는 데이터타입으로 들어왔는지 확인 가능 class 컴포넌트는 react.component를 extends한다. function 컴포넌트는 바로 return했지만 class는 react.component의 render과정을 거쳐야 한다. - React는 자동적으로 class 컴포넌트의 render를 실행한다. 쓰는 이유? state때문에! state는 오브젝트로 컴포넌트의 동적인 데이터를 담는다. (변하는 데이터!!!) state는 직접 설정하면 안되고 setstate를 거쳐야 한다. setState를 거칠 때마다 리액트는 새로운 state와 함께 render를 호출한다. render 과정을 거쳐 새로고침하는 효과를 주지만 화면은 깜빡이지..
쌩초보 React 시작 - jsx 가상 DOM(Document Object Model) 방식이므로 빠르다. = 실제 소스코드가 웹 페이지에서 보여지지 않는다. js -> html안에 넣어서 동작시킨다 -> 자바스크립트 + html = jsx (유일한 react 개념) 컴포넌트는 HTML을 반환하는 함수 App.js(컴포넌트)는 와 같이 표기 1. React application은 한 번에 하나의 컴포넌트만 렌더링가능 단, 컴포넌트 안에 다른 컴포넌트를 import 해서 사용가능 2. 컴포넌트에 많은 속성(property)을 인자로 보낼 수 있다. 즉, 반복하지 않고 컴포넌트를 재사용 가능하다 html의 속성과 매우 비슷해보임
자바스크립트 정규식 Regular Expressions I 문제 : 3글자 이상의 소문자 알파벳으로 이루어진 문자열. 첫글자와 마지막 글자가 같은 모음(a,e,i,o,u)이라면 true 반환 일단 main함수에 test는 뭐지? 하고 이것부터 당황했따 ㅋㅅㅋ 자바스크립트 제대로 해본적이 없고..걍 검색하면서 풀어야지 했던거라서.. const re = regexVar(); console.log(re.test(s)); test()를 쓰면 정규식을 확인하고 true / false로 반환해주는 거 였음 일단 맨 첫글자가 모음인 거 찾는 거까진 당연히 쉬웠다. 마지막 글자가 이 첫 글자와 같아야 하는데 처음엔 replace해서 기존 문자열과 변경된 문자열을 비교할까 했는데 test()를 쓰고 있으니 더 복잡해지는 소리였다. 찾아보니 앞에서 찾아낸 정규식문자를 저장하는 기..