본문 바로가기

Programming310

Ajax 해외 축구를 많이 보던 저에게 단어 자체는 Ajax라는 단어는 익숙한 단어였습니다. 아약스라는 축구팀이 있기도 하고 그리스 신화에도 아약스라는 인물이 등장하기 때문에 처음 이 단어를 들을땐 어? 뭐지?하는 느낌이 인상깊었습니다. 농담은 이쯤하고 Ajax(에이잭스)에 대해서 알아보겠습니다. 1. Ajax 소개 Ajax는 Asynchronous Javascript & XML의 준말입니다. 비동기 자바스크립트와 XML이라는 것인데, 간단하게 말하면 'XMLHttpRequest'라는 자바스크립트 객체를 이용해서 서버와 비동기 통신을 하고 결과를 DOM을 경우해 페이지에 반영하는 기술입니다. Ajax가 등장하기 이전에는 동기 통신 방식을 이용해서 (1)페이지에서 이벤트가 발생하면 (2)서버에 요청을 보내고 (3).. 2021. 10. 15.
단순 삽입 정렬 이번에 소개할 정렬 방식은 단순 삽입 정렬입니다. 단순 삽입 정렬은 셔틀 정렬이라고 부르기도 합니다. 1. 단순 삽입 정렬 단순 삽입 정렬은 선택한 요소를 선택한 요소 앞쪽의 알맞은 위치에 삽입하는 정렬입니다. 단순 삽입 정렬의 시간 복잡도도 O(n^2)로 단순 선택 정렬, 버블 정렬과 같습니다. 선택 정렬과 마찬가지로 정렬된 부분과 정렬되지 않은 부분으로 나누어서 이용합니다. 자세한 삽입 정렬법은 그림으로 소개해드리겠습니다. 위와 같은 배열이 있다고 할 때 단순 삽입 정렬은 0번째가 아닌 1번째 인덱스 부터 정렬을 시작합니다. 그리고 첫번째 요소인 0번 인덱스는 정렬된 부분이라고 두고 시작합니다. 1번째 인덱스 요소인 7과 왼쪽요소를 비교합니다. 이때 왼쪽 요소는 정렬된 부분의 가장 마지막 요소입니다... 2021. 10. 12.
[React] 리액트 환경 세팅 리액트를 배우기전에 환경 세팅 방법을 알아보고 가겠습니다. 우선, Node,js가 필요합니다. 아래 사이트에서 Node.js를 LTS 버전으로 다운해주세요. (최신 버전도 상관은 없지만 우리는 배워가는 입장이기 때문에 안정적인 버전을 이용하는 것을 추천드립니다.) https://nodejs.org/ko/ Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org Node.js를 간략히 설명 드리자면 자바스크립트 런타임으로 이런저런 기능들을 이용할 수 있게 해줍니다. Node.js도 조금 공부를 해서 나중에 다룰수 있다면 좋겠네요. 사실 Node.js는 서버역할을 할 수 있는 런타임이기 때문에 뷰만을 .. 2021. 10. 12.
단순 선택 정렬 1. 단순 선택 정렬 단순 선택 정렬은 컬렉션의 가장 작은 요소부터 정렬을 시작해 알맞은 위치로 옮기며 정렬하는 알고리즘입니다. 단순 선택 정렬의 시간복잡도는 O(n^2)입니다. 다음과 같은 배열을 단순 선택 정렬로 정렬해보겠습니다. 우선 배열에서 가장 작은 요소를 선택합니다. 그리고 배열의 맨 앞의 요소와 자리를 바꿔줍니다. 이때 앞 부분(초록칸)은 정렬된 부분이라고 하고, 그 뒤쪽 부분들은 정렬되지 않은 부분이라고 합니다. 마찬가지로 정렬되지 않은 부분에서 가장 작은 요소를 선택해서 정렬되지 않은 부분의 첫 번째 요소와 자리를 바꿔줍니다. 하지만 가장 작은 요소인 3이 맨앞에 있으므로 그대로 남겨둡니다. 이제 남은 부분에 대해서도 가장 작은 요소를 선택하고 맨 앞 요소와 바꾸는 작업을 모든 부분이 완.. 2021. 10. 12.
버블 정렬 Bubble Sort 처음으로 소개드릴 알고리즘은 정렬 중에서도 버블 정렬입니다. 버블이라는 어원은 컵에 액체를 따르면 액체 보다 가벼운 공기 방울(버블)이 컵위로 떠오른다는 점에서 착안하여 버블 정렬이라는 이름이 붙게 되었습니다. 1. 버블 정렬 버블 정렬은 인접한 두 요소의 대소 관계를 비교해서 정렬합니다. 버블 정렬은 가장 간단한 형태의 정렬이며 시간복잡도는 O(n^2)로 요소가 많아질수록 느립니다. 다음과 같은 배열을 오름차순 버블 정렬해보겠습니다. 이렇게 양옆의 요소들끼리 비교하여 요소의 크기가 작으면 앞으로 보내고, 크기가 크면 뒤로 보냅니다. 이 경우에는 배열을 1회 순회하는 동안 버블정렬이 완료되었지만 1회 순회 했음에도 정렬되지 않는 경우가 있습니다. 다음 배열을 보면 1회 수행했음에도 완벽하게 정렬되지 않습.. 2021. 10. 11.
[Javascript] 자바스크립트 코딩 컨벤션 어쩌면 이 글이 이 카테고리의 맨 앞으로 갔어야 할지도 모릅니다. 하지만 중요성을 잊고있다가 최근 파일 정리를 하면서 보니까 자바스크립트의 표준 코딩 규약과는 다르게 해놓은 것들이 많아서 스스로 다시 정리할 필요성을 느끼게 되었습니다. 늦었지만 이제서라도 한 번 다시 정리해보려고 합니다. 0. 코딩 컨벤션 코딩 규약, 코딩 컨벤션, 코딩 규칙 등이라고 불리는 이 규칙들은 다른 사람들이 내 코드를, 내가 다른 사람의 코드를 리뷰할 때 의사소통을 원활하게 만들어주는 규칙들입니다. 사람마다 익숙한 표기법이 있고 스타일이 있기 때문에 협업을 하게된다면 서로의 코딩 스타일이 달라서 읽고 해석하는데 애를 먹게 되죠. 실제로 지금 3학년이 되어 1학년때 과제로 냈던 소스 코드들을 살펴보면 변수명 규칙이나 띄어쓰기가 .. 2021. 10. 10.
300x250