2018 Mercedes-Benz E400: 5 Cool Features — Cars.com

2018 메르세데스 – 벤츠 전자 클래스 쿠페는 빠르고 편안하며 우아하지만 우리의 시험 차로이 efore 백 4matic 모형을 가격이 상승 할 수있는 배웠다 이 제품은 테스트 된대로 밀기 위해 약 2 만 5 천 달러의 옵션 기능을 신속하게 갖추고 있습니다

당신이 기대해야하는 그런 종류의 돈을위한 거의 87 천 달러에 가격 약간의 무게가 더 많이 여기에 아홉 가지로 눈에 띄는 다섯 가지 멋진 기능이 있습니다 백오십 달러를 지불하면 멀티 컨투어 프론트 시트를 얻을 수 있습니다 요추 및 옆 덧 발언과 같은 친숙한 조정과 더불어 운전석과 정면 마사지 프로그램을 제공합니다 조수석은 당신이 바퀴 뒤에서 편안한 상태를 유지하도록 도와줍니다 겨울에는 지금까지 많은 나라가 있으며 많은 사람들이 의심의 여지가 없습니다

그들의 차가 그 (것)들을있는 경우에 그들의 격렬한 좌석을 즐기기 e 400는 격렬한 좌석을 제안한다 너는 중앙에있는 문에서 팔걸이를 데울 수있다 여분 $ 800를위한 콘솔 그것은 작은 것 같이 보일지도 모르다 그러나 그것은 큰 것을 만든다 온도가 떨어질 때의 차이는 표준 12와 함께 제공됩니다 센터에서 가장 큰 3 인치 센터 멀티미디어 스크린 클래스에 추가하지만 당신은 두번째 12 포인트 3 인치 전통적인 계기 대신에 스크린 디지털 계기판 센터 화면처럼 선명한 그래픽을 제공합니다 모양을 사용자 정의하고 다양한 정보를 보여줍니다 네비게이션지도는 바로 앞에 6,600 달러가 든다

패키지 프리미엄의 다른 많은 안전을 포함합니다 편리함과 기술이 특징 인 $ 1,900 에어 바디 컨트롤 적응 에어 서스펜션은 베개와는 거리가 멀다 모드 그러나 통제되었던 응답은이 쿠페에 잘 어울린다 그것은 또한 포함한다 조절할 수있는 타는 것 높이와 그것은 더 좋은 것을 위해 모퉁이에서 신체 두루마리를 제한하기 위해 디자인되었다 선택적인 전속력 적응 형 순항 제어가 e 400을 교통량이 많은 상황에서 멈추고 조향 장치가 포함되어 있으면 핸들을 차선에 자동으로 유지하도록 핸들을 자동으로 돌립니다 점진적인 변화가 아니라 점진적으로 변화합니다 이 편리한 기능을 핸들에 적어도 한 손을 유지해야합니다

그것은 옵션의 $ 10,200 프리미엄 3의 일부이기 때문에 싸게 오지 않는다 패키지는 78,000 달러에 달하는 사치품을 많이 기대해야합니다 e 400의 쿠페는 대부분 하이테크 기능과 즐거운 운전 경험으로 뒷받침되는 전통적인 고급 약속 당신은 약간의 자동차 시간을 찾고 있습니다 그것은 나쁜 방법이 아닙니다 당신

พี่น้องลองรถ Season 5 ตอน: Mercedes-Benz E200 Coupé AMG Dynamic

시작할 수는 있지만 밖으로 나올 수는 없다 장비를 찾을 수 없습니다

기어는 어디에 있습니까? 벤츠를 자주 운전하십시오 그것을 사 주시겠습니까? [음 ] 안녕, 파이, 퍽

공원 찾기 좋아, 잠깐만 좁은 조금 더 노력합시다 [음 ] 이 공원은 능숙합니다 그래, 맞지? [어 ] 자동차 용 수단 오, 자동화를 사용하는 것을 압니다 [웃음] 이 차에 대한 당신의 호감은 무엇입니까? Pi가이 차 위에서 으스러 뜨린다

그는 세단 모델에서 스포츠를 높였다 분명히 [음 ] 스티어링 휠에서의 관찰을 3- 스포크로 봅니다

그리고 바닥은 똑 바릅니다 그것은 다리를 어지럽히 지 않습니다 그리고 그의 자리 뒷판은 어깨보다 높습니다 좌석 시간을 만드십시오 기분이 빡빡 해

그리고 우리가 앉아있을 때 즉시 문을 닫으십시오 팔을 좌석 벨트에 올릴 것입니다 그래서 우리는 멀리까지 도달 할 필요가 없습니다 똑바로 가다 이 차의 특별한 점은 앉을 수있는 진짜 쿠페인가요? 스트레이트 무릎에 아직도 많이 남아있어

그러나 우리가 장거리를 달릴 때 확실하지 않다 얼마나 오래 지속될 것입니까? 아직 시도하지 않았습니다 대시 보드 부분이 그보다 낫습니다 그의 물질은 우리가 정오에 달릴 때 빛을 반사한다 오

빛이 여기 반영됩니다 호 앉아있는 사람들 만 반영합니다 작은 안경을 쓰고 싶다 더 많은 것을 이 소재는 시원합니다 그것은이 차를 매우 아름답게 보이게합니다 비행기 엔진처럼 설계된 에어 박스 정말 멋지다

파이 와이드 스크린 화면은 123 인치 펜입니다 그것은 크고 분명 해 보입니다 특히 카메라를 볼 때 등을 맞댄

우리는 카메라에 의지 할 수 있습니다 그리고 그 노래에 대해, Pee Pook 이 차는 아주 잘 응답합니다 그가 소리를 냈기 때문에 버 마스터 [호 ] 서라운드 사운드 시스템 어느 것이 아주 시끄 럽다 그리고 그 소리는 아주 좋습니다 그리고 이상한 것은 무엇입니까? Pi Pi 기어가 기어를 찾지 못합니다 기어는 어디에 있습니까? 그는 바퀴 뒤에 기어를 숨 깁니다 방향 지시등을 켜면 기어에 밀어 넣었다

빈 기어로 반올림되었습니다 벤츠를 자주 운전하십시오 그것을 사 주시겠습니까? 내가 가속기를 밟은 직후 나는이 차의 힘이 그것은 또한 충분하다 그러나 그것은 Hm E- 클래스 일 것임에 틀림 없다 아마 조금 더있다 그것 스포츠카 그는 2 리터 터보 차저 4 기통 가솔린 엔진을 사용합니다 184 마력의 최대 출력 제공 어느 것이 말해야 만 하는가? 그의 능력으로 충분하다

그러나 할 수 없으므로 "수식", 그는이 차의 0-100 km / h 가속도를 테스트했습니다 94 초를 할 수 있습니다 [HM ] 그리고 나서 60-100 km / h의 속도로 추월하기 위해 가속합니다 51 초를 할 수 있습니다 80-120 km / h의 속도로 65 초 안에 할 수 있어요

그의 가속 속력을 아주 잘 만든 자동차 그룹에 속했다 그러나 그룹의 끝에서 그의 동력 전달 시스템은 9-G-Black 시스템입니다 그것은 그가 함께 할 9 개의 기어를 가지고 있음을 의미합니다 그리고 운전 모드 이 모드에는 5 가지 하위 모드가 있습니다 [음

] 각 모드는 다른 수정이있을 것입니다 사용 특성에 따라 잠깐, 편안하게하자 [과속] 확인 이번에는 Sports Watch를 시도했습니다

같은 액셀러레이터를 누르십시오 더 빨리 응답하십시오 네, Sports Plus보다 더 빠르게 반응합니다 더욱 빨라진다 [호

] 그것은 매우 다릅니다 3이 모드 "Forma"잡지 그는이 자동차 브레이크를 테스트했습니다

100 km / h의 속도로 완전히 브레이크를 밟으십시오 그는 단지 378 미터를 막곤했습니다 또는 힘 G 104 G와 비교해서는 아주 좋은 것으로 간주되어야합니다

이 차는 스포츠가 될거야 절약에 대해 알고 싶다면 어떻게 될까요? Pi, Pi 그는 나를 잊지 않았다 스포츠를하고있을 때에도 그는 또한 시작 / 정지 [음 ] 이것은 우리가 차를 오랫동안 주차 할 때 적합합니다 자동차가 자동으로 엔진을 종료합니다 [음 ] 연료를 절약하기 위해 또한 오염을 줄입니다 Start / Start STOP / STOP은 다음과 같습니다 이 시스템은 특별히 설계되었으므로 아무런 문제가 없습니다 [또는] 안전 시스템, 아직 뭔가가 있습니다 음

나는 ESPN에서 작동하는 ABS를 가지고있다 효과적으로 차가 고장났다는 느낌 증상은 매우 어렵습니다 [음 ] 그의 ESPN 시스템 때문에 그는 우리가 구부릴 때 도움이됩니다 초과 속도 적합성 그러면 시스템이 브레이크를 작동시키고 바퀴가 자유롭게 회전합니다 그리고 ABA 액티브 브레이크 어시스트 그것은 앞으로의 거리를 계산합니다 우리와 함께 너무 가깝다면 시스템이 브레이크를 제공합니다 [예

] 하지만 여전히 그보다 더 가깝다면 거의 위험 할 때까지 시스템이 자동으로 차를 느리게합니다 [어 ] 보완 시스템은 무엇인가? 그런 다음 안전 문제를 추가하십시오

잠깐, 우리 앞에 주차 해 Pi Pi 아직 완료되지 않았습니다 외모는 아직 언급되지 않았습니다 오, 그게 내 앞에서 주차한다고 했어 우리는 내려 가서 밖에서 이야기 할 것입니다

확인 메르세데스 – 벤츠 E 200 쿠페 Aimee 다이나믹이 차 그는 Sensual Purity 개념으로 디자인했습니다 우아한 디자인 그리고 현대 그의 그릴 다이아몬드 그릴로 그런 다음 헤드 라이트, 멀티 바이트 LED 그것은 고유 한 것입니다 메르세데스 – 벤츠 보다 고급스럽게 보이게하기 중요한 점은 Pi의 헤드 라이트에 자동 센서 시스템이 있다는 것입니다 동작 감지 여부 우리가 이미 정원으로 차를 운전했다고 가정하면 또는 빛 앞에 차가 있으면 자동으로 떨어집니다 [음

] 아니면 우리가 어둠 속에서 운전한다면 표시등이 자동으로 켜집니다 이것은 그의 뛰어난 특징 중 하나입니다 저거 문이야? 그의 거울은 프레이밍이 없으며 기둥도 없다

사이드 미러를 열면 전면 / 후면 모두 가득 찬 공기를받을 수 있습니다 등 뒤에 LED 조명이 있습니다 그건 크리스탈이야 밤에는 빛나고, 멀리 보아라 그것보다 이상하다, Pee Pee도 뒤에서있다

어느 후드가 열렸습니까? Benz 로고에 숨겨져 있습니다 [Aaa] 스포츠, 부드러움을 좋아하는 사람이라면 그리고 편안하게 운전하세요 매 순간 재미있는 운전 이 차는 대답한다 수정 보고자하는 페이지를 클릭하십시오 형제 자매 인 우리 둘은 차를 시험해 볼 것입니다

너의 생활 방식처럼? 다음 번에 "자동차의 형제"에서 Pook와 Pi Pook와 다시 만나요 안녕하세요 안녕하세요

HOW TO LEARN CZECH IN 5 MINUTES (Honest Guide)

5 분 안에 체코 어를 배우는 법? 건배! 오,이게 바로 맥주 야 이봐, 잘 있었 니? 나는 잘하고있다! 이봐, 어디 있니? 아, 맞습니까? 오, 아니면 왼쪽입니까? 아니면 똑바로가? 얼마예요? 그건 비싸

그건 싸다 아름다워 그것은 추한 것입니다 그들은 나를 찢어 버렸다! 경찰에 신고 해! 친구에게 안녕하세요 당신이 모르는 누군가에게 안녕하세요! 친구에게가

네가 모르는 사람에게 작별 인사 당신이 모르는 누군가에게 좋은 저녁 고맙습니다 ! 고맙습니다 부디 파티 예 ! 아니 ! 왜 ? 때문에 ! 당신은 영어를합니까 ? 나는 체코 어를 못해

그러나 나는 배우고있다 제발, 천천히 제발, 속도를 올려! 하나 두 세 네 다섯 육 세븐 아홉 오, 나는 너를 속 였어 그래 나는 그렇게 느꼈다 바로 내 머리 속에 좆됐지만, 나는 죄송합니다 여덟? 아홉 십 ! 삼백 삼십 삼 아니

333 나는 할 수 없다! 나는 이것을 할 수 없다 괜찮아 맥주 한잔주세요 고맙습니다 너의 전통적인 식사를하고 싶다

수프 좀 갖다 줄래요? 대단히 감사합니다 영어 메뉴가 있으십니까? 선술집 술집은 어디 있습니까? 지하철은 어디 있습니까? 저를 도와주세요? 내가 호텔을 찾고있어 아침 식사 ! 점심? 공식 만찬 머리카락! 얼굴! 눈? 코 소유 다리! 발! 결국, 당신은 아름답습니다 내가 너와 오 하느님을 볼 때 내 마음이 멈추게된다

너를 너무 사랑해, 너를 그리울거야! 나는 너를 너무 사랑해! 수표를받을 수 있을까요? 내가 지불 할 수 있니? 카드로 지불 할 수 있습니까? 100 유로를 위해 얼마를 얻을 것인가? 그 좋지 않다 당신은 눈이 부 셨다! 멍청이! 젠장! 엉덩이! 항문 나는 그것을 지불 할 것이다! 내 호텔에 가고 싶니? 나는 택시에 전화 할 수있다! 당신은 정말 아름답습니다 이것은 잘 알고 있었다! 고맙습니다 얼마나 ? 안녕 ! 나중에 보자! 내가 아는 걸 배우고있어! 그게 배우고있어! 분명히 얘들 아 5 분 안에 첵을 배울 방법이 없어

터프하고 힘든 언어입니다 맞습니까? 매우 어렵다 그러나 젊은 사람들은 영어로 말할 것입니다 [나는] 그들이 노인이라고 생각한다 어쩌면 그렇게하지 않을 수도 있습니다

어떤 말을하면 몇 가지 구절을 얻으십시오 적어도 당신이 어떻게 말을해야 할지를 알면 행복 할 것입니다 고맙습니다 안녕하세요, 오늘 그걸 덮었 으면 좋겠네요 그래, 우리가 그랬어! 나는 그렇게 희망한다 오늘은 재미있었습니다

그건 그렇고 이것은 Honts입니다! 그래서 그는 항상 카메라 뒤에 있습니다 그는 카메라 앞에있어 나는 그가 여기에 있었기 때문에 매우 기쁘다 시청 해주셔서 감사합니다

너 그런 종류의 일을 왜하지? 잘가요 구독 버튼을 누르는 것을 지켜봐 주셔서 감사합니다 그리고 우리는 다음 주에 너희들을 볼거야 내가 그랬어? 네, 할 세상에 ! 그냥 뭐라고 했어? 그들은 지금까지 알아야한다 네

"20% 넘게 할인!" 3월에 사면 좋은 수입차 5

꽃샘추위가 찾아왔어요봄이 왔다는 뜻이죠기승을 부리던 미세먼지가 찬 바람에 씻겨나간 탓에 춥긴 추워도 얼굴엔 미소가 머금어집니다 그리고 함께 들려온 3월 할인가 소식이 또 한 번 미소를 머금게 만드는데요 그럼 이달에 어떤 프로모션이 있는지 알아볼까요?

매달 브랜드별 최대 할인가를 반영한 ‘겟차 시세’를 바탕으로20% 이상 싸게 살 수 있는 차를 골라봤습니다먼저 BMW이달 3시리즈 풀체인지 모델 출시를 앞두고 있죠 그래서 구형 3시리즈에서

스포티한 모델로 인기 좋은 320d에 큰 폭의 할인이 들어갑니다멋스러운 디테일을 가미한 M스포츠 쉐도우 에디션이 그 주인공인데요5,750만원의 출고가에 무려 254%의 할인율이 적용되며 1,460만원이나 할인됩니다 실구매가는 4,290만원

BMW에서 공식 한정 출시된 쉐도우 모델은 까맣게 칠한 라디에이터 그릴과 머플러,그리고 커버를 어둡게 해 분위기를 살린 헤드램프와 리어램프가 특징이라고 볼 수 있겠네요다음은 BMW의 대표 모델인 5시리즈 30L 가솔린 엔진이 얹힌 540i 모델에 사륜구동을 적용한 540i xDrive 럭셔리 모델입니다

할인율은 228%로 실구매가는 출고가 9,610만원에서 2,190만원이 깎인7,420만원이죠 한 달 전과 비교해 할인금액이 무려 490만원 늘어난 것으로, 이는 BMW 브랜드 전체를 놓고 봤을 때 전달 대비 가장 좋은 구매 혜택입니다 바겐세일 행렬에 SUV가 빠지면 섭섭하죠

먼저 지난 1월 수입 SUV 브랜드 중 판매량 1위를 기록한지프가 대형 SUV 그랜드 체로키 3 6L 모델에 통 큰 할인율을 내걸었습니다6,130만원에 할인율 20 1%가 적용되며할인금액은 1,230만원실구매가는 4,900만원으로 4천만원대에 미국산 대형 SUV를

만나볼 수 있는 셈이에요 랜드로버도 파격적인 할인 공세를펼칩니다프리미엄 소형 SUV를 지향하는 디스커버리 스포츠 20D SE 모델로,그중에서도 같은 2 0L 엔진이지만

180마력을 내는 중간 트림으로경쟁력마저 갖추고 있어요 할인율은 207% 출고가 6,520만원에서1,350만원이 깎인 5,170만원에 살 수 있습니다 20%까진 아니지만 벤츠 역시

이달 높은 할인율을 보입니다 10%대 초중반으로 그간 벤츠가높은 할인율을 제시하지 않았던 점을 고려하면 충분히 눈여겨볼 만한프로모션이죠C220d에 10 7%라는 전과다른 할인율을 적용합니다

준중형 세단인 C클래스에서도 인기 좋던 20L 디젤을 싸게 내놓은 건소비자 인식의 변화 때문 디젤보단 가솔린을 선호하는 쪽으로기울면서 이 같은 할인책을 내놓은 게 아닐까 싶네요현금 구매 시 출고가 5,530만원에서 10

1% 할인율이 적용된 4,970만원이는 지난달과 비교해 106만원 더 저렴해진 금액으로C클래스를 4천만원대에 만나는 건 그리 흔한 일이 아니란 사실은 확실합니다이상으로 겟차가 추천하는 3월에 사면 좋은 수입차 5대를소개했는데요

인기 모델 중에서도 전월 대비 할인금액이 꽤 늘어난 건 물론, 평소 생각도 못 한 할인율을보인 게 매력적으로 보이죠? 여러분은 신차를 산다면이 중 어떤 모델을 사고 싶으신가요?

PRAGUE IS OVERCROWDED! TRY THESE 5 CZECH DESTINATIONS! (Honest Guide)

안녕하세요 체코에 오신 것을 환영합니다

예! 프라하는 물론 훌륭하고 훌륭합니다 성 그리고 다리 그러나 믿거 나 말거나 프라하에서 1 시간 이내에 이동하십시오 많은 멋진 장소를 볼 수 있습니다 시작 "해방자" 프라하는 버스로 1 시간 거리에 있습니다 그것은 멋진 산이다

정상 회담 전경이 아름다운이 호텔 시가 전차를 타고 내려갈 수 있습니다 그런 다음 케이블카를 타고 탑승 수 있습니다 이것은 정말 훌륭합니다 그만한 가치가있어! 겨울에는 스키 타기가 가능합니다 여름에는 하이킹을 할 수 있습니다

그러나 "Lebrats"시의 중심을 방문하는 것을 잊지 마십시오 환상적! 둘째 "카타나 호라" 이 대성당이 훌륭하다고 생각한다면 Qatana Hura를 방문해야합니다! 기차로는 1 시간 밖에 걸리지 않습니다 그리고 당신은 놀랄 것입니다! 우리는 이전 에피소드에서 그것을 실제로 덮었습니다 그래서 그들을보아야합니다 셋째, "비스크" 당신이 카를교가 오래되고 아름다웠다 고 생각한다면 "Pisk"시를 방문해야합니다

다시 프라하에서 1 시간 당신은 "Camony Most"를 보게 될 것입니다 유럽 ​​중심부에서 가장 오래된 다리 관광객과 충돌 할 확률은 0 %입니다 IV "필슨" 나는 맥주에 대해서 말하지 않는다는 것을 안다 나는 도시에 대해서 이야기하고있다

그들이 발명 한 맥주 때문에이 이름이 붙여졌습니다 그럼이 도시를 방문해야합니다 버스로 한 시간 거리에 있습니다 양조장을 둘러 볼 수 있습니다 "베슬란" 그들은 실제로 가장 높은 교회 탑을 가지고 있습니다

그것은 Vittas 대성당 여기 프라하에서 더 키가 크다 마지막으로, 마지막이 아닙니다 "Carlishten"의 성 그것은 lovely하고 lovely 한 기차로 프라하에서 단지 35 분이다 가장 낭만적 인 순간을 만날 수 있습니다 직접 기차를 타는 것이 좋습니다 프라하 주변에는 많은 관광 가이드가 있습니다

그 도시로가는 투어를 제공합니다 50-150 유로와 비교 그러나, 그들을 사지 말라! 그냥 직접 사세요 모든 도시에는 버스와 기차가 있습니다 그 장소에 가기 위해해야 ​​할 일 모두 응용 프로그램 이름 : "PUBTRAN" 목적지를 지정하라는 메시지가 표시됩니다 어디에서? 그리고 어디로 가고 싶니? 그것은 당신에게 간단하고, 명확하고, 쉬운 길을 줄 것입니다

이 모든 여행은 하루 만에 끝날 수 있습니다 아침 일찍 일어나 기차 나 버스를 타세요 저녁에는 안전하게 돌아올 것입니다 그래서, 다시 프라하는 관광객으로 가득차 있습니다

그들 중 많은 수가있다 그러나 솔직히 나는 우리가 언급했던 모든 도시가 때때로 프라하보다 매우 멋지다라고 생각한다 그래서 가서 멋진 나라를 탐험해라 이 에피소드에서 우리는 4 개의 다른 장소 우리가 아직 촬영하지 않은 것들 그럼이게 어떻게 생각하니? 댓글로 이동 다음 에피소드에서보고 싶은 도시의 이름을 적으십시오 "Fair Guide"채널에서 장소의 조회수가 가장 많습니다

우리는 다음 에피소드에서 그를 쏠 것입니다 약속드립니다 글쎄? 나는 "Libertas"가되기를 희망한다 그게 다야 보고 주셔서 대단히 감사합니다

