일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Linked List
- 오라클
- 백엔드
- 프론트엔드
- 회원가입
- html5
- Ajax
- MVC
- 제이쿼리
- 웹개발
- 웹페이지
- css3
- spring
- jQuery
- 네비게이터
- javascript
- 웹서비스
- Binding
- 로그인
- 풀스택
- jsp
- c programming
- 미로 생성 알고리즘
- mybatis
- 서블릿
- 프레임워크
- dbms
- 비밀번호찾기
- 마이바티스
- 스프링
- Today
- Total
목록전체 글 (41)
Programmer's Progress

BFS탐색 알고리즘을 공부하면서 미로를 탈출하는데 걸리는 최소비용, 거리, 최단 경로를 출력하는 문제를 여러 번 풀어보고, 또 내 지식으로 만들고자 복습하기도 했지만, 한 가지 아쉬웠던 점은 이러한 테스트 케이스로 사용할 미로가 그렇게 많지 않았다는 것이다. 그렇다고 미로를 수작업으로 만들수도 없는 일이었다. 그래서 미로를 어떻게하면 생성할 수 있는지 검색해본 결과, 여러 알고리즘이 있었지만 그중 BFS 탐색과 짝을 이룬다 할 수 있는 DFS 탐색으로 미로를 생성하는 알고리즘을 직접 구현해보았다. BFS탐색이 방문여부 배열을 이용하여 계속 새로운 노드를 방문하면서 Queue에 추가하고, 다시 탐색하는 과정을 반복하는 알고리즘이라면, DFS는 재귀적으로 탐색하는 방식이라고 할 수 있겠다. 그렇다면 DFS탐..

