최근 포스트

점핑배틀외주 프로젝트1-Cors에러(백엔드)

Cors의 원인 찾기 우선 flask에서 Cors모듈을 사용하여, 해결하려 하였으나 문제가 해결 되지 않았다. 특정 url과 헤더에 대한 설정을 해주었음에도 다운로드 비디오를 클릭하였을 때에만 Cors가 에러가 발생한다는 것으로 미루어 보아 firebase쪽의 문제일 가능성이 높아...

ISC프로젝트 7-isc프로젝트 통신 완료

mqtt통신 하기 우선 이번 프로젝트는 니나농님과 동일한 환경으로 테스트를 하기 위해 mqtt Explorer로 테스트 후 pub.dev에서 mqtt관련 패키지를 설치하여 진행하였다. 해당 패키지 링크 mqtt통신의 경우 니나농님이 다 하고 나는 원리만 이해했는데, 간단하게 설명하...

ISC프로젝트 6-isc프로젝트 통신 이전의 준비

현재까지의 진행 사항 isc프로젝트는 현재 포트 등록 및 장비 별 필터링, 와이파이 등록 등을 모두 마쳐 드디어 우리의 최종 목표인 유저들의 쉬운 코딩 돕기를 위한 준비를 완료한 상태이다. 아래 사진을 보면 알 수 있듯 서버에서도 제대로된 정보를 받아오는 중이다.중간에 장비를 추...

RE:ISC프로젝트 5-isc프로젝트 프로젝트의 임시저장 구현

사용한 라이브러리 우리 프로젝트는 전체를 stless위젯으로 설계를 하기 위해 obs와 라우터를 적절하게 나누어 사용해주었다. 왜 stless를 사용하고자 하였는가 스테이트풀 위젯의 경우 내부 상태 관리가 비교적 간단하고 UI변경을 보다 쉽게할 수 있다는 장점이 있긴 하다. 하지만...

레지스터와 캐시 메모리(차이점을 중점으로)

위 글의 작성목적 크래프톤 정글 5기를 통해 공유메모리나 레지스터 캐시 메모리, 메모리 계층 구조 등등 주요한 키워드들은 모두 살펴보았으나, 이들의 근원적인 차이점이나 역할에 대한 부분이 아직 내 머릿속에서 지엽적으로 그려져있단 생각이 들었다. 그래서 이 게시물의 경우 내 머릿속에...

RE:ISC프로젝트 4-isc프로젝트 드디어 완성에 가까워지다!

