목록분류 전체보기 (492)
규도자 개발 블로그
개인프로젝트를 진행 중에 있는데 마치 걸레쪼가리를 덕지덕지 붙여놓은 듯한 나의 시안에 실망하여 읽게 되었다. 나는 진짜 디자인 감각이 없는 사람이었다. 책의 도입부에 딱 써있다. 나처럼 디자인 감각 없는 웹 프로그래머가 읽으면 좋다고 말이다. 그 말마따마 아주 많은 도움이 되었다. 내가 만든 디자인은 왜 구려보이는지, 어떻게 해야 사이트에 들어온 사람들의 시선을 잡아둘 수 있는지, 사람들은 어떤 사이트에서 아름다움을 느끼는지 등등 말이다. 책을 읽고 시안을 수정하여 지인들에게 보여줬고 전처럼 쓰레기같다는 얘기는 피하게 됐다. 아주 기분이 좋다. 부단 내용 뿐만 아니라 무료 글꼴이나 이미지, 색 조합을 알려주는 사이트 등 유용한 도구들도 많이 알려줘서 큰 도움이 된다.
"코딩호러"라는 개발자들 사이에선 아주 유명한 블로그를 운영 중인 제프 앳우드의 저서이다. 그리고 전 세계 프로그래머들의 생산성 향상에 영향을 끼친 사이트인 "스택오버플로우"의 개발자이자 창립자이기도 하다. 코딩호러와 스택오버플로우, 이 두 개의 양대산맥을 끼고 있는 사람의 후광효과 때문인지 모르겠지만 책의 내용도 상당히 구성지고 흥미로운 내용들로 채워져 있다. 사실 목차를 보면 조금 혼란스러울 수 있다. 프로그래머의 권리장전이라느니, 개발환경, 의자얘기, 모니터얘기에서부터 단위 테스트 VS 사용성 테스트 등에 대한 내용까지 책에서 다루는 범주가 굉장히 넓기 때문이다. 하지만 이건 책의 제목으로 이해하면 쉽다. "이펙티브 프로그래밍(Effective programming)", 효과적인 프로그래밍을 위한 ..
마치 프로그래머들의 정석 서적처럼 읽히고 있는 프로그램 프로그래머 프로그래밍 시리즈의 하나이다. 결과도 물론 중요하지만 프로그래머의 최종산출물인 '코드'라는 것을 깨끗하게 유지하는 게 얼마나 중요한지, 또 어떻게 해야하는지 알려주는 책이다. 하지만 구문강조가 되어있지 않은 코드들을 읽고있노라면... 머리가 아파온다. 물론 이건 이래야한다, 저건 저래야한다 하면서 예제 하나 없는 책들보단 훨씬 낫다. 그저 그냥... 머리가 아파올 뿐이다. 물론 코드들은 저자가 말한 5s원칙을 지키려 노력하며 작성돼있기 때문에 마구잡이로 휘갈겨놓은 코드보다는 좀 더 구문적으로 완성된 느낌이어서 읽기 쉽긴 하다. 책 말미에는 부록을 보면서 직접 클린코드로 나아가는 과정을 배울 수 있게 부록이 첨부돼있다. 괜찮은 책이었다. 그..
[백준/1065/파이썬] 한수 문제 어떤 양의 정수 X의 자리수가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다. 출력 첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다. 입출력 예 입력출력 11099 풀이 def arithmetic_checker(input_number): result = False number_list = [int(i) for i in [*str(input_number)]] if len(number_list) < 3: result..
[백준/1260/파이썬] DFS와 BFS 문제 그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다. 입력 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간선은 양방향이다. 출력 첫째 줄에 DFS를 수행한 결과를, 그 다음 줄에는 BFS를 수행한 결과를 출력한다. V부..
문제 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다. "OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다. OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 길이가 0보다 크고 80보다 작은 문자열이 주어진다. 문자열은 O와 X만으로 이루어져 있다. 출력 각 테스트 케이스마다 점수를 출력한다. 입출력 예 입력출력 5 OOXXOXXOOO OOXXOOXXOO OXOXOXOXOXOXOX ..
문제 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. 입력 첫째 줄에는 테스트 케이스의 개수 C가 주어진다. 둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 출력 각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다. 입출력 예 입력출력 5 5 50 50 70 80 100 7 100 95 90 80 70 60 50 3 70 90 80 3 70 90 81 9 100 99 98 97 96 95 94 93 9140.000% 57.143% 33.333% 66..
급할 때 간단하게 쓸 수 있는 온라인 컴파일러 디버거 파이썬과 php인터프리터만 설치돼있는 개발환경에서 C나 C++코드를 간단하게나마 테스트해야한다면 골치가 아플 것이다. 그럴 때 도움이 되는 사이트이다. GDB online Debugger IDE를 닮은 직관적인 UI를 가진 사이트이다. 상단의 Run버튼을 누르면 아래의 창에서 결과값을 볼 수 있으며 Debug버튼을 누르면 프로시저단위로 실행시키면서 각 변수의 상태 또한 조회할 수 있다. Share버튼을 눌러 작성해놓은 코드를 임시 url을 부여받아 다른 사람에게 보낼 수도 있으며 계정을 생성하고 Save버튼을 누르면 해당 계정에 코드를 저장해둘 수도 있다. 현재 지원하는 언어로는 아래와 같다. C C++ C++ 14 C++ 17 Java Python3..
피즈버즈 테스트(FizzBuzz Test) 피즈버즈테스트(FizzBuzz Test)라고 해서 프로그래머의 역량을 간단하게나마 평가하는 알고리즘 문제가 있다. 훌륭한 프로그래머라면 2분 이내에 정확히 작동하는 코드를 작성할 수 있다고 한다. FizzBuzz 문제는 옛날 TV에서 하던 삼육구 + 아자랑 비슷한데, 삼육구 + 아자는 숫자에 3이 들어가거나 5가 들어가면 박수를 치고 아자를 외쳐야하는 반면 Fizzbuzz문제는 1부터 100까지 1씩 커지는 수열에서 3의 배수때는 Fizz, 5의 배수일때는 Buzz, 3과 5의 공배수일 때는 FizzBuzz를 출력하게 하고 위 세개의 모든 경우에도 들지 않으면 숫자 그대로를 출력해야 한다. 간단해보이는 이 문제가 왜 프로그래밍 테스트의 대표격이 됐을까. 사실 이..