페이스 북에서 우리 페이지를 좋아한다면 어느 것이 : facebook / ThomasPrague 그녀는 그 도시 중 한 곳으로 여행 사진을 보냈습니다 우리를 행복하게 해 줄거야 구독 버튼을 클릭하면 즐겁게됩니다 보고 주셔서 대단히 감사합니다 우리는이 비디오를 촬영했습니다

우리는 우리나라를 사랑하기 때문에 "공정한 가이드"의 다른 에피소드에서 보자

Mercedes-Benz E Class vs Bmw 5 Series vs Audi A6 Review

안녕, 오늘 우리는 Alaatin61에서 3 개의 독일 세단을 볼 것입니다 팔로 잉 팔로 잉 시험 수리 가장 실용적인 검색 수화물 양이 가장 크고 가장 큰 것 사용 된 재료 BMW 5 시리즈의 경치를 볼 때, 일년 내내 낡은 것처럼 보입니다

새 모델이 내년에 나올거야 소형 차량 비즈니스, 경영진 및 고위 간부 패키지 이 메이크업 오렌지 신호 이중 제논 전조등 및 헤드 라이트 청소 17 인치 럭셔리 캔들 크롬 사용 및 신호 신호 유리 천장 4 창가에 완전히 내려 앉는다 이전 세대에 따라 약간 더 어두운 리어 라이트 Chrome은이 새로운 경우에 새로운 기능입니다 그리고 메르세데스 E 시리즈, S와 C 시리즈는 산들 바람 우아하고 스포티 한 찾고있는 luks 우리가이 최신 모델을 볼 때 3 최신의 새로운 오디 A6는 새로운 헤드 라이트와 꼬리 빛을 가지고있다 그것은 이전의 세대보다 운동가 답게 보인다 그러나 경쟁자에 따르면, 나는 그것이 매우 간단하다고 생각한다

스포츠 패키지에이 cantlar가 있습니다 19 인치 유도 신호 리퍼브 LED 리어 램프 새로운 두 배의 배기 주차 센서 열쇠가없는 입력 시스템 최신 세대의 TFT LCD 디스플레이 저음에 선택의 여지가있다 여기에 usb 및 aux 입력 블루투스 밝은 검정 sunbeds 제어 손잡이를 밟으십시오 BMW는이 시스템으로 시장에 처음 나왔습니다 전체 메뉴를 제어 할 수 있습니다 이 시간에, dugmeler를 추가 한 가장 쉬운 시스템 편안함, 스포츠 및 환경 친화적 인 캐릭터 선택 스포츠 모드에서 빨간색과 디지털 goster 조명이있는 변속 레버, D down, 위의 R 및 위쪽의 P 메르세데스 터치 패드 시스템, BMW에 필적 추가 메르세데스 E 시리즈의 와이드 스크린 쇼가 최고입니다

기내에는 3 개의 징후가 있고 기내에는 64 개의 징후가 있습니다 명령 온라인 설정 123 인치 화면 필적 큰 기본 메뉴 2D 또는 3D지도 두배의 미디어 S 라인 스포츠 스티어링 휠 및 F1 기어 레버 화면을 숨길 수 있습니다 2 개의 usb 및 aux 입력이 있습니다 컵 홀더 열쇠가없는 시스템 MMI 탐색 설정 Audi는 Google지도를 사용합니다

이 아름다운 기능을 접을 수있는 스크린 그리고이 새로운 세대의 네비게이션 문자 옵션 터치 패드 필기 인식 7 앞으로 LED 조명 이 1605 킬로그램의 520d 무게 이 E200 휘발유의 1505 킬로그램 무게 가장 큰 짐 수를 가진 540 리터 좌석과 좌석은 맞을 수있다 그러나 여분의 옵션은이 오디 표준도있다 가방 및 여분의 여분의 타이어 접이식 좌석 아우디 A6 표준 여분의 여분의 타이어 LED 조명 열쇠가없는 입장 BMW 5 시리즈의 매우 편안하고 조용한 객실 이 스포츠 나는 선 루프와 아무 소리도 내었다 엔진 소음이 거의 없음 긴 보닛 매우 편안하고 잘 좋아했습니다 M은 스포츠 패키지가 아니며 매우 편안하며 기어 변경 사항은 훌륭합니다 스포츠 모드에서 조금 더 직렬 도구 7 시리즈의이 시리즈에 들어갈 것입니다 이것은 우리는 50 마일 빨리 가고있어

그리고이 목소리는 좋습니다 속도 110 km 좋은 단열을해라 메르세데스 E에서 지금 도시 및 고속도로 메르세데스는 엔진을 리뉴얼했으며 현재 E220d 194 새로운 9 단 전달 편안함이 메르세데스에서 가장 중요한 것입니다 Burmester 사운드 시스템은 훌륭합니다 당신이 음악을 좋아한다면, 확실히 이것을 가져 가라

최고 중 하나 Audi A6 세단 또는 4 대의 트랙터, BMW 및 Mercedes 후면보기 가속 페달은 동적 모드에서 활성화됩니다 고속으로 머물다 변경된 분위기 아름다운 이 방법으로 주차 센서 잔여 거리 E 시리즈 단일 차량, 우수한 유리 그리고 parfum 시스템에는 S 시리즈와 마찬가지로 에어컨이 있습니다

5 MOST HAUNTED PLACES IN PRAGUE | Ghosts of the Czech Republic

Amy Krypt를 디버깅 해 주셔서 감사합니다 나는 현재 프라하에서 프라하에있다

체코 내가 가장 무서운 곳으로 데려다 줄거야 프라하 공포 팬이라면 끝까지보아야합니다 정말 대단한 일이지만, 첫 번째 무서운 것을 한번 보자

위치 알았어, 우리가 방금 처음으로 목표로 한 애들은 파우스트의 집, 사탄과 연결되어 있습니다 내가 현재 파우스트 하우스의 안뜰에있는 모든 소년들 그가 차 안에 들어갈 수 있다고 생각하지 않아서 정말 멋지다 외부에서이 세세하고 세심한 견해에 접근하십시오

사실, 나는 그렇게 생각한다 오늘은 어떤 캠퍼스 나 무언가처럼 작동합니다 그러나이 장소는 정말로 그것에 관련된 무서운 전설을 정말로 가지고있다 파우스트의 집과 관련된 이야기의 주요 스토리는 실제로 관련되어 있습니다 악마 자신

그래서 이야기는 그가 발견 한 아주 가난한 학생으로 시작됩니다 거리의 집없는 사람들이 절망적으로 피난처를 찾는다 소문에 의하면 파우스트의 집을 지나가고 그의 현관 문이 열려 있다는 것을 알게되었다 그는 얼마 동안 버려진 건물에 들어갔다 그는 생각했다

그가 거의 약국을 떠났기 때문에 그것은 아주 이상했다 이상한 기괴한 기계 주변에는 많은 실험실 장비가있었습니다 기계가 어디에나 있습니다 그는 또한 장소에 대한 몇 가지 매우 이상한 전설을 들었다 그가 집에 들어갔을 때, 그는 천장에 정말로 큰 구멍을 발견했고 이것은 그가 그것에 대해 들었던 이야기의 증거였습니다

이전 주인은 악마 자체에 구멍을 통해 받아 들여졌다 천장이 지옥에 그 남자는 절망적이었다 성소는 어쨌든 집에 머물기로 결정했습니다 그는이 구멍을 큰 깔개와 단지 거기에서자는 것

그 다음날 아침 깨어났다 그는 그릇에있는 동전이 음식을 사러 간다는 것을 발견했지만 그 이상이었습니다 그를 위해 온종일 충분한 양의 음식 다음날 다른 사람을 찾았다 같은 장소에 동전

그것은 약간의 시간이 걸렸다 고합니다 이 주장으로 인해 매우 욕심을 갖게되었습니다 집에서 마법의 책을 발견하고 그것을 사탄과 점점 더 부유 한 삶을 사는 데 더 많은 돈을 요구합니다 하지만 그와 그 사람이 같은 구멍을 뚫고 지나갔습니다 사탄 자신의 지옥 천장

이 이야기 때문에이 집은 매우 프라하와 프라하에서 유명한 곳으로, 가장 무서운 곳 중 하나입니다 장소 우리 다른 어리석은 위치에있는 모든 사람들 모든 좋은 소년 우리는 다른 우스운 프라하 위치 Charles 다리 다 알았어 오늘 나는 프라하의 찰스 브릿지에있다

지금이 곳에서 영혼에 대한 정확한 이야기가 없다면 매우 어두운 역사를 가지고 있습니다 그것과 관련된 전설 첫 번째 무서운 역사 다리는 양쪽 끝의 타워를 덮습니다 거기에 16 세기 초반 몇 명의 지도자가 벙어리가 있었고 7 명의 머리가 여기로 데려왔다 이 매달린 철제 바구니는이 탑에서 나온 것이고 완벽합니다

그들이 아마도 거기에 머무를 것이 더 무섭고 최악입니다 수십 년 이 다리를 죽음과 연결시키는 또 다른 이야기는 14 세기에 한 남자가 다리를 떨어 뜨려 공개를 거부했다 왕의 비밀 그의 죽음은 다리에서 기념되었다

보드를 만졌을 때 아마 보드를 만져 행복을 가져올 수 있습니다 어디 있는지 모르겠습니다 공원은 아직 거기에있다 나는 그것을 찾기 위해 최선을 다할 것입니다 모든 보드에 닿아 있습니다

나는 그들이 옳다고 생각하지 않는다 이 동상 주변에 지옥이있는 사람들이 있기 때문에 우리는 분명히 그것을 발견했습니다 그는 위로 올라와 만졌다 외모 아마도 그 개가 또한 있다고 가정합니다 얼마나 많은 사람들이 그것을 만지고 있는지 말할 수 있습니다

금이기 때문이야 그래서 우리는 도중에서 올라 탔고, 장소를 원했고, 프라하를 지났다 너무 아름다워 그것은 꽤 멋진 거리다 그리고 심지어 평평하다

맥도날드는 좋아 보인다 우리 다음 소름 끼치는 장소에가는 길에있다 그것은 오늘 체코 슬로바키아 사람이다 외무부는 매우 고귀한 부자의 궁전 이었지만 극도로 헛된 가족 그래서 우리는 여기 저와 제 뒤에있는 궁전을 처음 엿볼 수 있습니다

나는 그것이 그의 첫번째 소름 끼치는 이야기를 말하기에 좋은 장소라고 생각했다 궁전을 지은 사람 그가 구두 합의에 도달했다고한다 후에 궁전을 지었던 모든 노동자들과 함께 귀하의 작업을 위해 완료되었습니다 비록 그가 죽었지 만 구조 전체에 부분적으로 오컬트와 흑 마술과 관련이있는 사람이 그의 영혼은 건설을 계속하기 위해 정확한 서류에 서명하게된다

많은 사람들은 그것이 궁전 건물로서 성공했다고 믿습니다 완료 될 수 있었다 우리의 다른 유령 이야기는 악령을 포함하는 이야기입니다 악마조차도 궁전 맞은 편 안뜰에 있다고 전해졌습니다

이교도 공주의 대표자 인 기둥이 있었고 지금이 칼럼에는 아마도 돌아 다니는 많은 악마와 악령이 있었을 것입니다 이 그들은 그것을 발화시켜 주름살과 심지어 향수 프로젝트를 일으킬 것이다 이 특별한 기둥 주위에 유황 이 영적 이야기의 또 다른 부분에는 이 궁전에서 살았던 공작 부인

그녀는 매우 부자이고 살았습니다 지나치게 풍부한 라이프 스타일 그녀는 와인을 목욕하고, 우유에 목욕하고 먹을 것입니다 세계 각지의 진미 그는 그것을 좋아하지 않았다

특히 1700 년대 후반에이 지역의 큰 기근이 터졌습니다 공작 부인은 기근에 부응하여 매우 부유 한 공을 던졌습니다 그녀는 그녀의 반죽에서 미끄러졌다 이 공은 많은 사람들을 화나게했지만 또한 근처에 살던 악마에게 화를 냈다 거기에는 9 명이 있다고한다

궁전, 그리고 공작 부인에게 신발이 밝아지는 광기를 춤 췄다 그 후에 그는 그가 지옥에 끌려 갔다고 말한다 어떤 이들은 궁전의 무도 회장을 통해 지옥으로 직접 끌려 갔다고 말합니다 다른 사람들은 내가 언급 한 칼럼에 끌려 갔다고 말한다 안뜰에 일찍 와서 그곳에서 지옥을 끌어 냈어

많은 사람들로부터 공작 부인의 계시를 내 뒤의 궁전에서 인용했다 가장 유명한 프라하 유령 현재 저는 성 수도원의 안뜰에 서 있습니다 아그네스 v 프라하와이 곳은 살해 된 수녀를 쫓아 다니며 가장 유령이 많은 곳 중 하나입니다 그녀의 유령은 때로는 꽤 피로 보인다

피는 조금 더 행복하고 조금 웃는다 사람들 그녀의 이야기는 아주 슬프다 누군가와 사랑에 빠지는 비극적 인 사랑을 포함합니다 훨씬 낮은 계층이었습니다

가난한 기사였습니다 그리고 이것은 정말로 분노였습니다 그녀의 아버지, 그래서 그녀는 그녀가 수도원에 데려 갈 것이라고 결정했다 그녀가 수녀가 된 곳 어제 밤에 그녀의 이야기가 끝난다

그녀가 어디로 갔다가 그녀의 여주인을 만나기 전에 그녀는 그녀의 아버지가 직면하고 찔 렸다 말한 것으로부터 비록 그것이 결코 불쾌한 영이 아니더라도,이 교회를 통과해야합니다 또 다른 것이있다 독살 하려던 어린 소녀가 나타났다는 이야기 그녀는 매우 나쁜 사랑의 일을 끝내고 그녀가 그녀가 이 어린 소녀에게 동전을 주었고 그녀가 행복하게 번영하게했습니다 인생

그래서이 수녀를 만나게되면 괜찮을거야 내 작은 것 얘들 아, 나는 우리의 마지막 소름 끼치는 길에서 가장 아름다운 거리를 걷는다 목표지만, 그럼에도 불구하고 여전히 공포의 팬들을위한 치료를 받고 있다는 사실을 기억합니다 나는 정말로 일찍이고, 내가 정말로보고, 점검하는 것에 흥분하는 무엇인가이다

잘 내가 가장 소름 끼치는 곳을 밝힐 때까지 프라하에서 나는 무서운 곳을 정직하게 언급하고 싶었다 그냥 마을 밖으로 ossuary의 안장입니다 이 교회는 그것이있는 정신과 그것이 가지고있는 오싹한 장소에 관한 주목할 가치가있는 이야기 뼈의 40 ~ 70,000 명의 렘넌트가 장식용 디스플레이에 장식되어 있습니다

각 뼈대 중 적어도 하나를 포함하는 샹들리에로 인체와 뼈로 만든 가족 코트 나는 완전한 비디오를 가지고있다 Sedlec 교회에 대해 더 자세히 알고 싶다면 뼈 교회 아래 설명을 확인하십시오 프라하의 소름 끼치는 장소

모든 올바른 애들이 내 선택 1 번에 왔어 프라하와 프라하에서 가장 유령이 많은 장소는 세인트입니다 제임스 바실리카 이유 왜이 장소가 그렇게 끔찍한 끔찍한 지, 1700 년대에 여기에 묻혔다 그는 실제로 묻혔다

그의 비명 소리와 공포의 외침은 틀리다 그가 죽은 후에 조금 재미있는 교회 정신 그것이 정신이되었고 여전히 교회가되었다고합니다 그러나 이 장소에 대해서도 최악은 아닙니다 바로 안에 입구는 고기 갈고리에서 매달려있는 400 년 된 미라 손입니다 이야기 이 팔 뒤에는 도둑이 교회에 침입하여 도둑질을 시도했다

성모 마리아의 보석 팔의상은 살아 있다고한다 그는 그녀를 붙잡고 떠나지 않았다 그가 석방 될 수있는 유일한 길 그의 손은 절단 된 것이 었습니다 그의 팔은 다른 잠재적 인 도둑을 낙담시키고 오늘 아주 무서운 표시로 남아있다

시청 해 주셔서 감사합니다이 동영상이 가장 즐겁기를 바랍니다 프라하의 유령 같은 장소 당신이 코멘트하고 싶다는 것을 기억한다면 선불 하지만 너에게 공포의 팬들은 내가 지금 치료에 대한 특별한 견해를 가지고 있음을 알았다

그들은 "악몽"이라고 불리는 "공포"라고 불리는 술집에서 머리에 머리를 대고갑니다

Curso Python 3 | Aula 2 – Top 5 sites feitos em Python

안녕, 인간! 파이썬 3 코스의 다른 비디오에 오신 것을 환영합니다 여기에서는 파이썬으로 만들어진 5 개의 훌륭한 사이트를 보여 드리겠습니다

비디오에서 "왜 파이썬을 배울 것인가?"라고 묘사 된 Thiago Nalli는 내 귀는 (그리고 바르게) 내가 내가 뭘 만들 수 있는지 더 탐구해야한다고 말했어 파이썬 거기에서이 비디오의 생각이 왔습니다 고마워, 티아고! 자, 사업에 나가자 Python을 사용하면 다양한 수준의 복잡성으로 웹 응용 프로그램을 만들 수 있습니다

웹 개발과 관련된 사람들은 짧은 시간 내에 많은 것을 만들어 내야합니다 시간, 물론 품질을 유지해야합니다 요즘은 아름답고 기능적인 사이트를 처음부터 구축하는 것은 비현실적입니다 그리고 곧 할 수 있습니다 이를 위해서는 웹 프레임 워크와 같이 작업을 쉽게 처리 할 수있는 도구가 필요합니다

웹 프레임 워크를 하나의 프로그램 또는 프로그램 집합으로 이해할 수 있습니다 웹 응용 프로그램을 만드는 데 도움이됩니다 파이썬으로 만들어진 여러 개의 웹 프레임 워크가 있습니다 그 중 Django를 강조 할 수 있습니다 사이트, 소셜 네트워크, 포털 및 기타 용어를 동일한 패키지에 넣고 있음을 기억하십시오

이 비디오는 주로 IT가 아닌 사람들을위한 것입니다 이제 상위 5 개로가 봅시다 다섯째, 모질라 모질라는 자유 소프트웨어 커뮤니티이며 파이어 폭스 브라우저를 만든 것은 그녀였습니다 사이트에서 단순함과 아름다움이 함께 어우러진 것을 볼 수 있습니다

이 예제는 이미 파이썬에 관심을 갖기에 충분해야합니다 이것은이 Top 5의 가장 간단한 응용 프로그램이며 아마도 가장 유용 할 것입니다 넷째, 워싱턴 포스트 뉴스 포털이므로 업데이트가 매우 동적이어서 항상 오락가락하십시오 그것은 꽤 멋지다라고 생각하는 섹션의 섹션을 가지고있다

그리고 내려와 보면 뉴스를 배포하는 데 여러 가지 방법이 있다는 것을 알 수 있습니다 셋째, NASA 가장 인상 깊었던 점은 이미지로 화면의 대부분을 차지하도록 설계된 레이아웃입니다 및 비디오 또한 페이지를 떠나지 않고 더 많은 정보를로드 할 수 있습니다

두 번째는 Disqus입니다 Disqus는 수십만 개의 웹 사이트에서 사용되는 플랫폼입니다 피드백 시스템으로 훌륭한 경험을 제공하는 플랫폼입니다 소셜 네트워크에 통합되었습니다 그리고 맨 처음 Instagram에서

많은 사람들이 이미 알고 있듯이 Instagram은 이미지 공유를위한 소셜 네트워크입니다 Instagram 필터를 적용하면 이미지가 훨씬 매력적으로 변할 수 있습니다 가장 중요한 부분은 자신이 무엇인지에 대한 기술적 지식이 필요 없다는 것입니다 사용중인 필터 뒤 모든 것이 매우 간단합니다 파이썬을 사용하면 장고와 같은 웹 프레임 워크를 만들 수 있으며,이 웹 프레임 워크를 사용하여 소셜 네트워크를 만드십시오! 이 비디오가 유용했다면, 그것을 좋아하고 채널에 가입하십시오

일 관심을 가져 주셔서 대단히 감사합니다 프로그래밍은 나와 함께합니다!

JavaScript – Lecture 5 – CS50’s Web Programming with Python and JavaScript

[음악 재생] 연사 1 : 모두, 웹 프로그래밍에 오신 것을 환영합니다 파이썬과 자바 스크립트

그리고 우리가 마지막으로 그만 둔 부분을 집어 들자 그래서 지난 몇 주 동안, 우리는 주로 Flask를 사용하여 웹 응용 프로그램을 디자인하려고했습니다 그리고 우리가 클라이언트와 서버 측면에서 웹 어플리케이션을 생각한다면 – 여기서 클라이언트는 이동중인 컴퓨터의 응용 프로그램 사용자입니다 귀하의 웹 주소로 이동하여 귀하의 웹 응용 프로그램과 상호 작용하는 경우, Flask 응용 프로그램 코드가 실행되는 서버가 서버입니다 그러면 코드가 실제로 어디에 있는지 생각할 수 있습니다

이 다이어그램의 관점에서 실행됩니다 그리고 지금까지 Flask에 파이썬 코드를 작성했을 때, 그 코드는 모두 서버에서 실행 중입니다 따라서 컴퓨터의 사용자는 특정 웹 페이지를 요청합니다 나는 Get, Post, 또는 다른 HTTP 메소드를 가지고있다 이 요청은 Flask with Python에서 실행되는 웹 서버에 대한 요청입니다

서버는 그 응답을 처리하려고 시도하지만, 고객이 요구하는 바를 이해하십시오 그리고 궁극적으로 그 서버는 HTML과 CSS를 다시 보냅니다 컨텐츠를 클라이언트의 웹 브라우저에 렌더링 된 클라이언트로 다시 보냅니다 우리가 오늘로 전환해야 할 것은 서버에서 실행되지 않고 실행되는 코드를 살펴 봅니다 대신 클라이언트에서 웹 브라우저의 사용자 컴퓨터에 저장됩니다

이제 클라이언트에서 실행되는 코드가 필요한 이유는 무엇입니까? 우리가 가진 것처럼 서버에있는 것과는 반대로 지난 몇 주 동안 계속 되었나요? 관객 : [INAUDIBLE] 물론 확실히 그래서 가능한 한 가지 이유는 모두 액세스하려는 많은 사용자 응용 프로그램을 동시에 사용할 수 있습니다 당신은 서버의 부하를 제거 할 수 있습니다 서버에 연결하려고하는 클라이언트가 너무 많지는 않습니다

동시에 서버로드를 줄이는 데 도움이 될 수 있습니다 환상적 이것이 클라이언트에서 코드를 실행하려는 이유 중 하나입니다 왜 어떤 경우에는 코드를 클라이언트에서 실행해야할까요? 대신에 서버에? 다른 생각이나 아이디어? 네? 관객 : [INAUDIBLE]이 (가) 서버로 가서 돌아 가야하는 것이 더 빠릅니다 너는 단지 [미성숙] 일 뿐이다

