본문 바로가기
반응형

분류 전체보기117

개발할 때 실수를 줄이는 방법 개발자라면 한 번쯤은 아찔한 실수를 경험해 본 적이 있을 겁니다. 우리는 일상적으로 크고 작은 실수들을 하게 됩니다. 아무리 컴퓨터를 다루는 전문가라고 하더라도 컴퓨터는 아니니까요. 심지어 컴퓨터조차도 오류가 있는걸요! 사람인 이상 누구나 실수를 하기 마련이지만 "실수 좀 할 수도 있지 어쩌라고!"와 같은 태도는 좀 곤란합니다. 같은 실수가 반복되면 그게 곧 자신의 실력이 되는 법입니다. 또, 모든 원인을 개인이 신중하지 못한 탓이라고 보고 막연하게 "꼼꼼히 하라"는 조언은 별로 도움이 되지 않았습니다. 그래서 주니어 개발자의 입장에서 실수는 왜 하게 되는지, 어떻게 하면 실수를 줄일 수 있을지 고민해 본 결과를 나눠보려 합니다. 실수 같지만 사실은 실수가 아닌 것 실수(失手, mistake)란 '조심하.. 2023. 7. 6.
리팩토링이 뭐에요? 리팩토링이 무엇인가 리팩토링은 ‘코드를 개선하는 작업’을 일컫는 말입니다. 변수의 이름을 알아먹기 쉽게 바꾸는 것도 리팩토링이라고 할 수 있습니다. 조금 더 정확하게 얘기해 보면 리팩토링은 ‘코드의 역할은 유지하면서 나중에 쉽게 수정할 수 있도록 그 구조를 고쳐나가는 체계적인 작업’ 이라고 할 수 있습니다. 코드를 개선하는 작업의 대전제는 코드가 가지고 있던 기존의 역할을 그대로 유지해야 한다는 것입니다. 시간을 들여 작업을 했더니 잘 작동하던 프로그램이 원래 기능을 수행하지 못하게 되거나 오류가 발생한다면 안 하느니만 못한 일이 되어버립니다. ‘개선된 코드’란 그 목적에 따라서 다양한 형태가 될 수 있습니다. 성능 최적화를 위해 개선된 코드는 읽고 수정하기 어려워질 수 있고 반대로 가독성을 높이기 위한.. 2023. 6. 29.
Python 문자열 슬라이싱 slicing 문자열을 조작하는 기본적인 방법은 반복문을 돌리면서 문자열을 이루는 문자 하나 하나에 대해 처리를 하는 것입니다. 자주 사용되는 split이나 replace 같은 함수를 기본 라이브러리에서 제공하기도 합니다. python에서는 문자열 슬라이싱을 할 수 있는 보다 직관적이고 편리한 방법을 제공하고 있습니다. string [ start : end : step] 문자열의 뒤, 인덱스를 표시하는 대괄호 [ ] 안에 : 로 구분되는 세 가지 파라미터를 넣을 수 있습니다. 바로 시작위치 start , 종료위치 end 와 변화되는 값의 크기 step 입니다. 위의 표현식은 string이라는 문자열에 대해 인덱스 start부터 시작해서 인덱스를 step만큼 증가시키며 인덱스 end - 1까지의 문자를 반환합니다. st.. 2023. 6. 8.
Python 여러 개의 변수를 한꺼번에 선언, 초기화, 할당하기 feat.swap 1. 변수 Variable 변수는 말 그대로 그 값이 변할 수 있는 수를 말합니다. 수 數 는 숫자를 의미하는 한자이지만 프로그래밍 세계에서는 '어떤 값' 이라는 의미로 사용됩니다. 다시 말해서 변할 수 있는 어떤 값이 보관되어 있는 공간을 변수라고 합니다. 이 때 공간이란 메모리 상의 공간을 말하겠죠? int a; // 변수 선언 int b = 10; // 선언과 동시에 초기화 a = 20; // 값을 할당 System.out.println(a + b); // 사용 언어마다 조금씩 차이가 있지만 일반적으로 변수를 사용하기 위해서는 자료형을 명시하여 선언하고, 초기화를 해주어야 합니다. 변수의 선언은 메모리 영역에서 빈 방을 찾아 이름을 붙이는 것과 같습니다. 아직 방 배정도 받지 않았는데 다짜고짜 "내.. 2023. 6. 1.
Python string을 char로 바꾸는 법 feat. 대소문자 변환 1. char 결론부터 말해 파이썬에는 char 자료형이 별도로 존재하지 않습니다. 즉, 문자는 길이가 1인 문자열과 같습니다. 다음과 문자 'a'의 자료형을 출력해보면 print(type('a')) 문자열이라고 합니다. Java에서는 string.charAt() 메서드를 사용해 문자열에서 하나의 문자를 뽑아낼 수 있는데 파이썬에서는 문자열을 char 배열처럼 취급하므로 string[0] 와 같이 인덱스를 활용해 특정 인덱스에 위치한 문자에 접근할 수 있습니다. 아래와 같이 for 문에 문자열을 넣어 문자를 하나 하나 처리할 수도 있습니다. 2. ord(), chr() 문자를 아스키코드로 변환할 때는 ord()를 사용합니다. 반대로 아스키 값을 문자로 변환할 때는 chr()을 사용합니다. 이를 이용해 대.. 2023. 5. 31.
HTTP 메서드 해부하기(1) - GET vs POST 사전 지식 HTTP(Hyper Text Transfer Protocol)는 요청과 응답을 통해서 데이터를 서로 주고받기 위한 통신 규약(protocol)입니다. 이때 HTTP 통신을 통해서 추가되거나, 갱신되는 대상을 웹 리소스, 자원이라고 부릅니다. 자원은 URI(Uniform Resource Identifier)에 의해서 식별됩니다. URI라고 하면 조금 생소할 수 있지만 흔히 알고 계시는 웹 페이지의 주소(URL)도 해당 위치에 존재하는 자원을 찾아가기 위한 URI입니다. GET /90 HTTP/1.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9 ... Accept-Encoding: gzip, deflate, br Accept-Lan.. 2023. 5. 26.
반응형