진행 과정 정글에서도 내내 붙잡고 있던 ISC… 우리의 프로젝트가 성과를 위해 포기한 부분이 있긴 했지만, 그래도 드디어 끝날 기미라는 것이 보이기 시작한다😭 완전히 끝난거(에러 처리까지) 프로젝트 등록 및 장비 설정은 현재 상용 서비스가 가능할 정도로 온전한 처리가 끝난 상태다(...

RE:ISC프로젝트 3-isc프로젝트 1차 총 점검

현재까지 완료된 ui 프로젝트 홈 화면 보기 카드를 사용하여 만든 프로젝트홈인데, 카드를 닫아놓으면 지점명만 뜨도록 세팅해두었다. 프로젝트 수정 화면 프로젝트 수정화면으로 프로젝트명/지점명/버전을 손볼 수 있다. 현재에는 이렇게 하나하나 유저가 직접 사용하지만, 시나리오 코딩 페이...

RE:ISC프로젝트 2-플러터로 돌아온 isc프로젝트

현재 진행상황 체크 비회원 유저의 경우 로그인 및 회원가입 서비스 안내 캐러셀 화면을 백 프론트 작업 모두 완료하였고, 회원의 경우 프로젝트 조회 서비스/프로젝트 수정 삭제/ 전체 등록가능 장비 확인을 완료한 뒤 장비 등록 페이지를 작성하는 중이다. 트러블 슈팅 조회와 ui의 경우...

RE:ISC프로젝트 1-플러터로 돌아온 isc프로젝트

기존 isc컨트롤러 프로젝트 기존 isc컨트롤러 프로젝트 소개 다시 isc컨트롤러 프로젝트를 수정하게 된 이유는, 대부분의 부분의 일들 혼자 처리해야하는 이번 프로젝트의 특성상(물론 제일 코어가 되는 파싱 등은 함께 일하는 니나농님의 희생이 따르지만) 나의 능력 밖의 상황이 너무 ...

RE:ISC프로젝트 7-장치 및 프로젝트 설정 피드백 정리

오늘은 받은 피드백에 대해서 정리를 해보기로 하자. 전반적인 키워드는 똑똑하게 일하는 법과 유저란 무엇인가이다. 전체 프로젝트(삭제) 전체적인 ui는 괜찮지만, 유저 입장에서는 이 과정에 뭔지 모를 수도 있다. 즉 왜 굳이 다시 프로젝트 명을 치는 것인지 짧은 span으로라도 알려...

RE:ISC프로젝트 6-(전역 포트)폴더 구조 정리

전역 포트 설정에 필요한 것 불러올 정보 장비명과 장비 id 순서 포트에서 입력 받는 정보 포트 x,y좌표(범위 설정) 포트명(유저가 입력) 포트 주석 케이블 라벨 ...

RE:ISC프로젝트 5(전역)장비 등록 완료

미리 고려해야하는 예외사항 이번에 미리 고려해야하는 예외사항은 다음과 같다. 1.장치가 등록되지 않은 경우 2.동일한 장치명에 동일한 장비id사용하는경우 3.장비를 정말 미친듯이 계속 추가할 경우 4.장비의 id로 사용이 불가능한 값을 사용하려하거나, 장비 주석을 ...

RE:ISC프로젝트 4 (전역)장비 및 포트 예상 계획도 및 폴더 구조

폴더 구조 1탄 프로젝트 설정 폴더구조 바로가기 기존에 까다로웠던 부분 우선 기존 코드는 응집이 강하면 안되는 부분들이 딱 들러붙는 바람에, 전역 등록까지는 성공했으나 그 이후의 작업에서 하나만 정보를 건들여도 문제가 생겼다. 이 부분을 개선하는 것을 당연 1순위로 두되 유의해야할...

RE:ISC프로젝트 3-프로젝트 설정 작업완료

프로젝트 세부 설정 프로젝트 세부 설정에는 다음과 같은 기능이 요구된다. 프로젝트 추가 프로젝트 수정(프로젝트명/지점명/버전) 각 프로젝트에 해당하는 전역 포트 및 전역 장비 각 프로젝트에 해당하는 방 부분 이중에서 이번 게시물에서 다룰 부분은 프로젝트 수정 및 추...

RE:ISC프로젝트 3-홈화면 및 프로젝트 홈 화면 제작

주요 변경사항 화면 기존 ISC컨트롤러에서 이 단계는 크게 변화한 것이 없으나, 색상을 전반적으로 통일하고, 카드뷰의 크기를 줄여주었다. 이후 전체적으로 완성된다면, 각각의 사용 화면들을 미리 보여주어 로그인 이후 할 수 있는 일들을 로그인하...

RE:ISC프로젝트 2-(프로젝트 설정)폴더 구조 정리

MVC패턴 사용 우선 MVC패턴을 사용하면서, 도메인형 구조를 사용하기로 한 이유는 다음과 같다. 도메인 관련 코드를 한 곳에 응집하여, 가시성이 좋음 프로젝트에 직접 참여자가 두명, 그것도 한명은 프로젝트 전체를 이끌면서 코드의 수정 및 검사만 담당할 것이므로 프로젝트의...

HDD와 SSD파헤치기-SSD편2(SSD의 데이터 수정 및 최적화)

관련된 게시물 hdd와 ssd의 차이 키워드-hdd편 HDD와 SSD의 차이 키워드-SSD1편 SSD의 데이터 쓰기2(정보의 수정) ssd1편에서는 일반적인 데이터 쓰기에 대한 글을 작성하였다. 그렇다면 기존에 있는 데이터를 수정하여 저장하려면 어떡해야할까?...

HDD와 SSD파헤치기-SSD편

관련된 게시물 hdd와 ssd의 차이 키워드-hdd편 참고자료물 ssd의 물리적 작동원리 SSD의 작동원리 우선 ssd는 반도체의 일종으로 아주 간단하게 설명하자면 usb를 보조 저장장치화 한 것으로 생각하면 된다. 이때 하드디스크의 섹터와 같은...

HDD와 SSD파헤치기

기존에 알고있는 키워드 하드디스크 CD와 같이 물리적으로 돌아가는 방식이므로 근원적인 속도의 한계 존재(RPM) sata 방식으로 cpu와 직접적인 소통을 하는 것이 아닌, 디스크 컨트롤러라는 중간 부품을 한번 더 걸쳐야한다. 배드섹터...

크래프톤 정글5기 22DAY c언어와 친해지기

대충 구현된 레파지토리 vector 작업 1일차 c언어와 친해지기 당장 다음주부터 c로 무언가 코드를 짜야한다는 소리를 듣고 c언어의 모듈화에 대해 알아보았다. 클래스가 없는 c언어의 특성상 제대로된 작업을 진행하기 위해서는 헤더파일을 만들고, 이후 그 헤더파일에 대한 구현을 담으...

크래프톤 정글 13DAY 1주일차 cs책 질문 총망라

레퍼런스 멀티 테스킹과 컨텍스트 스위칭 종류별 컨텍스트 스위칭 cisc와 risc 커널과 시스템콜 공유 라이브러리와 정적 라이브러리 지인 분의 머리에서 나온 static과 지역변수의 차이 static과 전역변수 전역변수도 전체에서 다 알아서 초...

크래프톤 정글 8DAY 가상화에 가상화에 가상화

레퍼런스 jvm의 구성요소 설명 참조 jdk와 jre, jvm기본 토대 잡기 클래스를 로드한다? 스프링과 도커 짤로 보는 가상화 일요일-월요일 넘어가는 때에 문 떡밥 카톡을 이제야 주워먹는 양심없는 물고기의 삶이란 이런 것이다. 자바가 가상머신이면 sp...

크래프톤 정글 7DAY 상수와 매크로 함수는 다르다

매크로 함수 나도 c언어를 깊게 파보기 전까지는 많이 했던 실수 중에 하나가 매크로 함수를 상수처럼 생각하고 대충 바뀌면 안되는 값들을 저기에 넣었던 것이다. 이후 내 실수가 무엇인지 알게된 후 주변에 c 좀 친다 하는 지인들에게 대화를 청했는데, 놀라운 것은 다들 야 나두를 시전...

크래프톤 정글 5DAY 테스크와 프로세스

공부 출처 헤더 이미지 및 스레드와 프로세스의 관계성 이해 프로세스와 스레드의 관계성 테스크와 프로세스는 다르다? 이 부분은 네이버 블로거 니나농님이 개인 과외를 해주셨습니다..안산 방향으로 목례 올리고 가겠습니다. 임베디드 지인님 블로그 테스크 가장 작은 ...

크래프톤 정글 4DAY 파이썬의 시선 및 cs 깊이 다지기

함께 보면 좋을 링크 파이썬의 참조 방식은 이상하다? 객체로 바라보는 세상 이야기 캐시 메모리 설계의 기초 캐시 메모리와구조 값을 참조하는 방식에 대해 c언어나 cs를 깔짝거린 사람이라면, 아마 call by reference와 call by value를 한...

크래프톤 정글 3DAY-2 OSI7계층

들어가기에 앞서 사실 굳이 3일차부터 이 osi의 7계층까지 들어가기엔 빡세보여서 미래의 나에게 맡겨둘 계획이었는데, cdn과 통신에 대해서 임베디드 개발자인 지인분께 질문을 드리니 cs:app1장 공부를 위한 개괄 및 공부 방향을 잡아주심과 동시에 osi의 7계층까지 수업을 해주...

크래프톤 정글 3DAY 운영체제 공부를 위한 기초 공부

레지스터 나는 이 친구를 맨 처음에 임시 기억장치라고 이해했다. 뭐 물론 레지스터가 기억을 하는 역할을 전혀 안한다는 것은 아니나, 레지스터는 근본적으로 보았을 때 TO_DO_LIST명령어들을 적재해두는 장소에 가깝다. 주로 책에서는 레지스터에서 기억이라는 키워드를 전달하는데 지금...

0과1 그리고 전기

비트란 무엇일까 아마 컴퓨터 과학에 관련한 책을 들춰보면 제일 먼저 배우는 것이 비트가 아닐까 싶다. 전공자들은 어떨지 모르겠으나, 비전공자인 내 입장에서 비트는 전구가 꺼짐 켜짐 또는 참 거짓으로 다가왔는데 그래서 이런 것들이 과연 어떤 의미를 가지는지 근본적인 의문이 들기 시작...

크래프톤 정글 2DAY 특별한 에세이

코딩에서 예술까지 누군가에겐 어떤 것들을 만들어내고, 연출이든 문예창작이든 근본적으로 뜯어보면 코드리뷰 비슷한 합평 수업도 있고 어느정도 수준에 도달하면 관성적인 면이 강하다는 특성을 고려해본다면, 예술가와 개발자는 상당히 비슷한 면이 많다. 미리 나에 대해 스포일러를 하자면, 나...

크래프톤 정글 2DAY 프록시와 cors

cors 오류 및 해결법 위 오류는 간단하게 설명하면 브라우저 측에서 a라는 url에서 이루어진 HTML과 b라는 URL을 이루는 HTML을 연결하고자 시도할 때 생기는 것이다. 이에 대한 해결방안은 여러가지가 있겠으나, 내가 오류 해결을 위해 채택한 방법은 proxy설정이다. ...

크래프톤 정글 1DAY 부트스트랩 대체제 공부

부트스트랩 대체제 찾아 떠나기 현재 부트스트랩의 대체제로 많이 언급되는 라이브러리로는 Tailwind와 mui(Meterial UI)정도가 있다. 현재 0주차 프로젝트가 기획만 끝난 상태라, 변경이 생길 수는 있으나 우리조가 채택한 기술스택은 mui이다. Mui의 장단점 우리조가 ...

PreTIL 0WEEK 부트스트랩 장단점 정리

부트스트랩의 장단점 우선 내가 사용하며 느낀 부트스트랩의 장점과 단점에 대해 짧게 서술하고, 대체가능한 라이브러리들은 어떤 장단점이 있는지에 대해 알아보도록 하자. 장점1 워낙 오래되고 유명한만큼 자신이 모르는 내용에 대해 쉽게 찾아볼 수 있으며, 한글로도 다양한 자료가 있다. 그...

스터디원들과 함께하는 미니 크래프톤 정글

들어가기에 앞서 혹시 6기 지원자 분들께서 이 글을 보신다면, 정글 관련 오픈채팅방에 꼭들어가시라고 권유 해드리고 싶다. 먼저 면접을 보신 분들이 보안 유지를 지키는 선에서 어땠다 라는 후기를 공유해주시기도 하고, 미리 합격자가 발표난 것도 여기 분들 덕분에 알게 되었다. 또한 면...

종만북 ch21 트리

트리의 도입 우리가 여태까지 배운 연결리스트나 벡터 배열 등은 모두 자료를 한 줄로 쭉 늘어놓은 형태, 즉 선형적 구조를 가지고 있다. 그러나, 조직도나 대진표와 같이 계층적인 구조를 가진 자료들을 표현해야할 때가 있는데 이때 사용하는 자료구조가 바로 트리이다. 트리의 구성 요소 ...

정글북 프로젝트 아이디어

소개 4차 산업 혁명이다 뭐다 하면서 이제는 한국예술종합학교(이하 한예종) 및 서울예술대학과 같이 공학전공이 따로 만들어져있지 않은 학교에서도 stem교육에 열불을 내고 있다. 또한 나와 함께 예술고등학교를 졸업한 동기 중 일부도 자신이 직접 웹 사이트를 만들어보겠노라 하고 도전하...

예비 정글 프로젝트 기획1: 맛의 일기화 테이스팅 노트

소개 위 프로젝트는 2022년도 서울예술대학교에서 진행된 인공지능 프로그래밍(이라 쓰고 UI/UX 파이썬 찍먹이라 쓴다)수업에서 개인 프로젝트로 진행했던 어플입니다. 이후 개인프로젝트로 끌고와서 소셜 로그인 부분까지는 이미 구현이 되어있고, 내부는 대략 60%정도 구현 완료한 상태...

펜은 심장의 지진계다-내가 너의 울림이 되어줄게

기획 소개 남에게 주는 소중한 문장 한 줄? 뭔가 책을 주자니 상대방이 독서를 싫어하면 어떡하지? 우리 별로 친하지도 않은 사이인데? 그래서 준비했습니다. 나의 묘사 일기를 상대방에게 일부 카드화해서 공유할 수도 있고, 어떤 책에서 읽었던 네 생각이 나는 문장들을 보내줄 수도 있는...

한빛 리뷰어 2월 후기

들어가기에 앞서 한빛미디어 나는 리뷰어다 활동을 위해서 책을 제공받아 작성된서평입니다. 아무래도 상대적으로 좋은 말 위주로 쓸 수 밖에 없겠네요 추천 대상자 우선 저의 경우 언리얼 유니티와 같은 게임 관련 프로그래밍은 처음이었습니다. 결과적으로 제 지인의 노트북(외장 그래픽)으로...

cs50 6강 해시 테이블과 트라이

해시 테이블이란 해시 테이블을 한마디로 정의하자면, 연결리스트를 배열화한 것이다. 해시테이블을 구현할때 염두해두어야하는 것 중 하나는 키 값을 어떻게 정할 것인가이다. 만약 키 값을 잘못잡게 된다면 탐색시 굳이 자료를 걸러낸 정성이 무의미할 정도로 거지같은 시간복잡도를 가지게 될 ...

cs50 6강 연결리스트

연결리스트란 연결리스트는 대충 설명을 읽어보면 아니 이거 배열과 똑같은 거 아닌가 하는 생각이 들만큼 유사하다. 우선 순차적+간접참조라는 특성에서는 배열과 유사하다고 착각하기 쉽지만, 크기의 제한이 없다는 점과 연속된 메모리 주소를 할당받지는 않는다는 점에서 배열과는 차이를 지닌다...

커밋 되돌리기

사건 발단 ide와 깃허브 사이트로 하는 커밋은 처음이다보니(평소에는 습관적으로 bash명령어 이용) 실수로 풀 리퀘스트를 날리는 과정에서 merge를 하는 실수를 범해버렸다. 엎친데 덮친 격으로 merge를 취소한답시고 체리픽을 잘못된 생성을 하는 바람에 main브런치에는 잘못된...

cs50 5강 파일의 읽기와 쓰기

사용자에게 입력받기 참고로 비주얼 스튜디오로 코딩을 하는 사람들의 경우 scanf로 입력을 받으면 보안과 관련된 에러 메시지가 뜨는데 이는 scanf를 scanf_s로 대체하면 사라질 것이다.

cs50 5강 메모리 다루기

malloc과 free c언어에서 첫번째 벽이 포인터라면 아마 두번째 벽은 메모리를 직접적으로 만질 수 있다는 장점을 가진 malloc calloc 그리고 free일 것이다. 우선 malloc은 앞에 문자열 챕터에서도 잠깐 맛을 보았듯 메모리를 내가 원하는 크기만큼 빼놓는 방식이다...

cs50 5강 문자열의 비교와 복사

문자열이란 우리가 앞선 챕터에서도 배웠듯 문자열은 일종의 배열이다. 그렇다면, 포인터를 사용할 때에 배열의 이름은 포인터처럼 사용 가능했는데 문자열도 가능할까? 정답은 Yes이다. c언어에서 string정의하기 원칙적으로 c언어에는 우리가 생각하는 string이 존재하지 않는다. ...

js 요소 선택 함수 모음(입소 준비 공부중)

언제 쓸까 개인적인 프로젝트를 진행하면서 바로 저 심볼의 타이틀을 불러오는 코드를 깔끔하게 작성하기 위해 굉장히 애를 많이 먹었다. 처음에는 파일을 분리해 놓았기 때문에 search.js의 전역 변수로 모든 symbol의 정보를 담은 뒤 arc_quest.js에 보냈으나 이 경우...

cs50 5강 메모리 주소와 포인터

메모리 주소 메모리 주소를 표현할 때에는 앞서 말한 컴퓨터의 기본 의사소통 규칙(이진법 사용하기)와 조금 다른 규칙이 추가된다. 가상 메모리의 주소를 표현할 때에는 16진법을 사용하기로 하나의 규약이 추가된다. 왜 컴퓨터는 기본적으로 이진법 소통을 원칙으로 한다 해놓고서는, 메모리...

[JPA]CascadeType

JPA란? 자, 우선 CascadeType에 대해 공부하기에 앞서 jpa란 무엇이며 과연 왜 많은 회사들에서 사랑하는지에 대해 알아보자. JPA는 자바를 기반으로 데이터를 다룬다고 생각을 하면 된다. 나는 이전에 sql을 찍먹 해보았는데, 그때 쿼리문을 따로 공부하느라 애먹었던 기...

cs50 4강 재귀

재귀 간단하게 설명하면 함수가 함수 자신을 호출하는 것이다. 아래의 예시 코드를 보면 재귀가 무엇인지는 이해가 잘 갈 것이다. 재귀 예시 코드

cs50 4강 정렬 알고리즘

버블 정렬 앞에서 살펴보았듯, 자료를 찾을 때에는 정렬의 유무에 따라 소요 시간이 크게 차이날 수 있다. 정렬 알고리즘엔 크게 버블 정렬과 선택 정렬이 있으며, 우리는 비교적 간단한 버블 정렬에 대해 먼저 알아보도록 하자. 정의 집합 내의 이웃 요소들을 교환하여 정렬한다. 그 이후...

cs50 4강 검색 알고리즘

들어가기에 앞서 위 파트는 챕터4인 알고리즘 파트의 세션 1-3까지만 정리한 글입니다. 검색 알고리즘에 대해 다루는 게시물 하나, 정렬 알고리즘 게시물(6세션 까지),나머지 재귀와 병합정렬 게시물 하나로 총 3개의 게시물로 정리할 예정입니다. 검색 알고리즘 여기에서 말하는 검색 알...

cs50 3강 문자열

문자열이란 말 그대로 여러개의 char이 결합된 형태이다. 즉 배열와 마찬가지로 메모리에 순차적으로 올려놓을 수 있기 때문에, 대부분의 c언어 책과 강의에서는 문자열과 배열을 거의 동시에 다루거나 바로 다음번 챕터에 배치해두는 경우가 많다. 하지만, 문자열은 널 종단 문자라는 독특...

cs50 3강 명령행인자

main함수 작성하기 main함수의 인자의 개수를 지정하기 위해서는 argc를 사용할 수 있다. argc를 사용하면, 내 생각대로 인자가 모두 전달된 것인지 확인할 때에 유용하다. argc 활용법 나의 경우 멀티 프로세스와 메일슬롯으로 간단한 메시지 창을 만들 때에 이 기능을 활용...

cs50 3강 4-5세션 배열

배열이란 메모리상에 연속선상으로 놓여있는 자료물이다. 연속선상이라는 키워드는 배열을 설명할 때에 상당히 중요한데, 그 이유는 c언어에서 포인터로 배열을 읽어올 때 배열의 이름 만으로도 배열의 시작점이 되는 주소값을 읽어올 수 있는 이유가 바로 여기에 있기 때문이다. 우선 우리는 배...

cs50 3강 1-3세션

들어가기에 앞서 3강의 경우 주요 정리 사항들이 많을 것 같아서 논리 순서대로 몇몇 세션을 나누었습니다. 첫번째 게시글에서는 session1-3을 통해 c언어의 코드가 어떻게 실행파일이 되는지와 코드의 디자인에 대해 다룰 예정입니다. 두번째 게시글에는 세션 4-5인 배열이 담기고,...

cs50 2강

KeyWord 컴파일러와 헤더파일 문자열과 string 자료형과 연산자 사용자 정의 함수 오버플로우 C기초

cs50 1강

들어가기에 앞서 강의 바로가기

배열과 포인터

힌트 배열과 포인터의 관계성에 대해 알아보기 전에 먼저 재미있는(?)실험을 한가지 해보자. 배열의 요소를 참조해야할 때 맨 앞부분의 요소를 찾기 위해서는 어떻게 해야할까? 그냥 배열의 이름을 사용하여 참조를 하여도 된다. 그러나 다른 점도 유의할 것은 배열의 이름이 포인터로 쓰인다...

크래프톤 정글 5기 합격후기

첫 합격후기 오전 10시가 채 되기 전 사람들에게 톡이 쏟아지기 시작했다. 대략 9시 30분 즈음 교육생 정보 등록을 누르면 정보가 뜬다는 말이 돌았고, 나는 크래프톤 정글 5기가 떠있는 것을 보고서야 안심이 되었다. 문자와 메일은 거의 동시에 10시 정각 즈음 왔다. 그렇게 정글...

api_key숨기기

개인적인 회고 정글의 발표가 연기되면서, 나는 그 기간동안 이 불안한 마음들을 어디에 두어야할지 고민이 컸다. 코틀린 아키텍처 등을 공부하며 남들보다 이론 공부가 느리다는 것을 깨달았기에 책을 미리 사두었지만 도무지 잡히지 않았다. 대신 한 줄이라도 코드를 한줄이라도 더 적고 실전...

Kotlin in Action 4챕터-세션 1

4챕터를 열며 코틀린의 인터페이스에는 프로퍼티의 선언이 들어갈 수 있다. 또한 코틀린 클래스는 기본적으로 final public의 속성을 가지고 있다. 따라서 상속을 위해선 open키워드를 꼭 명시해주어야한다. data클래스 역시 컴파일러가 일부 표준 메서드를 컴파일러가 생성해주고...

크래프톤 정글 5기 1차 시험(코딩테스트?) 후기-합격

자소서 관련 정글의 자소서는 7개의 문항과 1분 자소서로 나뉜다. 나의 경우 1분 자소서는 스크립트 준비시간 제외 2시간 정도에 걸려서 촬영하였고, 자소서 7문항은 생각보다 빠르고 수월하게 작성하였다. 궁금하실 분이 있을까봐 전체적인 자소서 내용도 함께 올려두었다. 문항 별 내용 ...

js에서의 파일 분리법(외부 함수 불러들이기 해결 완료)

파일 분리 이전의 준비 일반적으로 선언한 js에서는 함수를 정의할 때에 function 함수명으로 작성하는 반면, 다른 곳에서 불러들여야하는 함수를 정의 시에는 export function함수명으로 작성한다. 파일 혹은 클래스 분리의 기준 나의 경우 다음과 같은 원칙을 생각하며 나...

파비콘 적용시키기

파비콘이란 웹 페이지를 여러개 띄웠을 때 탭 창에 나오는 아이콘이다. 내 깃허브 블로그 탭에 나와있는 초록 불꽃 아이콘을 파비콘이라고 부른다. 왜 쓸까 웹 페이지의 식별에 용이 검색창이나 탭창을 여러개 쓰는 경우 파비콘으로 식별을 하기 더욱 쉬워진다. 브랜드 상징의 가시화...

타입제네릭과 표현법

타입 제네릭 우선 타입 제네릭이라고 해도 무조건 아무거나 넣을 수 있는 것이 아니다. 제네릭은 특정 정해진 범위(특정 타입의 객체나 데이터 등) 내에서 제약없이 다룰 수 있다고 이해해야 한다. 간혹 들어갈 수 없는 객체나 데이터를 담을 경우 컴파일 에러가 뜰 수도 있기 때문에 타입...

flask의 장식자와 어노테이션(예비코스 4-5챕터와 함께)

어노테이션이란 직역하면 각주라는 뜻으로 자바나 코틀린을 해본 사람이라면 @어노테이션명으로 작성된 어노테이션을 본 적 있을 것이다. 코틀린으로 작성한 코드에 자바 코드를 억지로 이식하면 뜨는 ` @Deprecated`역시 어노테이션의 일종이다. 어노테이션은 주로 런타임에 특정 기능을...

입출력 속도 늘리는 구문

입출력 속도를 높이는 법 ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); 이 세 줄은 내가 알고리즘 문제를 풀 때마다 작성하는 구문으로, 입출력 속도를 빠르게 하기 위해 사용하는 구문이다. 작동법 #include<io...

