본문 바로가기

IT10

코드 품질, 기술 부채 코드 퀄리티가 왜 중요한지 말해도 그에 대한 가시화 되어있는 데이터가 없었기 때문에 건강한 코드베이스의 중요성이 비즈니스단에서 중요도를 두지 않고 있습니다. 최근에 발표된 새로운 연구에서 고품질 코드의 비즈니스 이점을 처음으로 측정해본 결과가 있었습니다. 완성도 높은 소프트웨어는 큰 이점이 있습니다. 이미 검증이 끝난 코드들을 재활용 하여 더욱 빠른 개발을 할 수 있게 해주고 긍정적인 사용자 경험을 유지할 수 있게 됩니다. 연구 결과를 보면, 개발자들의 시간의 23~42%가 기술 부채와 안티 패턴 때문에 낭비되고 있습니다. 코드 퀄리티는 비 기술 직군에겐 보이지 않기 때문에 코드 퀄리티를 높이는 것이 어떤 비즈니스 가치를 창출하는지 알기 직관적으로 어렵습니다. 고품질 코드는 버그가 15배 적고, 개발 속..
[HTML] a 태그를 이용한 다운로드 기능 HTML에는 a태그라는 하이퍼링크를 걸어주는 태그가 존재합니다. 주로 href, target, onclick과 같은 속성을 사용하였는데 a태그에 download 속성을 이용하면 href에 지정한 파일을 다운로드 할 수 있다는 글을 읽고 블로그에 공유하게 되었습니다. 이미지 다운로드 같은 경우에 일반적으로 이미지에 우클릭하여 다운로드 하는게 익숙하지만 이 기능은 이미지 뿐만 아니라 다양한 파일에 대해서 [다운로드] 버튼을 눌렀을때 다운로드가 가능하기 때문에 확정성 측면에서 상위 호환하는 기능이라 생각되어 공유하게 되었습니다. 예시) 파일 다운로드 위 코드대로 구현하여 파일 다운로드 버튼을 클릭하면 텍스트_파일.txt가 다운로드 되게 됩니다. 어떤 원리인지 짚어보면 href에 들어가는 값은 다운로드될 파일의..
어디까지가 기술 검토일까? 서비스 기업의 개발자로 업무를 하다 보면 기획자와 협업할 기회가 생기게 된다. 기술 검토를 할 때 주로 기획서를 참고하여 구현 가능 여부와 기존에 어떻게 구현되어 있고 어떤 방법으로 해결이 가능한지를 공유하고 기획자가 원하는 정보를 취합하여 구두로 논의하거나 문서 작성을 통해 공유하게 된다. 이 과정에서 기획자를 이해시켜야 하는 경우가 생기다 보니 개발하는 시간보다 기획자와 논의하는 시간이 더 긴 경우가 발생한다. 물론 좋은 서비스 개발을 위해 꼭 필요한 과정이지만 가끔은 입장 차이를 좁히지 못해 답답한 경우도 있다. 신규 입사자인 기획자와 일할 경우에는 더욱 어려움이 따르는 경우가 잦다. 서비스의 복잡도가 높을수록 이해하기가 어려워 서비스를 이해하는 시간을 주었더라도 완벽한 파악이 되기는 어렵기 때문에..
OSI 7계층 모델 OSI 7 계층 모델은 국제표준화기구인 ISO에서 개발한 것으로 컴퓨터 네트워크 프로토콜 디자인과 통신을 7 계층으로 나누어 정의한 것으로 각 프로토콜을 기능별로 구분하기 쉽게 나눈 것이다. 이번 글에서는 OSI 7 계층에 대해 알아보고 일반 사용자에게 가장 친숙한 최상위 계층인 7계층 응용에 대해 자세히 알아보겠다. 각 계층은 서로 독립적이며 하위계층의 기능만을 이용할 수 있다. 상위 계층인 응용, 표현, 세션 계층은 통신 기능을 제공하며 하위 계층인 전송, 네트워크, 데이터링크, 물리는 전달 기능을 제공한다. 통신 기능을 제공하는 상위 3계층에서는 응용프로그램과의 통신관리와 동기화 서비스를 유지하는 기능, 데이터의 번역을 통해 일관되는 데이터 전송 및 암호화와 압축 기능 등 데이터 통신을 위한 여러 ..
프로젝트 시작시 해야할것들 새롭게 프로젝트를 시작할 경우 하루 빨리 머리속 아이디어를 구현해 릴리즈 해보고 싶은 욕구가 넘치겠지만 구현 하기 전에 래퍼런스 탐색, 프로젝트 범위 산정등 중요한 몇가지 요소를 놓치고 시작하게 된다면 난개발로 이어져 관리가 어려울 수 있다. 그래서 이 글에서는 프로젝트를 개발하기 전에 논의 및 찾아봐야 할 것들에 대해서 작성하며 프로젝트 별로 상황이 다르기 때문에 작성된 내용이 본인이 진행하고 있는 프로젝트와 다를 수 있다. 프로젝트 계획 단계 모든 프로젝트의 시작은 '무'에서 시작되기 때문에 이에 대해서 어떻게 할지 어려워할 필요는 없습니다. 이미 많은 프로젝트들이 시작에서 완료까지 진행되었고 그 사례들은 인터넷 곳곳에 나와있기 때문에 어떻게 프로젝트를 시작해야 하는지 인터넷을 통해서 알 수 있습니다..
ASCII Code, Unicode, encode, decode (2편) 표현 방식 UTF-8은 위 규칙에 따라서 유니코드 문자를 인코딩 합니다. 1바이트 : ASCII코드 문자가 ASCII 코드인 경우에는 ASCII와 동일하게 1바이트로 표현을 합니다. 2바이트 : 아랍, 히브리, 대부분의 유럽계(조지안 문자 제외) UTF-8에서는 U+0080 ~ U+07FF 사이의 아랍, 히브리, 유럽계 문자들을 2바이트로 표현합니다. 여기서 앞의 바이트 앞에 110을 붙이고, 따라오는 바이트의 앞에는 10을 붙이는 규칙을 적용합니다. 3바이트 : 기본 다국어 평면(BMP) ASCII와 아랍, 히브리, 유럽계 문자들을 제외한 BMP 문자들은 모두 3바이트로 표현합니다. 3바이트로 표현하는 규칙을 2바이트와 유사하게 적용됩니다. 첫 바이트 앞에는 1110을 붙이고, 나머지 두 바이트 앞에는..
ASCII Code, Unicode, encode, decode (1편) 시작하기 전에 컴퓨터의 기본 저장 단위는 바이트(byte)이다. 1바이트(byte)는 8비트(bit)이다. 1byte에는 2의 8승에 해당하는 256개의 고유한 값을 저장할 수 있다. 문자나 기호들의 집합을 컴퓨터에서 저장하거나, 통신 목적으로 사용할 경우에는 부호로 바꾸어야 한다. 이를 **'문자 인코딩(encoding)' 또는 '부호화'**라고 하며 부호화된 문자를 복원하는 것을 '복호화'라고 한다. ASCII Code ASCII(아스키)는 American Standard Code for Information Interchange의 약자로써, ANSI(미국표준협회)에서 만든 표준 코드 체계다. ASCII Code를 만든 이유는, 컴퓨터는 1과 0 이 두 수로 밖에 연산을 할 수 없으므로 문자도 숫자로..
맥 TouchEn nxKey 문제 해결 pc에서 원하는 물건을 구매하고 싶어서 결제할 때 TouchEn 보안 프로그램을 설치하라는 안내 문구가 나오게 된다. 윈도우 사용자의 경우에는 설치만 잘해주면 결제하는데 문제가 없지만 맥 사용자의 경우에는 확장 프로그램 또는 수동 설치까지 완료하였음에도 계속 프로그램을 설치하라는 안내 문구가 반복되어 스트레스를 받은 경험이 있을 것이다. 해결방법 인터넷에서 찾아보면 이거해라 저거 해라 말들이 많은데 삽질하면서 찾은 가장 간단한 방법은 개발자 도구를 켜고 toogle device toolbar 모드를 활성화시킨 다음 브라우저의 디바이스 타입을 mobile로 변경하는 방법이다. 따라 하기 1. 결제하려는 페이지에서 F12키를 누른다. 2. 왼쪽 상단에 전체 화면 버튼(초록색 동그라미) 하단에 있는 아이콘을 ..
Jira 도입 리뷰 Jira 도입 전과 후의 변화: 우리의 성장 이야기도입 전: 혼란 속에서 기획을 고민하다회사가 성장하고 다양한 프로젝트를 진행하면서, 기획의 책임이 명확하지 않았던 시절이 있었습니다. 기획은 상황에 따라 타 팀의 관리자, 디자이너, 개발자, 그리고 기획자가 나눠 맡았지만, 각자의 방식과 관점이 다르다 보니 통일성은 부족했고, 때로는 퀄리티에도 큰 차이가 있었습니다.특히 타 팀에서 기획이 진행될 경우, 개발 지식이 부족한 기획서는 디테일이 부족하고, 기능 명세가 모호해 개발자와의 소통이 반복적으로 필요했습니다. 이는 개발자의 시간을 크게 소모하게 만들었고, 결과적으로 프로젝트 진행 속도에 영향을 미쳤습니다.개발자가 직접 기획을 하는 경우에는 더 꼼꼼하고 구조적인 기획이 가능했지만, 다른 팀과의 소통 부족으..