본문 바로가기

전체 글42

Magic Number 피하기 이번 시간에는 Magic Number가 무엇인지 알아보고 매직넘버의 문제점은 무엇인지, 어떻게 하면 magic number를 적게 사용할 수 있는지 알아보겠습니다. Magic Number란 무엇인가? 위키피디아에 따르면 프로그래밍에서의 magic number는 여러 의미가 있다고 합니다. 그러나 이번 글에서 이야기고자 하는 magic number는 하드코딩된 상수값을 의미합니다. 예를 들어, 다음과 같은 SwiftUI 파일이 있다고 하면, struct ContentView: View { var body: some View { Text("hello") .padding() .foregroundColor(.white) .background( Color(.gray) ) .cornerRadius(12.0) } }.. 2021. 10. 18.
메모리 주소공간(Code, Data, Stack) 알아두기 값 타입과 참조 타입을 공부하다 흘러흘러 메모리 주소공간에 대해 복습하고자 글을 쓰게 되었습니다. 이번 글에서는 메모리 주소공간이 무엇인지, 세부 영역은 무엇이 있는지, 그리고 세부영역인 stack, heap이 차이가 무엇인지 간단히 적어보았습니다. 메모리 주소공간은 무엇인가? 주소란 메모리의 특정 위치를 말합니다. 프로그램이 실행되면 운영체제는 프로세스 주소 공간(Process Address Space)을 메모리에 할당해주게 됩니다. 이때 할당해주는 메모리공간은 Code, Data, Stack, Heap 으로 나뉩니다. Code, Data, Stack, Heap 그럼 영역별로 하나씩 살펴보겠습니다. Code 해당 프로세스의 기계어 코드를 담고 있습니다. 컴파일 시에 영역의 크기가 결정됩니다. Data .. 2021. 10. 14.
백준 200문제 달성! 백준 200문제를 오늘 달성했다!🎉 블로그 글을 보니 7월달에 100문제 풀었었던데 3개월 좀 안되는 시간 동안 열심히 풀었더니 어느새 200솔..! 프로그래머스에서도 한 100문제 풀었으니 알고리즘 문제는 300개 조금 넘게 풀은듯하다. 200문제를 풀어도 아직 실력은 모자른 것 같다. 코테를 마음편히 통과할 수 있을 때까지 킵고잉이다!! 2021. 10. 8.
[SwiftUI] Zstack 알아보기 Hstack, Vstack은 UIKit을 활용할 때에도 Horizontal stack, Vertical stack을 사용했던 기억에 비슷하다고 느꼈는데 Zstack은 처음 만났습니다. 그래서 이번 시간에는 Zstack이 무엇인지 알아보려고 합니다. Zstack이란? Zstack의 z는 x, y, z축을 말할 때의 z입니다. 우리가 3차원을 배울 때 z축이 등장하죠. 우리가 보는 화면은 가로, 세로 2차원인데 핸드폰 화면에 놓인 뷰 위에 다른 뷰를 쌓아가는 것을 z축이라고 생각하면 됩니다. 그렇게 생각하면 Zstack은 자식 뷰(child view)들이 화면에 스택처럼 쌓이는 구조를 의미합니다. 그말은 뒤에 나오는 자식 뷰가 그 전의 자식 뷰 위에 쌓이는 structure를 의미합니다. 아래 apple 문.. 2021. 9. 28.
2022 카카오 신입 블라인드 1차 코딩테스트 후기 이번 글에서는 2022 카카오 신입 블라인드 1차 코딩테스트 후기를 적어보려고 합니다. 시험을 본 지 2주가 흐른 뒤에서야 후기를 쓰게 되었네요..ㅎㅎ 시험 프로세스 2021.09.11에 14시부터 19시 5분까지 총 5시간 동안 알고리즘 문제 7개를 푸는 방식으로 진행되었습니다. 처음 시작할 때 네트워크가 문제가 있어 5분의 추가시간이 주어졌습니다. 시간은 넉넉하게 주어져 시간에 쫓기지 않고 문제를 풀 수 있어 좋았습니다. 검색 허용, ide 허용이라 집에서 자유롭게 당충전을 하며 시험을 보았습니다. 문제풀이 저는 파이썬을 사용해 문제를 풀었습니다. 문제를 어떻게 풀었나 ide에 풀었던 내용을 찾아보니 2주 정도 지났다고 참으로 생소하네요ㅎㅎ 그래서 코드를 보고 기억나는 부분만 간단히 적어보겠습니다. .. 2021. 9. 26.
Python으로 json파일 받아오기, https 통신하기 카카오 2차 코테 준비로 후다닥 정리해보았습니다. https 통신 import requests base_url = "base_url넣기" def post_start(path, data): headers = { 'Content-Type': 'application/json' # ... 기타등등 헤더파일 반영 } full_path = base_url + "/" + path response = requests.post(full_path, headers=headers, data=data) return response.text def get_data(path, auth_key): headers = { # ... 기타등등 헤더파일 반영 'Content-Type': '.. 2021. 9. 22.