CSS와 html 디렉토리 구조(예비코스 1-2주차)

들어가기에 앞서 제가 앞으로 위 카테고리에 작성할 내용은 정글의 교육 배포자료에는 나와있지 않지만, 이런 부분을 찾아보고 싶다 해서 찾아보는 내용입니다.

윈도우즈 시스템 프로그래밍 7장-세션3

시그널 VS 논시그널 커널 오브젝트는 두 가지 상태를 가지고 있다. 이 두 개의 상태는 리소스에 특정 상황이 발생되었음을 알리기 위한 용도로 사용된다. 상태에 대한 이해 상태는 변화 가능성을 내포한 개념이다. 즉 커널 오브젝트의 상태(시그널과 논시그널)역시 어떤 작용에 의하여 변할...

윈도우즈 시스템 프로그래밍 7장-세션2

메인슬롯 방식의 IPC 메인슬롯의 원리 메인 슬롯은 데이터를 주고받기 위해 프로세스가 우체통을 마련하는 것과 유사한 일을 해준다. 앞선 세션에서 말했듯 프로세스는 서로 직접적인 통신을 불허한다. 그래서 리시버 프로세서는 정보를 받기 위한 우체통인 메인 슬롯을 필요로 한다. 이 메인...

Kotlin in Action 3챕터-세션 3

1~2세션 바로가기 메서드 추가: 확장함수와 확장 프로퍼티 코틀린은 기존의 자바 코드와 자연스러운 통합을 지향한다. 그 과정에서 대부분의 코드들은 서로 자연스러운 마이그레이션이 되지만, 간혹 일부 코틀린 코드나 자바 코드는 직접 변환이 어려울 수도 있다. 이때 자바 API를 재작성...

문제풀이 관련 공지사항

안내사항 📍공지사항 깃허브 블로그에 백준 문제풀이에 대해 업로드하던 도중 푸는 문제수가 많아지면 노션으로 갈아타는 분들을 여러분 보게 되었습니다. 저도 고민끝에 이 블로그에는 좀 더 심화적인 내용이나 알고리즘에 관련하여 첫 입문 시 도움이 되는 내용에 대한 풀이만 남기고 나머지 내...

Kotlin in Action 3챕터-세션 1~2

함수 정의와 호출 앞선 내용과 달리 3장은 함수 정의와 호출 기능을 코틀린이 어떻게 개선하였는지를 보여준다. 또한 확장 함수와 프로퍼티를 사용하여 자바 라이브러리를 코틀린 스타일로 적용하는 방법을 살펴본다는 내용으로 미루어보아 코틀린이 가질 수 있는 장점에 대해 보여주고자 하는 챕...

