카테고리별

Csharp

Back to Top ↑

algorithm

파이썬의 자료구조 - 그래프 문제풀이

그래프 알고리즘 문제풀이 (백준 온라인 저지 18352번) 46번 BFS 탐색 알고리즘을 이용한 인접 리스트 풀이 ```python import sys from collections import deque input = sys.stdin.readline

파이썬의 자료구조 - 정수론 문제풀이

정수론 알고리즘 문제풀이 (백준 온라인 저지 1456번) 거의 소수 -> 소수의 N 제곱 이 소수들을 잘 거듭제곱해보면서 a <= i^n <= b인 수의 개수를 직접 세주는 방식 10^7이하의 소수만 찾아서 계산하면 된다. 숫자를 for문을 통해 반복하면 i ...

파이썬의 자료구조 - 그리디

그리디 탐욕법이라고도 하는 그리디(Greedy) 알고리즘은 “현재 상황에서 최적이라고 생각하는 해를 선택“하는 방법이다. 현재 상황에서 가장 좋다고 생각하는 것을 선택해 나가는 방식이며 이러한 선택 방법이 가장 좋을 것이라고 기대하고 사용하는 것이다. 그러나 말그대로 앞으로 남...

파이썬의 자료구조 - DFS, BFS

그래프란, 정점(node)과 그 정점을 연결하는 간선(edge)으로 이루어진 자료구조의 일종을 말하며, 그래프를 탐색한다는 것은 하나의 정점으로부터 시작하여 차례대로 모든 정점들을 한 번씩 방문하는 것을 말합니다.

내가 몰라 정리한 Python deque

Python DeQue 최근 파이썬 알고리즘을 공부하면서 deque을 사용하게 되었는데, 이에 사용되는 함수가 궁금하여 알아보았다. 일단 list 대신 사용하는 이유는 deque가 List보다 속도가 빠르기 때문이다. list는 O(n)의 속도이고, deque는 O(1)의 속도로...

파이썬의 자료구조 - 스택과 큐

스택과 큐에 대한 내용을 다뤘는데, 파이썬을 활용하여 구현해보겠다. 다시 상기하자면 스택은 LIFO(Last In, First Out), 큐는 FIFO(First In, First Out)이라고 한다. 즉, 데이터를 쌓아서 어떻게 출력할 것인가에 대한 자료구조이다.

알고리즘 시작 - 알고리즘을 배워야하는 이유

최근 많은 회사가 코테를 보고 그 중 하나가 알고리즘이 있다. 2학년 1학기때 저희학교도 알고리즘 수업을 배웠는데, 자료구조가 코딩에서 제일 중요하다는 것을 깨달았다. 오늘은 자료구조 알고리즘에 대해서 기초적인 내용을 적어보겠다.

Back to Top ↑

Springboot

스프링부트 빌드 도커 파일 문제 해결 과정

현재 3월부터 진행하고 있는 스프링부트 프로젝트 (Fashion Cloud)을 하고 있는 과정에서 처음 프로젝트 생성할때 도커파일을 만들어두고 연결을 했다고 생각하였는데 빌드가 정상적으로 발생하지 않는 문제가 발생하였다. 웃긴 게 터미널에 빌드가 되는 형태로 나와있었으면서 막상...

영속성 컨텍스트

스프링부트 프로젝트를 하다 영속성 개념이 매우 중요하다는 것을 들었다. 이 기회에 영속성에 대해서 알아볼까 한다.

스프링부트 구조 살펴보기

지난 시간에는 MVC에 대해 알아보았다. 이제 본격적으로 스프링부트의 파일 구조를 뜯어본 후 살펴보겠다.

스프링부트의 기본, MVC구조

오랜만에 스프링부트에 관해 포스팅한다. 최근 미국 한달살기도 다녀왔고, 부트캠프를 하나 더 진행을 하여서 스프링부트에 관심을 가질 시간이 없었다. 앞으로 스프링부트 관련 프로젝트를 계속 진행하면서 내가 알게된 것을 다시 적어보려고 한다.

스프링부트 로깅 - @Slf4j 이용방법

slf4j란? 전역으로 처리하는 exception handler에서 Slf4j를 이용하는데, 로깅에 대한 추상 레이어를 제공하는 인터페이스의 모음이다. 인터페이스를 사용하여 로깅을 구현하게 되면 추후에 로깅 라이브러리를 변경할 때 코드의 변경 없이 할 수 있다.

Entity와 Table의 차이점

스프링 JPA이란? Java Persistence API (자바 ORM 기술에 대한 API 표준 명세) 한마디로 ORM을 사용하기 위해 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스이다. ORM에 대한 자바 API 규격이며 Hibernate, Ope...

스프링부트란?

스프링이란? Spring이 무엇일까? 스프링은 자바 기반의 웹 어플리케이션을 만들 수 있는 프레임워크이다. spring.io 사이트에서 확인하면 스프링 프레임워크는 현대 자바 기반의 엔터프라이즈 어플리케이션을 위한 프로그래밍 및 Configuration Model을 제공한다고...

Back to Top ↑

forme

새로운 스프링부트 프로젝트 시작

겨울에 진행하던 스프링부트 프로젝트가 있었는데, 팀원들 구조조정과 예의치 못한 상황들로 인해 다들 활동이 부진하고 내가 직접적으로 구현할 수 있는 상황이 별로 없어서 많이 배우지도 못한채 프로젝트가 무산되었다. 이번에는 새로운 친구들과 함께 새로운 주제로 들어가게 되었고, 시작...

실리콘밸리 한달살기 프로그램 회고

실리콘밸리 한달살기 프로그램 6기로 참가하여 해당 내용을 디스콰이엇에 요약해놓았다. 본래 미국에서 느꼈던 부분들을 메모장에 적어놨지만 같이 공유하면 좋을 것 같아서 올려보았다. 글을 정리하면서 다시 한번 느꼈던 점을 정리하였고 덕분에 앞으로 어떻게 해야될지 갈피가 조금 잡힌 것...

실리콘밸리 한달살기 프로그램 요약

실리콘밸리 한달살기 프로그램 6기로 참가하여 해당 내용을 디스콰이엇에 요약해놓았다. 본래 미국에서 느꼈던 부분들을 메모장에 적어놨지만 같이 공유하면 좋을 것 같아서 올려보았다. https://disquiet.io/@guess6466/makerlog/6664

실리콘밸리 방문

실리콘밸리 한달살기를 온 지금 이번 운좋게 테커에서 지원받아 실리콘밸리에 가서 한달살기를 진행하게 되었다. 기간은 22년 12월23일부터 23년 1월 23일까지이다. 해외여행은 이번에 거의 처음이고 개발을 잘하고 관심있어하는 친구들과 함께 가서 관심사도 비슷하고 개발에 대한 좋은...

GDG Devfest 참여 후기

이번에 한국공학대 GDSC 1기로 참여하면서 여러 행사를 접할 수 있었는데, 그 중 하나의 큰 행사가 바로 Devfest이다. 장소는 송도 스타트업파크에서 진행하였고 집에서도 1시간 반 거리였지만 지하철편이 괜찮아서 잘 다녀왔다.

Back to Top ↑

GO

GO언어 - 블록체인 구현해보기

블록체인 GO언어를 처음 접하였을때 제일 관심있었던게 블록체인이다. 블록체인 알고리즘 자체가 신기하였고 나도 이 기회에 공부해보고 싶었던 것이 컸다. GO언어를 이용하여 최근에 블록체인을 구현한다고 하는데 아무래도 제일 큰 이유 중 하나가 코드가 간단하며 실행속도가 매우 빨라서...

GO언어 - Gin 프레임워크 시작하기

Gin 프레임워크 Golang에 대해 기본적으로 공부하였으니 이를 이용하여 웹 서버를 개발하는 방법에 대해서 알아보려고 한다. Golang에는 많은 웹 프레임워크가 있는데 그 중에서 가장 유명한 웹 프레임워크인 Gin 웹 프레임워크를 사용하는 방법에 대해서 알아보자.

GO언어 - 고루틴

고루틴(goroutine) 이란? 고루틴(goroutine)이란, 프로그램에 있는 다른 고루틴과 관련하여 독립적으로 동시에 실행되는 함수이다. 즉, Go 언어로 동시에 실행되는 모든 활동을 고루틴이라고 한다.

GO언어 - 채널 방향, 버퍼링, Select

채널 방향 (channel directions) 채널은 고루틴 간의 통신 매체로 서로 데이터를 주고받을 수 있다. 기본적으로 채널은 양방향이지만 단방향 채널도 만들 수 있는데, 단방향 채널을 만들때는 make() 함수를 사용한다. ```go // 수신용 채널 c1 := make(...