JavaScript에는 동일 출처의 원칙(Same-Origin Policy)이라는 것이 존재한다. 이는 같은 도메인을 지닌 사이트 간의 데이터 송수신 작업은 가능하지만, 도메인이 서로 다른 사이트 간 데이터 송수신 작업은 불가하다는 것을 말한다. 이는 잠재적으로 해로울 수 있는 문서를 분리하여 보안성을 확보하기 위함이라 한다. 그렇다면 언론 사이트나, 기상청 같은 다른 사이트에서 제공하는 데이터를 JavaScript에서 전혀 활용할 수 없느냐 하고 묻는다면, 대답은 No라고 말할 수 있다. 서버 스크립트 페이지 언어를 사용하면 교차 도메인을 활용해서 XML 데이터를 얻을 수 있다. 그리고 나는 PHP를 활용해보려 한다. HTML : Source Code CSS : Source Code table{ bor..
포트폴리오 사이트의 기본적인 형태는 One Page Scroll의 형태인데, Vertical + Horizontal 방식이다. 위의 One Page Scroll은 Vertical하기 때문에 위아래로만 동작하는 것을 확인할 수 있다. 나는 이를 Horizontal하게 움직일수도 있게 설계하기 위해서 방법을 생각했고, position : fixed를 통해 이를 해결했다. HTML : Source Code Programmer's progressLet's study Hello World! 전체적으로는 내부에 과 태그가 삽입되는 과 같은 구조이다. horizontalFullPage는 내부에 page라는 기본 단위를 가지고 있으며, 이 page중 가장 첫 page는 기본적으로 horizonSelected된 상태이므..
다른 프런트엔드 혹은 백엔드 개발자들의 포트폴리오 웹사이트를 여럿 방문하면서 많은 것을 느꼈다. 각자 자신이 보여줄 수 있는 모든 것을 보여주려 한 노력이 엿보였다. 어떤 사람의 포트폴리오는 애니메이션 같은 동적인 부분은 최소화하면서, 정보전달을 중점으로 하는 심플한 모습을 하는가 하면, 다른 사람의 포트폴리오는 화려한 애니메이션과 동작 등 사용자의 눈길을 끄는 것들로 가득하기도 했다. 그중 내게 가장 깊은 인상을 남겼던 포트폴리오 사이트는 바로 원 페이지 스크롤 형식의 포트폴리오 사이트였다. 신입 프론트엔드 개발자 포트폴리오 | 이경환(vue2598@gmail.com) (imkh.dev) 신입 프론트엔드 개발자 포트폴리오 | 이경환(vue2598@gmail.com) Fairy라는 이름은 웹 페이지의 작..

Binding이란 비동기 통신 기술을 이용해서 DB에 데이터를 요청하고 이를 받아서 HTML 태그에 결합하는 것이다. 나는 이전에 Ajax를 이용해서 JSON 데이터를 HTML 태그에 결합시키는 Binding 하는 방법을 공부했었다. 이번에는 DB에서 XML데이터를 요구해서 전달받은 이후의 과정은 완료됐다는 가정하에 Binding 하는 것을 배웠다. JSON(JavaScript Object Notation) 형식의 경우 JavaScript에서 객체를 리터럴 형식으로 생성한 것과 마찬가지로 각각의 Key와 이에 대응하는 Value값을 나열한 객체 표기법이다. 반면에 XML(Extensible MarkUp Language) 형식은 앞서 말했듯이 데이터를 구조적이고 체계적으로 나타내는 데에 중점을 둔 것이 특..

오늘이 돼서야 드디어 말로만 듣던 Ajax에 대해 공부하기 시작했다. Ajax란 Asynchronous JavaScript XML의 약자로, 비동기식 JavaScript와 XML을 의미한다. 동기 방식은 클라이언트가 서버에 신호를 보내면 서버가 이에 응답하기 전까진 다른 작업을 수행할 수 없다. Ajax를 사용하지 않을 경우, 클라이언트가 서버에 파일을 요청하면, 잠시 동안 페이지가 서버 스크립트 페이지로 갱신되면서 파일 전송 요청이 완료되기 전까진 클라이언트가 어떤 작업도 수행하지 못한다. 비동기 방식은 클라이언트가 서버에 신호를 보내면 서버가 이에 응답하기 전에 다른 작업을 수행할 수 있다. 서버 스크립트 페이지를 거치지 않아도 자료를 받을 수 있는데, 블로그에 댓글을 달면 페이지가 전환되지 않고 바..

블로그에 작업한 소스코드를 여럿 올리고 있지만, 언젠가는 나만의 웹페이지를 구성하고 그곳에 나의 결과물들을 업로드하거나, 소개하는 등의 포트폴리오 사이트를 구현해야겠다는 문득 생각이 들었다. 그래서 다른 사람들의 포트폴리오 사이트를 여럿 구경하던 중, 신기한 포트폴리오를 발견했다. 스크롤 한 번만 하면 화면 자체가 페이지 크기만큼 이동하면서 다른 페이지를 보여주었다. 그것은 상당히 인상적인 방식의 포트폴리오였기에 내게 "나도 한 번 구현해보자"라는 식의 동기부여를 해주었다. 처음에는 mousewheel 이벤트만 등록할 생각이었으나, 키보드 위, 아래 방향키로도 조작할 수 있으면 상당히 편리하겠다 싶어서 keydown이벤트도 등록했다. 우측에 있는 내비게이터에는 click이벤트를 등록했다. JavaScri..

앞서 구현했던 내비게이터는 Horizontal 한 방식이었다. 따라서 웹 페이지 중에서도 수평적 크기에 여유가 많은 웹페이지에서 활용도가 좋을 것이다. 알라딘 사이트의 경우 PC 사이트의 창 크기를 줄이거나 늘여도 레이아웃 자체가 변하지 않았다. 즉, 미디어 쿼리가 적용되지 않았다는 것인데, 이는 사이트 특성상, 도서와 관련된 많은 정보를 담기 위함으로 추측한다. 도서의 장르에도 여러 가지가 있고, 도서의 상태에도 중고나 신품 같은 차이가 있을 수 있으며, 최근에 나온 책, 베스트셀러, 추천도서, 그 외의 이벤트 광고 등, 다양한 정보를 고객들에게 전달해야 하기 때문이다. 그러나, 브라우저의 창 크기를 제 아무리 늘린다 한들, 고객의 디스플레이 수평 크기가 작다면, 결국 이 많은 정보를 한눈에 보기 어려..