주제 바꿨다요 😎 설날에 순천에서 당진으로 이동하는 도로에서 고민하고,,, 당진에서 서울로 올라오는 2시간 사이에 고민을 또! 해서 결정했다. 주제를 바꾸기로 🚗 💨 이전 주제는 자료구조/알고리즘을 애니메이션으로 정리해서 이해를 도와주는 앱! 이었는데, 좀 더 심사하시는 분의 이목을 끌 수 있는 방법에 대해 고민을 계속 하게 됐다. 심사 항목인 "혁신, 창의성, 사회적 영향 또는 포괄성"부분에서 어떻게 좋은 점수를 받을 수 있을까 고민하다가, 손 인식, 눈 인식을 통한 화면 전환, 버튼 선택 등을 해볼까 했었다. 하지만 스스로 끼워맞추는 느낌이 들어서 주제 자체에 좀만 더 고민해서 사회적 영향을 줄 수 있는 주제로 선정하자! 라는 결론에 이르렀다. 나중에 플레이그라운드가 아닌 iOS, iPadOS, wa..
1. 프로세스 상태 생성 상태 이제 막 메모리에 적재되어 PCB를 할당 받은 상태 준비가 완료되었다면 준비 상태로 준비 상태 당장이라도 CPU를 할당 받아 실행할 수 있지만 자신의 차례가 아니기에 기다리는 상태 자신의 차례가 된다면 실행 상태로(= 디스패치) 실행 상태 CPU를 할당 받아 실행 중인 상태 할당된 시간 모두 사용 시(타이머 인터럽트 발생 시) 준비 상태로 실행 도중 입출력장치를 사용하면 입출력 작업이 끝날 때까지 대기 상태로 대기 상태 프로세스가 실행 도중 입출력장치를 사용하는 경우 입출력 작업은 CPU에 비해 느리기때문에 이 경우 대기 상태로 접어듬 입출력 작업이 끝나면 (입출력 완료 인터럽트를 받으면) 준비 상태로 종료 상태 프로세스가 종료된 상태 PCB, 프로세스의 메모리 영역 정리 ..
1. 프로세스 실행중인 프로그램 프로그램은 실행되기 전까지는 보조기억장치에 있는 데이터 덩어리일 뿐임 2. 프로세스 종류 포그라운드 프로세스 사용자가 볼 수 있는 공간에서 실행되는 프로세스 메모장, 웹브라우저, 게임 등 백그라운드 프로세스 사용자가 볼 수 없는 공간에서 실행되는 프로세스 사용자와 직접 상호작용이 가능한 백그라운드 프로세스 사용자와 상호작용하지 않고 그저 정해진 일만 수행하는 프로세스(데몬, 서비스) 3. 프로세스 제어 블록 모든 프로세스는 실행을 위해 CPU가 필요하다 하지만 CPU 자원은 한정되어 있다 프로세스들은 돌아가며 한정된 시간 만큼만 CPU를 이용 자신의 차례에 정해진 시간만큼 CPU 이용 타이머 인터럽트가 발생하면 차례 양보 빠르게 번갈아 수행되는 프로세스들을 관리해야함 이를..
사이드 프로젝트 진행 중 이미지를 서버로 업로드 해야하는 태스크가 있었다! 기존에 모든 API를 Alamofire로 통신하고 있었기 때문에 이미지 통신 역시 Alamofire로 진행했다. 구현은 다 해두었는데, 더 찾아보면서 적용할 내용이 있나 알아보기 위해, 나중에 다시 보기 위해 기록하려 한다. 🌝 공식 문서를 먼저 확인 보자! https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#uploading-data-to-a-server 공식 문서를 먼저 확인해서 참고할 만한 코드를 살펴보고 > 구글링으로 잘 정리해둔 블로그를 참고해서 구현 > 다시 공식문서 확인 요새는 기능 구현보다 학습에 더 시간을 들이고 싶어서 이런 방식으로 ..
1. 커널이란 운영체제의 심장,운영체제의 핵심 기능을 담당합니다. 윈도우, 안드로이드,iOS, 리눅스, macOS와 같이 다양한 종류의 운영체제가 있으며, 운영체제가 제공하는 기능은 다양하다. 하지만 공통적인 가장 핵심적인 서비스가 존재한다. 자원에 접근하고 조작하는 기능, 프로그램이 올바르고 안전하게 실행되게 하는 기능 … 이러한 운영체제의 핵심 서비스를 담당하는 부분을 커널(kernel)이라고 한다. 운영체제에는 속하는데 커널에는 속하지 않는 기능? 대표적으로 유저 인터페이스(UI)가 있음. 사용자와 컴퓨터간의 통로일 뿐 운영체제의 핵심 기능은 아님 2. 이중모드와 시스템 호출 일반적인 응용프로그램이 자원에 직접 접근하는 것이 위험하기 때문에 일반적으로 자원에 직접 접근할 수 없습니다. 따라서 운영체..
1. 운영체제란 실행할 프로그램에 필요한 자원을 할당하고 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램 커널 영역에 적재되어서 실행되는 프로그램 응용 프로그램: 사용자가 특정 목적을 위해 사용하는 일반적인 프로그램 2. 운영체제의 역할 메모리 관리 CPU 관리 CPU는 보통 여러 프로그램을 빠르게 돌아가면서 동시에 실행을 하게 되는데, 그 때 누가 먼저 실행될지, 나중에 실행될지, 누가 오래동안 CPU를 점유할지 결정하게 됨. 입출력 장치 관리 보조기억장치 관리 파일, 폴더 관련 정리하자면, 운영체제는 정부가 인력, 토지, 예산을 관리하는 것처럼 운영체제가 컴퓨터의 자원(CPU, 메모리, 하드 디스크 등)을 관리해줌 『혼자 공부하는 컴퓨터 구조+운영체제』 강의 내용을 기반으로 작성된 글입니다
학부에서 언어도 배우고, 이런저런 컴퓨터 이론을 배웠기에.. 나는 나름 전공자라고 생각했는데, 취업을 준비하고 면접을 준비하기 위해 기출 면접 질문들을 찾아보니 전혀 아니라는 걸 깨닫게 되었다. 그리고 24년도 상반기 계획에 추가해두었다. 스스챌 제출 이후로 조금 미루려 했으나, 설날 본가에 충전기를 안챙겨가서 엄마 노트북으로 공부할 수 있는 걸 찾다가 유튜브 강의를 듣고 정리해볼 수 있겠다는 생각에 시작하게 되었다. 혼자 공부하는 컴퓨터 구조+운영체제 강의를 들으며 먼저 정리해보려 한다. 공부를 하면 할수록 부족한게 계속 보여서, 할 일이 자꾸 쌓인다-! 즐겁다-!! 가끔 엄마가 전화로 공부하는 건 어떻냐고 많이 했냐 물어보는데, 공부할 게 너무 많이 보인다고 대답했었다. 그랬더니 엄마가 오빠한테 들은..
아직 취업전이고, 아카데미 수료한지 6개월이 지나지 않아 이번 SSC에 지원할 자격요건이 되기 때문에! 이번 연도에도 스스챌에 지원하려고 한다. 작년에 위너 선정되었던 이야기는 꼭 다음에 정리해서 올리도록 할거다 🥲 자료구조/알고리즘 관련해서 하기로 주제 선정을 했고, 내용 기획하면서 디자인을 같이 하려고 한다..! 50인에 들고 싶어서 좀 더 챌린징한 주제로 할까 아직도 갈등중이긴하지만, 지금 주제로 개발하면서 알고리즘에 대해 정리할 수 있을 것 같아서 일단 해보려고 한다!-!! 오늘 기획/디자인은 이만큼만 했다! 내일은 3분안에 심사위원이 감탄할 수 있는, 좋은 점수를 줄 수 있는 장치에 대해 더욱 고민해볼 것이다 💨
알고리즘 스터디하면서 재귀에 대해 잘 이해하고 쓰지 못했던 경험이 있다. 피보나치나 팩토리얼 문제 정도는 괜찮은데, 이해도가 조금 부족했어서 그 이상은 체화되지 않아, 쉽게 재귀를 떠올려 사용하지 못했었다. 이번에 코테를 준비하면서, 여러 문제를 풀기보단 부족했던 기본 개념에 대해 다시 이해하고 넘어가보자!라는 마음으로 순열과 조합을 들여다보았고, 순열과 조합을 알아가면서 재귀에 대해서도 자연스레 체화할 수 있었다-!!! 순열 (permutation) 순열이란 서로 다른 n개의 원소에서 r개를 중복 없이 순서를 고려하여 선택하거나 나열하는 것을 의미합니다.(단, 0 조합 func 조합(_ depth: Int, _ start: Int) { if 뎁스가 M까지 도달했다면 { 결과배열 출력 } else { 인..
할 일이 산더미였던...어느 날.. 스프린트 회고를 하는 날이었다.. 팀원이 말했다,,"전체 질문(Data)을 파이어스토어에 업데이트하는데, Document Id가 랜덤값으로 들어가게 됐어요." 기존에는 문서 아이디가 도큐먼트 내부의 값(정수)로 되어있어서 이를 불러온 뒤 Id로 정렬을 해서 화면에 보여주고, 데이터를 불러와 화면을 그리는 로직이 있었다. 나는 생각했다,,, "엥 분명 앱에 동작안하는 부분이 있을텐데,," 하고 바로 앱을 켜서 확인해보니 "추천질문"기능이 동작하지 않고, 빈 화면으로 내비게이션되는 이쓔,,를 확인했다. 회고, 회의가 모두 끝나기 전, 유저가 현재 사용하고 있는 상황이니 로직을 수정해 빠르게 릴리즈 하거나, 파이어스토어 디비를 수정해서 빠르게 해결해야 할 것 같다고 얘기했다..