스피커 1 : 빠릅니다 확실한 그래서 우리가 어떤 일이 일어나기를 원한다면, 무언가 또는 계산이 서버가 처리중인 내용 일 필요가 있습니다 그러면 클라이언트가 웹 브라우저에서 해당 코드를 실행하게 할 수 있습니다 추가적인 레이턴시와는 달리, 추가 시간 클라이언트가 서버에 요청하는 데 걸리는 시간, 서버가 코드를 실행 한 다음 서버를 실행하려면 클라이언트에게 다시 응답하십시오

그리고 이것들은 몇 가지 이유입니다, 우리가 곧 보게 될 것입니다, 코드가 실제로 더 강력하고 유용하게 사용됩니다 웹 브라우저에서 실행 중입니다 그리고 그것은 오늘날 우리가 바라보고있는 것입니다 그래서 우리는 다른 언어를 도입 할 것입니다 우리는 지난 2 주간을 파이썬으로 작업하는 데 보냈습니다

하지만 오늘은 자바 스크립트를 소개하겠다 웹 브라우저에서 사용하기 위해 실제로 고안된 언어입니다 지금은 다른 곳에서도 사용되고 있습니다 하지만 주로 웹 브라우저에서 JavaScript를 사용하려고합니다 클라이언트에서 코드를 실행하여 일부 외부 서버와 반드시 통화해야합니다

우리가해야 할 모든 계산 작업이 필요합니다 이제 JavaScript에는 다양한 변형이 있습니다 시간이 지남에 따라 업데이트되었습니다 다른 브라우저는 약간 다른 유사 콘텐츠를 사용합니다 일부 웹 브라우저는 JavaScript의 일부 기능을 지원합니다

다른 기능은 다른 기능을 지원합니다 그래서이 복잡한 버전의 모든 것을 관리하기 위해서 JavaScript의 다양한 기능, 거기 JavaScript의 특정 표준 버전입니다 수년 동안 석방 된 우리는 대부분의 최신 브라우저가 특정 표준을 준수해야합니다 그리고이 클래스에서 사용할 JavaScript 버전 ES6으로 알려진 JavaScript의 최신 버전 중 하나입니다 그래서 이것이 자바 스크립트의 특정 표준 버전 일뿐입니다

특정 기능 목록을 사전 정의합니다 일부 기능 목록은 이전 버전의 JavaScript에 없었던 새로운 기능입니다 그러나 요즘 대부분의 웹 브라우저는 JavaScript ES6의 최신 버전을 지원합니다 그리고 그것은 우리가 주로 사용하는 버전이 될 것입니다 이 수업에서 사용하게 될 것입니다

이제 실제 JavaScript 코드를 살펴 보겠습니다 그리고 우리가 그것을 실행한다면 어떻게 될지 모릅니다 그래서 우리가 자바 스크립트 코드를 웹에 넣으려고한다면 페이지와 같은 모양 일 수 있습니다 이것은 웹 페이지의 매우 간단한 JavaScript 섹션입니다 그리고 주목할 것은 스크립트 태그 안에 동봉되어 있다는 것입니다

몇 주 전에 HTML 태그를 보았습니다 그리고 우리가 자바 스크립트로 뭘 보려고하는지 우리의 HTML 페이지 안에있는 JavaScript 코드입니다 특히이 스크립트 태그 안에 있습니다 이 경우 우리가 가진 것은 기능을 호출하는 것으로 보입니다 우리는 경보라는 기능을 가지고 있습니다

이 함수의 본체 안에는 "Hello, world!"라는 문구가 있습니다 실제로이 코드를 실제로 살펴 봅시다 우리가 이것을 웹 페이지 안에서 실행하려고한다면 그래서 나는 hello0html을 연다

이것은 단지 HTML 문서, 웹 페이지입니다 여기서 우리는 웹 콘텐츠를 가지고 있습니다 예전과 마찬가지로 웹 페이지의 머리 부분이 있습니다 우리는 웹 페이지의 바디 섹션을 가지고 있습니다 "환영합니다

"라는 제목의 큰 제목입니다 그리고이 스크립트 태그 안에는 경고 함수 호출이 있습니다 그리고 그 alert 함수는 인자로 "hello!"라는 문자열을 가지고 있습니다 느낌표와 함께 추측 할 수 있듯이이 경고 기능 JavaScript의 일부인 함수입니다

그리고 그것은 우리에게 경고 창을 표시 할 것입니다 그래서 지금 hello0html을 열면 무엇을할까요? 내 웹 브라우저에이 페이지에 "안녕하세요"라는 경고가 표시됩니다 느낌표 그리고 나는 OK를 누른다

이제 그 웹 페이지의 나머지 부분을 봅니다 첫 번째 JavaScript 애플리케이션 또는 웹 페이지였습니다 우리가 그렇게 할 수 있었던 방법 우리의 HTML 문서 안에 JavaScript 코드를 포함 시켰을뿐입니다 이 스크립트 태그 안에 포함되어있는 한 그래서 이것은 매우 간단한 예제였습니다

JavaScript 코드가 웹 페이지 안에있을 때 실행할 수 있습니다 아마 눈치 챘을 것입니다 이 웹 페이지를 순서대로 열어 놓는 것 외에 다른 일을해야한다 이 JavaScript 코드를 실행하십시오 페이지를 열면 "안녕하세요

"라는 경고가 나에게 나타났습니다 그리고 그것은 그 것이었다 하지만 우리가보다 정교한 웹을 개발하기 시작할 때 페이지는 모든 자바 스크립트 코드 처음부터 모든 것을 한 번에 실행하지 않습니다 하지만 대신 특정 JavaScript 코드 만 실행하거나 특정 일이 발생하거나 특정 사건이 발생하면 실행하기 위해, 말하자면 그래서 그렇게하기 위해 우리가 할 일은 events

html을 살펴볼 것입니다 여기서 주목할 것은 이전과 마찬가지로 스크립트 태그 안에 있습니다 오히려 바로 말하기보다는, 안녕하세요, 여기서 "hello"는이 경고 함수로 전달되는 인수입니다 대신 우리는 함수를 정의합니다 그래서이 함수는 hello라고 불립니다

아무런 논쟁도 없습니다 그리고이 함수의 몸 안에, 우리는 경고합니다 ( '안녕!') 그리고 자바 스크립트가이 중괄호를 사용할 것임을 알았습니다 함수 내에 포함 된 것을 나타내려면, 들여 쓰기를 사용하여 함수의 내부를 나타내는 Python과는 달리 그리고 그렇지 않은 것 이들은 단지 구문상의 차이 일 뿐이지 만 일반적인 생각 똑같은 일이 될거야

여보세요 우리가 나중에 호출 할 수있는 코드 블록입니다 경고 메시지가 나타나기를 바랍니다 그러나 스크립트 태그 내부에주의하십시오 실제로 코드가 없습니다

hello 함수를 실행하십시오 우리는 정의하는 세 줄을 가지고 있습니다 이 함수는 hello 함수이지만 실제 사용 사례는 없습니다 우리는 아직 그 hello 함수를 실행 중입니다 그러나 HTML 페이지에서 나중에 보게되면, 우리는 "Welcome"라는 제목을 가지고 있습니다

그리고 우리는 또한이 버튼을 가지고 있습니다 그리고 단추는 단추 꼬리표에 의해 정의 된 여기에서 누른 ㄴ다는 것을 말한다 태그 안에 '여기를 클릭하십시오' 그러나 우리는이 버튼에 추가 속성 인 onclick을 지정했습니다 그리고 onclick 속성의 내부에서 우리는 실행하려는 JavaScript 코드 인 "hello"와 동일하게 설정하십시오 이 버튼을 클릭하면 hello 함수를 실행하려고합니다

그리고 JavaScript 관점에서 이것을 생각하는 방법 자바 스크립트가 일부 특정 이벤트를 이해한다는 것입니다 클릭은 이벤트입니다 여기서 버튼을 클릭하면, 말하자면 click 이벤트를 트리거합니다 클릭 이벤트가 발생하면 해당 버튼을 클릭하면 Click Here를 클릭하면 JavaScript는 어떻게해야합니까? 글쎄,이 경우, 나는 웹 브라우저 이전에 정의한 hello 함수를 실행하고 싶습니다 이 스크립트 태그 안에 그리고 이것의 결과는 events

html을 열면, 바로 경고 메시지가 나타나지 않습니다 나는 단지 "Welcome!"를 본다 제목으로 그런 다음 아래의 여기를 클릭하십시오 버튼을 볼 수 있습니다 클릭 이벤트가 트리거되는 버튼을 클릭 할 때만, 이는 내 JavaScript 내부에서 hello 함수 호출을 트리거합니다

그리고 그 결과는 내가 거기를 클릭 할 때, 이 페이지에 "안녕하세요"라고 표시된 팝업 창이 나타납니다 그리고 여러 번 클릭하면 여러 번 볼 수 있습니다 이것은 여러 번 그 함수를 호출하는 것과 같습니다 JavaScript 코드의 관점에서 지금까지 무엇을 보았는지에 대한 질문은, 스크립트 태그와 이벤트에 물건을 담고 있습니까? 예 관객 : 처음으로 돌아갈 수 있습니까? 연설자 1 : 그렇습니다, 그래서 이것은 우리가 시작한 원래의 코드였습니다

관객 : [INAUDIBLE] 뒤에 스크립트를 넣을 수 있습니까 ?? 좋은 질문입니다 그래서 질문은, 당신이이 스크립트 태그를 "Welcome"다음에 놓았습니다 그냥 저기에 놓았습니다 그런 다음 열려고 했습니까? 이 경우, 당신이 그것을보기 전에 여전히이 페이지가 Hello를 말합니다 그리고 이것은 제 생각에는 경고 메시지를 먼저 처리하고있는 Chrome입니다

페이지의 나머지 내용을 처리하기 전에 계속됩니다 다른 질문? 네 관객 : 모든 자바 스크립트 또는 그냥 [INAUDIBLE]입니까? ?? 저 한테 다시 연락해야 겠어 일반적으로 말해서 JavaScript는 위에서 아래로 실행하는 경우가 있지만 비동기 방식으로 작동 할 수 있습니다 그리고 우리는 그것의 몇 가지 예를 살펴볼 것입니다

나중에 강의에서 승인 지금까지 이야기했던 것들을 간단히 요약 해 봅시다 그래서 우리가 지금 보았던 것은 JavaScript의 함수 예제였습니다 여기서 함수는 "function"이라는 단어로 정의 될 수 있습니다 우리가 정의하기를 원하는 함수의 이름과, ​​선택적으로, 그 함수가 취하는 인수의 몇 가지

그리고 중괄호로 묶인 다음 코드를 모두 가지고 있습니다 그 함수가 실행될 때 우리가 실행하기를 원하는 것입니다 따라서이 경우에는 "Hello World"라는 경고를 실행하려고합니다 또는 단지 "여보세요"또는 다른 것 특히 우리는 이러한 함수를 호출하고있었습니다

특별한 사건이 일어 났을 때 그래서 우리는 이전에이 hello 함수가 예를 들어 버튼을 클릭했습니다 onclick 이벤트가 트리거되면 hello 함수가 호출되었습니다 그러나 다른 사건들도 있습니다 여기에 볼 수있는 몇 가지 일반적인 이벤트가 있습니다

이것은 포괄적 인 목록은 아니지만 몇 가지 일반적인 이벤트가 나타날 수 있습니다 자바 스크립트 코드의 특정 블록을 원할 경우 유용 할 수 있습니다 특정 상황 또는 특정 조건에서만 작동합니다 그래서 onclick 이벤트는 방금 본 이벤트였습니다 예를 들어, 버튼이 있으면 발생합니다

누군가 그 버튼을 클릭합니다 너가 무언가를 원한다면 onmouseover는 좋다 누군가가 창문의 한 부분을 가리키면 일어난다 실제로 그것을 클릭해야합니다 그래서 onmouseover는 잘 작동합니다

또한 마우스로 수행되는 작업과 관련없는 키보드 이벤트가 있습니다 또는 커서와 함께,하지만 키보드 자체로 무슨 일이 일어나고 있는지 onkeydown은 누군가 키를 눌렀을 때 트리거되는 이벤트입니다 그리고 그 키를 놓으면 onkeyup 이벤트가 시작됩니다 onload는 무언가가 일어날 때 일어나는 것입니다

전체 창이 완료 될 때처럼로드가 완료됩니다 모든 이미지 및 CSS 리소스를로드하고, 페이지의 창에 포함 된 모든 항목이 포함됩니다 그리고 onblur는 객체가 포커스를 잃을 때 사용되는 일반적인 객체이기도합니다 예를 들어, 입력 필드 입력 필드에 파란색으로 강조 표시되어있는 경우, 당신이 일반적으로 볼 수 있듯이, 그리고 나서 그것을 클릭하면 초점이 사라지고, 당신은 그런 상황을 다루기 위해 onblur와 같은 이벤트를 사용할 수 있습니다

그래서 서로 다른 이벤트에 응답하여 다른 기능을 실행함으로써, 그 결과 우리는 훨씬 더 동적 인 사용자를 구축 할 수있게되었습니다 인터페이스는 서버가 클라이언트에 응답하는 것뿐만 아니라, 클라이언트는 웹 페이지를보고, 그들은 단지 해당 웹 페이지의 내용을 볼 수는 있지만 실제로 웹 페이지와 상호 작용합니다 그래서 그들은 행동을 일으키는 버튼을 클릭 할 수 있습니다 서버로부터 추가 정보를 요청할 필요없이, 자바 스크립트 코드가 내부에서 실행되기 때문에 사용자 자신의 웹 브라우저의 그래서 이러한 사건들은 궁극적으로 그 일들을 가능하게하는 데 도움이 될 수 있습니다 이제 우리가 살펴볼 것은 어떻게 우리가 일부 정보를 사용할 수 있습니다

