도메인(domain): 인터넷상에서 컴퓨터, 서버, 웹사이트 등을 식별하는 주소(address)입니다.
DNS(Domain Name System): 네트워크에서 도메인이나 호스트 이름을 숫자로 된 IP 주소로 해석해주는 TCP/IP 네트워크 서비스입니다.
HTTP 메서드(method)의 종류: GET, POST, PUT, DELETE, DEAD, OPTIONS, TRACE, CONNECT 등이 있습니다.
HTML과 XML :
HTML(HyperText Markup Language)은 웹 페이지를 만드는 데 사용되는 마크업 언어입니다,
XML(Extensible Markup Language)은 마크업 언어의 한 종류로, 데이터를 저장하고 전송하기 위해 사용된다고 합니다.
4-1.
void main() { int test = '테스트'; print(test); }
에러, 이유는 변수 test는 정수형으로 선언되었지만 '테스트'는 문자열로 할당했기 때문인것 같습니다
4-2.
void main() { var test = '테스트'; print(test.runtimeType); }
변수 test를 var로 선언하면
var는 변수의 데이터 타입이 자동으로 지정되게 하는것같습니다
변수에 할당된 값인 '테스트'는 문자열이므로,
print(test.runtimeType); 은 데이터 타입을 출력되게 하는 것 같습니다
답은 String 인 것 같습니다
4-3.
void main() { var test = '303'+'101'; print(test); }
문자열끼리 더하기 때문에 사칙연산하지않으므로 303101 입니다
4-4.
void main() { var true = 'test'; print(true); }
에러, 그 이유는 변수명에 true라는 예약어가 쓰였기때문입니다
4-5.
void main() { print(true.runtimeType); }
bool입니다 true(참)은 boolean데이터타입이기 때문입니다
4-6.
void main() { String const = 'test'; print(const); }
오류, 찾아보니, const도 예약어라고 합니다
4-7.
void main() { var value = '303808' != '303'+'8'+'08'; print(value); }
값이 303808과 303808('303'+'8'+'08')은 서로 다른가(!=) 라고 했을때
아니므로 false가 나옵니다
4-8.
void main() { List list1 = [1,2,3,4]; List list2 = [5,6,7]; list1.add(list2); print(list1); }
리스트 문제에서.. 먼저, list1과 list2 두 개의 리스트가 생성되고 초기화됩니다
그리고 list1.add(list2) 코드를 실행하면,
list2 리스트가 list1 리스트의 끝에 추가된다고 합니다.
그래서, list1 리스트의 요소는 [1, 2, 3, 4, [5, 6, 7]]가 되는 것 같습니다
4-9.
void main() { List list1 = [1,2,3,4]; List list2 = [5,6,7]; list1.addAll(list2); print(list1); }
list1.addAll(list2) 코드는
list1 리스트에 list2 리스트의 모든 요소를 추가하는 것 같습니다
따라서, list1 (기준)에 list2를 넣어서 [1,2,3,4,5,6,7] 가 됩니다.
4-10.
void main() { List list1 = ['a','b','d']; list1.insert(2,'c'); print(list1); }
찾아보니
insert 메서드는 List 클래스에 정의된 메서드 중 하나로,
리스트에 새로운 요소를 지정한 인덱스에 삽입하는 역할을 합니다. 라고 되어있습니다..list1.insert(2, 'c') 코드에서는
list1 리스트의 인덱스 2 위치(d)에 'c' 요소를 삽입하고
(b와d사이? d앞에 오는것같은데.. 이 부분은 잘모르겠다; )
따라서, list1은 ['a','b','c','d']가 됩니다
4-11.
void main() { List list1 = [5,4,3,2,1,0]; list1.remove(0); print(list1); }
이 리스트의 이름은 list1이고, 5부터 0까지의 값을 갖습니다
list1에서 0 값을 삭제합니다, remove(0)
list1을 출력하면 [5,4,3,2,1] 이 됩니다.
4-12.
void main() { List list1 = [5,4,3,2,1,0]; list1.removeAt(0); print(list1); }
- remove(0)은
[5,4,3,2,1] remove(0)의 괄호안에 0이라고 되어있는데 원하는 숫자 (예시로) 0 을 적으면 그 숫자를 삭제하는 것 같다- removeAt(0)은 리스트의 특정 인덱스에 해당하는 값을 삭제하고자 할 때 사용한다
이거는 0부터 시작하니까[5,4,3,2,1,0]
에서 5를 삭제한다
- 답은 [4, 3, 2, 1, 0]
4-13.
void main() { List list1 = [5,4,3,2,1,0]; list1.shuffle(); print(list1); }
shuffle는 '섞다'라는 뜻이다
즉, 무작위로 배열된다는 뜻이다 (랜덤같은것이다)
이제는 좀 복잡해진다..
4-14.
void main() { List list1 = [5,4,3,2,1,0]; List list2 = []; list2.add(list1.isEmpty); list2.add(list1.isNotEmpty); list2.add(list1.length); list2.reversed; print(list2); }
Empty
는 '(텅)빈'이라는 뜻이다
list2.add(list1.isEmpty)
는
list1이 비어있는지 여부를(T,F로) list2에 추가함- 리스트가 비어있지 않으므로 false이다
NotEmpty
은 비어있지않는 것이므로
list1이 비어있지 않은지 여부를(T,F로) list2에 추가함- 리스트가 비어있지 않으므로 true이다
length
는 '길이'라는 뜻이다list2.add(list1.length);
에서 길이는 6이다 (6칸이므로) 그리고 list1의 길이를 list2에 추가한다reversed
는 '반대의'라는 뜻으로 list1을 뒤집습니다(reversed)
↓ 멘토답변
print(list2.reversed); 로 하면 뒤집어진 결과가 나오지만 list2.reversed만 사용하면 아무런 변화가 없습니다
list2.reversed; 대신 list2 = list2.reversed.toList(); 를 적어주시고 print(list2); 를 하시면 뒤집어진 결과가 출력됩니다
아직 배우지않은 함정문제였다
어렵다..
4-15.
void main() { List list1 = [0, 1, 2, 3, 4, 5, true, false]; List list2 = []; list2.add(list1.contains(list1[list1.length - 1])); list2.insertAll(0, ['a', 'b', 'c', 1, 2, 3]); list2.indexOf(true)-list2.indexOf(false); print(list2.indexOf(true)-list2.indexOf(false)); }
- contains는 포함하다 라는 뜻입니다
- List1과 List2를 선언(초기화)하고
리스트의 인덱스는 0부터 시작하므로,
마지막 인덱스 요소(뒤에서부터1칸)는 -1이 된다
따라서 [list1.length - 1]이 되고
list2.add(list1.contains(list1[list1.length - 1]));
에서
contains()
는
리스트에서 주어진 객체가 포함되어 있는지 여부를 확인하는 역할이다
- insert(삽입하다)
insertAll는 어떤 리스트 위치에 다른 리스트 요소를 모두(?) 삽입할 수 있도록 해줍니다...
위 마지막 문제는 찾기도 까다롭고 다른 문제보다 어려웠습니다.
마지막문제는 혼자 다 못풀었네요..
모르는 것:
list2.insertAll(0, ['a', 'b', 'c', 1, 2, 3]);
list2.indexOf(true)-list2.indexOf(false);
print(list2.indexOf(true)-list2.indexOf(false));
다트 데이터타입과 파이썬 데이터타입의 비슷한 점
= 다트와 파이썬은 모두 정수와 실수, 문자열, 불리언(Boolean)을 지원한다