본문 바로가기

전체 글

scanf, sscanf, fscanf는 어떤 차이일까? 지난번에 포스팅한 C언어의 출력 함수들에 이어서 이번에는 입력 함수들에 대해 포스팅해 보겠다. 2018/11/12 - [컴퓨터 공학/C,C++] - printf, fprintf, sprintf는 어떤 차이일까? printf, fprintf, sprintf는 어떤 차이일까? C/C++ 에서는 여러가지 출력 방법이 있다. C언어의 printf부터 C++의 cin까지 다양한 함수, 객체와 메소드가 있지만 그 중 서식화된 출력에 유용하게 사용할 수 있었던 여러가지 함수를 소개해 보려 �� haruhiism.tistory.com 사실 이런 함수들은 포맷 스트링 등에서 큰 차이가 없고 입출력의 대상이 어딘가에 따라 차이가 있으므로 한 함수에 대해 잘 기억하고 있다면 다른 함수를 봐도 매개변수 등을 통해 그 용도를 .. 더보기
고정된 배경화면 넣기, 투명도 조절, 색 필터 넣기 요즘 취미로 배우고 있는 웹 프론트엔드 수업에서 다음과 같은 설문지 폼을 작성해볼 기회가 있었다. 여기서 배경 이미지를 어떻게 구현할 것인가에 대해서 고민했었는데 이런저런 방법을 시도한 결과 아래처럼 나름대로 원하는 결과를 만들어낼 수 있었기에 그 과정을 포스팅해본다. 먼저 배경 이미지를 보면 특정 색조(예시에서는 파란색)로 씌인 것을 알 수 있다. 이를 구현하려면 배경 이미지의 opacity 속성을 조절하고 그 위에 컬러 필터같은 느낌으로 rgba()를 이용하여 조정된 알파값의 색을 씌워야 할 것이라 생각하고 진행하였다. 처음으로 생각한 방법은 전체 HTML 요소를 감싸는 div를 생성하여 해당 div의 background-image 속성에 이미지를 삽입 후 opacity 속성을 0.7 정도로 설정하는.. 더보기
Number of Islands (BFS) 제목만 보면 거창해 보이지만 옛날 포스팅과 마찬가지로 게으름뱅이가 자신의 안타까운 코딩 능력을 체감하고 반성하는 의미에서 적는 글이다. 여기서 다루는 문제는 LeetCode의 Explore 탭에서 제공하는 "Queue and BFS" 챕터에서 풀어볼 수 있는 문제 "Number of Islands"다. https://leetcode.com/explore/learn/card/queue-stack/231/practical-application-queue/1374/ Account Login - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepa.. 더보기
/etc/passwd, /etc/shadow에 관하여 리눅스에서 중요하게 다뤄지는 두 파일 passwd, shadow에 관하여 포스팅해보겠다. /etc/passwd passwd파일은 /etc 디렉토리에 존재하는 설정파일이다. 정확히는 시스템에 로그인하는 사용자 계정을 관리하는 텍스트 파일로 모든 사람들(user, group, others)에게 읽기 권한이 주어져 있다. 이는 다른 유틸리티에서도 참조하기 때문인데 예를 들어 'ls' 명령은 사용자 id(UID)와 이름을 매칭하기 위해 이 파일을 읽는다. 물론 수정은 소유자인 root만이 가능하다. 파일에 적혀있는 데이터는 다음과 같다. name:password:UID:GID:GECOS:directory:shell name: 계정명(kwonkyu) password: 패스워드('x'. shadow 파일로 옮겨짐).. 더보기
15회 정보보안산업기사 실기 시험 후기 지난 7월 11일에 떨리는 마음으로 치른 정보보안산업기사 실기시험은 생각보다 어렵지 않게 나왔다고 생각하지만 역시나 예상치 못한 부분에서 문제가 나와 당황한 부분이 있었다. 다행히 그건 3문제 중 2문제를 고르는 실무형 문제였기 때문에 다른 2문제를 풀어서 점수를 좀 더 벌 수 있었지만.. 필기시험때도 그렇고 예상치 못한 부분에서 문제가 출제되기 때문에 정말 방심할 수 없는 것 같다. 6월 말 기말고사가 모두 끝난 후 7월 초부터 급하게 준비하기 시작해서 2주동안 하루종일 알기사 문제집만 붙잡고 있었던 것 같다. 약 3일 정도를 남기고서야 이론서를 다 볼 수 있었기 때문에 3일동안 하루에 100쪽 그 이상으로 기출문제집을 붙잡고 있었던 것 같다. 후반부의 정보보호 일반 분야(암호학이라던가)와 법규는 거의.. 더보기
무엇을 단위 테스트할 것인가?(Right-BICEP) 이번에도 역시 JUnit을 활용한 단위 테스트 도서를 읽으면서 새로이 배운 점을 적어보려 한다. 메서드나 클래스의 코드에 있는 수많은 버그들을 단번에 찾아내기란 쉽지 않고 일일히 들여다본다고 해도 예상치 못한 곳에서 문제가 발생하기 마련이다. 경험이 쌓인다면 대략 어느 부분에서 버그가 나올 지 잘 알게 되겠지만 그렇지 않은 경우 Right-BICEP과 같은 원칙을 통해 테스트 대상을 좁혀나갈 수 있다. Right, 결과가 올바른가? 테스트 코드는 무엇보다도 기대한 결과를 산출하는지 검증할 수 있어야 한다. 이는 아래와 같은 테스트 코드를 의미한다. @Test public void answerArithmeticMeanOfTwoNumbers(){ ScoreCollection collection = new S.. 더보기
좋은 단위 테스트의 속성(FIRST) 이전 포스트에서 언급한 JUnit 단위 테스트 도서에서 좋은 단위 테스트가 가져야 할 요건에 대하여 설명하고 있기에 옮겨적어본다. 만약 단위 테스트가 다음 중 하나의 경우라도 해당된다면 이는 뭔가 문제점이 있고 개선이 필요하다는 것을 의미한다. 테스트를 사용하는 사람에게 어떤 정보도 주지 못하는 테스트 산발적으로 실패하는 테스트 어떤 가치도 증명하지 못하는 테스트 실행하는 데 오래 걸리는 테스트 코드를 충분히 커버하지 못하는 테스트 구현과 강하게 결합되어 있어 작은 변화에도 다수의 테스트가 깨지는 테스트 수많은 설정 고리로 점프하는 난해한 테스트 이를 해결하기 위해 단위 테스트가 가져야 할 다섯가지 원칙을 제시하고 있으며 이는 Fast, Isolated, Repeatable, Self-validating.. 더보기
단위 테스트에서 테스트 코드를 조직화하는 방법 요즘 "자바와 JUnit을 활용한 실용주의 단위 테스트"라는 책을 읽고 있는데 그동안 프로그램을 개발하는 여러 도서를 읽어봤지만 이런 소프트웨어 공학적인 내용은 처음이라 차근차근 읽으면서 많은 것을 배우고 있다. 지난 학기(2019-2)에는 소프트웨어 공학 과목을 배우면서 단위 테스트, 통합 테스트 같은 내용도 배웠기 때문에 기억하고 있었는데 객체지향 프로그래밍 과목에서 프로그램을 설계하면서 기능을 테스트하는 용도로 JUnit을 사용하는 것을 보고 안그래도 안드로이드 프로그래밍 등으로 익숙해진 자바 언어를 사용하는 JUnit을 이용해 단위 테스트를 한번 경험해보자는 목적으로 읽게 되었다. JUnit으로 어떻게 테스트를 진행하고 어떤 기능이 있는지는 추후 도서를 다 읽은 다음에 쓰는 게 맞다고 생각하지만 .. 더보기