GO언어 - Channel

채널(Channel) 이란? Go 언어에서 채널은 고루틴을 연결해주는 통로(파이프)이다. 기본적으로 채널은 양방향이고 고루틴이 아래 이미지와 같이 동일한 채널을 통해 데이터를 보내거나 받을 수 있다.

GO언어의 중요함

GO언어란? 놀랍게도 만들어진지 10년이 지난 언어이다. 하지만 우리가 평소에 쓰는 Java나 C언어보다는 많은 사람들이 알고 있지 않다. 우연히 GDSC 활동 중 GO 스터디에 들어갈 기회가 생겼고 찾아보았는데 최근 내가 관심있어 하는 블록체인과도 연관이 있다고 한다. 앞으로...

Back to Top ↑

SQL

SQL) 주문량이 많은 아이스크림들 조회하기

문제 설명 다음은 아이스크림 가게의 상반기 주문 정보를 담은 FIRST_HALF 테이블과 7월의 아이스크림 주문 정보를 담은 JULY 테이블입니다. FIRST_HALF 테이블 구조는 다음과 같으며, SHIPMENT_ID, FLAVOR, TOTAL_ORDER는 각각 아이스크림 공...

WHERE과 HAVING의 차이

GROUP BY 관련 문제를 풀다가 WHERE과 HAVING의 사용법이 너무 헷갈려서 정리한다.

