[Python] 리스트
2022. 3. 19. 09:22
프로그래밍/Python
리스트 리스트명 = [요소1, 요소2, 요소3, .. ] 여러 개의 값을 집합적으로 저장 다른 언어의 배열에 해당하며 실제로 배열과 비슷한 방식으로 사용 [] 괄호 안에 요소를 ','로 구분하여 나열함으로써 초기화 파이썬에서는 리스트 하나에 다른 타입의 값을 섞어서 저장하는 것도 가능 일반적이지 않고 같은 타입이 아니면 실질적인 의미나 실용성이 떨어짐 실행 중에 요소 추가 가능 score = [88, 95, 70, 100, 99] sum = 0 for s in score: sum += s print("총점 : ", sum) print("평균 : ", sum / len(score)) 더보기 총점 : 452 평균 : 90.4 리스트의 요소 [begin:end:step] 리스트는 여러 가지 면에서 문자열과 유..
[Python] map, input, strip, split
2022. 3. 18. 09:08
프로그래밍/Python
a, b = map(int, input().strip().split(' ')) 예전에 파이썬 독학한다고 처음 백준 문제 풀어볼 때 입력값을 여러개 받아야 할 필요가 있었다. 그래서 저 말 그대로 구글링에 쳤을 때 위와 같이 코드가 나왔다. 당시에는 이해를 못하고 그냥 썼는데 지금은 한 번 이 코드를 뜯어보겠다. 1. map map은 컬렉션 관리에 사용되는 람다 함수이다. 파이썬에서 "lambda"는 런타임에 생성해서 사용할 수 있는 익명 함수를 의미한다. 람다함수는 결과 부분을 return 키워드 없이 자동으로 return 해주고, 익명함수라는 이름처럼 함수의 이름을 지정하지 않는다. map 함수의 모양은 다음과 같다. map(변환 함수, 대상 리스트) 모든 요소에 대해 변환 함수를 호출하여 새 요소값으..
[React] component, props, state
2022. 3. 9. 09:39
프로그래밍/React
컴포넌트 앱을 이루는 최소한의 단위 컴포넌트에는 클래스형 컴포넌트와 함수형 컴포넌트가 존재 클래스형 컴포넌트 class App extends Component { render() { const name = "리액트"; return {name}; } } 함수형 컴포넌트 // 일반 함수 function App() { const name = '리액트'; return {name}; } // 화살표 함수 const App = () => { const name = '리액트'; return {name}; } [참고] 일반 함수와 화살표 함수의 this [javascript] 일반 함수와 화살표 함수의 차이 (feat. ES6) 항상 일반 함수와 화살표 함수의 정확한 차이점을 지나쳐 왔습니다. 단순하게 화살표 함수(A..
[React] 리액트 발상, JSX
2022. 3. 7. 16:20
프로그래밍/React
리액트의 발상 [상황] 인터랙션이 많고 동적 UI 표현이 필요합 웹 애플리케이션 ↓ [문제] DOM을 직접 건드리면서 작업하면 코드가 난잡해지기 쉬움 ↓ [해결] Ember, Backbone, AngularJS 등의 프레임워크 등장 자바스크립트의 특정 값이 바뀌면 특정 DOM의 속성이 바뀌도록 연결 = 업데이트 작업 간소화 ↓ [문제] 애플리케이션의 규모가 크면 상당히 복잡해지고 제대로 관리하지 않을시 성능 저하 발생 ↓ [해결] React 라이브러리 등장 데이터에 변화가 있으면 기존에 있던 뷰를 날려버리고 새로 렌더링하는 방식 더보기 렌더링 사용자 화면에 뷰를 보여주는 것 ↓ [문제] 모든 것을 새로 만들면 속도와 성능 저하 ↓ [해결] Virtual DOM 사용 더보기 DOM (Document Obj..
[React] 초보자를 위한 리액트 강좌 4
2022. 1. 27. 09:45
프로그래밍/React
PUT(수정) 아는 단어인지 체크하는 부분은 상태를 유지하는 게 좋음 -> PUT메소드를 이용하여 단어의 isDone필드를 수정하자 // Words.js ... function toggleDone() { fetch(`http://localhost:3001/words/${word.id}`, { method: "PUT", headers: { "Content-Type": "application/json", // 보내는 리소스의 타입 (html, 이미지 등) }, body: JSON.stringify({ // body에는 수정을 위한 정보들, JSON문자열로 변환 ...word, isDone: !isDone, }), }).then((res) => { if (res.ok) { setIsDone(!isDone); ..
[React] 초보자를 위한 리액트 강좌 3
2022. 1. 23. 20:26
프로그래밍/React
더미 데이터 구현, map() 반복문 db폴더 생성 - data.json 파일 생성 데이터 - https://github.com/coding-angma/voca/blob/lesson/9/src/db/data.json @ DayList 컴포넌트 생성 day 개수만큼 를 만들어줘야 함 -> map 사용 import dummy from "../db/data.json"; export default function DayList() { console.log(dummy); return ( {dummy.days.map((day) => ( Day {day.day} ))} ); } 이 상태에서 console을 보면 경고문이 뜸 Warning: Each child in a list should have a unique "..
[React] 초보자를 위한 리액트 강좌 2
2022. 1. 16. 11:30
프로그래밍/React
이벤트 처리 1. 미리 함수로 만들어서 전달 onClick={함수명} 문자열이 아니기 때문에 중괄호 사용 // Hello.js export default function Hello() { function showName() { console.log("Mike"); } return ( Hello show name show age ); } 만일 showName()과 같이 함수 뒤에 ()을 붙여주면 함수가 반환하는 값이 들어감 현재는 반환값이 없으니 undefined 2. onClick 내부에 직접 함수 작성 { console.log(30); }} > show age 이 방법의 장점은 매개변수를 전달하기가 편하다는 점 export default function Hello() { function showAge(..
[React] 초보자를 위한 리액트 강좌 1
2022. 1. 9. 05:26
프로그래밍/React
설치(create-react-app) npx create-react-app [프로젝트명] * 강의에서는 npx create-react-app voca npx는 npm에 올라가있는 패키지를 바로 실행해서 설치시켜주는 도구 npm start 웹브라우저 열기 node_modules 프로젝트를 실행할 때 사용되는 dependency 모듈이 모아져있는 폴더 이 폴더에 설치된 모듈들은 모두 package.json파일에 기록되어 있음 따라서 node_modules를 지우더라도 package.json가 있는 상태에서 npm install만 해주면 다시 설치 가능 깃허브에 올리지 않는 폴더 package.json이 있으므로 다른 개발자도 동일한 환경을 구축할 수 있음 Hot Module Replacement (HMR) ..
[Error] ConnectionRefusedError: [WinError 10061] 대상 컴퓨터에서 연결을 거부했으므로 연결하지 못했습니다
2021. 12. 1. 05:56
오류
vscode로 파이썬 소켓 통신 예제 코드를 돌려보다 발생한 에러 처음에는 이런식으로 vscode에 client와 server 파일을 같이 두고 실행하려고 했음 실행하니까 'ConnectionRefusedError: [WinError 10061] 대상 컴퓨터에서 연결을 거부했으므로 연결하지 못했습니다'라는 에러가 떠서 구글링한 결과 서버와 클라이언트를 같은 idle에서 실행해서 발생한 오류 같음 해결 방법: 서버와 클라이언트 프로그램을 각각의 idle에서 실행해야 함 python idle에서 server.py를 vscode에서 client.py를 실행하기로 함 python idle를 실행해주고 File - New File 클릭 새로 뜬 창에 server.py 코드 입력 Run - Run Module을 누..
[Error] 웹서버 소켓 통신시 브라우저에 아무것도 안뜰 때
2021. 11. 26. 13:31
오류
해결법을 알고나니 정말 아.. 소리밖에 안나왔던 문제 삽질 정말 많이 함 교안에 있던 소켓을 이용한 간단한 웹 서버 예제 (사실 이 코드 복붙해서 돌리면 돌아가는데.. 문제 발생하는 분들은 아래로) import socket def main(): # 연결은 TCP로! listen_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) listen_sock.bind(('', 8080)) # 8080 포트에 바인딩 listen_sock.listen(1) # 기다리기 시작 while 1: conn, addr = listen_sock.accept() # 커넥션을 기다림 data = conn.recv(1024) conn.sendall("""HTTP/1.1 200 OK ..