우리는 DOM 내부를 볼 수 있습니다 Document Object Model의 내부, 웹 페이지의 내용, 액세스하고 조작 할 수있는 JavaScript를 작성하려면 즉, DOM은 실제로 JavaScript 코드를 사용하여 웹 페이지의 내용을 조작합니다 지금까지 우리는 자바 스크립트가 경고를 표시하는 데 사용되는 것을 보았습니다 (예 : 실제로는 그보다 훨씬 강력합니다 그래서 소개 할 것은 아이디어입니다 문서에서 무언가를 질의하는 것, 웹 페이지의 문서 내부에서 무언가를 검색하기 무언가를 이루기 위해서

이제 queryhtml을 살펴 보겠습니다 그리고 지금이 웹 페이지의 본문 안쪽에 있습니다 다시 말하면 "환영합니다!"라는 표제가 있습니다 버튼에 여기를 클릭하십시오, 우리가 그 버튼을 클릭 할 때, 그것은 hello 함수를 트리거 할 것입니다

그러나 실제로 hello 함수 내부에서 어떤 일이 일어나고 있습니까? 그것을 한번 보죠 따라서이 스크립트 태그 내부, JavaScript 내용 내부 웹 페이지의 hello라는 함수를 정의했습니다 이전과 같습니다 그리고 hello 함수는 언제든지 트리거됩니다 여기에있는이 버튼을 클릭합니다

그래서 누군가가 여기를 클릭 버튼을 클릭하면, 그것은 hello 함수를 실행할 것입니다 이제이 함수 내부에 뭔가를 경고하는 대신, 여기서 무슨 일이 일어나는지 보자 JavaScript에서 문서는 단지 변수 일뿐입니다 이는 웹 문서, 우리가 현재 표시하고있는 웹 페이지를 참조합니다 그리고 querySelector는 다음과 같은 특별한 함수입니다

웹 콘텐츠를 검색 할 수있게 해줍니다 특정 CSS 선택자에 대한 페이지 그래서 우리가 돌아 왔을 때 우리가 돌아 왔을 때 코스의 첫 번째와 두 번째 주에 CSS에 대해 이야기하고, 스타일을 적용하기 위해 CSS 선택기를 사용하는 다양한 방법이있었습니다 텍스트의 특정 요소들 예를 들어 li을 말할 수 있고 CSS 코드가 뒤 따른다는 것을 기억하십시오

모든 목록 요소의 스타일을 지정합니다 또는 ID 이름 앞에 파운드 기호를 사용할 수도 있습니다 해당 ID 만 스타일을 지정하기 위해 또는 도트 기호 다음에 클래스 이름이옵니다 그 클래스에 속한 모든 다른 것들을 스타일링합니다 우리는 CSS에서 사용할 수있는 동일한 구문과 똑같은 정교함을 사용할 수 있습니다

이 querySelector 함수 내부의 선택자 웹 사이트에서 하나의 특정 HTML 요소를 추출합니다 이 경우 H1 요소를 쿼리하고 있습니다 그리고 우리가이 웹 페이지를 통해서만 우리 자신의 눈을 사용하여 검색한다면, 우리는 H1 요소가 여기에 있음을 발견 할 것입니다 그런 다음이 H1 요소의 InnerHTML 속성에 액세스하고 있습니다

어떤 아이디어 H1 요소의 내부 HTML 속성 이 경우에 참조 할 수 있습니까? 그래서 H1 꼬리표 – 좋은 추측입니다 그래서 이것은 사실 요소입니다 하지만 내부 HTML은 좀더 구체적으로 말하자면 예? 관객 : [INAUDIBLE] 스피커 1 : 정확하게 H1의 시작 태그와 종료 태그 사이의 내용입니다 그래서 내가 H1에 대해 querySelect라면,이 H1 엘리먼트를 선택할 것입니다 그리고 그 H1 요소의 내부 HTML은 HTML 콘텐츠입니다 그 태그 안에 들어 있습니다 그래서이 경우에는 "환영"이라는 단어입니다

이제는 내부 HTML을 "작별 인사"로 설정하면 결과적으로이 JavaScript 코드를 사용하여 실제로 편집 할 수 있습니다 DOM의 내용, 웹 페이지의 내용 편집 페이지 본문 내부에있는 내용을 변경합니다 그래, 질문 있니? 관객 : [INAUDIBLE] 좋은 질문입니다 다중 기능이라는 버튼을 만들 수 있습니까? 이 인용 부호 안에 확실히 여기에, 보다 정교한 자바 스크립트를 추가 할 수 있습니다 잠재적으로 여러 기능을 호출했습니다

하지만 궁극적으로 이것은 지저분 해지기 시작할 것입니다 내부에 많은 다른 기능이 포함되어 있다면 이 onclick 속성 우리는 우리가 어떻게 생각할 수 있는지를 곧 알게 될 것입니다 실제 HTML 내용 중 일부 이 스크립트 태그 안에 일반 자바 스크립트 만 사용하려면 우리가 똑같은 일을 많이하게 해줍니다 하지만 그렇습니다

네? 청중 : H1s가 있다면 모든 H1s를 바꿀 것인가? 문서에 여러 개의 H1이 있었습니까? 좋은 질문입니다 여러 H1 태그가있는 경우 어떻게됩니까? 그것은 그것들 모두를 바꿀까요? 내 대답은 아니오 야 querySelector가하는 일은 보일 것이다 뭔가를 위해 웹 페이지를 통해,하지만 그것은 단지 것입니다 발견 된 첫 번째 것을 선택하십시오 따라서 여러 개의 H1 태그가있는 경우 첫 번째 태그 만 선택하게됩니다

최소한 하나의 예를 나중에 살펴볼 것입니다 querySelector를 사용하여 여러 항목을 선택하려고합니다 그리고 우리는 그것을 어떻게 할 수 있는지를 알게 될 것입니다 하지만이 querySelector 함수는 우리가 찾고있는 것과 일치하는 것을 하나 선택하십시오 그럼이 페이지가 실제로 보일 것입니다

그래서 이것은 queryhtml입니다 이제 queryhtml을 열면 "환영합니다"라는 단어가 나타납니다 내 큰 표제와 여기에있는 버튼을 클릭하십시오

그리고 여기를 클릭 버튼을 클릭하면, 그것은 hello 함수의 호출을 트리거합니다 아이러니하게도이 경우에는 H1의 내용을 변경합니다 to say "안녕"대신에 "환영합니다" 페이지를 새로 고침하면 이제 '환영합니다!'로 돌아갑니다 다시 전체 페이지를 다시로드했기 때문입니다

버튼을 다시 클릭하면 다시 걸립니다 "환영"대신에 "작별 인사"로 그래서 저는 웹의 내용을 조작 할 수있었습니다 자바 스크립트를 사용하여 다른 서버에 접속할 필요가 없습니다 작별 인사를 한 다른 웹 페이지를로드하지 않았습니다 이것은 동일한 웹 페이지입니다

내용을 수정하기 위해 JavaScript를 사용했습니다 실제로 그 페이지에 있었던 것의 지금까지의 모든 것에 관한 질문? 네 관객 : [INAUDIBLE] 스피커 1 : 대소 문자를 구별합니까? 청중 : 속성 [INAUDIBLE] 발표자 1 :이 자산은 대소 문자를 구별합니다 그렇습니다

관객 : getID와 비슷합니다 그래서 그것은 [부적절한] 갔다 좋은 질문입니다 그래서 문제는 ID로 getElement라는 다른 함수에 관한 것입니다 그리고 저는 그것이 대소 문자를 구별합니다

그리고 getElementById가 작동하는 방식입니다 실제로는 보이지 않습니다 그것은 단지 뭔가를 선택할 것만 제외하면 querySelector와 매우 비슷합니다 특정 ID 이름으로 그리고 단순한 것들에 대한 간략한 개요를 알려 드리겠습니다 querySelector로 할 수있는 일, 우리가 지금 본 것 document

querySelector를 사용하여 태그를 선택하고, 이 경우 H1 태그처럼 querySelector를 사용하여 특정 ID를 선택할 수도 있습니다 바로 앞에있는 파운드 기호를 사용하면됩니다 이것은 getElementById가하는 것과 같습니다 또는, 그 대신에 특정 클래스에 의해 그 앞에있는 점을 사용하는 것입니다 그리고 이것은 당신이 기억하고있는 구문 일 것입니다

우리는 CSS에 대해 이야기하고있었습니다 또한, 더 정교한 CSS 선택기를 사용할 수도 있습니다 우리는 셀렉터에 대해 특정 요소 유형의 자식에만 액세스 할 수 있도록 허용 또는 특정 유형의 입력 필드 만 보거나 querySelector를 사용하여 동일한 작업을 모두 수행 할 수 있습니다 HTML 페이지에서 우리가 이 경우 수정에 신경 써라

이러한 모든 기능을 사용하기 시작합니다 그 (것)들을 함께 응용 프로그램에 넣어 단순히 제목의 내용을 바꾸는 것 이상의 것을 수행합니다 예를 들면 counter0html을 살펴 보겠습니다

그리고 counter0html을 통해 궁극적으로 할 일을 보여 드리겠습니다 그런 다음이 작업을 수행하는 코드를 살펴 보겠습니다 지금 여기를 클릭하라는 버튼이 있습니다 그리고 제 머리글은 텍스트가 아니라 단지 숫자 0입니다

Click Here를 클릭하면 0이 1로 변경됩니다 다시 클릭하면 2로 변경됩니다 그리고 더 많이 클릭하면 번호는 항상 높아지고 높아지며, 매번 1 씩 증가합니다 이런 일이 생기기 위해서 내가 필요한 코드는 무엇입니까? Counter0html을 살펴 보겠습니다

먼저이 코드의 본문을 살펴 보겠습니다 나는 H1을 가지고 있고 ID를 주었다 그리고 ID 카운터에 전화했습니다 이것은 단지 나중에 내가이 특별한 것에 접근 할 수 있도록하기 위해서입니다 ID로 참조하여 그것의 ID는 카운터이며, 이것은이 표제에서 쉽게 얻을 수있는 방법을 제공합니다

그리고 기본적으로, 그것은 단지 0으로 시작할 것입니다 그리고이 Click Here 버튼은 이전에 본 버튼과 같습니다 클릭 버튼입니다 클릭하면, count 함수를 호출합니다 대본 안에서 지금 무슨 일이 일어나고있는거야? 스크립트의 내부에서 우리가 한 첫 번째 일은 변수를 정의하는 것입니다

변수를 저장하고 조작 할 수있는 변수가 파이썬에 존재하는 것과 같습니다 값과 마찬가지로 자바 스크립트에도 변수가 존재할 수 있습니다 그리고 여기에 대한 구문은 let counter를 0으로 만듭니다 카운터라는 변수를 정의했으며 초기 값은 0입니다 그리고 그 변수는 이제 우리 페이지 안에 존재합니다

그리고 그 밑에 count라는 함수를 정의했습니다 그리고 count 함수는 카운터를 증가시킵니다 카운터 ++는 카운터가 카운터 플러스 1과 같다고 말하는 또 다른 방법입니다 카운터는 카운터보다 큰 값으로 설정합니다 그리고 우리가 카운터를 증가시킨 후에, 우리는 document를하고 있습니다

querySelector #counter 이름 카운터가있는 ID가있는 항목을 추출하려면 그리고 아래 HTML 엘리먼트를 가져 와서, 내부 HTML을 무엇이든간에 이 카운터 변수의 값은 현재입니다 결과적으로 카운터가 0에서 시작하면 버튼을 처음 클릭하면 count 함수가 호출되면 9 행의 카운터 여기서 0 대신 2 또는 1로 증가됩니다 그런 다음 제목을 선택하고 HTML의 내부 HTML을 업데이트합니다 해당 제목의 내용을 새 번호로 업데이트하십시오 그렇다면이 코드에 대한 질문과 그 코드를 어떻게 만들 수 있었습니까? 괜찮아

이제 우리는 사용할 수있는 몇 가지 다른 기능을 살펴 보겠습니다 우리는 counter1html을 살펴볼 것입니다 특히 여기서는 조건을 살펴보기 시작합니다 코드에 추가 할 수 있습니다

파이썬에는 루프와 조건, 그리고 모두가 있습니다 이 다른 프로그래밍 구조 중 우리 코드로 재미있는 일을 해보자 JavaScript에서도 동일한 작업을 수행 할 수 있습니다 신택스가 약간 다르긴하지만, 근본적으로 아이디어는 모두 동일합니다 그래서 여기에 우리 몸의 안쪽에 제목이 있습니다

그건 제로에서 시작하는 카운터라고, 버튼을 클릭하면 카운트가 업데이트됩니다 이 스크립트 태그 안에는 우리가 작성한 코드와 매우 유사한 JavaScript를 정의하려고합니다 전에 사용 해왔다 let counter equal 0은 변수 카운터의 정의입니다 0에서 시작합니다

그리고이 카운트 함수의 내부에서 카운터를 증가시킨 후, 카운터 헤드의 내부 HTML을 업데이트 한 후 카운트의 현재 값은, 우리는이 조건을 가지고, 즉, 카운터 % 10이 같음이 같음 0 인 경우, 카운터 모드 10 인 경우, 여기서 mod는 나누어 진 하나의 나머지 부분을 취하는 연산자입니다 다른 말로하면 – 즉, 하나의 숫자를 10으로 나누면, 나머지가 무엇이든 상관없이 카운터 모듈 10이 동일 할 것입니다 그리고 트리플 등호는 JavaScript의 방법입니다 정확한 평등을 위해 물건을 비교하는 것 다른 말로하면, 순서대로 서로 동일해야합니다

이것이 사실로 드러나는 것입니다 따라서 카운터 모듈 10이 0 인 경우 경고하고 카운터가 다음과 같다고 말합니다 여기에 더 최근 버전의 흥미로운 기능이 있습니다 ES6을 비롯하여 JavaScript를 템플릿 리터럴이라고합니다 파이썬에서는 형식화 된 문자열처럼 생각합니다

내가 경고하고 싶은 곳,하지만 나는 단지 같은 문자열을 항상 유지하려고하는 일부 문자열에 경고하려고합니다 그 문자열을 동적으로 생성하고 싶습니다 자바 스크립트 코드 안에 몇 가지 변수 내용이 있습니다 이런 식으로 뭔가를하는 것은 대신 따옴표를 사용하는 것입니다, 문자열에 대해 일반적으로 사용하는 것과 같이 작은 따옴표 나 큰 따옴표를 사용하거나, 우리는 그 백 마크 기호를 사용하고 있습니다 미국 키보드에서, Tab 키 바로 위에 있습니다

그리고이 경고에서 카운터는 그런 다음 JavaScript를 사용하여 변수를 연결합니다 달러 기호를 사용한 다음 내부에서 중괄호, 우리가 플러그인하고자하는 변수의 이름 그리고 여기에 우리가 말하길, 카운터는 – 이 코드는 변수 카운터를 사용합니다 템플릿 문자열의이 부분에 플러그인하면됩니다 그래서 그것은 문자열 주위에 다시 진드기가 있고, 그 다음 달러 기호입니다

및 문자열을 서식을 지정할 수있는 중괄호 특정 변수 값을 플러그인 할 수있는 템플릿처럼 취급하십시오 그것으로 그렇다면이 웹 페이지를 실행 한 결과는 어떻게 될 것이라고 생각합니까? 어떻게 행동이 예와 다른가? 잠깐 전에 봤어? 특히 count 함수 내부의 조건 해야 할 것? 네? 관객 : [INAUDIBLE] 좋아요 버튼을 클릭 할 때마다 10 번씩 팝업됩니다 우리가 그것을 클릭 할 때마다, 우리가 카운터에 도착할 때마다 10이면 10을 10으로 나누고 10을 10으로 나누면 나머지는 0이됩니다

그래서 0은 0과 같습니다 그러면 우리는 경고를받습니다 그러나 다른 경우에는 그렇지 않을 것입니다 따라서 counter1html을 여는 경우 이전과 마찬가지로 계산할 수 있습니다

그러나 우리가 9 살일 때만입니다 그리고 다시 클릭하면 카운터가 10이라는 경고를받습니다 그리고 우리가 계속 계산한다면, 우리가 20 세가 될 때, 그것은 나에게 또 다른 경고, 30 등등을 줄 것이다 그래서 이것은 우리가 좀 더 통제 할 수있게합니다 우리가 파이썬 내부 조건을 가질 수 있었던 것처럼, JavaScript에서도 똑같은 일을합니다

파이썬과 자바 스크립트의 기능을 구분하는 것과 마찬가지로, JavaScript에서 if 조건의 내용을 나타내는 방법 그것을 중괄호 안에 넣는 것입니다 엄밀히 말하면 이것은 단지 필요합니다 여러 줄로 실행되는 조건의 경우 조건이 단 한 줄이라면, 지금처럼, 중괄호는 엄밀히 말하면 필요한 것은 아닙니다 그러나 종종 그들은 시각적 신호와 마찬가지로 훌륭하기 때문에 누구나 코드를 보면 if 조건에 포함 된 내용을 볼 수 있습니다 그리고 그렇지 않다

지금까지 그 중 어떤 것에 관한 질문입니까? 큰 확인 이제 counter2html을 살펴 보겠습니다 이 경우 우리가 한 일은 우리가 몸을 내려다 본다면 자바 스크립트의 실제 내용을 살펴보기 전에, 우리는 여기서 한가지 다른 점에 주목할 것입니다 우리는 H1 id가 카운터가 0이고, Click Here라고 쓰여있는 버튼이 있습니다

이 버튼과 다른 모든 버튼의 차이점은 무엇입니까? 우리가 지금까지 본적있어? 좋아, onclick 속성은 더 이상 존재하지 않습니다 그래서 여기에 Click이라고 쓰여있는이 버튼이 있습니다 하지만이 버튼을 클릭 할 때 아무 말도하지 않습니다 여기 당신이해야 할 일이 있습니다 아니면 최소한 그런 식으로 보이지는 않습니다

우리가 곧 볼 수있는 것은 시도하려는 시도입니다 이 자바 스크립트 로직과 자바 스크립트 코드를 모두 사용하려면, 그것을 HTML에서 제외하십시오 따라서 HTML 내용의 본문에 JavaScript 코드가있을 필요가 없습니다 버튼에 무엇을 할지를 알려주기 위해서입니다 대신에이 스크립트 태그 안에 모두 넣을 수 있습니다

그리고 여기 보이는 것은 스크립트 태그 사이에 조금 더 복잡하고, 한 번에 한 걸음 씩 나가서 우리가 여기서 일어나는 일을 이해할 수 있습니다 그래서 6 행에 documentaddEventListener가 있습니다 그래서 우리는 전에 addEventListener를 사용하지 않았습니다 그러나 우리는 사건의 생각에 대해 이야기했습니다

뭔가를 클릭하면 이벤트; 무언가에 마우스를 올리면 이벤트입니다 그것은 문서, 웹 페이지, 거의 모든 최신 웹 브라우저 DOMContentLoaded라는 지원 그리고이 이벤트는 DOM, Document 개체 모델, 우리 페이지의 모든 HTML 태그 구조, 웹 브라우저에서로드가 완료되었습니다 로드가 완료되면 웹 브라우저를로드 할 때, 이제 재미있는 일을 시작할 수 있습니다 그래서 우리는이 addEventListener 함수를 호출했습니다

정말로 두 가지 주장이 필요합니다 첫 번째 인수로 이벤트 이름을 취합니다 우리가 듣고 싶어하는 이 경우 DOMContentLoaded 이벤트 그러나 두 번째 이벤트는 실제로 함수입니다 그래서 JavaScript는 우리가 고차 함수라고 불리며 함수 자체를 값으로 처리합니다 그리고 만약 우리가 함수를 받아서 인자로 넘기고 싶다면 다른 기능으로, 우리가하는 것과 같은 방식으로 정수를 함수 또는 문자열에 함수로 전달합니다 (예 : 자바 스크립트를 사용하면 그렇게 할 수 있습니다

파이썬은 우리에게도 그렇게 할 수 있으며 많은 현대 프로그래밍의 한 기능입니다 요즘 언어 그러나 우리는 함수로 시작하는이 모든 함수를 취할 수 있습니다 이 중괄호 안쪽에 동봉되어 있습니다 그 전체 함수를 두 번째 인수로 전달합니다 여기서 호출하는 addEventListener 함수에 전달합니다

그리고 결국이 괄호 안에는 인수 목록이 닫힙니다 addEventListener에 추가합니다 그리고 이것이 모두 무엇을 의미합니까? 이것은 우리가 문서에서 DOM의 내용이 언제 이것이로드되어야하는 함수입니다 바로 실행하지 않을 것입니다 콜백 함수라고 할 수 있습니다

DOM의 내용이로드되면 JavaScript 이 함수를 호출 할 것이고 해당 함수의 내용을 실행할 때만 해당 이벤트 리스너가 실행 완료되었습니다 그럼 여기서 뭐라구? 내부적으로 DOM 실행이 끝나면 querySelector를 문서화합니다 단추– 즉, 페이지에서 단추를 추출하십시오 이 경우에는 하나뿐입니다

그러나 이전에 언급했듯이 여러 개의 버튼이있는 경우, querySelector는 첫 번째 것을 선택합니다 그런 다음 버튼의 onclick 속성을 설정합니다 이것은 사실상 우리는 전에 버튼 태그를 가지고 있었고 우리는 말했다 onclick equals – 여기에 할 일이 있습니다 그리고 우리는 count와 같은 onclick을 설정합니다

여기서 count는 그 자체로 정의 된 함수입니다 그리고 이것은 우리가 해왔 던 기능과 같습니다 카운터를 증분하기 전에 살펴 보는 것, 제목의 HTML을 업데이트 한 다음이 if 조건을 사용하여 경고 또는 경고하지 않습니다 그러나 우리는 그 기능을 수행하고 그것을 치료하고 있습니다 자바 스크립트에서 허용하는 값과 같습니다

그리고 버튼을 클릭하면 어떻게해야할까요? 카운트 기능을 실행하십시오 다시 말하면, 카운트 기능은 즉시 실행되지 않습니다 해당 버튼을 클릭 할 때만 실행됩니다 그래서이 세 줄의 코드에 대한 질문입니다 특히 처음에는 마음을 감싸는 것이 이상합니다

함수를 다른 값을 처리하는 것과 같은 방식으로 처리합니다 같은 숫자 또는 문자열 하지만 궁극적으로 이것은 JavaScript의 가장 강력한 기능 중 하나입니다 기능을 수행하고 전달하는 기능입니다 다른 함수에 대한 인수로 사용하고 콜백 함수로 설정할 수 있습니다

어떤 일이있을 때만 실행됩니다 예? 관객 : 우리는 변수를 만들 수 없다는 것을 의미합니까? 우리가 방금한다면, [INAUDIBLE] 함수에서 계산하십시오 [INAUDIBLE]없이 변수를 만들려고합니까 ?? SPEAKER 1 : count라는 변수를 만들려고했다면, 이 경우 네임 스페이스 충돌이 발생할 수 있습니다이 경우 당신은 그것을 피하려고 노력할 것입니다 네

관객 : 이것은 단순히 명시 적으로 퍼팅하는 것보다 나은 이유는 무엇입니까? 단추를 만들 때 onclick 특성으로 카운트 기능 [알아들을 수 없는]? 좋은 질문입니다 버튼 안쪽에 onclick을 넣는 것보다 더 좋은 이유는 무엇입니까? HTML 내부에서, 훨씬 더 단순 해 보였다 이러한 DOMContentLoaded 등의 복잡성 사이트가 점점 더 복잡해지기 시작할 때, 우리는 이것에서 벗어날 수있는 부가 가치를 보게 될 것입니다 예를 들어 100 개의 버튼이 있고 버튼을 클릭 할 때 100 개의 버튼이 모두 특정 작업을 수행하기를 원했습니다

우리는 HTML에서 100 개의 버튼을 모두 통과 할 수있었습니다 onclick 속성을 모두 추가하십시오 자바 스크립트에서는 프로그래밍 방식으로 작업을 수행 할 수 있습니다 모든 버튼을 선택하여주고 모든 루프의 모든 onclick 속성 (예 : 프로그래밍 사용 측면에서 약간 더 깔끔하다 루프 및 조건과 같은 구조가 순서대로 이벤트의 속성을 수정합니다

다른 경우에는 무엇을 제어 할 것인지를 버튼을 클릭하면 발생합니다 버튼이 특정 상황에서 한 가지 일을 할 수 있습니다 다른 상황에서는 또 다른 일이 있습니다 그리고 프로그래밍 방식으로 "뭔가가 사실인지, onclick 속성을 count로 설정하십시오 그리고 그것이 사실이 아니라면, 다른 것 "은 우리에게 약간의 융통성을줍니다

그리고 마지막으로, 조금 더 깨끗합니다 이제는 HTML 본문 내부에 더 이상 JavaScript 코드가 없습니다 그래서 자바 스크립트만으로 어떤 것을 변경해야한다면, 스크립트 태그의 내용을 변경하기 만하면됩니다 그리고 우리는 이것을 고려해 보는 또 다른 예를 보게 될 것입니다 잠시 후에 더 많은 것을 알 수 있습니다

그러나 좋은 질문입니다 누군가 다른 질문이 있었습니까? 괜찮아 그래서 이것은 우리가 이벤트 리스너를 추가하는 것을 허용하는 것일뿐입니다 DOM로드가 완료되면 그리고 오늘 예제에서는이 구문을 상당히 많이 볼 것입니다 DOM로드가 끝나면 특정 코드가 실행되기를 원합니다

따라서 이것은 JavaScript 코드 일부를 분석하려고 시도한 예입니다 이 스크립트 태그 아래에있는 HTML에서 가져옵니다 그러나 우리가 할 수있는 일은 이것을 더 많이 고려하는 것입니다 자바 스크립트 코드를 HTML 파일의 맨 위에 두지 말고, 하지만 두 번째 파일에 모두 포함됩니다 이제 청결하고 움직이는 것 외에도 별개의 장소로 나가서 왜 우리는 JavaScript 코드를 고려해야 할 수도 있습니다

다른 파일과 동일한 파일 내부가 아닌 외부 파일에 저장 하시겠습니까? 네? 관객 : 재사용 할 수 있습니다 재사용 가능합니다 큰 동일한 자바 스크립트를 사용하고자하는 HTML 파일이 여러 개있는 경우, 나는 그들 모두를 같은 JavaScript로 참조 할 수있다 파일과 거의 같은 방식으로 CSS에서 스타일 시트를 디자인 할 때, 우리는 그들을 분리 된 CSS로 분해 할 수 있습니다

여러 페이지가 동일한 CSS 스타일 시트를 사용할 수 있도록 그러면 시도하고 배제하는 것이 어떻게 생겼을까요? 우리의 자바 스크립트는 별도의 파일로? counter3html을 살펴 보겠습니다 그리고 이것은 같은 것입니다 스크립트 태그 안의 무언가를, 나는 방금 말했습니다, 스크립트 src는 counter3js와 같습니다

counter3js는 모든 JavaScript 코드가 포함 된 JavaScript 파일입니다 내가 걱정하는 것 그리고 몸에는 단지 제목과 버튼 만 있습니다 counter3

js 내부에서는 이전과 같은 JavaScript입니다 DOM 내용이로드 될 때 addEventListener를 추가합니다 그러면 addEventListener가 추가됩니다 버튼을 클릭하면 무슨 일이 일어나는지 세어보십시오 그리고 나서 실제로 카운트 기능을 수행하는 카운트 기능이 있습니다

및 쿼리 선택 및 경고 그래서 이것은 우리가 자바 스크립트를 더 많이 고려할 수있게 해줍니다 HTML 페이지의 내용을 정리하는 데 도움이됩니다 방금 언급 한 바와 같이 재사용이 가능합니다 코드를 정리하는 방법에 대한 예가 더 있습니다

우리가 작성한 것 지금까지의 모든 것에 관한 질문? 승인 잠시 동안 변수에 대해 간단히 이야기하겠습니다 JavaScript 최신 버전에는 여러 가지 방법이 있습니다 변수를 정의합니다

let 카운터가 0 인 예제를 보았습니다 JavaScript에서 변수를 정의하는 방법의 한 예입니다 그러나 실제로 변수를 사용할 수있는 여러 가지 방법이 있습니다 가장 공통적 인 세 가지가 있습니다 const, let, 그리고 var

그래서 방금 사용한 예제를 보았습니다 그러나이 세 가지 구별에 대해서 이야기하겠습니다 const는 상수 값을 의미하는 변수 유형이며, 당신이 그 이름에서 추측 할 수 있듯이 그래서 변수를 const 변수로 정의하면, 그러면 나중에 다시 지정할 수 없습니다 자바 스크립트 페이지에서 나중에 다른 것에 재 할당하려고하면, 그것은 나에게 어떤 종류의 오류를 줄 것이다

변수를 정의하려면 유용합니다 내가 아는 바는 변하지 않을거야 나중에 잠재적 인 버그를 피할 수 있습니다 내가 그것을 바꾸려고 노력할 수도있는 선 아래로 비록 그것이 변경되면 안된다 따라서 변수의 값이 변하지 않을 것을 강요하는 데 도움이됩니다

변수의 예를 봅시다 지금까지 사용 해왔다 그것을 둘러싸고있는 가장 안쪽의 중괄호의 범위 그리고 그 순간의 예를 보게 될 것입니다 그러나 특히, let 내부 변수를 정의하면 중괄호의 블록의 다음, 그 중괄호 블록 밖에서, 그 변수는 더 이상 존재하지 않을 것입니다

유사하게 작동하는 var와는 대조적으로 조금씩 다른 것 변수를 var로 정의하면 그 변수는 모두 내부에 존재합니다 원래 정의 된 기능 함수 내부에서 정의 된 경우 그것은 중괄호 묶음 세트에 포함 된 경우에도 마찬가지입니다 그리고 그것은 다소 복잡하고 뉘앙스였습니다 세 사이에 실제로 실행중인 변수의 몇 가지 예를 살펴 보겠습니다

지금, 당신이 언제 느끼는지 알 수 있도록 이 변수 유형 중 하나를 다른 변수 유형보다 많이 사용할 수 있습니다 그리고 그들의 행동이 어떻게 다른지 이제 variable0html을 살펴 보겠습니다 그리고 모든 variable0

html은 사실이라면 그렇게합니다 – 그래서 진실한 것이 진실하다면, 그것은 언제나 진실입니다 그래서이 조건은 항상 실행됩니다 안녕하세요!와 같은 var 메시지를 설정했습니다 그리고 나서 우리는 그 특별한 메시지에 대해 경고합니다 var로 정의되었으므로 그 if 조건의 내용물 밖에서조차도 존재할 것입니다

이제 variable0html을 열면 경고 메시지가 표시되고이 페이지가 나타납니다 안녕하세요 그래서 우리는 페이지를 동작시키기를 원할 것입니다 왜냐하면 저는 그것을 var로 정의하기 때문입니다

그리고 그것이 중괄호의이 범위 안에 있다고하더라도, 내가 경고 할 때, 메시지의 올바른 값으로 경고합니다 variable1html 대신 var 대신 let을 사용할 것입니다 그래서 여기있는 유일한 변화는 var 메시지 대신에 안녕하세요!, 내가 말했듯이, 메시지 평등하자! 그리고 아래로 내려 가면 경고 메시지가 울립니다 variables1

html을 열려고하면 지금 어떤 일이 일어날 지 추측 할 수 있습니까? 빈 경고 그것은 좋은 추측입니다 다른 생각들? 오류 좋아, 해보자 무슨 일이 일어나는지 보자

variables1html을여십시오 그리고 그것은 단지 "Welcome!"라고 말합니다 그리고 나는 지금까지 아무것도 보지 못한다 그리고 아직 오류 메시지가 표시되지 않습니다

페이지가 없는지 찾아야 할 한 가지 처음에 생각하고있는 일을하고있는 것처럼 보입니다 실제로 JavaScript 콘솔을 보는 것입니다 가장 현대적인 웹 브라우저에 내장되어 있습니다 실제로 오류가 있는지 확인하십시오 그리고 그렇게 쉽게 접근 할 수있는 가장 쉬운 방법은 Chrome에서 적어도, 페이지에서 Ctrl 키를 누른 상태에서 Inspector로 이동하면 Inspector가 열립니다

콘솔로 여기를 클릭하면 내가 얻을 수있는 것입니다 실제 JavaScript 오류입니다 JavaScript 오류는 웹 브라우저에서 실행중인 경우 표시 될 것입니다 모든 자바 스크립트 코드가 웹 브라우저에서 실행되기 때문에, Google 크롬 내부 그래서 갑자기 나타나는 모든 오류는 – 그들은 구글 크롬 내부에 나타날 것입니다

그래서 이것은 "잡히지 않는 참조 오류, variables1html : 11에서 메시지가 정의되지 않았습니다 " 그래서 variables1html 11 행으로 돌아 가면이 행이됩니다 메시지가 더 이상 정의되지 않은 이유 let은 범위의 변수 만 정의하기 때문입니다

가장 바깥 쪽의 중괄호 세트의 이것은 C와 같은 프로그래밍 언어와 매우 유사합니다 그들의 변수를 취급한다 그들이 속한 범위 안의 기존 중괄호를 기반으로 정의됩니다 마지막으로 다른 예를 살펴 보겠습니다 variables2

html을 살펴볼 것입니다이 경우, 우리는 const 메시지 equals 안녕하세요 있습니다! 이제 메시지의 가치를 재설정하려고합니다 메시지는 안녕과 같습니다! 그리고 나서 그 메시지에주의를 기울일 것입니다 무슨 일이 일어날 지 추측합니까? 합리적인 추측은 많이 있지만, 우리가 뭘 생각하니? 관객 : 또 다른 오류 스피커 1 : 다른 오류가 발생할 수 있습니다

그리고 실제로 그것은 정확히 일어날 것입니다 우리는 "환영합니다!" 오류 메시지가 표시되지 않습니다 하지만 내가 이것을 조사하고 다시 콘솔에 가면, 우리는 "잡히지 않은 유형 오류, 상수 변수에 대한 할당 variables2html, 8 행 " 그래서 우리는 const 변수를 가질 수 없습니다

그것을 다른 것으로 재 할당하십시오 여기 8 행에 메시지를 설정하려고합니다 "잘가!" 우리가 경고하기 전에 뭔가 될 수 없다 자바 스크립트는 우리가 할 수있는 반면, let 또는 var, 그러면 우리는 가질 수 있습니다 따라서 세 가지 다른 정의 방법 약간 다른 행동을 초래하는 변수

세 가지를 모두 이해하고 방법을 알고있는 것이 좋습니다 그들은 다른 상황에서 행동한다 그리고 그것들은 우리가 어떻게 할 수있는 다른 방법 일뿐입니다 코드에서 변수를 사용하십시오 네? 관객 : 그것이 무엇인지 말하지 않으면 기본값이 있습니까? 연설자 1 : 그것이 무엇인지 명시하지 않으면, 나는 그것이 마치 var 인 것처럼 바인딩하는 것이 기본이라고 믿는다

하지만 100 % 확실하지는 않습니다 나는 그것을 확인해야 할 것이다 좋은 질문 다른 것들? 승인 이 자바 스크립트 콘솔에 대해 다른 흥미로운 점은 우리가 여기 웹 브라우저에서보고있는 것 실제로 JavaScript 코드를 거의 동일한 방식으로 실행할 수 있다는 것입니다

파이썬 인터프리터는 여기에서 코드를 실행할 수있게 해줍니다 예를 들어, let x가 28과 같은 다른 변수를 정의하려면, 콘솔에 자바 스크립트 코드를 입력하면됩니다 예를 들어 "x"를 입력하면 28과 같습니다 그리고이 자바 스크립트 콘솔에서 할 수있는 일입니다 그러므로 정확히 여기서 무슨 일이 일어나고 있는지 혼란 스러우면, 종종 자바 스크립트 콘솔을 사용하는 것이 좋습니다

실제로 일어나는 일에 대한 감각을 얻기 위해 일부 JavaScript 코드 예를 들어, documentquerySelector를 실행하려면, h1, 내가 돌아 오는 것은 실제로 documentquerySelector h1을 실행하면 어떻게되는지 보여주세요 음, h1, "환영"느낌표, h1 태그 끝내기

그러면 실제 실행 결과가 무엇인지 알 수 있습니다 이 자바 스크립트 코드 중 일부가 될 것입니다 그리고 마찬가지로 documentquerySelector, h1을 실행하려고하면, innerHTML을 사용하여 내부 HTML 내용을 확인하고, 그 문자열을 얻습니다

"환영합니다!" 그 결과로 따라서 유용한 디버깅 도구가 될 수 있습니다 JavaScript 내부에서 무슨 일이 벌어지고 있는지 이해하려고한다면 코드 실제로 콘솔에서 JavaScript를 실행할 수 있습니다 사물을 조작하고 사물을 바꾸기 위해서 그리고 그 좋은 예가 실제로 있습니다

우리 카운터의 한 예를 보면,이 예제는 여기를 클릭하여 카운터를 몇 번이나 늘릴 수 있습니다 그리고 다시, 내가 원한다면 나는 여기 가서 말할 수있다 이 변수 카운터의 값은 무엇입니까? 현재 7입니다 대신 카운터를 27로 설정하면 여기를 클릭하면 어떻게 될까요? 28 정확하게

카운터 값을 재설정 했으므로 JavaScript 내부의 변수 값을 실제로 조작 할 수 있습니다 당신이 좋아하지만 조작하고 조작하십시오 결과가 실제로 웹 페이지에 표시되는지 확인할 수 있습니다 나는 그 카운터에 도착하기 위해 documentquerySelector, h1을 할 수있다

innerHTML을 "Hello"로 설정하면 나는 방금 웹 페이지의 내용을 28 대신에 변경했다 지금 그것은 "안녕하세요!"라고 말한다 그러나 여기를 다시 클릭하자마자 카운터가 증가합니다 내용을 다시 설정합니다 따라서 자바 스크립트를 사용하여 웹 페이지를 조작 할 수 있습니다

그 방법으로 콘솔 지금까지 우리가 해왔 던 모든 것에 관한 질문? 승인 다른 일반적인 사용 사례 몇 가지를 살펴 보겠습니다 자바 스크립트와 관련하여 우리가 찾을 수 있습니다 이제 hello1

html을 살펴 보겠습니다 그래서 우리는 방금 "안녕하세요!"라고 경고하는 예를 보았습니다 이제 다른 수준으로 넘어 갑시다 hello1html의 웹 페이지 본문에는 우리는 단지 나중에 참조하기 쉽게하기 위해 ID 형태의 양식을 가지고 있습니다

입력란이 있습니다 이 ID는 이름입니다 나중에 참조하기 쉽도록 다시 작성했습니다 그리고 입력 필드에 채울 자리 표시 자 그냥 단어 이름이 될거야 그리고 그것은 텍스트를 입력 할 수있는 입력 필드가 될 것입니다

그리고 그 밑에는 타입이 submit 인 입력이 있습니다 그것은 단지 양식을 제출할 수있는 버튼 일 것입니다 이제 내 JavaScript 내부에서 무슨 일이 벌어지고 있습니까? 글쎄, DOM 콘텐츠가로드되면이 함수를 실행할 것이다 그리고 내가 여기서 뭐하고 있니? documentquerySelector #form

실행을 실행 중입니다 Onsubmit은 우리가보고있는 또 다른 이벤트입니다 뭔가를 클릭하면 이벤트라고 생각했습니다 무언가가 moused 때, 그것은 사건입니다 DOM 컨텐트가로드되면 이벤트입니다

양식이 제출되면 이벤트이기도합니다 이 양식을 제출하면 어떻게됩니까? 우리는이 함수를 다시 실행하여이 함수를 다음과 같이 전달할 것입니다 내 양식의이 onsubmit 속성 값일 수 있습니다 그리고 저는 이름을 const로 정의하고 있습니다 변경되지 않기 때문입니다

documentquerySelector #name value와 동일합니다 그게 추출 될지에 대한 어떤 추측이라도? querySelector #name value 란 무엇입니까? 네? 큰

사용자가 텍스트 상자에 입력 한 내용이 무엇이든간에, 해당 텍스트 상자의 ID가 name이기 때문입니다 #name에 대해 querySelect를 실행하면 HTML 입력 필드 만받습니다 그리고 입력 필드의 값을 얻으면 입력 필드의 값 사용자가 입력 필드에 입력 한 내용이 무엇이든간에 그리고 나서 경계하겠습니다 이것은 다시 템플릿 리터럴 중 하나이며, 그 서식이 지정된 문자열, 여기서 "안녕" 그 이름 변수의 값을 거기에 꽂아 라 그래서 나는 그들의 이름을 타이핑 한 사람에게 인사 할 것입니다

따라서 실제 페이지로 돌아가서 hello1html을 열면, "Brian"을 입력하고 Submit를 누르면 "Hello, Brian"이라고 표시됩니다 예를 들어, "Meredith"를 입력하고 제출을 누르면, "안녕, 메르 디스" 그래서 저는 입력 필드 값의 내용을 사용할 수 있습니다 이 경우에는 내가 만들고자하는 모든 경고를 동적으로 생성 할 수 있습니다

그러나 나는이 이름 변수로 무엇이든 할 수 있었다 지금 JavaScript를 사용하여 양식에서 정보를 추출합니다 지금까지 그것에 관한 질문? 네 관객 : 당신은 그것을 상수라고 부릅니까? 그런데 두 번 할 수 있습니다 그것은 당신의 변함없는 변화가 아닙니까? 좋은 질문입니다

그래서 그것은 const 변수 였지만 두 번 사용할 수있었습니다 맞습니까? 나는 나의 이름을 타이프했다 그리고 그것은 "안녕하세요, Brian"을 말했다 그리고 나서 메러디스의 이름을 입력하고 "안녕, 메레디스"라고 말했어 거기 무슨 일 이죠? 왜 내가 그렇게 할 수 있었을까요? 추측 해봐? 음, 하나는 페이지가 다시로드된다는 것입니다

예 확실히 양식이 제출되었을 때 페이지로 다시 돌아갔습니다 그러나 염두에 두어야 할 또 다른 것은 여기서 const입니다 관련성이있는 함수 범위 안에 있습니다

게다가 괜찮아 살펴 보겠습니다 그래서 우리는 JavaScript를 사용하여 액세스 할 수 있다는 것을 보았습니다 페이지의 HTML 내용 이제 JavaScript를 사용하여 수정하기 페이지의 스타일링도 마찬가지입니다

color0html을 살펴 보겠습니다 먼저 color0html이 할 일을 보여 드리겠습니다 이 웹 페이지는 "Hello!"라고 말합니다

하단에는 두 개의 버튼이 있습니다 빨강, 파랑 및 녹색 그리고 그 버튼을 클릭하면 Red가 "Hello!" 빨간색으로, 파란색 변경 "안녕하세요!" 파란색으로 변경되면 녹색으로 변경됩니다 코드의 관점에서 어떻게 작동합니까? 글쎄, 여기 페이지의 본문에는 "Hello"라는 제목이 있습니다 빨간색으로 표시된 버튼이 빨간색으로 표시됩니다

ID가 파란색이고 그 버튼이 파란색이라고 표시된 버튼; ID가 녹색 인 버튼이 있고 그 버튼은 녹색으로 표시됩니다 이제 스크립트 태그 내부에 무엇이 있습니까? DocumentaddEventListener DOMContentLoaded가 있습니다 그래서 여기에 언제 실행될 코드가 있습니다 우리가 실제로 흥미로운 것을 할 준비가되었을 때 DOM은 로딩된다

사이트의 내용과 함께 내가 말하길, documentquerySelector #red onclick, 즉, 빨간색 버튼을 클릭하면 실행해야하는 코드이며, 이 다음 기능 이 함수의 내부에는 documentquerySelector #hello가 있습니다

ID hello로 그 일을 얻었습니다style은 style 속성을 갖습니다 그런 다음 CSS 속성을 수정할 수 있습니다 우리는 무언가의 색깔을위한 CSS 속성을 가지고 있었고, 또는 무언가의 글꼴 크기 또는 무언가를위한 배경

그리고 이제이 style에 액세스하여 수정할 수있는 CSS 속성 HTML 엘리먼트의 속성 그래서 나는 말하고있다 스타일 색상

그것은 빨강과 같을 것입니다 마찬가지로 Blue를 클릭 할 때도 동일한 작업을 수행합니다 그런 다음 "Hello!"색상을 변경합니다 파란색으로 될 요소 마찬가지로 Green을 클릭하면 녹색의 색상이 변경됩니다

그게 어떻게 작동했는지에 대한 질문? 누구든지이 코드에서 개선 할 부분을 보았습니까? 언뜻보기에는 차선책으로 보일 수있는 것이 있습니까? 네 관객 : [INAUDIBLE] 스피커 1 : 그래, 나는 정말로 모두 세 가지 기능을 가지고있다 같은 일을하고있다 나는 "Hello!"라는 빨간 버튼을 가지고있다 검은 색 대신에 붉은 색으로 또는 원래 무엇이든지; 파란색 버튼 그것은 똑같은 일을합니다

동일한 일을하는 초록색 그리고 이것은 querySelector가 지금까지 본 것처럼, 실제로 발견 된 첫 번째 요소 만 추출 할 수 있습니다 그래서 나는 빨간 버튼을 뽑은 다음, 파란색 버튼을 추출하고 그걸로 무언가를하는 것 그리고이 기능들은 약간 다릅니다 그래서 저는 이것을 일반화하는 방법을 원합니다

이 코드를 한 번만 작성한 다음 적용해야합니다 이 모든 다른 버튼에 그래서 그렇게 할 수있는 여러 가지 방법이 있습니다 그러나 우리는 지금 한 가지 방법을 살펴볼 것입니다 DOM Content Loaded 섹션의 내부에있는 내용은 다음과 같습니다

documentquerySelector 대신 documentquerySelectorAll이 있습니다 그리고 querySelectorAll이하는 일은 단지 선택하는 것이 아닙니다 querySelector가 한 것처럼 일치 한 첫 번째 작업은 querySelectorAll은 나에게 모든 것을 배열로 반환 할 것입니다

내가 수행하려고했던 쿼리와 일치하는 여기에서는 Color-Change 클래스가있는 항목을 쿼리합니다 특히 아래에서 HTML 내용을 살펴 보겠습니다 페이지의 일부만 남았습니다이 모든 버튼을 제공했습니다 클래스 Color-Change

그리고 결과적으로, 내가 querySelectorAll 일 때 Color-Change 클래스를 사용하면 그 모든 다른 버튼 배열을 되 찾을 예정입니다 그 후, 나는 이것을 가진다 각자 그래서 ForEach는 내장 된 함수로 우리는 JavaScript 배열에서 각 요소에 대한 함수를 실행할 수 있습니다 그 배열 안에

그래서 ForEach는 고차 함수의 또 다른 예입니다 ForEach는 입력으로서 또 다른 함수를 취하는 함수입니다 흥미로운 것을하고 싶다 그리고 그것은 취할 함수입니다 그 배열의 하나의 특정 요소를 입력으로 받아 들인다

그리고 그 기능이 실제로 무엇을하는지보기 전에, 이 페이지의 HTML 내용을 보여 드리겠습니다 내 몸 안에는 "안녕하세요!"라는 제목이 있습니다 3 개의 버튼이 있습니다 그들 모두는이 클래스, Color-Change, 그것은 내가 그들 모두를 선택할 수있는 수업이 될 것입니다 한 번에

Color-Change 클래스가있는 모든 것을 선택하면, 나는이 세 가지 버튼을 모두 선택할 수 있습니다 그런 다음이 데이터 색상 속성을 추가했습니다 내 모든 단추에 이제 data-color는 일부 속성 만이 아닙니다 모든 버튼에 내장되어 있지만 오히려 데이터 속성의 예제

HTML에서 종종, 내가 추가 데이터를 HTML 요소와 연관 짓고 싶습니다 그건 페이지에 표시되지 않습니다, 나는 그것을 넣을 수 있습니다 내가 선택한 데이터 이름의 내부 속성 데이터, 하이픈, 그 HTML을 제공하기 위해 무엇인가로 시작하는 한 요소 자체에 대한 조금 더 많은 정보 또는 나중에 사용하기 위해 알 필요가있는 정보, 자주 자바 스크립트에서 여기에서 내가 한 것은이 버튼을 정의한 것입니다 모두 클래스 색상 변경이 있지만 모두 이 색상 데이터 속성, 데이터 색상, 즉 색상과 같습니다

그 (것)들은 원본을 도는 것을 시도해야한다 그래서 이것은 하나의 데이터 – 붉은 색, 파란색 버튼은 데이터 – 푸른 색, 녹색 버튼은 데이터 – 녹색을 나타냅니다 그리고 실제로 이러한 데이터 속성을 어떻게 사용합니까? 자바 스크립트 코드를 다시 살펴보면, 이 모든 querySelectorAll을 선택하면 모든 단추가 선택됩니다 또는 Color-Change 클래스가있는 HTML 요소를 모두 포함해야합니다 각각– 다시 말해,이 개별 버튼들 각각에 대해이 기능을 실행하십시오

여기에 그 기능이 있습니다 이 함수는 그 버튼 중 하나를 입력으로 사용합니다 첫 번째 버튼에서 작동하고 두 번째 버튼에서 작동합니다 그런 다음 세 번째 버튼을 누릅니다 그리고 우리는 버튼을 설정하고 있습니다

각각의 onclick 속성 이 새로운 기능입니다 따라서이 버튼을 클릭 할 때 실행해야하는 기능입니다 documentquerySelector #hello style

color는 우리가 본 것과 같은 것입니다 전에 우리는 그 제목을 "Hello!" 표제, 스타일 속성을 얻고 스타일의 색상을 변경합니다 특히 스타일을 바꾸고 싶은 색상은 무엇입니까? 글쎄, 우리는 그 데이터 – 컬러 애트리뷰트로 바꾸고 싶다 버튼 자체의 것이었다

그래서 우리는이 변수 버튼에 접근 할 수 있습니다 ForEach 함수가 배열의 각 요소를 반복하므로 개별 요소를 입력으로 전달하는 함수를 실행 해 봅시다 그리고 우리는 그 버튼을 불렀습니다 자바 스크립트에서 데이터 속성에 액세스하려면 dataset 속성을 사용합니다

buttondatasetcolor로 이동하면 어떻게 될 것입니까? 해당 버튼을 사용하여 데이터 속성 -이 경우 데이터 – 색상 -을 추출합니다 하나의 특정 속성을 얻습니다 이 경우 color 속성이 필요합니다

그리고 이것 모두가하는 일에 대한 짧은 이야기가 부족합니다 우리는 모든 다른 요소들을 선택하고 있는가? 모든 단추 인 Color-Change 옷을 가지고 있습니다 그리고 그것들 각각에 대해, 우리는이 함수를 실행할 것입니다 해당 버튼의 onclick 속성을 "Hello!" 데이터 색상 속성에 상관없이 색상을 변경합니다 그 버튼의 원래했다

그리고이 결과는 colors1이 color0와 정확히 같은 방식으로 작동한다는 것입니다 그들은이 빨강, 파랑 및 녹색 단추가 있습니다 그리고 그 중 하나를 클릭하면, 그것은 그 색의 원인이 "안녕하세요!" 이 데이터 집합 속성을 기반으로 모든 항목을 변경합니다 그리고 우리는 이제 단 하나의 함수를 사용하여이를 수행 할 수있었습니다 color0와는 반대로 색상을 변경합니다

우리는 세 가지 다른 기능이 필요했습니다 각각의 개별 색상에 하나씩 여기에서 일어난 일들에 대한 질문이 있습니까? 그래서 이것은 많은 새로운 구문입니다 네? 관객 : [INAUDIBLE] 좋은 질문입니다 Chrome 내부에서 이러한 버튼 중 하나를 검사하려고하면 어떻게 될까요? 검사관? 그래서 document

querySelector를 할 수 있습니다 이제는 개별 버튼 만 선택하려고합니다 그리고 querySelector는 한 가지만 반환한다는 것을 기억하십시오 따라서 여기 HTML 문서 안에 3 개의 버튼이 있지만, 버튼에서 querySelector를 실행하면됩니다 나에게 첫 번째 버튼 인 빨간 버튼을 돌려 주겠다

그리고 내가 onclick을하면, 내가 돌아 오는 것은 그 기능입니다 이 documentquerySelector #hello는 버튼의 데이터 세트와 동일합니다 색상은 해당 버튼의 onclick 속성을 업데이트했기 때문에 나타납니다 그 새로운 기능입니다

좋은 질문입니다 다른 것들? 괜찮아 colors1html의 내부에, 당신이 지금 주목 한 것 우리는 이러한 다양한 기능을 많이 가지고 있습니다 매개 변수를 사용하지 않는 함수가 있습니다

매개 변수를 사용하지 않는 또 다른 방법이 있습니다 버튼을 매개 변수로 사용하는 버튼입니다 함수는 JavaScript에서 매우 일반적입니다 우리가 이미 본 것처럼 콜백 함수는 이벤트가 발생할 때마다 호출됩니다 특히 최신 버전의 JavaScript, 특히 ES6에서는, 함수에 대한 새로운 구문을 도입했습니다

그것으로 인해 처리가 좀 더 간단 해집니다 이제 구문을 소개하겠습니다 오늘 강의 나머지 부분을 위해 그것을 사용하여 그것을 맛볼 수 있습니다 color2html의 내부에는 똑같은 일을 할 것입니다

우리는이 화살표 표기법 구문을 소개 할 것입니다 그리고 그 화살 표기법에 대해 간단히 이야기하겠습니다 구문은 화살표 함수라는 것을 정의하는 것처럼 보입니다 그리고 나서 우리는 실제적으로 그것들을 면밀히 관찰 할 것입니다 그리고 이것은 인수를 취하지 않는 화살표 함수의 예입니다

그리고 특히, 화살표 함수는 단어를 사용하지 않고 정의됩니다 "기능" 대신 함수가 취하는 모든 인수가 있습니다 공백이없는 빈 괄호는 인수가 없음을 의미하고, 등호 다음에, 화살표는 단지 ​​화살표가되는 것을 의미합니다이를 입력으로 가져 와서이 코드를 실행하십시오

그래서 이것은 ES6의 기능 정의 방법 일뿐입니다 이전 방법으로도 기능을 사용할 수 있습니다 그리고이 함수들은 매우 약간 다르게 동작합니다 우리가 오늘 나중에 보게 되겠지만, 사실, ES6에서보다 간결하고 작고 간단한 함수 작성 방법 그리고 이것은 인자를 취하지 않는 함수입니다

"Hello, world!"라고 경고합니다 hello 함수와 거의 같은 방식으로 오늘 저녁에 우리가 보았던 것이 었습니다 예를 들어, 이것은 입력으로 변수를 취하는 함수입니다 x를 입력으로 사용하고 함수 본문에서 예를 들어 x의 내용은 그리고이 기능들이 훨씬 더 간결하게 표현되어 있습니다 입력을 받고 값을 거의 반환하는 함수가 있다면 지금 당장 당신은 실제로 이것과 같은 기능을 표현할 수 있습니다

x, 화살표, x 번 2 번을가집니다 이것은 ES6에서 정의 된 함수로, x는 2이고 x가 2이면 무엇이든 반환합니다 그리고 중괄호도 필요하지 않습니다 그래서 이것들은 함수를 표현하는보다 간결한 방법입니다 최신 JavaScript 코드를 살펴 본다면, 이 구문을 많이 보게 될 것입니다

그래서 저는 당신에게 그것이 무엇인지 느낄 수 있도록 소개하고 싶었습니다 그리고 그것이 어떻게 작동하는지 그래서 우리가 그 색깔의 예를 들어야한다면 화살표 함수를 사용하여 다시 작성하면 다음과 같이 보일 것입니다 DOMContentLoaded 함수 다음에 중괄호 대신에, 우리는 단지 괄호라고 말할 것입니다 뒤에 등호, 화살; 그 다음 내용 DOM 내용이로드 될 때 발생해야합니다

예전 예에서 우리가 그 ForEach 기능을 실행하고 우리가 가지고 기능, 입력으로 버튼을 누른 다음이 코드를 모두 여기에서 실행했습니다 화살표 함수를 사용하는 새로운 예제에서 우리는 버튼 (button) 그게 입력이야 그럼 화살 그래서 버튼이 입력입니다 그리고 나서 이것은 그 기능의 몸에서 일어날 것입니다

버튼을 클릭하면 인수를 사용하지 않는 새 함수를 실행합니다 그리고 그 결과로이 코드를 실행합니다 그래서 colors1과 colors2는 효율적입니다 여기서도 똑같은 일을합니다 우리는 새로운 ES6 화살표 함수 표기법을 사용하고 있습니다

조금 더 간결한 방식으로 똑같은 것을 달성하십시오 그리고 두 가지 예를 보는 것이 좋습니다 두 가지가 모두 합리적으로 합당한 방법임을 알고 있습니다 이 기능들 지금까지의 모든 것에 관한 질문? 승인

잠시 쉬기 전에 마지막 예제를 한 번 살펴 보겠습니다 우리는 colors3을 살펴볼 것입니다 그리고 colors3에서 주목할 것입니다 어떻게 작동하는지 먼저 알려 드리겠습니다 그것은 "안녕하세요!"라고 말합니다

3 개의 버튼 대신 드롭 다운 상자가 있습니다 그것은 검은 색으로 시작합니다 우리는 또한 빨강, 파랑 및 녹색을 가지고 있습니다 그리고이 드롭 다운 상자는 새로운 색상을 선택할 때마다 할 것입니다 예를 들어, 빨간색을 선택하면 내용이 빨간색으로 바뀝니다

파란색은 파란색으로 바뀝니다 녹색은 녹색으로 바뀝니다 그래서 약간 다릅니다 그러나 다른 예제를 제공하기 위해 구현 된 방법을 살펴 보겠습니다 그래서 colors3

html에는 제목이 있습니다 "안녕하세요!"라고 말하면됩니다 이전과 동일합니다 버튼 대신 선택 드롭 다운이 있습니다 선택 ID는 색상 변경입니다

그리고 나는이 모든 개별적인 선택권을 가지고 있습니다 각 옵션은 해당 드롭 다운 목록의 옵션입니다 옵션 태그 사이에 포함 된 내용 사용자에게 표시되는 옵션의 실제 텍스트입니다 각각에는 가치가 있습니다 그리고 그 가치를 추출하기 위해 JavaScript를 사용할 것입니다

따라서 각 문자열의 값은 실제 문자열과 동일합니다 내가 바꾸고 싶은 색의 "안녕!" 있을 것입니다 그리고 지금은 페이지의 스크립트 내용 안에, 페이지로드가 완료되면 실행해야 할 것이 있습니다 DocumentquerySelector 색 변경입니다

색상 변경은 선택 드롭 다운입니다 그리고 당신이 짐작할 수 있듯이 onchange는 또 다른 사건입니다 따라서 onchange는 선택을 변경하면 해고되는 이벤트입니다 선택 메뉴의 드롭 다운 상자에 그리고 그 일이 생기면, 나는 "Hello!"에있는이 함수를 실행할 것입니다

stylecolor를이 value로 변경하십시오 그리고 onchange 이벤트를 제외하고 여기에서 유일하게 정말로 새로운 것은, 희망적으로 꽤 직설적이어야한다 다른 이벤트의 예를 이미 본 적이 있다면이 키워드는 'this'입니까? "이것"은 무엇을 나타 냅니까? 글쎄, "이"는 일반적으로 말하자면, 이 기능이 작동 중입니다

그리고이 경우 "this"는 documentquerySelector의 색 변경을 나타냅니다 다른 말로하면, 내가 추출했을 때 얻은 것 이 색상 변경 ID는이 함수를 설정하기 때문에 이 onchange 함수가 될 때, 어떻게 될까요? 색상 변경 드롭 다운을 변경합니다 그리고 이것은 선택 드롭 다운이 무엇이든간에입니다 그리고 만약 내가 그 드롭 다운을 선택하고 그 가치를 얻으려면, 그것은 색이 무엇이든간에 될 것입니다

그리고 이것은 당신이 정말로 걱정할 필요가있는 것보다 조금 더 정교합니다 이 클래스의 목적을 위해서 그러나 "이것이"가치에 묶여 있어야한다는 것을 아는 방식으로 말하자면, "this"가 취해야하는 값은 그것이 정의 된 함수에서 그리고 그 짧은 이야기는 "this"가 단지 사물에 묶일 것이라는 것입니다 함수를 사용하는 경우 함수를 호출한다고 가정합니다 실제로 명시 적으로 쓰지 않고 전통적인 기능으로 "기능"이라는 단어

화살표 함수를 사용하면 "this"대신 코드에서 "this"가 바운드 된 것에 바인딩됩니다 그 화살 기능을 감싸고 있었다 예를 들어 "this"를 사용하여 짧은 이야기를 짧게 말하면, "this"는 더 이상 존재하지 않기 때문에 동일한 효과를 내지 않을 것입니다 색상 변경 드롭 다운에 바인딩됩니다 이 키워드 함수이고 함수를 정의합니다

"이것"이 사물에 묶여있게하는 전통적인 방식으로 내가 실제로 수정하려고하고있다 그래서 함수를 실험 해보십시오 이 방법으로 일부 함수를 작성하고 화살표 함수를 사용하여, "this"가 걸릴 때까지 당신은 위로 뛰어 들게 될지도 모른다 다른 가치에 반하여 한 가치에 다시 디버깅을 시작하는 좋은 방법은 디버거를 사용하는 것입니다

그리고 나중에 더 많은 예를 보게 될 것입니다 그러나 지금은 잠시 쉬어 보겠습니다 그리고 우리가 돌아 왔을 때 JavaScript를 사용하는 사례를 더 살펴볼 것입니다 그리고 나서 우리는 자바 스크립트를 파이썬과 통합 할 것입니다 Flask에서 동적 웹 응용 프로그램을 빌드하려면, 파이썬과 자바 스크립트를 모두 사용합니다

하지만 몇 분 안에 모든 것 승인 다시 오신 것을 환영합니다 지금까지 자바 스크립트를 살펴 보았습니다 우리가 그것을 순서대로 사용할 수있는 방법을 찾고있다

이미 존재하는 요소를 편집하여 DOM 조작 또는 드롭 다운 상자 및 입력 필드에서 요소 및 값을 읽음 흥미롭고 유용한 일을하기 위해서 우리가 지금 살펴볼 것은 또 다른 예입니다 실제로 DOM에 물건을 추가 할 수있는 방법, 우리가 웹 페이지의 내용에 어떻게 추가 할 수 있는지, 이전에 없었던 요소를 추가하기 위해 재미 있거나 유용한 것들도 있습니다 그래서 저는 우리가 앞으로 나아가려고하는 것을 보여 드리겠습니다 그러면 우리가 실제로 그렇게 할 수있는 코드를 살펴볼 것입니다

따라서 tasks0html을여십시오 그리고 task0html은 간단한 할 일 목록 응용 프로그램입니다 내가 수행해야하는 다른 작업을 추적 할 수 있습니다

여기에 할 일이 있습니다 제출을 클릭하면 "할 일"이 내 작업 중 하나가됩니다 그리고 "다른 것"을 추가하고 제출을 클릭합니다 내가해야 할 또 다른 일이있다 그리고 앞으로도 지속적으로 증가하는 과제 목록을 계속 유지할 것입니다

새 작업 입력에 입력 한 내용을 기반으로 완료해야합니다 필드를 선택한 다음 제출 단추를 클릭하여 작업 목록에 추가하십시오 내가 수행해야 할 일 그리고 이것 모두는 JavaScript를 사용하여 바로 발생합니다 코드를 살펴 봅시다 그런 일이 일어나기 위해서 필요합니다

지금까지 HTML 본문 내부에는 상단의 "작업"이라고 표시된 제목 다음에 UL, 또는 ID가 task 인 순서가없는 목록으로, 나중에 참조 할 수 있습니다 그리고 그 순서가없는 목록은 비어 있습니다 그 안에는 목록 항목이 없습니다 이상하게 보입니다 순서가 지정되지 않은 모든 목록이나 우리가 전에 본 목록, 그들 안에 있었어 li, 실제 목록의 내용을 정의하는 항목 요소를 나열합니다

그러나 시작하려면 우리는 처음부터 시작할 일이 없으며, 그래서 빈 목록으로 시작해야합니다 정렬되지 않은 목록을 채우기 전에 항목이 추가 될 때까지 기다립니다 그런 다음 ID가 새 작업 인 양식이 있습니다 그리고 그 형태 안에는 두 부분이 있습니다 하나는 입력 필드입니다

그 타입은 텍스트입니다 왜냐하면 저는 작업을 타이핑 할 것이기 때문입니다 그것의 자리 표시자는 새로운 작업입니다 그리고 나서이 입력 필드를 제출합니다이 필드는 그 버튼이 될 것입니다

그것을 클릭하면 작업이 제출됩니다 그렇다면 이제 실제 JavaScript 코드는 무엇이 될까요? 그래서 DOM 컨텐츠가로드 될 때, 여기에 제가 궁극적으로하고있는 것이 있습니다 이 코드를 살펴 보겠습니다 그래서 documentquerySelector New-Task

New-Task는 해당 양식의 ID이며 입력을 포함하는 양식입니다 필드와 제출 버튼 양식을 제출하면 여기에 함수가 있습니다 이 코드는 중괄호로 묶여 있습니다 나는 상수 변수를 만들고 있는데, 상수는이 함수 내부에 있고, 적어도 변하지 않을거야 리라 불렀다

그리고 저는 이것을 documentcreateElement li과 동일하게 설정합니다 그래서 새 요소를 만들고 그 요소의 태그 목록 태그 인 li 태그가 될 것입니다 그리고 저는 li의 내부 HTML을 작업의 가치가 무엇이든 설정합니다 여기서 수행 할 작업은 해당 입력 필드의 ID입니다

그리고 그 값을 추출하면 모든 텍스트를 의미하게됩니다 사용자가 해당 입력 필드에 입력 한 이제는이 목록 항목을 가져 오면 새로운 목록 항목 요소이고 내부 HTML은 그 일 안에 있었던 것입니다 나는 지금 실제로 그 새로운 요소를 취할 필요가있다 어딘가에 웹 사이트에 넣으세요 문서에서 요소를 만들었지 만 아직 작성하지 않았습니다

JavaScript 내부에서 DOM 트리 안쪽, 페이지 내부의 이 새로운 목록 요소가 이동합니다 그래서 내가 할 일은 documentquerySelector Tasks, 정렬되지 않은 목록 인 ID 작업으로 문제가 발생합니다 그리고 그것에 덧붙여 라 그리고이 HTML 요소는 모든 종류의 속성을 가지고 있습니다

당신이하는 일의 관점에서 볼 수 있습니다 Append가 끝나면 새로운 것을 추가하는 것입니다 그리고 여기에 내가 만들 수있는 변수 인 li을 추가 할 수 있습니다 그러면 실제로 새 항목이 작업 목록에 추가됩니다 그 후에 우리는 몇 가지 다른 일을 할 것입니다

해당 작업 입력 필드를 선택하고 빈 문자열에 대한 값 그래서 할 일이 모두 진행될 것입니다 시작한 입력 필드를 가져 오려면 그리고 그것은 단지 그것을 지울 것입니다 이미 작업을 입력 했으므로 입력 필드 이미 제출했기 때문에 지금은 분명해야합니다 그런 다음 거짓을 반환합니다

따라서 일반적으로 양식을 제출할 때 양식 제출을위한 기본 동작 나는 다른 웹 사이트에 양식을 제출하고있다 그 새로운 웹 사이트를로드하려고합니다 지정하지 않으면 시도 할 것입니다 양식을 양식에 다시 제출하여 동일한 페이지를 다시로드하십시오 false를 반환하면 양식이 다른 웹 사이트로 전송되는 것을 중지하고, 같은 페이지에 머물고 싶기 때문에 새 페이지를 새로 고침하는 중입니다

이 양식을 제출하면 끝납니다 그래서 우리는 새로운 요소를 만들고 그 내용을 설정합니다 작업이 무엇이든, 내 작업 목록에 추가하고, 입력 필드를 지우고, 궁극적으로 양식 제출을 중단하십시오 이것이 바로 우리가이 동작을 얻을 수있게 해주는 것입니다 더 많은 작업을 추가 할 수 있습니다

자,이 응용 프로그램을 향상시킬 수있는 영역이 있습니다 지금 바로 제출을 계속 클릭하면 빈 요소를 계속해서 계속 제출할 수 있습니다 어쩌면 그 일이 일어나는 것을 막고 싶습니다 내가 실제로 제출하지 않으면 아무 것도 제출할 수 없도록 만들고 싶습니다 이 새 작업 필드에 입력 된 텍스트 그러면 어떻게해야할까요? 비슷한 tasks1

html을 보겠습니다 추가 자바 스크립트 코드를 추가했습니다 그래서 여기에서 제일 먼저 할 일은 제출 버튼입니다 ID가 제출 인 경우 ID를 제출했습니다 제출 – HTML 속성 중 하나를 설정하고 있습니다

자바 스크립트를 사용하여 HTML 요소의 HTML 속성을 편집 할 수 있습니다 특히 유용 할 것으로 보이는 부동산 버튼의 비활성화 된 속성은 다음과 같습니다 해당 버튼이 비활성화되어 있는지 여부를 결정하는 것입니다 내가 그것을 클릭 할 수 있는지 여부 그래서 나는 disabled 속성을 true로 설정합니다

그리고 이제 documentquerySelector Task가 있습니다 다시 입력 필드입니다 onkeyup 내가 열쇠를 누르면 그 열쇠를 들었을 때, 지금 텍스트를 입력 했으므로 그 키를 들어 올리면 어떻게 될까요? 자, 이제 입력 필드에 텍스트를 입력했습니다

Submit 필드의 disabled 필드는 false가 될 수 있습니다 제출 버튼을 사용하지 않기를 원하기 때문입니다 그런 다음 효과적으로 제출하는 것과 동일한 방식으로 제출하십시오 실제로 제출 버튼을 클릭하면 새 작업을 내 작업 목록에 추가하려고합니다 그러나 특히, 입력 필드를 지울뿐만 아니라, 버튼을 다시 비활성화하고 싶습니다

그래서 ID submit이있는 버튼에 대해 querySelect를 수행합니다 그리고 나는 disabled 속성을 false 대신 true로 설정했습니다 결과적으로 저는이 작업 목록을 가지고 있습니다 여기에 하나의 작업으로 타이핑을 시작할 수 있습니다 그리고 제출 단추가 비활성화되어 있습니다

제출 버튼을 클릭하고 빈 작업을 제출할 수 없습니다 그리고 두 번째 작업을 입력 할 때까지는 아닙니다 실제로 제출 버튼을 클릭하고 다른 작업을 제출할 수 있습니다 그래서 Submit 버튼의 HTML 속성을 조작 할 수있게되었습니다 disabled 속성을 true 또는 false로 설정 내가 원하는대로

누구든지 내 구현에 잠재적 인 버그가 있습니까? 그게 잘못 될 수도있는 지역? 네? 관객 : [INAUDIBLE] 좋은 질문입니다 내가 – 아니면 훌륭한 대답이라면 내가 뭔가를 입력하고 텍스트를 입력 한 다음 지우면 이제는 빈 작업 필드로 돌아갔습니다 이제 제출 단추가 여전히 활성화되어 있고 아직 작업을 제출할 수 있습니다 왜 내가 그렇게 할 수 있었습니까? 네, 왜냐하면 제가 키 입력을했기 때문이죠

그리고 기술적으로 Delete 버튼을 누르는 것은 여전히 ​​키 입력입니다 삭제 버튼을 누르면 키 업뿐만 아니라 이전에 타이핑하고 있던 다른 모든 문자도 포함됩니다 그래서 나는 순서대로 좀 더 견고한 것을 필요로 할 것입니다 이 상황에 대처할 수 있도록 그래서 우리는 앞서 task2html 안에이 버그를 수정하겠습니다

그리고 여기, onkeyup 키를 들어 올리면 입력 필드에 새 키를 입력 할 때, 나는 확인하러 갔다 작업 입력 필드를 쿼리하고 추가 값을 얻습니다 그리고 난 그냥 날 가져옵니다 JavaScript에서 문자열의 length 속성을 사용할 수 있습니다

문자열의 길이입니다 그리고 문자열의 길이가 0보다 큰 경우 – 즉, 입력 필드 안에 0 개 이상의 문자가 있습니다 그렇다면 버튼을 비활성화하지 않기를 바랍니다 따라서 disabled는 false와 동일합니다 그렇지 않으면 입력 필드 내에 0 문자가있는 경우, 대신 장애인 필드가 사실 이길 원합니다

결과적으로 제출 버튼이 비활성화됩니다 하나의 작업을 추가 할 수 있습니다 다시 사용할 수 없게됩니다 두 번째 작업을 입력했지만 삭제, 삭제, 삭제, 삭제, 일단 내가 모든 것을 비워, 이제 제출 단추가 다시 사용 불가능하게됩니다 여기에서 사용할 수 있으며 이제는 사용할 수 없습니다

그래서 이것은 내가 조건을 사용하고 동적으로 이벤트 처리기, 더 나은 내 사용자 인터페이스를 만들기 시작 역동적으로 만들어서 그것은 사용자가 실제로하고있는 것입니다 지금까지의 모든 것에 관한 질문? 그래서 두 사람이 jQuery에 대해 물어 보았습니다 당신이 잘 알고있는 도서관입니다 우리는 오늘 강의에서 전혀 이야기하지 않을 것입니다 하지만 jQuery는 자바 스크립트 라이브러리가 될뿐입니다

비슷한 일을하기 위해 일반적으로 사용됩니다 지금까지 우리가 보아온 것들 HTML 요소를 선택하고 업데이트하는 것, DOM 업데이트 및 수정 궁극적으로 jQuery는 약간 줄어 듭니다 최근 자바 스크립트 자체가 더 많이 사용됨에 따라 인기가 있습니다 jQuery와 같은 외부 라이브러리를 사용할 필요없이 더 강력합니다 querySelector 및 querySelectorAll과 같은 것을 사용하면, 당신은 jQuery와 같은 것들을 많이 할 수있다

상대 효율이 좋았습니다 jQuery는 비교적 큰 라이브러리로서 시간이 오래 걸립니다 로드하고 약간 느려질 수도 있습니다 너는 여전히 인기가 있지만, 조금 덜 인기가있다 많은 경우에 그것을보십시오

사실, 예를 들어 부트 스트랩을 프로젝트에 사용하는 경우, Bootstrap의 JavaScript 기능 중 하나를 사용하고 있습니다 부트 스트랩은 jQuery를 순서대로 라이브러리로 사용하고 있습니다 대부분의 자바 스크립트 작업을 수행합니다 그래서 당신은 jQuery와 비슷한 문법으로 비틀 거릴 수 있습니다 부트 스트랩의 자바 스크립트 또는 자바 스크립트를보고 있다면 다른 웹 페이지 나 다른 라이브러리에 있습니다

그래서 당신에게 모든 것을 알리고 싶었습니다 jQuery는 비록 우리가 오늘 강의에서 너무 많이 보지 않을 것이라고합니다 하지만 몇 가지 다른 기능을 살펴 보겠습니다 자바 스크립트 자체에 내장되어 있습니다 특히 interval

html을 살펴 보겠습니다 그래서 몸 안에는 intervalhtml이 있습니다 그냥 카운터라는 제목이 있습니다 더 이상 버튼이 없습니다

그러나 실제 스크립트의 내부에서 어떤 일이 일어나는지 살펴 보겠습니다 내용 DOM 내용이로드되면 setInterval 함수를 호출합니다 자바 스크립트에 내장 된 함수 그리고 setInterval 함수는 두 개의 인수를 취합니다

첫 번째 기능은 다른 기능입니다 이 경우, count는 함수이다 두 번째는 내가 호출해야하는 간격입니다 그리고 setInterval count 1,000이이 count 함수를 호출합니다 매초 1,000 밀리 초마다

그리고 count 함수는 앞서 살펴본 count 함수와 같습니다 이 카운터 값을 취하여 매번 증가시킵니다 그래서 결과는 필요없는 것입니다 아무 버튼이나 클릭하면 intervalhtml이 열리면 0부터 시작합니다

초당 1, 2, 3, 4로 계산됩니다 버튼을 클릭 할 필요가 없습니다 JavaScript가 내 count 함수를 실행하고 있습니다 1000 밀리 초마다 한번씩 그래서 뭔가를 원한다면 유용 할 수 있습니다 반복적으로 발생합니다

그러나 모든 자바 스크립트 웹 페이지에 대해 알아 차릴 수 있습니다 우리가 지금까지 가지고 있었던 것은 그들이 아무것도 기억할 수 없다는 것입니다 지금 내 웹 사이트를보고 있다면 23, 24, 25로 세고, 계속 카운팅하고 있습니다 하지만 28 세가되면 페이지를 닫습니다 interval

html을 다시 열면 다시 0이됩니다 변수를 모두 업데이트하면 페이지 전체가 재설정됩니다 그 페이지를 닫을 때 잃어 버렸습니다 그래서 나는 그 주위를 돌아 다니고 실제로 저장할 수있는 몇 가지 방법이있다 정보를 통해 페이지를 닫으면 오늘이나 다음 날에 나중에 페이지를 열어도 약간의 정보, 어떤 상태의 약간의 메모리를 유지합니까? 이를 위해 자바 스크립트의 기능을 사용합니다

많은 현대 웹 브라우저가 로컬 저장소라고 부르는 것을 지원합니다 로컬 컴퓨터 내부에 물건을 저장할 수있게 해줍니다 그런 경우에도 페이지를 닫고 나중에 페이지를 다시로드하더라도, 나는 여전히 같은 로컬 저장소에 액세스 할 수 있습니다 이제 storagehtml을 살펴 보겠습니다

저장소에는 카운터 및 여기를 클릭하는 버튼이 있습니다 우리가 예전에 보았던 예와 비슷합니다 그리고 그 안에 무슨 일이 일어나고있는거야? 그리고 내가하고있는 첫 번째 작업은 localStoragegetItem, counter입니다 그래서 localStorage는 내가 액세스 할 수있는 변수 일뿐입니다

그리고 그것은 두 가지 기능을 가지고 있습니다 내 저장 항목을 로컬 저장소에서 가져 오려고하는 getItem을 사용하려고합니다 및 로컬 저장소에있는 값을 설정하는 setItem 그래서 저는 카운터라는 아이템을 얻으려고합니다 그리고 느낌표는 단지 ​​"아닙니다"를 의미합니다

그래서 getItem counter가 아니라면 – 다른 말로하면, 카운터라고 불리는 것이 없었습니다 setItem, localStorage에 0을 설정합니다 그래서 카운터를 0으로 설정합니다 이제 내가 할 일은 처음에는 카운터의 내부 HTML로 설정됩니다 localStorage의 카운터 변수 값이 무엇이든 상관 없습니다

따라서 localStorage가 0에서 시작하면 카운터가 처음에는 0을 표시 할 것입니다 그러나 그것이 다른 것이라면 뭔가 다른 것을 보여줄 것입니다 그리고이 버튼을 클릭 할 때마다, querySelector 버튼 onclick, 어떻게해야합니까? 변수 카운터를 처음에 0으로 설정하는 대신, 카운터를 localStorage의 카운터가 무엇이든 설정하십시오 그런 다음 변수 카운터를 증가시킵니다 카운터 ++

그런 다음 내 카운터 제목의 내부 HTML을 그 카운터 변수는 뭐든간에 그리고 나서 제가 설정하려고합니다 ItItem– localStoragesetItem 카운터의 값을 내 변수 카운터와 동일하게 설정하십시오

그리고 카운터 변수를 필요로하지 않고도이 문제를 해결할 수 있습니다 하지만 여기에 모든 단계를 명시 적으로 명시하고 있습니다 그리고 그 결과는 무엇입니까? 이 로컬 저장소는 내가 액세스 할 수있는 변수입니다 또는 페이지를 닫을 때도 액세스 할 수있는 저장소입니다 다시 열어 라

그래서 내가 여기 storagehtml을 열면 – 그리고 저는이 버튼을 계속 세게됩니다 그리고 저는 예를 들어 5, 6, 7, 8, 9, 예를 들어이 페이지를 닫으면 이전에 본 적이 있지만 페이지를 열면 다시 0으로 재설정됩니다 하지만 지금이 페이지를 열면 9시에 돌아옵니다 그것은 localStorage에서 그 값을 가져오고 그것을 사용하고 있습니다

이제 클릭하고 계속할 수 있습니다 localStorage의 변수 값을 업데이트합니다 네? 관객 : localStorage가 Chrome에 저장하고 있습니까? Speaker 1 : 예, 브라우저는 localStorage를 지원해야합니다 그래서 Chrome은 정보를 저장할 수있는 브라우저가됩니다 Chrome 내에서 로컬로 그리고 다른 대부분의 현대 웹 브라우저는 localstorage도 지원합니다

관객 : [INAUDIBLE] 그래, 계속 지속될거야 데이터를 로컬에 저장할 수있는 좋은 방법입니다 나중에 사용할 때 나중에 참조 할 수 있습니다 그리고 당신은 이것이 미래의 프로젝트에서 유용하다는 것을 알 수 있습니다 관객 : [INAUDIBLE] SPEAKER 1 : 그것을 반복하십시오

관객 : [INAUDIBLE] 연설자 1 : 당신은 그것을 – 그래서 쿠키 -이 질문과 쿠키 사이의 관계입니다 쿠키는 일종의 서버와의 상호 작용과 관련이 있습니다 서버가 특정 사용자를 기억하기 위해 쿠키를 사용할 수도 있습니다 이 스토리지 웹 사이트와 관련하여 아무런 서버도 없습니다 그것은 단지 컴퓨터에 저장되는 데이터입니다

그러나 그것은 비슷한 정신을 가지고 있습니다 네? 관객 : [부주의 (INAUDIBLE)] 충돌을 어떻게 피합니까? 누군가가 사용할 수 있다고 [INAUDIBLE] 웹 페이지의 카운터? 좋은 질문입니다 따라서 네임 스페이스 충돌을 피하는 방법은 무엇입니까? 다른 사람이 counter라는 localStorage 변수를 사용하고 있다면 어떨까요? localStorage가 작동하는 방식은 특정 도메인 이름 용으로 예약되어 있다는 것입니다 그리고 귀하의 웹 사이트가 하나의 도메인 이름으로, localStorage에서 특정 변수를 사용 중입니다 다른 도메인의 일부 다른 웹 사이트 localStorage에서 변수를 사용하고 있습니다

서로 충돌하지 않습니다 그러나 두 페이지의 도메인에서 예를 들어 localStorage를 사용하는 경우, localStorage와 같은 값이됩니다 그래서 당신의 책임이 될 것입니다 그 이름들이 서로 충돌하지 않도록해야합니다 예

관객 : [INAUDIBLE] 아직도 18 세입니다 네 승인 그래서 그것들은 JavaScript의 다른 기능들 – 간격들 및 localStorage 지금 우리가 살펴볼 내용은 한 발 뒤로 물러나는 것입니다

플라스크와 파이썬의 세계로 Flask를 사용하여 애플리케이션을 개발하는 방법 자바 스크립트를 사용하여 흥미로운 것을 할 수 있습니다 그리고 이렇게하기 위해서, 우리는 Asynchronous JavaScript와 XML의 약자 인 Ajax의 개념 당신은 우리가 순서대로 사용할 수있는 기술이라고 생각할 수 있습니다 필요없이 서버에서 더 많은 정보 얻기 새 페이지 전체를 다시로드하십시오 그래서 우리가 어떤 웹 사이트 나 어떤 웹 서버로부터 정보를 얻을 필요가 있다면, 그것을 우리가 이미 가지고있는 페이지에 통합하십시오

새 페이지를 다시로드하지 않고도 Ajax를 사용하여이를 수행 할 수 있습니다 이제 우리는 그 예를 보게 될 것입니다 그래서 제가 할 일은 Currency 예제에 들어가는 것입니다 Currency는 Flask 프로그램입니다 따라서이 URL을 사용하여 여기로 이동하면 우리는 지난 주 이전 예에서 보았습니다

우리가 fixerio에서 통화 API를 어떻게 사용할 수 있었는지 서로 다른 화폐 간의 환율을 구하는 것 우리는 명령 행 프로그램을 통해이를 수행 할 수있었습니다 이제 우리는이 신청서를 인터넷으로 가져 가고 있습니다 내가 가진 것은 통화로 입력 할 텍스트 필드를 제공하는 페이지입니다

환율 가져 오기 버튼이 있습니다 예를 들어 "euro"라고 입력하고 Get Exchange Rates를 클릭하면, 어떤 새로운 페이지도없이 – 나는 어떤 새로운 페이지에도 가지 않았다 – 그것은 단지 나에게 말한다, 1 달러는이 많은 유로와 같습니다 그리고 만약 내가 일본 엔을한다면, 나는 1 달러를 얻는다 10565 엔이다

그리고이 페이지를로드했을 때 나는 모든 다른 통화 환율을로드해야했다 이 페이지를로드하려면 우리가 곧 보게 될 것입니다 예를 들어, Get Exchange를 클릭하면 "Great British Pounds"라고 입력합니다 평가해라, 나는 Ajax 요청을하고있다 내 웹 서버에 또 다른 요청을하고 있는데, 내 플라스크 웹 서버, 교환을 가져올거야

위대한 영국 파운드에 대한 속도, 나에게 다시 줘, 그런 다음 JavaScript를 사용하여 DOM을 순서대로 업데이트합니다 이 새로운 콘텐츠를 렌더링합니다 그래서 우리는 그 모든 것이 실제로 어떻게 작동하는지 살펴볼 것입니다 이제이 Currency 응용 프로그램 내부에서 applicationpi를 살펴 보겠습니다

이 기본 경로 안에서는 indexhtml 템플릿을 반환하고 있습니다 이전에 본 Flask 프로그램과 동일합니다 또한 / convert라는 경로가 있는데이 경로는 요청 방법을 취합니다 POST의 이게 내가하는 길 일거야

통화 환율이 필요할 때 사용할 것입니다 그러면이 변환 함수 내부에서 어떤 일이 일어나고 있습니까? 우선이 양식과 관련된 데이터를 얻으려고합니다 제출, 특히 통화 양식의 가치에 관계없이 얻는 것 속성은 currency라는 변수 안에 저장합니다 그리고 API에 대한 API 호출을 할 것입니다 미국 달러와 변환하고자하는 통화를 전달합니다

지난 몇 주간의 예를 살펴볼 수 있습니다 지난 번에 API를 처리 할 때 이 API가 어떻게 작동하는지 자세히 설명합니다 그것은 똑같은 것입니다 나는 이제 막 내부가 아닌 플라스크 (Flask) 애플리케이션 내부에서 수행하고있다 명령 줄 응용 프로그램의

그래서 나는 새로운 환율을 요구할 것입니다 어떤 이유로 든 그 응답이 성공적이지 않은 경우, 상태 코드가 200이 아니었다면, 나는 방금 말한 JSON 객체를 반환하는 것, 성공 false, 이 요청은 성공하지 못했습니다 내 고객에게 그 사실을 알리고 싶습니다 어떤 이유인지, 이 요청은 성공하지 못했습니다 그런 다음 요청 응답에서 JSON 데이터를 가져올 것입니다

통화가 실제로 그 응답에 있는지 확인하십시오 그리고 이것은 API가 구조화되는 방식과 관련이 있습니다 따라서이 코드는 사용중인 API에 따라 달라질 수 있습니다 하지만이 API가 작동하는 방식은 통화가 있는지 확인해야합니다 내게 돌아온 요금 목록에 그리고 어떤 이유로 든 그 통화가 나에게 돌아 왔던 요금 목록에 그렇다면 나는 성공을 거짓으로 돌려 보낼 것입니다

그러나 그 중 아무 것도 사실이 아니라면 상태 코드가 200이고 통화가 나에게 돌아온 데이터 내부에서 – 이 JSON 객체를 반환 할 것입니다 성공은 사실이었고 요금은 데이터 요금의 통화가 무엇이든간에입니다

지난 번에 기억한다면,이게 어떻게 우리는 실제 환율을 추출했습니다 그리고 변환 경로가하고있는 것의 짧은 이야기가 부족합니다 이 경로에 대한 입력으로 통화 값을 제공하면 엔 또는 유로처럼, 그러면 통화 변환기 API에 대한 API 요청을하려면, 다시 나에게 돌아 오면 이상적으로 JSON 요청이 성공했다는 것을 알려주는 객체 또한 환율을 나타내는 숫자를 돌려주었습니다 그것은 전체 HTML 페이지를 돌려주지 않습니다 이 점을 API 루트처럼 생각하면됩니다

요청이 성공했는지 여부를 알려주는 JSON 객체 실제 환율이 무엇인지 말해줘 그리고 지금은 응용 프로그램 내에서 그 경로를 사용할 것입니다 내 신청서의 내용은 무엇입니까? 글쎄, indexhtml 안에, 나는 script 태그를 가지고있다 여기서 나는이 index

js 자바 스크립트 파일을 포함하고 있습니다 정적 URL은 Flask의 정적 파일 통합 방법입니다 우리는 이전 몇 주 동안 이것에 대한 몇 가지 예를 보았습니다 이 페이지의 본문 안에는 통화로 입력 할 수있는 양식이 있습니다 제출 단추를 클릭하십시오

그리고 나서이 부서를 여기 있습니다 ID가 결과 인 웹 사이트의 이것은 여기서 나는 계산 결과를 넣을 것이다 그러나 처음에는 아직 통화를 요청하지 않았습니다 그래서 그 결과 필드는 비어 있습니다 아직 아무 것도 없습니다

그리고 실제로 일어날 일들에 대한 모든 논리 indexjs 내부에서 일어날 것입니다 이제 그 사실을 살펴보고 무슨 일이 일어나는지 보도록하겠습니다 따라서 DOM 컨텐츠가로드 될 때, 실행할 코드가 있습니다 내가 원하는 것은 일종의 재미있는 요청 만하면된다는 것입니다

누군가가 양식을 제출하면 그들이 Get the Exchange Rate를 클릭하면 나는 무엇인가하고 싶다 그래서 저는 ID 양식이있는 양식을 선택합니다 제출 될 때이 함수를 실행할 것입니다 이 함수의 내부에서 어떤 일이 일어나고 있습니까? 이제 request라는 변수를 정의 할 것입니다

request는 새로운 XML HTTP입니다 의뢰 이것은 자바 스크립트에서 만들고있는 객체 일뿐입니다 그건 내가 Ajax 요청을 할 수있게 해줄 것이다 다른 웹 서버에 HTTP 요청을 할 수있게하려고합니다

몇 가지 정보를 얻기 위해서 그래서 저는 다음과 같은 변수를 정의 할 것입니다 통화는 통화 입력의 현재 값이 될 것입니다 필드가 있습니다 Currency는 해당 텍스트 입력 필드입니다

그 가치에 도달하면 무엇이든 얻을 수 있습니다 그것은 사용자가 입력 한 것입니다 – 유로 또는 파운드 중 하나, 또는 통화가 무엇이든간에 그래서 저는 이제이 변수 요청을 통해 다른 웹 사이트에 새로운 요청을하는 방법을 나타낼 것입니다 파이썬에서 요청 라이브러리와 매우 비슷하다 우리가 곧 보게 될 것입니다 그리고 통화라는 통화라는 변수가 있습니다

그리고 이제 저는 요청할 것입니다 요청하십시오 열려서, 새로운 요청을 초기화하십시오 내 경로가 요청 메소드를 허용하기 때문에 POST 요청이 될 것입니다 게시하다

그리고 나는 이것을 어디에 요청할 것인가? URL을 제공해야합니다 그리고 나는 그 길을 타거나 개종 할 것입니다 그리고 바로 applicationpi에서 가져온 것입니다 여기서 우리는 / convert라는 경로를 정의하고 요청을 받아 들인다 고 말했습니다

POST 방법 그러면 다음은 어떻게 될까요? 글쎄, 이제 내 요청을 말해야 해 너는 무엇을해야하니? 로드가 완료되면 어떻게해야합니까? 즉, 요청이 완료되면 어떻게되어야합니까? 그래서 여기서 일어나는 일이 여기에 있습니다 내 요청 변수를 가져 와서 해당 onload 특성을 설정하고 있습니다 다시로드가 완료되면 즉, 요청이 완료되면 – 실행해야 할 기능은 다음과 같습니다

그리고 저는 데이터라는 변수를 만듭니다 그리고 데이터는 무엇과 동일해야합니까? 음, 이상적으로, 나는 반환 된 JSON 객체와 동일한 데이터를 원한다 내가 / 변환 경로를 요청했을 때 나에게 내가 가지고있는 것은이 요청 변수이다 따라서 배울 내용은 request

responseText입니다 내가 사용할 수있는 요청의 속성입니다 응답 텍스트를 가져 오려면 텍스트가 무엇이든간에 내가 요청했을 때 나에게 JSONparse는 JavaScript에서 내장 된 함수로 텍스트를 사용합니다

그것을 JSON 객체로 구문 분석하려고합니다 API 강의에서 본 것처럼 키와 값을 사용하여 액세스 할 수있게 해줍니다 지난주 그래서 지금 나는이 데이터 변수를 가져야한다 그 / 변환 경로에서 나에게

그리고 기억한다면, / 변환 경로는 몇 가지 일을했습니다 요청이 성공한 경우 JSON 객체의 성공 키 사실이었다 그렇지 않으면 성공 키가 false입니다 그리고 여기에서 나는 그것을 확인하고 있습니다 data

success – 다른 말로하면, 요청이 성공적이면, 내 JSON 객체의 success 특성이 true 값을 가짐을 의미합니다 그러면 일어날 일이 여기 있습니다 새 변수 인 내용을 정의하고 있습니다 내 결과 div의 내용은 1 US 달러는 다음과 같아야합니다 그리고 나서 환율이 실제로 무엇인지를 지정하고 싶습니다

그리고이 요청에서 환율이 다시 되돌아 왔음을 기억하십시오 요청의 응답 텍스트에 다시 나타났습니다 이 JSON 데이터 값으로 변환됩니다 그리고 그 데이터 값에서 속도를 얻으려면 datarate를 수행합니다

그래서 1 달러는 동등한 속도로 연결됩니다 여기에서 통화를 누른 다음 통화 이름을 연결하십시오 위의 변수에 정의 된대로, 무엇이든간에 그려집니다 사용자가 입력 필드에 입력 한 그래서 이것은 결과 필드에 채우려는 것입니다 내 HTML 페이지 내부

그리고 이제는 말하자면, 우리는 그 결과 div에 도착할 것입니다 그 내용이 무엇이든간에 내부 HTML을 업데이트하십시오 그리고 요청이 성공적이면, 결과 div 안에 실제 내용을 제공하는 효과가 있습니다 내가 걱정하는 것 그리고 마지막으로, 그렇지 않으면

요청이 성공적이지 않은 경우, 내부 HTML을 설정하려면 오류가 발생했습니다 뭔가 잘못되었음을 나타냅니다 요청에서 누락 된 부분에 대한 아이디어가 있습니까? onload 함수가 아닙니다 그러나 지금까지 요청을했습니다 내가 말했듯이, 그 요청은 POST 요청이되기를 원한다

이것은 요청이로드 될 때 실행되어야하는 코드입니다 어떤 정보가 아직 포함되거나 사용되지 않았습니까? 네? 관객 : 귀하의 URL을 보지 못했습니다 연설자 1 : URL이 있습니다 따라서 조금 더 높게 보이게되면 요청을 초기화 할 때를 명시합니다 request

open에서 우리는 / convert 라우트로 POST 요청을 할 것이다 또는 URL 하지만 아직 실종 된 것은 무엇입니까? 이견있는 사람? 그래서 / 변환 할 POST 요청을 만들고 있어요, 어느 날 나를 위해 약간의 통화 변환을 시도하고 찾을 것입니다 미국 달러와 다른 환율 사이의 환율 그러나 나는 아직 실제로이 요구에 대해 통화하지 않았다

나는 내가이 정보를 요구하지 않았다고에 대한 정보를 원한다 유로화에 대한 환율 지금까지이 변수 통화를 사용했습니다 페이지에 표시 할 내용의 내용 하지만 나는 그 정보를 아직 서버에 보내지 않았다 그래서 나는 그 통화를 취할 어떤 방법이 필요하다

서버에 보내려는 양식 데이터 안에 넣습니다 그래서 그렇게하기 위해서, 내가 할 일은 새로운 변수를 만드는 것입니다 새로운 형태의 데이터 객체와 같을 것입니다 양식 데이터를 보유하려고합니다 그리고이 데이터에 통화 (currency)라는 키인 data

append를 사용하여 추가 할 것입니다 그 값은 위에서 정의한 통화 변수입니다 그 통화의 이름 인 통화 변수 마지막으로, 마지막으로 requestsend를 수행하고이 데이터를 함께 보냅니다

나는 / 변환 경로에 요청을 보내고 싶다 하지만 실제로 관심이있는 통화에 대한 데이터를 전달하고 싶습니다 로 변환 중 그리고 false를 반환하면 페이지가 중지됩니다 양식을 제출 한 후 다시로드하는 중입니다

그리고이 모든 것에 대한 너무 높은 수준의 개요 그리고 우리가 나중에 사용할 수있게 만든 소스 코드 당신이 그것을 더 자세히보고 싶다면 새로운 요청을 만듭니다 어디로 요청할 것인가, / 경로를 변환하라 요청이 완료되면 어떻게해야하는지 알려주고, JSON 데이터를 가져 와서 그 데이터로 무언가를하는 것; 마지막으로, 제출 정보에 포함되어야하는 정보 지정 형태의; 그리고 나서 마침내 실제적으로 요청을 여기에 내려 놓습니다

그래서 모든 결과는 "유로"와 같은 것을 입력 할 수 있다는 것입니다 유로화 환율을 구하십시오 그리고 존재하지 않는 통화를 입력하고 교환을 시도하면 나는 같은 페이지에서 나에게 모두 돌아 오는 "오류가 있었다"고 말하면서, Ajax가 페이지를 새로 고침 할 필요없이, 제가 추가 정보를 얻을 수있게하십시오 네 관객 : [INAUDIBLE] 좋은 질문입니다

그래서 문제는 Ajax 요청을 대신 설정할 수 있습니까? 통화에 직접 액세스 했습니까? 전혀 방금 API를 직접 요청하고 해당 JSON 응답을 구문 분석 할 수 있습니다 하지만 이것은 Flask 서버를 어떻게 사용할 수 있는지에 대한 예가 될 것입니다 어떤 방식 으로든 처리하려는 데이터가 있다면 돌아 오기 위해서 그래, 좋은 질문이야

괜찮아 JavaScript의 다른 기능을 살펴 보겠습니다 그 웹 브라우저는 이제 강력한 기능을 지원합니다 보다 정교한 웹 페이지를 개발하기 시작합니다 그리고 그것은 웹 소켓으로 알려진 기능입니다

웹 페이지 요청을 할 때 일반적으로 생각합니다 클라이언트와 서버 사이의 인터넷상에서, 우리는 요청 응답 모델 측면에서이를 생각합니다 내 컴퓨터에서 내가 요청한 웹 서버에 HTTP 요청을 보낸다 몇 가지 정보를 얻으려면 서버에서 응답을받습니다 데이터가 필요할 때마다 유용합니다

그 데이터를 먼저 요청하고 있기 때문이야 그런 다음 그 반응을 되돌려 보겠습니다 그러나 곧 보게 될 것은 프로젝트 2에서입니다 우리는 오늘 나중에 풀어 볼 것입니다, 당신이 세우려는 것은 채팅입니다 방 스타일의 응용 프로그램, Slack과 같은 종류 우리가 수업에서 사용했던 그리고 그것이 의미하는 것은 실제로는 그렇지 않다는 것입니다

어떤 사람이 어떤 대화방을 통해 메시지를 보내는 경우, 페이지를 새로 고침하고 싶지 않을 것입니다 새 메시지를 요청한 다음 해당 메시지를 가져옵니다 원하는 것은 실시간 커뮤니케이션입니다 클라이언트와 서버가 둘 다 서로 동시에 이야기 할 수있는 곳에서, 또는 전이중 통신이라고하는 것입니다 그리고이를 위해 최신 웹 브라우저 지원 웹 소켓이라고하는 것

클라이언트와 서버 간의 전이중 통신 허용 동시에 더 많은 실시간 통신이 가능합니다 클라이언트와 서버 사이 SocketIO는 JavaScript 라이브러리의 한 예입니다 우리가 이런 일을하게 해줍니다

그래서 우리는 그 몇 가지 예를 살펴볼 것입니다 이것이 어떻게 작동하고 궁극적으로 어떻게 강력한지를 보여주기 위해 그래서 우리가 할 일은 응용 프로그램을 만드는 것입니다 다른 페이지에 다른 사람들을 허용 어떤 것에 대한 투표를하려고합니다 그들은 동의서 나 법안에 찬성 투표를 할 수 있으며 투표권을 행사할 수도 있습니다 그리고 그들은 아마도 투표 할 수 있습니다

우리가 시도하고 할 일입니다 궁극적으로 우리는 로그인 한 모든 사용자가이 투표의 결과를 볼 수있게 해주는 응용 프로그램입니다 다른 사람이 실시간으로 투표 할 때마다 누구든지 볼 수있게합니다 이제 vote0applicationpi를 살펴 보겠습니다

여기에서 일어날 일은 내가 정의 할 것입니다 나의 색인 기능, 경로 indexhtml 페이지를 반환 할 것입니다 그리고 제가 사용할 라이브러리는 Flask Socket

IO : 내부에서 웹 소켓을 사용할 수있게 해줍니다 플라스크 응용 프로그램의 그러면이 모든 것이 어떻게 작동하는지 바로 알 수 있습니다 하지만 그 아이디어는 내 웹 서버와 웹 클라이언트가 될 것입니다 방송되는 이벤트를 전송하거나 이벤트를 발생시킬 것입니다

다른 모든 사람들에게; 그리고 그들은 이벤트를 듣고, 그 웹 소켓 이벤트들; 뭔가하고있다 그 사건들에 흥미 롭다 이 코드 중 일부를 살펴 보겠습니다 그리고 나서 무슨 일이 일어나고 있는지 감을 잡으십시오 vote0index

html로 가면 indexhtml 안에 있습니다 꽤 간단합니다 나는 곧 indexjs 자바 스크립트 파일을 포함하고있다

잠시 후에 직장에서 만날 수 있습니다 그리고이 응용 프로그램의 몸 안에, 나는 모든 다른 표를 계속 추적 할 정렬되지 않은 목록이있다 사람들이 던지다 그리고 세 개의 버튼 – Yes 버튼, No 버튼, Maybe 버튼이 있습니다 특히이 버튼들 각각이 투표 날짜가있는 투표 날짜 속성이 있습니다

이 버튼에 추가 정보를 제공합니다 JavaScript에서이 데이터를 추출 할 수 있습니다 그래서 저는 데이터 찬성 투표를 받았습니다, 그렇습니다 어쩌면 그와 같을 수도 있습니다 흥미로운 점은 모두 index

js 내부에서 일어날 것입니다 그리고 여기서 무슨 일이 일어나고있는 걸까요? 글쎄, 웹 페이지가로드가 완료되면, 내가해야 할 첫 번째 일은 이 통신을 실시간으로 허용하기 위해 웹 소켓에 연결됩니다 클라이언트와 서버 사이 그래서 이것은 SocketIO가 사용할 표준 라인 일뿐입니다

우리는 HTTP 또는 HTTPS가 될 locationprotocol에 연결하고, 대부분 도메인 이름과 도메인 이름을 현재 작업중인 포트 그럼이 줄을 복사해서 처리 할 수 ​​있습니다 as this, 이것이 내가이 웹 소켓에 연결할 수있게 해줄 것입니다 이행

이제 이러한 웹 소켓은 특정 이벤트를 수신 할 수 있습니다 그리고이 경우, 제가하고 싶은 것은 웹 소켓이 연결되면됩니다 모든 버튼이 구성되었는지 확인하려고합니다 웹 소켓으로 뭔가를 할 수 있습니다 특히, 버튼을 클릭하면, 저는 새로운 사건을 일으키고 세상에 말하고 싶습니다

특히 웹 서버에 말하면 투표가 제출되었습니다 그러면 어떻게 할 수 있니? 글쎄, 일단 웹 소켓이 연결되면, 여기에 내가 원하는 코드가있다 나는 모든 버튼을 선택하여 querySelectorAll을 할 것입니다 그리고 각 버튼에 대해 여기에 내가 실행하고 싶은 코드가 있습니다 해당 버튼을 클릭하면이 기능을 실행하게됩니다

그리고이 함수는 다음과 같은 변수를 정의 할 것입니다 선택, 이는 버튼의 데이터 투표 속성과 동일합니다 데이터 세트를 통해 모든 데이터에 액세스 할 수 있음을 기억하십시오 HTML 요소의 속성 각 단추에는 다른 데이터 투표 특성이 있습니다

예 또는 아니오 또는 어쩌면 그리고 나는 이것을 selection이라는 변수에 저장하려고합니다 이제이 코드를 실행 해 보겠습니다 흥미로운 코드입니다 socket

emit이이 이벤트를 내 웹 서버로 내보내려고합니다 이 새로운 이벤트를 내 웹 서버에 알리기 위해 나는 그 사건에 이름을 붙이고있다 나는 투표 용지를 제출한다고 부르겠다 그런 다음 해당 이벤트와 관련된 데이터를 전달합니다 이 경우 selection이라는 키가 포함 된 JSON 객체 일뿐입니다

그리고 그 가치는 내가 실제로 예, 아니요, 아니면 어쩌면 선택했을 수 있습니다 따라서이 코드가 궁극적으로 할 일은 일단 웹 소켓이 구성되면 버튼을 클릭하면 – 예, 아니요, 아니면 어쩌면 – 어떤 버튼을 클릭했는지 파악하고 저장합니다 그 변수는 선택이라고합니다 그런 다음 웹 서버에 이벤트를 내 보냅니다 그 사건을 투표 제출이라고합니다

그리고 그 선택 데이터를 그 일부로 전달합니다 그리고 지금 내가 실제로하기 전에 나중에이 자바 스크립트 코드에서 일어난다 웹 서버 코드로 돌아가 봅시다 따라서이 구분을 그리려면이 JavaScript 코드를 기억하십시오 사용자의 컴퓨터에서 발생하는 코드입니다

컴퓨터에서 로컬로 그리고 여기 applicationpi에는 Flask 서버에서 실행되는 코드가 있습니다 여기 아래에 특수 구문이 있습니다 socketio

onsubmitvote 그래서 이것은 소켓이이 이벤트를 감지했을 때 말하는 나의 방식입니다 제출 투표 (submit vote)라는 이벤트가 자바 스크립트에서 리콜되었습니다 우리가 이벤트를 발표했을 때, 우리는 이벤트 제출 투표에 이름을지었습니다 그러면이 기능을이 특정 기능에 연결합니다

따라서 누군가 투표 제출 이벤트를 제출하면 여기에 무엇을해야합니다 첫째, 데이터를 가져와 선택에 도착, 그것이이 이벤트를 통해 전달 된 데이터이기 때문입니다 그리고 selection이라는 변수 안에 저장하십시오 그리고 지금 우리가이 점에 관해서 생각한다면 모든 컴퓨터가 투표 결과에 대해 알고 있는지 확인해야합니다 한 대의 컴퓨터가 예 투표를하고, 투표를 제출하고 투표 이벤트를 제출하고 서버에 내가 전송 한 것을 알립니다

찬성표 이제 나는이 통보를 효과적으로 받았다 찬성표가 던졌습니다 다음 단계는 다른 모든 사람들에게 방송하는 것입니다 그렇습니다

제출 된 투표가 막중되었습니다 그리고 그 투표는 찬성 투표였습니다 그리고 이것이 그것이이 방출 함수가하는 일입니다 그리고 위의 SocketIO에서 가져올 수 있습니다

그리고 발표 투표 (announce vote)라고 불리는 새로운 사건을 일으키고 있습니다 또한 데이터를 전달할 수도 있습니다 그리고 그 선택이 선택임을 발표합니다 그리고 이것은 듣고있는 다른 어떤 소켓에 그것을 발표 할 것입니다 원래 사용자 만이 아닙니다

그래서 선택을 저장했습니다 발표 투표라는 새로운 행사, 그 선택 선택이 무엇이든간에 동일합니다 그리고 방송은 모든 사람에게 방송하고 싶다는 의미입니다 원래 투표를 한 사람을 포함하여 이론적으로 그것에 대해서도 알고 있습니다 그래서이 발표 표를 발표했습니다

이제 클라이언트 측에서 JavaScript로 돌아와서, 이 이야기를 계속하려면 어떻게 될지 공지 투표를받을 때 소켓에 말할 것입니다 신호, 이것은 당신이 지금 해야하는 것입니다 데이터를 입력으로 사용하는이 함수를 실행하십시오 우리가했던 것처럼 새로운 목록 항목을 만들 것입니다 document

createElement를 사용하기 전에 해당 목록 항목의 내부 HTML이 진행 중입니다 투표가 기록 된 후 선택이 무엇이든간에, 그들이 실제로 투표 한 것은 무엇이든간에 그리고이 목록 항목을 #votes, 그 투표 목록에 추가 할 것입니다 내가 축적 해왔다

그래서 이야기를 아주 짧게 한 번 더 해봅시다 소켓을 연결하고, 버튼을 클릭 할 때마다, 나는 투표가 제출되었음을 서버에 알리는 제출 투표 이벤트를 내 보냅니다 지금 내 서버에서,이 제출 투표 이벤트를 수신하면, 선택 내용을 확인하고 브로드 캐스트합니다 모두에게 투표 이벤트 발표, 사람들에게 투표가 이루어졌고 모든 사람에게 발표하고 싶습니다 그리고 이제 모든 사람의 index

js 파일에서 그들은이 투표표 행사를받습니다 내 투표 목록에 추가 할이 기능을 실행하려고합니다 그 투표가 무엇인지 모두에게 말하고 있습니다 따라서 이제 투표 0에 들어가 플라스크를 실행하면이 URL로 이동하게됩니다 그리고 실제로 제가하려고하는 것은이 URL을 두 번 열어 볼 것입니다

두 개의 다른 창에서 열어 보겠습니다 따라서 이것을 두 명의 다른 사용자로 생각할 수 있습니다 둘 다 시스템을 사용하고 있습니다 그들은 모두 예, 아니오, 아마도 투표권을 가지고 있습니다 그리고이 예 버튼을 클릭하면 궁극적으로 무엇이 발생합니까? 오, 미안, 이것들을 새로 고침해라

예 버튼을 클릭하면 "투표 기록 – 예"라고 표시됩니다 그리고 어떻게 그 둘 모두에 그 모습이 나타 났습니까? 음, 한 쪽에서 예 버튼을 클릭했습니다 그 발표를 서버에 보냅니다 나는 예 투표를 제출했다 그런 다음 다른 사람이 페이지를 새로 고침하거나 새로 고침하지 않아도됩니다

무엇이든, 알려지기 때문에, 알리는 웹 서버 또는 알리는, 새로운 표가 던져 졌음을 모두에게 방송합니다 그래서 저는 예표를 던질 수 있습니다, 투표하지 않을 수도 있습니다 아마 투표 할 수 있습니다 그리고이 소켓에 연결된 모든 사용자를 업데이트합니다 그리고 마찬가지로이면에서 투표를 할 수도 있습니다

첫 번째면에도 나타날 것입니다 그리고 이것은 SocketIO입니다 그리고 채팅 애플리케이션 개발을 시작할 때, 이것이 얼마나 유용한지를 알 수 있습니다 누군가가 메시지를 보낼 때 Return 키를 누르면 상대방이 즉시 해당 메시지를 볼 수 있습니다

몇 초를 기다릴 필요없이 페이지를 새로 고침하고, 그 결과를보기 위해 뭔가 다른 것을하십시오 우리는 이것에 대한 또 하나의 예를 보게 될 것입니다 단지 SocketIO의 실제 모습입니다 어떻게 투표의이 주조 및 사건의 방출의 점에서 클라이언트와 서버 작업

이 투표 신청을 개선하면 나는이 계층 적 투표 목록을 보는 것을 정말로 신경 쓰지 않아야한다 내가 정말로 신경 쓰는 것은 투표 총계를 보는 것이다 얼마나 많은 찬성 투표가 있는지, 얼마나 많은 투표가 없는지, 어쩌면 투표가 몇 번있을 수 있습니다 그리고 특히 우리가 여기에있는 접근법의 또 다른 단점 내가이 창들 중 하나를 닫은 다음 다시 열면, 이제 모든 표가 사라졌습니다 마찬가지로,이 쪽에서 나는 어떤 표도 보지 못합니다

그리고 내가 이쪽면에 반대하지 않는다면 이제 우리는 그것이 여기에 나타난다는 것을 알게 될 것입니다 그러나 기본적으로 내 페이지는 빈 목록으로로드되기 때문에, 나는 이전 투표의 모든 역사를 얻지 못했습니다 제출되었습니다 그래서 그러한 정보를 저장하는 방법이 필요합니다 미래의 사람들이 웹 사이트를 나중에 방문 할 때, 그들은 그 정보도 볼 수 있습니다

이제 투표 1을 살펴 보겠습니다 그리고 applicationpi 내에서 vote1을 위해, 우리는 한 가지를 유지할 것입니다 여기에 변수, 그냥 전역 변수, Flask의 메모리 내부에 있습니다 정보를 저장하고 저장합니다

모든 Flask 서버에 연결하는 클라이언트 정보 은 이점을 누릴 수있게 될 것입니다 그리고 이것은 단지 사전이 될 것입니다 현재 투표 수를 저장합니다 현재 예스는 0 표를 얻었고, maybes는 0 표가 있습니다 기본 경로로 이동하면 색인 페이지로 이동합니다

indexhtml을 반환하고, 해당 투표 변수를 전달하며, indexhtml 템플릿에서 초기 투표 수를 알아야하기 때문입니다 그들은 0에서 시작합니다 그러나 아마 웹 사이트에 도착할 때까지, 다른 사람들이 다른 표를 만들었습니다

나는 현재의 투표 집계표가 무엇인지 알고 싶습니다 그래서 지금 indexhtml에 가면 내 몸 안에 무엇이 보입니까? 3 개의 divs, 하나는 Yes vote라고합니다 그리고 나서 스팬이 있습니다 스팬은 HTML 페이지의 세그먼트 일뿐입니다

이 경우 이름이나 ID와 같은 속성을 지정할 수 있습니다 그리고 저는이 하나에게 예의 ID를 부여합니다 왜냐하면 나중에, 저는 그 자리에 뭔가를 채우고 싶습니다 그러나 우리는 잠시 후에 그것을 보게 될 것입니다 그리고 그것은 네가 어떤 표를 던지기로 예정되어 있습니다

내가 쓴 그 득표 물의 예 필드 그리고 마찬가지로, 나는 똑같은 일을하고있다 현재 투표 수와 현재 투표 수를 표시합니다 그리고이 버튼들은 똑같습니다 이제 index

js 내부에서 어떤 일이 벌어지고 있습니까? 글쎄, 이것은 거의 동일합니다 투표를 제출하면 이것이 동일합니다 버튼을 클릭하면 어떤 투표를 할 것인지 결정하고 싶습니다 그런 다음이 제출 투표 이벤트를 내 보낸 다음 해당 선택 항목을 전달합니다 어떤 변화가 서버 측에서 발생합니다

그렇다면 투표가 제출되면 어떻게되고 싶습니까? 글쎄, 투표가 제출되면, 나는 여전히 dataselection을 선택합니다 하지만 지금 당장 그것을 내 보내지 않고 그것을 메모리에 저장하려고합니다 내 신청서가 총 투표 수를 알고 있는지 확인하고 싶습니다 다음에 사용자가 사이트를 방문 할 때 최근 투표 합계에 대한 정보가 제공됩니다

그래서 나는이 예전의 내용을 기억하고있는이 사전을 갱신하고 싶습니다 아니, 어쩌면 표를 던지 겠지 그리고 그렇게하기 위해이 변수에 액세스하기 위해 투표를하고 있습니다 사각 괄호 안의 선택은 선택이 예 중 하나가 될 것입니다 또는 아니오, 또는 어쩌면

그리고 나서 plus는 1을 합친 것입니다 예 또는 아니오로 증가하거나 증가 할 수 있습니다 하나 더 큰 것은 내가 이제 하나 더 표를 얻는다는 것을 나타냅니다 그리고 마지막으로, 여기 아래로 투표 총계라는 새로운 이벤트를 내 보냅니다 이 투표 변수를 여기에 전달하면 모든 투표 합계를 포함하는 파이썬 사전입니다

그것이 모든 고객에게 보내고 싶은 데이터입니다 그것이 내가 알기를 원하는 모든 데이터를 방송하고 싶습니다 지금, 우리가 사물의 클라이언트 측으로 돌아 가면 내 컴퓨터에서이 투표 전체 행사를 가져올 때 어떤 일이 발생해야합니까? 음, 예스 스팬을 업데이트하고 싶습니다 ID가 yes이고 내부 HTML을 datayes가되도록 설정하고 마찬가지로 아니오 그리고 어쩌면, 내가 새로운 투표 합계를 되 찾을 때, 나는 모든 표가 무엇인지에 대한 나의 현재의 수를 갱신하고 싶다

그래서 제가 투표를하고 플라스크를 도망 간다면 – 좋은 측정을 위해 두 번 열어 보겠습니다 저는 이제 예, 아니오, 그리고 어쩌면 투표를 보았고, 하단에 3 개의 버튼을 보았습니다 그리고 예를 들어, 예를 들어, 그 중 하나를 클릭하면, 투표 집계가 내 컴퓨터에서 업데이트됩니다 그리고 아마도 웹 소켓으로 연결된 다른 누군가의 컴퓨터 일 것입니다 같은 웹 서버에

이러한 개별 버튼 중 하나를 클릭하면 업데이트됩니다 지난 번과 달리, 창문을 닫은 다음 다시 열면, 이 정보를 저장하기 때문에 원래 상태로 다시 설정됩니다 Flask의 메모리 내부, Flask 응용 프로그램의 서버 측 메모리, 내가이 사이트로 돌아 가면 같은 표를 보게된다 합계, 그 정보를 취할 수 있기 때문에, indexhtml 템플릿에 전달하면 계속 허용됩니다

내가 전에 할 수 있었던 것처럼 투표 그래서 SocketIO가 활동 중입니다 궁극적으로이 실시간 통신을 허용하는 방법으로 작동합니다 프로젝트 2에서 도움이 될 것입니다

Python, Flask 및 JavaScript에 대해 자세히 배우기 시작할 때, 특히 소켓을 점점 더 많이 만들려고합니다 클라이언트 측 코드가 포함 된 동적 웹 응용 프로그램 클라이언트의 브라우저 내부에서 실제로 실행됩니다 컴퓨터 그리고 이것 모두는 JavaScript가 실제로 할 수있는 것의 맛입니다 방금 DOM 조작의 몇 가지 기능을 보았습니다

소켓 및 기타 기능을 제공합니다 하지만 자바 스크립트는 훨씬 더 많은 작업을 수행 할 수 있습니다 앞으로 몇 주 동안 조사를 시작하십시오 하지만 지금은 JavaScript를위한 것입니다 그리고 Project 2의 장점

5 REASONS WHY NOT TO VISIT CZECH REPUBLIC (Honest Guide)

다음은 체코 공화국을 방문하지 않는 이유 5 가지 이유의 목록입니다 당신은 물 한 잔을 구입 하시겠습니까? 글쎄, 당신은 쉽게 체코 공화국에 대해 잊을 수, 물이 맥주보다 비싼이기 때문에! 즉 : 맥주가 물보다 싸다! 그래서 당신은 쉽게 알콜 중독이 될 수 있으며, 그 좋은 일이 아니다

비록이든 체코는 정말 형편이다 나는 겨울에 의미 그것은 다음과 같습니다 , 당신은 눈사람을 구축 겨울 옷을 착용해야하고, 여름에 모든 땀이있어 당신은 모든 여성을보고, 강으로 놀러해야합니다 나는 가지 않을 것이다 내가 말했듯이 있기 때문에 당신이 물에 의해있는 동안 당신도, 물 한 잔을 살 수 없다 이 맥주보다 더 비싸다

당신은 맥도날드 나 KFC 같은 체코 정기적으로 음식을 먹는 것을 희망하는 경우, 당신은 그것을 잊을 수 있습니다 모두가 자신의 로컬 요리를 먹고, 그들은 다음과 같이 그것은 모든 지방과 기름과 고기 만두입니다 이것은 그들이 샐러드를 부르는 것이다! 이 같은보고를 떠나 – 넌이처럼 보이는 나라에 와서하고 있습니다 체코는 노크 오프 가득합니다

체코가 에펠 탑을 볼 때, 그들은 그들의 자신의 경로를 구축 할 수 있습니다 그것은 가짜입니다! 그들은 또한이를 구축하여 아름다운 디즈니 랜드를 복사됩니다 또한 그들은, 버드 와이저의 위대하고 맛있는 미국의 맥주를보고 그들은 부드 바 이즈의 도시하지 않음 원래 전혀 자신의 버드 와이저 맥주를 만들어! 나는 네, 체코 몇 가지 좋은이며, 의미 당신은이 장소 또는이 장소 또는이 여자처럼 아름다운 말할 수 있습니다 안녕! 그런데 왜 당신은이 장소와 사람과 사랑에 빠지게됩니다 방문 할 것입니다 그리고 당신은 돌아오고 싶지 않을 것이다 당신의 장소와 집에 갈 곳이 좋다 그래서 체코를 방문하지 않는 내 집처럼! 나는 당신을 경고! 이 체코를 방문하지 않는 이유와 함께 와서 정말 열심히 때문에이 에피소드의 작성은, 5 일 이상 걸렸다 우리는 체코 공화국을 방문해 설득, 그래서 우리의 쇼를 확인하시기 바랍니다 만들려고 2 년 이상 보냈다 그것은 정직한 가이드라고

우리는 Honza을의 창조자이며, 그 날의 우리는 당신이 우리 나라와 프라하의 우리의 도시를 방문 가지고 사랑합니다 즉입니다! 우리를 행복하게하는 구독 버튼을 눌러 및 Janek 인터넷에 재미를 만들기 위해 시도의 우리는 또 다른 에피소드에 다음 주에 볼 수 있습니다,하지만 그는 정말 성공하지 아, 시청, 엄마 감사합니다 당신이 자주 보는 사람이라면, 당신은 각 에피소드의 말에 알고 우리는 당신이 체코의 단어를 가르 칠 것입니다

이 시간 그것은 아이러니입니다 어떤 "Ironie"입니다! 아이러니 – Ironie