@media screen and (max-width: 1440px) {
}
@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 400px) {
}
최소영역은 반대
작은 영역에서 큰영역으로 순서 써야함..
중앙정렬
중앙정렬할 때
마진 오토가 안먹혀서 뭔가 했더니 가로값을 주어야했다!!
position: fixed;
/* fixed를 쓸 때에는 width, height를 명시해줘야 한다. */
width: 460px
/* left, right는 해당 요소의 위치 시작점을 결정한다. 그런데, 이때, margin의 양 값을 auto로 줌으로써 마진을 주어 해당 요소의 양 끝 위치를 각각 0으로 만들어준다. */
margin: 0 auto;
left: 0;
right: 0;
error failed to launch emulator. Reason:No emulators found as an output of `emulator -list-avds`
Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'. > SDK location not found. Define location with an ANDROID_SDK_ROOT environment variable or by setting the sdk.dir path in your project's local properties file
"blob의 경우 4GB의 이진 데이터를 저장할 수 있다고 합니다. 하지만 이건 DB에 직접 저장하는 것이 아니라 DB에는 Large Object의 위치 포인터만 저장하게 됩니다."
그말은 즉, 컴퓨터가 인식하는 모든 파일(이진 데이터)를 저장하는 타입이라고 한다.오 찾아보니까 볼 수 있긴하네
이렇게 확인할 수는 있구만
하지만 BLOB보다는 URL자체로 저장을 선호한다고 한다.
그 이유는데이터베이스 서버는 애플리케이션이 확장될 때 종종 성능병목 현상이 일어나는데 이미지와 함께 로드하면 더 큰 병목현상이 발생한다고 함.
Many web app designers don't store images in database BLOBS, but rather store them in a file system, and store their URLs in database strings. Why? Database servers often become a performance bottleneck when an application scales up. If you load them with images, they'll become even bigger bottlenecks.
그럼 string문자열로 바꿔줘야지~
하고 string찾는데 없어 아 맞다 VAR이지하고 보다가
VARCHAR과 CHAR의 차이가 뭔가 궁금해졌다
VARCHAR은 '가변길이'
실질적인 데이터와길이 정보도 같이 저장된다.
CHAR은 길이가 고정되어있어야한다. 남는 공간은 공백으로 채운다 공간낭비 발생!
VARCHAR is variable length, while CHAR is fixed length
Hook이란?Hook은 특별한 함수입니다. 예를 들어useState는 state를 함수 컴포넌트 안에서 사용할 수 있게 해줍니다. 다른 Hook들은 나중에 살펴봅시다!
언제 Hook을 사용할까?함수 컴포넌트를 사용하던 중 state를 추가하고 싶을 때 클래스 컴포넌트로 바꾸곤 했을 겁니다. 하지만 이제 함수 컴포넌트 안에서 Hook을 이용하여 state를 사용할 수 있습니다.
state 변수 선언하기
클래스를 사용할 때, constructor 안에서this.state를{ count: 0 }로 설정함으로써count를0으로 초기화했습니다.
함수 컴포넌트는this를 가질 수 없기 때문에this.state를 할당하거나 읽을 수 없습니다. 대신,useStateHook을 직접 컴포넌트에 호출합니다.
useState를 호출하는 것은 무엇을 하는 걸까요?“state 변수”를 선언할 수 있습니다. 위에 선언한 변수는count라고 부르지만banana처럼 아무 이름으로 지어도 됩니다.useState는 클래스 컴포넌트의this.state가 제공하는 기능과 똑같습니다. 일반적으로 일반 변수는 함수가 끝날 때 사라지지만, state 변수는 React에 의해 사라지지 않습니다.
useState의 인자로 무엇을 넘겨주어야 할까요?useState()Hook의 인자로 넘겨주는 값은 state의 초기 값. 함수 컴포넌트의 state는 클래스와 달리 객체일 필요는 없고, 숫자 타입과 문자 타입을 가질 수 있습니다. 위의 예시는 사용자가 버튼을 얼마나 많이 클릭했는지 알기를 원하므로0을 해당 state의 초기 값으로 선언했습니다. (2개의 다른 변수를 저장하기를 원한다면useState()를 두 번 호출해야 합니다.)
useState는 무엇을 반환할까요?state 변수, 해당 변수를 갱신할 수 있는 함수 이 두 가지 쌍을 반환합니다. 이것이 바로const [count, setCount] = useState()라고 쓰는 이유입니다. 클래스 컴포넌트의this.state.count와this.setState와 유사합니다.
이제useState를 이용하여 많은 것을 만들 수 있습니다.
count라고 부르는 state 변수를 선언하고0으로 초기화합니다. React는 해당 변수를 리렌더링할 때 기억하고, 가장 최근에 갱신된 값을 제공합니다.count변수의 값을 갱신하려면setCount를 호출하면 됩니다.
import React, { useState } from"react";
//여기서 useState가 Hook//https://ko.reactjs.org/docs/hooks-overview.html//버튼클릭시 값 증가functionExample() {
//'count'라는 새 상태 변수를 선언//0은 초기값const [count, setCount] = useState(0);
//하나의 컴포넌트 내에서 State Hook을 여러 개 사용할 수 있음const [age, setAge] = useState(10);
const [fruit, setFruit] = useState("banana");
// const [toDos, setToDos] = useState([{ text: "Learn Hooks" }]); //여기return (
<div><p>You clicked {count}times</p><buttononClick={() => setCount(count + 1)}>Click me</button><h3>나이{age}살부터 사용가능</h3><buttononClick={() => setAge(age * 2)}>Click me</button><h3>우리가 먹을 과일은:{fruit}</h3><buttononClick={() => setFruit(fruit + "apple")}>과일추가</button>
{/* <h3>뭔데 넌{toDos}</h3><buttononClick={() => setToDos(toDos + "add")}>텍스트추가요</button> 여기추가하면 왜안되지*/}
</div>
);
}
exportdefault Example;
왜 저 todos는 안될까 에러떠
혹시 카멜표기 때문인가 싶어서 대문자 넣어봤는데 아니더라고
✌️ Hook 사용 규칙
Hook은 그냥 JavaScript 함수이지만, 두 가지 규칙을 준수해야 합니다.
최상위(at the top level)에서만 Hook을 호출해야 합니다. 반복문, 조건문, 중첩된 함수 내에서 Hook을 실행하지 마세요.
React 함수 컴포넌트내에서만 Hook을 호출해야 합니다. 일반 JavaScript 함수에서는 Hook을 호출해서는 안 됩니다. (Hook을 호출할 수 있는 곳이 딱 한 군데 더 있습니다. 바로 직접 작성한 custom Hook 내입니다. 이것에 대해서는 나중에 알아보겠습니다~~~)