분류 전체보기

개발 잡기술

[Udemy 강의 후기] Spring Boot 3 & Spring Framework 6 마스터하기!

저번 강의에 이어, 이번에도 글또라는 개발자 글쓰기 커뮤니티와 유데미가 협력하여 강의 지원을 받아 강의를 보고 후기를 적어보려 합니다. 강의 링크: https://www.udemy.com/course/spring-boot-and-spring-framework-korean 이번에 지원 받은 강의는 "Spring Boot 3 & Spring Framework 6 마스터하기!"라는 강의입니다. 이 강의는 최신 Spring Boot와 Spring Framework 기술을 다루면서, 웹 개발자가 시장에서 요구하는 현대적인 Java 애플리케이션을 개발할 수 있도록 설계되어 있습니다. 영어 강의로 되어 있지만, 한글 자막이 정말 잘 달려있어 양질의 영어 강의를 한글 자막과 함께 볼 수 있다는 것이 큰 장점입니다. 강..

개발 잡기술

svg에 호스팅 된 image url를 넣기 위한 사투 (용량과의 전쟁)

사이드 프로젝트를 하면서 프로젝트 소개와 마케팅을 위한 랜딩 페이지를 만드는데, SEO가 필요 없는 단순 정보전달성 섹션은 쿠팡의 제품 상세설명 이미지처럼 따로 퍼블리싱 없이 피그마에서 그대로 이미지로 추출해 웹페이지에 박아넣고 싶은 욕구에 휩싸였다. 프로젝트 팀원들과 랜딩페이지 개발을 완성하기 전에는 카페에서 아무도 못 나간다고 약속한 상태였기 때문에 빠른 퇴근만큼 설레는 일은 없었다. 얼른 이미지로 박아 넣고 이 카페에서 나가겠다는 집념 하나로 시작됐다. 솔직히 길어봤자 5분이면 끝날 줄 알았다. 문제는 5초만에 발생했다. png 이미지가 포함된 한 페이지를 svg로 추출했는데, 용량이 무려 25메가나 됐다. svg 파일을 조금 뜯어보니, 사이즈가 큰 이미지 파일이 base64로 그대로 인코딩 되어 ..

개발 잡기술

파이썬 input 한 줄로 쓰기 - 객체 unpacking * 사용

항상 input을 받아서 객체에 할당하고자 할 때 코드를 이런 식으로 썼었다. class Student: def __init__(self, height, weight): self.height = height self.weight = weight N = int(input()) students = [] for i in range(N): h, w = input().split() students.append(Student(h, w)) N을 받고, 객체를 저장할 리스트를 선언 및 초기화하고, for문을 통해 input을 받은 후 리스트에 객체를 추가하는 방식이었다. 아무리 생각해도 간단히 쓸 수 있을 거 같은데, 파이썬에 익숙하지 않아서 알고리즘 문제들을 풀면서 관성적으로 이렇게 긴 코드를 쓰다가 오늘 드디어 간..

개발 잡기술

이젠 진짜 알고리즘 공부 해야지..! 코드트리 사용기

정신 차려보니 3년차가 되었고, 학생 때 생각했던 3년차의 멋진 내 모습과는 다르게 나는 알고리즘 문제에 여전히 겁을 낸다. 더이상은 물러날 데가 없다고 생각하고 있던 차에, 활동하고 있는 개발자 글쓰기 커뮤니티 글또에서 코드트리와 협업을 해 양질의 알고리즘 공부를 무료로 할 수 있는 기회를 받았다! 사실 알고리즘 공부라고는 거의 백준밖에 몰랐던 나지만, 좀 더 체계적으로 업그레이드 된 프로그래머스 같다는 느낌을 많이 받았다. 우선, 첫인상이 매우 좋았다. 코드트리에서 시키는 대로 가입을 하고 보니 깃허브 잔디에 자동으로 연동을 할 수 있었다. 백준에서 알고리즘 문제를 풀면 그 코드를 깃헙으로 항상 커밋해 관리하고 있던 나로서는 너무나도 감사한 기능이었다. 코드트리가 얼마나 알고리즘에 진심인 개발자들이 ..

개발 잡기술

[Udemy 강의 리뷰] 옆집 개발자와 같이 진짜 이해하며 만들어보는 첫 Spring Boot 프로젝트

글또라는 개발자 테크블로그 글쓰기 커뮤니티에서 활동하고 있는데, 글또가 이번 기수에 유데미와 협업을 하며 이 강의를 무료로 지원받았다! 마침 스프링으로 백엔드 구성하는 법을 배우기 시작해 도움을 많이 받았던 강의다. 강사분께서 이 강의는 코드를 따라 치며 배우는 다른 강의와는 완전히 다른 학습 방식을 표방한다고 선언하며 시작한다. (지금까지 들었던 인터넷 강의들 중에 강사님 목소리가 가장 좋아서 정말 좋았다. 편하게 듣기 좋지만 졸리지 않은 정말 단단한 목소리를 가지셨다..) 강의는 바로 스프링으로 뛰어들지 않고, 스프링 학습에 필요한 정말 기초 중 기초부터 가르쳐주신다. 비전공자는 물론이고, 그냥 개발 세계에 처음 입문하는 사람도 쉽게 접근할 수 있도록 구성된 커리큘럼인 것 같다. 물론, 나처럼 실무를..