백준 9095-123더하기

문제 바로가기 난이도 🥈실버 3 힌트 dp의 메모제이션 기법을 사용하면 아주 쉽게 풀 수 있는 문제이다. 점화식을 세우는 방법에 대한 힌트를 주자면 4를 만들기 위해서는 앞에 나온 방법들의 개수를 모두 더하면 왜 4입력시 정답인 7이 나올지에 대해 생각해보면 쉽게 풀릴 것이다. 코...

Kotlin in Action 2챕터 세션 5-예외처리

2챕터 세션1- 함수 바로가기 2챕터 세션1-변수 바로가기 2챕터 세션2 바로가기 2챕터 세션 3-4 바로가기 코틀린의 예외처리 기본적인 형태는 catch와 throw로 이해할 수 있다. 오류가 발생하면 예외를 던지고, 발생한 예외를 함수 호출단에서 처리하지 않으면 예외 처리 부분...

백준 1158-조세푸스 문제

문제 바로가기 티어 🥈실버 4 문제 풀이 방식 우선 종만북을 본 사람이라면 알 수 있듯 큐나 연결리스트를 사용한 구현이 모두 가능한 문제이다. 위 문제에서 나온 예시를 분석해보면

데크 구현하기

데크란 무엇일까 큐/스택/데크는 모두 일렬로 늘어선 같은 형태의 자료들을 저장한다. 이때 이 세개를 구분짓는 기준은 어디에서 자료를 넣고 뺄 수 있느냐이다. 데크의 경우 양쪽 끝에서 자료를 넣고 뺴는 것이 가능하다. 직접 구현시 생기는 문제 데크는 양방향에서 모두 작동을 해야하기 ...