SQL) NULL 처리하기

프로그래머스 SQL 코딩테스트를 풀다가 IF문을 처리하기 위해 정리하였다.

SQL 기초 문법 정리

데이터베이스는 ORM을 통해 처음 접하게 되었는데, SQL 코딩테스트를 계기로 SQL문의 기초 문법을 정리해보았다. 아직 알고 있는게 많이 없어서 추가적으로 계속 정리해보겠다.

Back to Top ↑

diary

첫 기술면접을 보고 난 후

미국을 다녀와서 한 달동안 소중한 경험을 한 후 학교를 다니면서도 이 시간을 효율적으로 사용하기 위해 방법을 찾아보았고 최근 이력서를 초안 작성하고 인턴을 많이 신청하였다. 사실 기본 지식도 많이 없고 제일 중요한 자바 경험도 없다보니 서류합격이 될 것이라는 생각을 안해봤지만 혹...

최근 여러 경험을 한 후 나의 고민

나의 고민을 적은지 어느덧 3개월이 지났다. 그동안 많은 일이 있었고 상상도 못할 정도의 소중한 경험을 하였다. 작년 여름방학부터 시작하여 개발 공부를 한지 8개월정도 된 것 같다. 부트캠프도 3번 경험하여 이제 프로젝트의 전반적인 흐름은 파악할 수 있었고 리더로 활동도 해보며...

개발 공부를 하는 최근 나의 근황과 고민

최근 근황 현재 여름방학 부트캠프로 입문하여 개발 공부를 시작한지 5달정도 되었다. 1학기에는 이런저런 것을 많이 해보고 싶었는데 그런 기회가 없어 정신적으로 많이 힘들었지만 지금은 여러 가지의 스터디와 프로젝트를 진행하면서 몸이 바쁜 내 모습을 볼 수 있었다.

Back to Top ↑

React

[React] Hooks - useState을 왜 사용될까?

Hooks 전에 useState에 대해 다뤘는데, 생각해보니 왜 useState을 다뤄야하는 이유를 잘 몰라 찾아보았다. 그리고 내용을 찾았는데, 기본적으로 hook을 먼저 알아야되서 내용들을 공유해보려고 한다. Hook안에 useState와 useEffect가 있는데, 주요 ...

[React] map함수의 필요성

반복문 우리는 일반적으로 지금까지 코딩을 하면 for문, 혹은 while문을 이용하였다. 이는 C,C++등에서 주요 사용하는 코드이다. 이때 파이썬과 JS에서는 반복문으로 추가적으로 map함수라는 것을 사용하는데, 이를 사용하는 이유를 알아보자.

[React] useNavigate으로 props을 주기

useHistory, useNavigate 버튼을 누르면서 해당 페이지를 넘어갈 때 props를 주면서 넘어가야 되는 경우가 있다. 이 때문에 useHistory라는 것을 찾아봤는데, react-router-dom이 6버전으로 바뀌면서 useHistory의 기능인 go, goB...

[React] useState와 useReducer의 차이점

React의 Hook 기능 React v16.8에 새롭게 Hooks라는 기능이 도입되었다. Hooks는 함수형 컴포넌트에 state를 제공함으로써 상태 관련 로직의 재사용을 이전보다 훨씬 쉽게 만들어준다. Hook안에 useState와 useEffect가 있다.

Back to Top ↑

programmers

첫번째 코딩테스트 (1단계 - C언어)

문제1 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주...

Back to Top ↑

Backend

단위 테스트와 통합 테스트

현재 스프링부트 프로젝트 중 우리가 작성한 API을 확인해보는 테스트 작업을 진행하려고 한다. 나는 자바 스프링부트의 경험이 별로 없기 때문에 테스트의 종류와 장단점을 몰라 이를 찾아보고 정리해보았다.

정적 동적 페이지, WAS

정적 페이지 (Static page) 데이터베이스에서 정보를 가져오거나 별도의 서버 처리가 없어도 사용자들에게 보여줄 수 있는 페이지이다. 모든 사용자에게 항상 동일한 페이지를 보여주게 된다. ( HTML, CSS, JS, IMAGE 같은 요소들 )

ORM이란 무엇인가?

ORM이란? ORM은 Object Relational Mapping 즉, 객체-관계 매핑의 줄임말이다. 객체-관계 매핑을 풀어서 설명하자면 우리가 OOP(Object Oriented Programming)에서 쓰이는 객체라는 개념을 구현한 클래스와 RDB(Relational ...

Back to Top ↑

C_project1

첫번째 프로젝트 : 계산기 만들기 (기초적인 계산기 구현)

1주차 C언어 구현 프로젝트를 시작합니다. 이번에는 C언어에서 가장 간단한 사칙연산 계산기를 만들어보겠습니다. 우리가 기본적으로 case문을 배울 때 기본적으로 사칙 연산 계산기를 배운 기억이 납니다. 다만 여기서 끝내는 건 너무 아쉬워서 기초적인 계산기를 만들어본 후 추가 ...

Back to Top ↑