분류 전체보기

·개발일기
결론부터 말하자면 오늘 Data Specialist 인턴 면접을 봤고 , 다음달부터 출근하라고 해주셨다 !!!!!! 취업 준비를 하면서, 클라우드 부트캠프를 들으면서도 정말 진로에 대해 고민을 많이 했다. 이렇게 준비하는게 느린건 아닌지, 아직 클라우드나 데이터 엔지니어로 지원하기에는 내 스펙이 너무 부족한 것 아닌지 등에 대한 고민이 있었다. 취준생은 모든것이 불확실한 상황에 놓여있기 때문에 공부를 할때 빼고는 참 고민들이 많아지게 된다.. 기존에 iOS 프로젝트 위주로만 공부하다가 미국 인턴십을 하면서 모바일 클라이언트 앱 개발자로 인턴십을 하게 되었지만 데이터 엔지니어링 팀 회의에 참여하고, 데이터 브릭스 스터디를 하는 등 데이터 관련 업무가 더 비중이 컸던 것 같다. 클라이언트 개발 업무도 로그 ..
Process 프로세스는 연속적으로 실행되고 있는 상태의 프로그램을 뜻한다. 메모리위에 올라와서 연산들이 처리되고 있는 프로그램의 인스턴스이다. 인스턴스라는 것은 프로그램 실행에 필요한 내용이 메모리에 적재된다는 의미이다. 프로세스는 실행될 때 운영체제로부터 Virtual Memory 를 정해진 크기만큼 할당받게 된다. 또 달리 생각하면 프로세스 단위로 Virtual Memory 를 할당해준다고 이해할 수 있다. Virtual Memory 란 비싸고 빠르고 작은 RAM 과 크고 저렴하고 느린 HardDisk 를 병합해서 하나의 기억장치처럼 쓰겠다는 것이다. 이 가상메모리를 구현하는 역할을 하는 특수 메모리 관리 하드웨어가 MMU(Memory Management Unit)이다. Thread 스레드가 프로세..
·Computer Science
폰노이만 구조에서 컴퓨터를 구성하는 기본 골격은 CPU, 메모리, 디스크이다. 추가적으로 I/O 장치까지 있다면 기본적인 컴퓨터 구조가 될 것이다. 이중 CPU 는 연산을 수행하고, 기억 장치에 있는 명령어들을 적재하고 수행하는 부품이다. CPU가 동작하는 것을 간단히 살펴보면 다음 그림과 같다. Memory에서 수행할 다음 명령어를 CPU로 적재해야 한다. PC (Program Counter)는 Fetch할 명령어 주소를 가지고 있다. 프로세스는 PC가 가리키는 주소에 있는 명령어를 가져오면서 PC값을 증가시킨다. 명령어가 CPU로 적재되는 것을 Fetch라고 하는데 CPU와 Memory는 Bus로 연결되어 있다. 가져온 현재 명령어는 IR(Instruction Register)에 임시 저장된다. 로드..
·Algorithm (PS)
import sys from itertools import combinations input = sys.stdin.readline n = int(input()) checkpoints = [] for _ in range(n): x, y = map(int, input().split()) checkpoints.append([x, y]) answer = int(1e9) for comb in combinations(checkpoints[1:-1], n-3): temp = [] temp.append(checkpoints[0]) temp += list(comb) temp.append(checkpoints[-1]) distance = 0 for i in range(n-2): x1, y1 = temp[i] x2, y2 ..
·Backend 💻
GitHub가 2023년 3월 24일 이후로 RSA SSH host key 정책 업데이트를 하면서 생긴 이슈라고 한다. private key가 public repository에 노출이 되는 문제를 해결하기 위해서 업데이트를 했다고 한다 old host key를 다음의 명령어를 통해 다시 key를 생성해줌으로써 삭제하고, 새롭게 생성하면 된다. ssh-keygen -R github.com 그다음에 Are you sure you want to continue connecting (yes/no/[fingerprint])? 라는 질문이 나오면 yes 를 입력하면 된다.
Django 에서 회원가입 기능을 구현하기 위해 UserCreationForm 을 사용할 수 있다. Django의 UserCreationForm 클래스는 django.contrib.auth.form 패키지에 있으며, 이를 상속해서 유저 생성 form 을 쉽게 구현할 수 있다. from django import forms from django.contrib.auth.forms import UserCreationForm from django.contrib.auth.models import User class UserForm(UserCreationForm): email = forms.EmailField(label="email") # 장고 모델 폼은 내부 클래스로 Meta 클래스를 가져야 하며, Meta 클래스..
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Greedy 문제이다 !! 핵심은 가장 가벼운 사람 + 가장 무거운 사람
·Algorithm (PS)
https://www.acmicpc.net/problem/2573 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net 자존감을 올려주는 단순구현문제..ㅎㅎ 문제에서 시키는대로 구현했다 1. 0이아닌 칸 찾기 2. 찾은 칸의 상하좌우에 0 개수 세기 3. 빙하가 녹을 좌표들을 모았다가 한번에 처리하기 4. 1 ~ 3 반복하면서 현재 빙산 덩어리가 몇개인지 세어주기 --> count_iceberg() 함수에서 bfs로 빙산 덩어리를 카운트 함 5. 4번 과정에서 빙하가 모두 녹아버리는 경우를 확인하기 위해 ch..
minjiwoo
'분류 전체보기' 카테고리의 글 목록 (17 Page)