윈도우즈 시스템 프로그래밍 6장-세션4

시작 전 소개 1챕터 정리본 바로가기 2챕터 정리본 바로가기 3챕터 정리본 바로가기 4챕터 세션1 정리본 4챕터 세션 2 정리본 5챕터 세션 1-2-3 정리본 5챕터 세션 4-5 정리본 6챕터 세션1 6챕터 세션2 6챕터 세션3 명령 프롬포트 프로젝트 기능 추가 echo와 sta...

Kotlin in Action 2챕터 세션 3~4, 선택과 표현

2챕터 세션1- 함수 바로가기 2챕터 세션1-변수 바로가기 2챕터 세션2 바로가기 선택과 표현의 처리 when은 자바의 switch를 대체하되 더욱 강력하다. switch와 when은 조건이 많을 때에 if를 대체하면 가독성이 좋아진다는 장점이 있다. 또한 정말 온갖 것들(범위 지...

윈도우즈 시스템 프로그래밍 6장-세션3

시작 전 소개 1챕터 정리본 바로가기 2챕터 정리본 바로가기 3챕터 정리본 바로가기 4챕터 세션1 정리본 4챕터 세션 2 정리본 5챕터 세션 1-2-3 정리본 5챕터 세션 4-5 정리본 6챕터 세션1 6챕터 세션2 커널 오브젝트와 Usage Count 여러번 강조한 내용이지만, ...

스택과 큐 직접 구현하기

스택 직접 구현하기 스택을 문제풀이에서 사용하려면 stl에 정의되어있는 stack을 바로 #include<stack>로 불러오면 된다. 하지만 나는 스택이 돌아가는 과정을 좀 더 직관적으로 이해해보기 위해 vector을 사용해서 직접 구현을 해보았다. 직접 구현하는법 다...

윈도우즈 시스템 프로그래밍 6장-세션2

시작 전 소개 1챕터 정리본 바로가기 2챕터 정리본 바로가기 3챕터 정리본 바로가기 4챕터 세션1 정리본 4챕터 세션 2 정리본 5챕터 세션 1-2-3 정리본 5챕터 세션 4-5 정리본 6챕터 세션1 커널 오브젝트와 핸들의 종속 관계 커널 오브젝트와 OS 커널 오브젝트는 Wind...

윈도우즈 시스템 프로그래밍 6장-세션1

시작 전 소개 1챕터 정리본 바로가기 2챕터 정리본 바로가기 3챕터 정리본 바로가기 4챕터 세션1 정리본 4챕터 세션 2 정리본 5챕터 세션 1-2-3 정리본 5챕터 세션 4-5 정리본 커널 오브젝트에 대한 이해 커널에서 관리하는 중요한 정보를 담아둔 데이터 블록을 커널 오브젝트...

Kotlin in Action 2챕터-변수

2챕터 세션1- 함수 바로가기 변수 자바에서는 맨 앞에 타입을 놓지만, 코틀린의 경우 타입 생략이 가능하기 때문에 val/var키워드를 맨 앞에 놓게 된다. 만약 타입이 먼저 올 경우 타입 생략이 잦은 코틀린의 특성상 식과 변수의 선언을 구분하지 못하게 될 수도 있기 때문이다. 참...

윈도우즈 시스템 프로그래밍 5장-세션 1,2,3

시작 전 소개 1챕터 정리본 바로가기 2챕터 정리본 바로가기 3챕터 정리본 바로가기 4챕터 세션1 정리본 4챕터 세션 2 정리본 프로세스의 이해 프로세스란 실행 중에 있는 프로그램을 의미한다. .exe파일을 실행하여 램에 할당이 이루어지고, 이 메모리 공간으로 바이너리 코드가 올...

윈도우즈 시스템 프로그래밍 5장-세션 4,5

시작 전 소개 1챕터 정리본 바로가기 2챕터 정리본 바로가기 3챕터 정리본 바로가기 4챕터 세션1 정리본 4챕터 세션 2 정리본 5챕터 세션 1-2-3 정리본 프로세스의 생성 프로세스 역시 이치에 맞게 구성되어야한다. 만약 우리가 MS워드 실행 중에 무언가 검색 할 일이 있어 익...

Kotlin in Action 2챕터-함수

1장 바로가기 함수와 변수 HelloWorld 찍기 fun main(args:Array<String>) { println("Hello world!") } 여기에서 args:Array<String>을 삭제하더라도 코드는 정상작동하는 모습을 몰 수 있다....

컨텍스트 스위칭의 필요성

컨텍스트 스위칭이란 컨텍스트 스위칭 간단 요약 바로가기 위 게시물에서는 아주 간단하게 컨텍스트 스위칭이 어떤 일을 한다는 뜻인지 왜 해야하는지에 대해 설명되어있다. 여기서 말하는 context란? 간단하게 설명하면 CPU가 해당 프로세스를 실행하기 위해 필요한 해당 프로세스의 정보...

윈도우즈 시스템 프로그래밍 4장-세션2

시작 전 소개 1챕터 정리본 바로가기 2챕터 정리본 바로가기 3챕터 정리본 바로가기 4챕터 세션1 정리본 LOAD & STORE 명령어 디자인 데이터를 읽어오거나 저장하는 기능과 관련된 명령어를 디자인하는 세션이다. 명령어의 필요성과 디자인 우리가 설계한 레지스터분 아니라...

비전공자의 CS도서 읽는법

길잡이 CS쌓는 법 길잡이 이 글은 예전에 CS공부에 대해 찾아보았을 때에는 못봤던 글인데 당시 내가 찾아봤던 여러 글 속에 담긴 내용이 한 곳에 모아져있다. 나처럼 주변에 전공자가 전혀 없는 환경이라면 저분 글을 읽고 공부계획을 봐도 좋을 것 같고, 나는 온라인 서점 사이트들에 ...

Java의 정석 제 2장-진법

시작 전 바로가기 자바의 정석 1장 정리 바로가기 자바의 정석 2장 변수 바로가기 이번 챕터의 경우 제가 기존에 알던 내용들은 생략하거나 간단하게 넘어갔음에도 불구하고, 너무 내용이 길어져서 두 개의 게시물로 나누어 작성하겠습니다. 진법 2진수는 10진수와 같은 숫자를 표기하기 위...

윈도우즈 시스템 프로그래밍 4장-세션1

시작 전 소개 1챕터 정리본 바로가기 2챕터 정리본 바로가기 3챕터 정리본 바로가기 4장의 경우 1세션만 해도 md파일이 100줄이 넘어가서 세션당으로 정리하거나 두 세션을 하나의 게시물로 엮는 방식으로 게시할 예정입니다. 컴퓨터 구조의 접근방법 1세션에서는 주로 레지스터에 대한...

스프링부트 기본 폼 만들기

시작하기 전에 제가 공부하는 내용은 이 책을 바탕으로 약간 추가되거나 변경된 내용들도 있을 수 있습니다. 또한 안드로이드를 공부하며 기존에 알고있던 사실에 대해서는 정리하지 않거나, 부실하게 정리하며 넘어가는 부분들이기 있기 때문에 혹시 toc에 없는 내용이라면 제가 알고있어서 ...

Java의 정석 제 2장-변수와 변수의 타입

시작 전 안내 자바의 정석 1장 정리 바로가기 이번 챕터의 경우 제가 기존에 알던 내용들은 생략하거나 간단하게 넘어갔음에도 불구하고, 너무 내용이 길어져서 두 개의 게시물로 나누어 작성하겠습니다.

윈도우즈 시스템 프로그래밍 1장

시작 전 소개 위 책을 읽으며 제가 개인적으로 공부한 부분 등을 채워 넣을 예정입니다. 책의 내용의 경우 요약의 형태로 작성 할 예정이어서, 혹시나 제 게시물만으로 공부를 하실 분이 있다면 내용이 부족할 수도 있습니다. 왜 시작부터 하드웨어 이야기를 하는가 전공자들에게는 이 책이...

Java의 정석 제 1장

들어가기에 앞서 이 게시물들은 모두 제가 이 책을 읽으며 개인적으로 정리한 내용을 담을 예정입니다. 따라서 제가 기존에 알고있던 내용은 생략되거나 짧게 다루는 등의 가공이 있을 수 있습니다. 자바에 대하여 자바란 자바의 장점으로는 운영체제의 종류와 상관없이 실행가능하다는 것이 있...

splash화면 만들기

스플래쉬 화면이란? 어플리케이션이 처음 켜질 때 나오는 화면

백준16173-점프왕 쩰리 (small)

문제 링크 점프왕 쩰리 small 난이도 🥈실퍼 4 체감난이도는 1260번 문제랑 비슷해서(어려워서X) 4는 의아하다 유의점 한칸씩 이동이 아니라 점프칸에 쓰인 숫자만큼 이동해야한다 칸이 100칸인 게 아니라 칸에 쓰인 정수의 숫자 범위이다 정답 코드 #include<iost...

Array Int와 IntArray

Array와 IntArray의 차이 전자는 타입 제네릭을 공부하여 한번 지나가듯 본 적 있었고 후자는 ‘누구세요? 코틀린에 이런 분이 계시나요?’ 싶었다. 각각의 선언법 kotlin 기준 Array var arr=Array<Int>(크기,{값}) 여기에서 값과 자료형은 ...

백준1260-Dfs와 Bfs

문제 링크 1260 dfs와 bfs Solved 랭크 🥈실버 2 유의 사항 Dfs와 bfs문제 풀이 시 방문 여부 체크 신경쓰기 정점 방문 시 정렬 확인하기 정답 코드 ```c++ #include #include #include #include #include #define MAX...

백준1463과 에러

문제 링크 백준 1463 Solved.ac 티어 🥈실버 3 문제 풀이 및 힌트 ⬛피보나치와 같은 메모제이션을 사용하여 메모리 관리 메모제이션의 설명과 예시 때로는 2나 3으로 나눌 수 있어도 1을 우선 빼는 게 가성비가 좋을 수도 있다 ex)10의 경우 2로 나누어떨어지나 우선 1...

백준10810과 에러

문제 링크 백준 10810 SOlved기준 티어 브론즈 3에서 2정도로 많이 평가 받음 풀이 및 유의사항 제시된 N과 M이 모두 100이하로 범위가 작아서 벡터나 배열 중에 편한 쪽으로 사용 또한 범위가 작으니, 이분탐색 등으로 탐색 범위를 고민하기 보다는 정확하게 풀기 정답 코드...

About-Me

컴퓨터 관련 교육 및 경험 프로그래밍과 직접적 관계있는 교육 및 경험 교내에서의 경험 예술대학교 재학중 들은 컴퓨팅 관련 과목 디지털 아트 전공의 수업 ⬛피지컬 컴퓨팅: 아두이노와 기초 C언어 학습 라인 트레이서를 기말 과제물로 제출 Part: 세그먼트 타이머...

클래스와 인터페이스, 제너릭

클래스란 무엇일까? 기존에 가지고 있던 오해 ⚫역할을 크게 나누어주는 이름이다? ->우테코 미션을 하며 패키지를 처음 나눈 뒤 클래스를 만들며 들었던 생각. 그러나, 이 설명으로는 view와 viewModel 등을 나누는 패키지와 클래스의 차이를 설명할 수 없다. ⚫함...

Kotlin in Action 1챕터

코틀린은 도대체 무엇일까 자바 코드와의 상호운용성이 중시된다. 따라서 자바자 사용중인 곳에서는 거의 대부분 코틀린의 사용도 가능하다. 그렇다면 자바와 무엇이 다를까? 높은 생산성 ⚫간결하면서도 표현력이 뛰어나서 유지보수를에 용이하다 ⚫타입추론이 잘 되어있어서 타입을 명시하지 않아도...