a = [1,3,5]b = aprint(b)#[1,2,3]#잘 복사가 된듯a.append(7)print(b)#[1,3,5,7]#배열a에 추가했는데 왜 배열b에 추가가 된것이여? 이게 머선일이고? 우리가 가끔 코딩테스트를 연습하다보면 만나는 실수다.얕은복사를 했기 때문에 의도와 다른 저런 참사가 난다. 얕은복사를 할 경우 a,b의 두 변수는 같은 주소를 참조하고있기 때문이다.독립적으로 사용하기위한 복사를 하려면 깊은복사를 해줘야한다 import copya = [1,3,5]b = copy.deepcopy(a)a.append(7)print(b)#[1,3,5]#이젠 온전하게 b가 출력된다! 좀 귀찮지만 copy를 import해서 사용해야한다.이젠 변수 a,b 를 독립적으로 사용할 수있다. 하지만 위의 방법은 막..
jsx란?- 자바스크립트(javascript)의 확장한 문법- jsx파일에서 자바스크립트와 HTML을 한꺼번에 작성 jsx 문법 - , , 와 같이 짝이 있는 태그들은 무조건 닫는 태그가 존재해야함- , 와 같이 단독태그들은 무조건 태그를 닫아줘야함 - 컴포넌트에 여러 요소가 있다면 무조건 부모요소 하나가 감싸야함function App(){ return( 요소1 요소2 )}//에러남function App(){ return( 요소1 요소2 )}//div로 감싸줘서 해결 -값을 중괄호{}에 넣어 관리가능import React from 'react';function App() { const name = '이름..
리액트란?- 각박한 프론트엔드개발에서 좀 더 빠르고 편하게 개발하기 위해 사용하는 것- 웹 개발(react native로 앱개발도 가능)- facebook에서 제공하는 프론트엔드 라이브러리*라이브러리와 프레임워크 차이라이브러리 - 개발자가 필요에 따라 사용함(필기용품)프레임워크 - 개발자가 따라줘야하는 가이드라인(교과서) 개발하기전 공부해놓으면 좋은 것- HTML- CSS- Javascript 리액트 설치 및 실행-Node.js 설치 후 터미널에 입력( https://nodejs.org/en )npx create-react-app my-app*my-app은 새로 만들 파일명 이름
네이티브 앱(Native Application) 운영체제별로 따로 개발한 앱 -갤럭시폰에서 이용하는 안드로이드 앱은 안드로이드 스튜디오를 통해 Java 또는 Kotlin언어로 개발 -아이폰에서 이용하는 IOS앱은 Xcode를 통해 Swift언어로 개발 장점 -각자 운영체제별로 개발하기 때문에 퍼포먼스를 최대한 끌어올리는 것이 가능 -스마트폰의 센서와 시스템에 접근 및 활용 가능 단점 -안드로이드 앱과 IOS앱을 각자 개발 및 각자 유지보수 (시간, 인력, 비용 증가) 결론 -높은 성능이 필요한 앱 개발에 용이 크로스 플랫폼 앱(Cross-Platform Application) 운영체제별로 따로 개발한 앱 -네이티브앱과 다르게 하나의 언어로 여러개의 운영체제에 이용이 가능 -리액트 네이티브(JavaScri..