개발 잡기술

Metabase 필터 사용법 (날짜 필터 설정하기)

메타베이스는 UI로 강력한 필터 기능을 제공하고 있다. 사실, sql 쿼리를 어느 정도 쓸 수 있는 사람이라면 Metabase 적응이 크게 어렵지 않지만, 한 번 난관을 맞이하는 곳이 있다면 필터일 것이다. 공식 문서를 봐도 자세히 설명이 되어 있지 않고, 잘 설명된 한국어 블로그 글도 없어서 많은 삽질을 했다. 다른 사람들은 나만큼 오래 삽질을 하지 않기를 바라며 남기는 글이다. 날짜 필터 설정 우선, 새로운 용어와 개념이 많이 나올 예정이라, 가장 범용적으로 사용될 날짜 필터부터 살펴보며 자연스럽게 용어들을 설명해보려 한다. 날짜 필터를 설정하는 방법에는 두 가지가 있다. 첫째는 Date 필터를 두 개 만들어서 (start_date, end_date) 각각 설정해주는 방법이고, 둘째는 Field Fi..

개발 잡기술

Metabase(메타베이스)를 활용해 데이터 시각화하기

요즘 데이터로 의사결정 해야 한다는 인식이 널리 퍼지면서 BI, 데이터 시각화 툴이 대세인데요, 이번 글에서는 Metabase라는 간단한 BI 툴로 손쉽게 데이터 시각화 하는 방법을 설명하려 합니다. 메타베이스를 활용하면 위 이미지 같은 통계 데이터 대시보드를 오직 클릭 몇번만으로 만들어 낼 수 있습니다. 며칠간 메타베이스를 살펴보면서 소개하고픈 장점이 몇 가지 있었는데요, 1. 강력하고 직관적인 기능으로 웬만한 요구사항은 모두 구현할 수 있습니다. 2. 오픈소스로 github에 공개 되어 있습니다. 3. UI가 깔끔합니다. 설치 방법 그럼 설치법부터 알아보겠습니다. 기본적으로 구현된 웹서버가 docker 위에 말려져 올라가 있기 때문에 설치 방법은 매우 간단합니다. docker pull metabase..

Backend

Next.js 14와 Firebase로 간단하게 백엔드 API 만들기

항상 백엔드를 간단하게 만들어 보고 싶다는 생각을 가지고 있었습니다. 최근 사이드 프로젝트를 시작하며 이번 기회에 프론트 구현을 위해 쓴 Next.js 위에서 파이어베이스를 활용해 한꺼번에 API를 구현해봤습니다. 원래는 간단하게 백엔드 작업을 할 때 Node.js로 작업한 후 heroku로 배포를 해왔는데, 이번에 하는 방법은 그보다 더 간소화된 방법입니다. 프론트와 별도로 repository를 생성하거나 별도로 배포 작업을 할 필요가 없습니다. 또, 파이어베이스를 활용해 인프라, DB 작업을 정말정말 간단하게 진행할 수 있습니다. 트래픽이 많지 않을 걸로 예상되거나 MVP를 빠르게 만들어 내야 하는 사이드 프로젝트의 경우에 유용한 방식입니다. (저는 실제로 이 방식으로 API 10개 정도 되는 MVP..

개발 잡기술

사이드 프로젝트에 미친 사람이 서비스 20개 만들면서 느낀 것들

활동하는 커뮤니티 AUSG(AWSKRUG University Student Group)에서 제가 발표한 내용을 정리한 글입니다. (글을 적으며 조금 각색되었습니다.) 사진 배경을 보면 흐리게 로고가 들어가있는 걸 볼 수 있는데, 제가 지금껏 만들어 온 서비스들의 로고를 모아놓은 것입니다. 제가 했던 프로젝트들 중에서도 로고가 있는 프로젝트만 모아 봤습니다. 약 2년 정도의 시간 동안 만들어 온 프로젝트입니다. 사이드 프로젝트를 꿈꾸는, 하지만 막막해 하는 개발자 분들께 제가 사이드 프로젝트를 해 온 경험을 들려드리면 그 고민들에 조금이라도 힘을 보탤 수 있지 않을까 해서 정한 주제입니다. 앞으로는 사이드 프로젝트를 쓰기 쉽게 '사이드'라고 간단히 부르겠습니다. 제가 어쩌다가 사이드에 빠지게 되었는지, 그..

iOS/UIKit

[iOS] UICollectionView의 isSelected 프로퍼티 올바르게 이용하기

UICollectionView의 isSelected 프로퍼티 UICollectionvViewCell에는 isSelected라는 내장 프로퍼티가 있다. 이름에서 알 수 있듯, 해당 셀이 선택되었는지를 나타내는 프로퍼티다. isSelected는 UICollectionView delegate의 didSelectItemAt, didDeselectItemAt과 함께 불리기 때문에, 이런 식으로 셀이 선택되거나 선택이 해제되었을 때 setSelected와 같은 핸들러 메서드를 만들어 액션을 정의해 줄 수도 있다. override var isSelected: Bool { didSet { setSelected(isSelected) } } isSelected 프로퍼티는 직접 그 값을 변경하면 안 된다 위 isSelect..

Danna 다나
'분류 전체보기' 카테고리의 글 목록