분류 전체보기 150

스파르타 코딩 웹 개발 종합반 - 1주차 회고

취뽀를 위해 항해 99에 도전했다. 아직 사전 학습 기간으로 스파르타 코딩 웹 개발 종합반의 강의의 완강을 2번 진행해야 한다. 강의에서는 파이참 IDE를 사용하고 있어 처음으로 JetBrain 계정을 가입하고 사용하게 되었다. 코드 편집기인 VS CODE보다는 당연히 무거웠지만 코드를 작성하는데는 거의 90%흡사한 것 같았다. 1주차에는 웹 브라우저 기본 작동원리와 html, css 그리고 JavaScript를 전반적으로 이해하고 사용하는 방법을 배웠다. 이전에 알고 있던 내용들이었지만 다시 한번 기초를 다진다는 생각으로 수업을 들었다. 1주차 과제로는 부트스트랩을 사용하고 이전 강의에서 배웠던 내용들을 다시 한번 활용하는 방식으로 완성할 수 있었다. 기억할 내용 배경색 어둡게 하기 + 배경 이미지 위..

[TLI] 실용주의 프로그래머 - 5장 구부러지거나 부러지거나

오늘 TIL 3줄 요약 되돌릴 수 있는 의사 결정을 내리는 방법 결합도 낮추기 이벤트 관리 함수 파이프라인 상속하지 않기 세부 사항 사항 옮기기 TIL (Today I Learned) 날짜 2022. 03. 27 오늘 읽은 범위 5장 구부러지거나 부러지거나 책에서 기억하고 싶은 내용을 써보세요. 이벤트에 잘 반응하는 애플리케이션을 만드는 네가지 전략이 있다. 유한 상태 기계 감시자 패턴 게시-구독 반응형 프로그래밍과 스트림 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요 앞선 1~4장에서 계속 언급되는 결합도를 낮춰야 하는 행위가 얼마나 중요한지 다시 한번 깨닫게 되었다. 각 챕터의 소개되는 코드 예문들을 직접 만들어 보는 경험을 해보고 싶다. 궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면..

[TLI] 실용주의 프로그래머 - 4장 실용주의 편집증

오늘 TIL 3줄 요약 자기 자신의 코드를 옳다고 단정 짓지 말고 의심하여 나쁜 코드(에러 등을 일으킬 수 있는)를 막아야 한다. DBC 계약에 의한 설계(Design By Contract)를 통해 프로그램의 정확성을 보장하자. 여기에는 선행 조건, 후행 조건, 그리고 클래스 불변식이 필요하다. TIL (Today I Learned) 날짜 2022. 03. 25 오늘 읽은 범위 4장 실용주의 편집증 책에서 기억하고 싶은 내용을 써보세요. DBC의 선행 조건: 루틴이 호출되기 위해 참이어야 하는 것. 선행조건이 위반되는 경우 루틴이 호출되서는 안된다. DBC의 후행 조건: 루틴이 완료되었을 때의 상태이다. 무한 반복은 허용되지 않는다. DBC의 클래스 불변식: 조건이 언제나 참인 것을 클래스가 보장한다. ..

[TLI] 실용주의 프로그래머 - 2장 실용주의 접근법

오늘 TIL 3줄 요약 ETC 원칙을 따른다. 바꾸기 더 쉽게(Easier to Change) DRY 원칙을 따른다. 반복하지 말라(Don't Repeat Yourself) 직교성. 관련 없는 것들은 서로 영향이 없도록 하라. TIL (Today I Learned) 날짜 2022. 03. 21 오늘 읽은 범위 2장. 실용주의 접근법 책에서 기억하고 싶은 내용을 써보세요. 직교적으로 살아가기. DRI 원칙은 시스템 내부의 중복을 최소화하고, 직교성은 시스템 컴포넌트 간의 상호 의존도를 줄인다. 이를 적용한다면 디버깅, 테스트, 유지 보수 또한 쉬워진다. 가역성 - 되돌릴 수 없는 결정을 줄이는 것. 개발 계획이나 추후 발생하는 문제에 대해서 유연하게 반응하고 변화할 수 있도록 하는 것. (유연한 아키텍처 ..

[TLI] 실용주의 프로그래머 - 1장 실용주의 철학

오늘은 실용주의 프로그래머 도서의 1장을 읽었다. 본서는 제목 그대로 실용주의 프로그래머의 특징과 실용주의 프로그래머가 될 수 있는 방법을 나열하고 설명하는 방식으로 구성되어 있다. 실용주의 프로그래머가 가져야 할 습관이나 행동양식은 무엇이 있는지 어떤 행동을 주의하고 지양해야 할까? 저자는 무지성으로 코드를 짜고 프로젝트를 진행하는 모습을 경고하고 있다. 늘 프로젝트에 대한 큰 그림을 인지하고 나의 업무에 몰두하기보다 주변 상황을 의식하여 불길이 번질만한 불씨를 제거하는데 힘써야 할 것이다. 비단 프로그래머는 효율적이고 생산적인 코딩만을 추구하는 것이 아니라 실제로 우리의 소프트웨어 서비스를 이용하는 사용자의 입장을 고려하여 이에 알맞게 프로젝트의 규모나 세부 기능 등을 설정하여 진행해야 한다. 또한 ..

[BOJ 9095] 1, 2, 3 더하기

https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int num = Integer.parseInt(br.readLine()); int[] d = new int[11..

[BOJ 2309] - 브루트포스/ 일곱 난쟁이

https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int[] seven = new int[9]; for(int i=0; i

프로그래머스 [level1] 문자열 내 마음대로 정렬하기

https://programmers.co.kr/learn/courses/30/lessons/12915 코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱 programmers.co.kr import java.util.*; class Solution { public String[] solution(String[] strings, int n) { int length = strings.length; String[] answer = new String[length]; List list..