전체 글 317

Flutter] 기본 레이아웃 이해

MainAxisAlignment Column는 시작점이 왼쪽 상단이 주축이다. 부모 위젯을 아무것도 두지 않은 상태에서 Column의 MainAxisAlignment.start를 하면 레이아웃은 아무것도 변하지 않는다. class _MyHomePageState extends State { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(widget.title), ), body: Column( mainAxisAlignment: MainAxisAlignment.start, children: [ Container( width: 50.0, height: 50.0, // margin: EdgeIns..

RN] react-navigation의 navigate의 action을 이용해 이동하자.

onBackAction = () => { this.moveScreen('Settings'); } ... { if(emailState === KYC_STATE_DONE && selfState === KYC_STATE_DONE && additionalState === '2') { // navigation.navigate('ConfirmRegistration') navigation.navigate('ConfirmAppPin', { pinProps: { description: i18n.t('Pincode:confirm'), // biomatrics: false }, cb: async () => { navigation.navigate('ConfirmRegistration', { action: this.onBack..

RN] 화면 이동하는 방법.

// 스텍에 쌓고 이동하기 ( 뒤로가기시 페이지로 돌아옴 ) this.props.navigation.navigate('스크린 이름 ') // 이전페이지로 돌아가기 ( 위의 navigate 를 이용하여 이동한 경우 가능 payLoad 가 2개 이상인 경우에 가능 하다 ) this.props.navigation.pop(); // 스텍의 제일 윗 페이지로 이동 this.props.navigation.popToTop() // 새롭게 컴포넌트를 스텍이 쌓는다. ( 이전에 스텍에 쌓여있으면 그걸 불러온다 ) this.props.navigation.push(); // 스텍쌓지 않고 이동하기 ( 뒤로가기시 이전페이지로 돌아갈 수 없음 ) this.props.navigation.replace('스크린이름') // 중첩된..

Flutter] 오류 해결이 안된다.

에러 메시지 Exception: null. The flutter tool cannot access the file or directory. Please ensure that the SDK and/or project is installed in a location that has read/write permissions for the current user. 문제 발생 과정 1. VS Code 설치 2. Extends에서 Flutter, Dart를 설치. 3. Dart SDK 설치 4. 안드로이드 스튜디오 설치 5. CMD에서 flutter doctor -v 입력. 6. Android toolchain 에러로 인해 flutter doctor --android-licenses 명령어 실행 7. VS Code..

javascript] getter setter

Getter와 Setter에 대해서 알아보자. 1. get 함수 const numbers = { a: 1, b: 2, get sum() { console.log('sum 함수 실행!') return this.a + this.b; } }; console.log(numbers.a) numbers.b = 5; console.log(numbers.sum) get 함수는 특정 함수를 조회하려고 할 때 특정 코드를 실행시키고 연산된 값을 받아서 사용할 수 있다. numbers() 이런 식으로 사용하지 않아도 된다. const dog = { _name: '멍멍이', set name(value) { //params를 무조건 설정해야한다. console.log('이름이 바뀐다' + value) this._name = v..

javascript] 코드와 함께

우아한형제들의 기술블로그에서 나온 내용을 조금이나마 참고해서 작성한다. 1. 확장하기 좋은 코드 before const colors = { gray1: '#22222', gray2: '#44444', gray3: '#55555', gray4: '#66666', gray5: '#77777', gray6: '#88888', gray7: '#99999', } 프론트엔드에서 이런 형태의 컬러값을 지정 혹은 지속적으로 넣어야하는 값을 설정할 때 보통은 순차적으로 지정해서 사용한다. 이때 gray1과 gray2 사이에 '#33333' 이라는 색상이 들어와야한다면? 어떻게 할 것인가? after const colors = { gray_100: '#22222', gray_200: '#44444', gray_300: '..

javascript] 함수 파라미터에서의 spread 연산자와 rest연산자.

함수에서 사용되는 스프레드 연산자와 rest연산자를 학습해본다. function sum(a, b, c, d, e, f, g) { return a + b + c + d + e + f + g; } console.log(sum(1,2,3,4,5,6)) 위의 코드는 예를 들어서 sum이라는 함수에 파라미터가 총 7개가 있는데 만약에 sum함수에 파라미터를 6개만 담는다면? 과연 콘솔 결과에는 어떻게 표시가 될까? NaN 이라고 뜬다. 이유는 하나가 undifiend기 때문이다. sum함수의 파라미터 갯수와 다른 갯수를 넣었을 때, NaN이라고 안뜨게 하려면 어떻게 해야할까? 많은 방법이 있겠지만 if를 사용해서 하나하나 처리하는 방법이 있을 것이다. function sum(a, b, c ,d , e, f ,g)..

javascript] spread와 rest 연산자

자바스크립트의 스프레드 연산자와 rest연산자를 알아본다. 이런 객체가 있다고 가정해본다. const slime = { name: '슬라임' } const cuteSlime = { name: '슬라임', attr: 'cute' } const pinkCuteSlime = { name : '슬라임', attr: 'cute', color: 'purple' } console.log(slime); console.log(cuteSlime); console.log(pinkCuteSlime); 각각 다른 슬라임이지만 공통적인 부분이 보인다. 이 부분을 ... Spread 연산자를 사용해서 중복되는 부분을 사용해본다. const slime = { name: '슬라임' } const cuteSlime = { ...slim..

javascript] 비구조화 할당

비구조화 할당에 대해서 알아보겠다. 비구조화할당에서 기본 값을 지정하는 방법. const object = { a: 1, b: 2} const {a, b} = object; console.log(a); console.log(b); console.log("==============================") function print({a, b}) { console.log(a) console.log(b) } print(object) 객체를 비구조화할당하는 방법이다. name을 꺼내와서 사용해도되지만 {name : nickname} 같이 nickname이라는 명칭으로 사용이 가능하다. const animal = { name : '멍멍이', type : '개' } //const nickname = anim..

javascript] 함수의 기본파라미터

자바스크립트에서 기본 함수의 파라미터를 어떻게 정의하는지 알아보자. function calcCircleArea(r) { const radius = r || 1; return Math.PI * radius * radius; } const area = calcCircleArea(); console.log(area) 위의 코드는 함수 안에 파라미터가 없을 때 기본 값을 1로 지정하게끔 하는 코드이다. 아래는 기본 값을 지정하는 방법의 또 다른 방법이다. //1. function calcCircleArea(r = 1) { const radius = r || 1; return Math.PI * radius * radius; } const area = calcCircleArea(); console.log(area)..