
개요 요즘 소프트웨어의 개발은 정교함보다는 빠른 마감일정에 충실한지를 우선적으로 따진다. 물론 모든 기업이 그런 것은 아니겠지만, 대부분의 기업은 아래의 절차로 소프트웨어를 개발한다. 소프트웨어의 요구스펙을 적은 기획서를 작성한다. (일부 기업에서는 이를 '유저스토리'라고 칭한다.) 디자인을 제작한다. 개발자가 디자인과 기획서를 보고 개발에 들어간다. 개발자가 직접 테스트를 진행하면서 기획서와 교차 테스트를 진행한다. 제품을 출시한다. 이슈가 발견되면 수정한다. 아마 이 중에서 일부 다를 수는 있어도 큰 틀은 벗어나지 않을 것이다. 하지만 이 부분에는 문제점이 있다. 소프트웨어가 요구하는 기능이 늘어나거나, 기존 기획을 수정하는 경우 한참 이전에 만들었었던 기능에 대해서 테스트가 소홀해질 수 밖에 없는게..

개요 우리는 웹 사이트를 개발하건, 게임을 개발하건, 아무튼 뭘 개발하건 사용자로부터 어떤 특정한 값을 얻어야 할 때가 있다. 음식점에 배달을 시킬 때 집 주소를 입력하거나, 게임에서 캐릭터를 만들 때 닉네임을 정한다던지 말이다. 그런데 사용자가 정말 개발자의 의도대로 입력값을 넣어준다면 정말 좋을텐데, 사용자는 그렇게 착하지 않다. 주소지를 입력하는 창에 한 편의 소설을 적을 수도 있고, 닉네임에 불쾌감을 주는 단어나 무슨 뜻인지도 모르겠는 특수문자들을 남발하는 경우가 있을 것이다. (개발지식이 있는 유저들은 게임 닉네임으로 코드를 짜고 있겠지) 서비스 제공자는 이러한 사용자들의 똘끼(?)를 언제나 염두에 두고 있어야 하며, 사용자가 어떤 이상한 짓을 해도 프로그램이 개발자의 의도 하에서 제어가 될 수..
서론 나는 학교에서 수학같은거 배워다가 평생 써먹지 않을 줄 알았다. 주변 사람들이 다들 그렇게 말했고, 나조차도 학교 시험문제를 푸는 순간만 사용하고 사용을 하질 않으니 그런 줄 알았다. 그리고 그런 나의 생각은 내가 프로그래머의 길에 들어서면서 완전히 틀렸다는 것을 알게 되었다. 내 프로그래머 인생이 기능대회에서 비롯되어서 그런진 몰라도 대부분의 기술 문서에 기능대회라는 단어가 적혀있을 것이다. 이 역시 기능대회로 인해 알게 된 알고리즘인데, 어느 날 처럼 기출문제 모음집에서 풀어볼 문제를 고르던 도중, 수족관 사이트를 만드는 과제를 풀게 되었다. 국가대표 선발전 문제였던지라 난이도도 난이도지만 처음 보는 유형의 문제가 등장했는데, 수족관 홈페이지에서는 해당 수족관에 있는 물고기를 가상으로 구입할 수..
고등학생 시절, 웹을 공부하던 필자는 PHP의 number_format 함수에 대해서 알게 되었다. number_format 함수는 다시 말해, 10000 이라는 숫자값이 있다면, 10,000 이라고 변환을 시켜주는 함수였다. 이와 같은 숫자 표시 문제가 대회 문제에 출제가 되었는데, PHP에서는 number_format 함수만 사용하면 손쉽게 끝날 일이지만 Javascript는 도무지 number_format 같은 함수를 찾아볼 수 없었다. 그래서 필자는 정규식으로 숫자를 3단위로 끊어서 콤마를 찍는 아래와 같은 방식을 채택했다. result = subject.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,"); 하지만 더욱 간단한 방법이 있다. var result = 1000..
초성 검색에 대한 알고리즘을 더 찾아보던 중, 초성 검색 알고리즘이 더욱 간단한게 있어서 해당 알고리즘을 토대로 새롭게 작성하였다. function cho(str) { var cho = ['ㄱ','ㄲ','ㄴ','ㄷ','ㄸ','ㄹ','ㅁ','ㅂ','ㅃ','ㅅ','ㅆ','ㅇ','ㅈ','ㅉ','ㅊ','ㅋ','ㅌ','ㅍ','ㅎ']; var result = []; for (var i in str) { var char = str.substr(i, 1); var index = (char.charCodeAt() - 44032) / 588 result.push(cho[index] || char); } return result.join(''); } function match(keyword, data) { var dataC..
때는 2016년, 고등학교 3학년 시절. 노래방에 놀러갔던 후배가 노래를 검색하다가 초성으로 검색이 되는 것을 확인하고 했던 말이 있다. "이거 기능대회 문제에 출제하죠?" 이 때부터 이 망할 초성 검색의 열풍이 불기 시작했다. 단순한 초성검색이라면 어렵지도 않은 일이었다. 하지만 이 곳은 어디인가, 전국대회 아니겠는가. 그 평범하지 않은 기능인들은 검색 기능도 평범하게 구현할 리가 없겠지. 초성검색은 기본이요, AND OR 검색, 하이라이트 추가, 초성과 완전글자의 합성 검색 등 절대 3시간 안에는 나오지 않을 법한 검색 엔진으로 무장한 문제를 출제하는데 혈안이 되어있었고, 나는 그런 문제를 해결하려고 노력했던 한명의 학생이었다. 단순한 초성검색 기능은 구현한지 옛날이요. 그러나, and or 기능을 ..
- Total
- Today
- Yesterday
- 초성검색
- 21년 산업기능요원
- jest
- 산업기능요원 인센티브T.O
- 검색
- React-Native
- JavaScript
- 기능대회
- 산업기능요원
- IT산업기능요원
- 정보처리 산업기능요원
- kakaocdn
- 초성
- React Native
- 2021년 산업기능요원
- 대학생 산업기능요원
- 2021년 산업기능요원 재배정
- 산업기능요원 폐지
- 전국기능경기대회
- 현역 산업기능요원
- 정보처리산업기사 요약
- 대학생 현역 산업기능요원
- 산업기능요원 현역
- 캔버스 그림판 javascript
- 기능경기대회
- eslint
- NUXT
- 산업기능요원 재배정
- 2020정보처리산업기사
- 산업기능요원 재배정 확정
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |