정통대 프로그래밍 스터디 동아리 ICE Land 입니다.
~ 최신 글 ~
Spring 입문 1
◆ 작업 환경 JAVA 11 IDE : Intelli J Web Framework : Spring OS : Windows ◆ 참고 사항 Controller, Service, Repository 패턴 Controller, Service, Repository 패턴은 정형화 되어있음 Controller = 외부 요청을 받음 Service = 비즈니스 로직을 만듦 Repository = 데이터 저장 Test 시, given, when, then 패턴을 사용하는 것에 익숙해지자 ◆ Simple Member…
Effective Java – Consider a builder when faced with many constructor parameters
정적 팩토리와 생성자에는 동일한 제약 조건이 있다. -> 선택적 매개변수가 많을 때 적절히 대응하기 어렵다. 매개 변수가 많아질 경우 사용할 수 있는 세 가지를 고려해 볼 수 있다. 텔레스코핑 생성자 패턴 자바빈즈 패턴 빌더 패턴 (1) Telescoping constructor pattern 필수 매개변수와 선택 매개변수를 갖는 생성자의 형태를 띤다. 아래에 예시를 나타내겠다. 필수 매개변수만 갖는 생성자 필수 매개변수 + 하나의 선택…
디지털액자 (3)
하드웨어를 구성했으니 웹 서버를 만들 차례입니다. FastAPI 와 Jinja2 템플릿을 사용하여 빠르게 만들겠습니다. FastAPI: https://fastapi.tiangolo.com/ko/ 레이아웃은 아래와 같이 할겁니다 눈이 부시면 안 되기 때문에 다크 테마로 적용시켰고 미래 일정까지 다 보이도록 일정 공간을 넓게 잡았습니다. 그리고 매주 금요일마다 서울에 다녀와야 해서 예매 까먹는걸 방지하기 위해 예매 내역을 조회할 수 있는 칸을 만들었습니다. 그리고 웹 페이지기…
MiscThings 공모전 준비
아이슬란드 상위 동아리인 MiscThings의 각종 활동을 준비하기 위해 서류 작업 및 초기 활동을 정리하였습니다. 현재 계획하고 있는 활동 중 아래 3가지의 활동을 준비하였습니다. 예비창업패키지 준비(~3.17) 사업계획서 작성을 위한 내용 취합 및 정리용 Notion 생성 2021년 생애최초예비창업 졸업생으로써 후속 과제 지원 준비 2022년 1학기 도전학기 22학년도 1학기 학기가 시작되어 도전학기 1주차 활동을 실시 원활한 활동을 위해…
시외/고속 버스 AppleWallet Pass 제작 (2)
Pass를 만들 때 사용되는 주요 정보는 다음과 같습니다. 해당 코드는 예시로 Pass를 제작할 때 사용했던 코드이며 SM Ent. 세계관을 인용하여 만들었습니다. 에스파 사랑해 저기에 들어가는 정보들을 이제 원본 승차권에서 받아와서 Pass로 만드는게 목표 승차권 예매 플랫폼별로 표시되는 정보도 달라서 이 점 감안하여 만들어야 할 것 같습니다.
Kotlin 안드로이드 앱 프로그래밍 (1)
학기중 수강한 프로그래밍 언어(python, C, Java) 외에 새로운 프로그래밍 언어에 대해 학습하고 싶었습니다. 이미 수강했던 Java 와의 언어적 상호관계가 있는 Kotlin 언어를 새롭게 학습해 보는것으로 하며 그리고 이번 학기에 수강하는 앱프로그래밍 과목도 배우니 혼자서 공부하면 꿩먹고 알먹고 좋을꺼같아서 Kotlin 안드로이드 앱 프로그래밍을 한번 공부해보는것으로 결정하였습니다. 1. 개발 환경 준비 구글은 13′ 에 안드로이드 전용 앱을…
밥약 (3)
에브리타임에서 시간표를 불러오는 알고리즘을 조금 개선 하였습니다. 파이썬으로 제작하였고 먼저 에브리타임의 시간표를 XML 형식으로 파싱해주는 코드는 다음과 같습니다. Request 를 이용하여 에브리타임 API에 요청하면 에브리타임의 시간표 URL 에서 시간표만 반환합니다. 반환된 시간에서 시간 정보만 가져올 수 있도록 다시 리스트로 반환 하여 temp 리스트에 넣어둡니다. 반환된 시간표 정보들을 이용하여 빈 시간을 가져 와야 함으로 빈 배열을…
시외/고속 버스 AppleWallet Pass 제작
AppleWallet의 Pass 기능을 이용하여 승차권을 만들어보려고 합니다. 해외같은 경우는 특히 이게 잘 되어있는데 국내는 항공사도 일부만 지원하고 버스같은 경우는 아예 없는 듯 하여 기획하여 만들어보려고 합니다. 방식은 시외버스 기준으로 현재 시외버스티머니, 버스타고, 카카오T 에서 승차권 발행이 되는거로 알고있는데 여기서 QR과 탑승정보가 나온 화면을 캡쳐(저장)하면 그걸 기반으로 Pass를 생성해주려 합니다 이런 느낌으로 될듯
디지털액자 (2)
먼저 하드웨어 세팅을 해 봅시다. 준비물은 다음과 같습니다. 남는? TV 또는 모니터 우분투가 올라가는 업보드/라즈베리파이/미니PC OS 설치용 USB 1개 유선 키보드, 마우스 HDMI 케이블 1개 라즈베리파이는 라즈비안도 가능할 수 있습니다. 일단 크로미움이 깔리고 UI가 잘 뜨면 됩니다. 키보드/마우스는 무선이라도 블루투스가 아닌 unifying 수신기가 달린 제품이면 상관 없습니다. 우분투 버전은 Desktop 버전을 설치했습니다. 사용 이유는 일단…
Effective Java – static factory method
public 생성자 말고 정적 팩토미 메소드 쓰세요
밥약 (2)
에브리타임 시간표를 기반으로 여러 시간표를 비교해서 공강 시간을 알려주는 프로젝트입니다. 지난 게시글에서 밥약을 만들기 위해서 “시간표 비교 알고리즘(공강 시간 반환)”을 해결해야 한다고 하였습니다. 파이썬 Request 라이브러리를 이용하여 에브리타임 시간표를 파싱 하고 BeautifulSoup를 이용하여 원하는 시간표 값을 파싱 하였습니다. 시간표 비교를 위해 빈 배열의 시간을 만들고 파싱한 시간표를 대입하여 공강 시간을 추출하였습니다. 현재 기능적으로 공강 시간은…
파이썬 라이브러리 소개: Celery
비동기 작업을 손쉽게 관리해주는 라이브러리 Celery 에 대해 간단히 소개 드리겠습니다. 파이썬에서는 비동기 모듈을 사용하지 않으면 기본적으로 동기 방식으로 작업을 처리합니다. asyncio를 사용하지 않고 비동기 작업을 원할 때 Celery 를 사용하면 됩니다. Celery 는 라이브러리지만 broker 와 backend 가 필요합니다. broker는 큐이고 backend 는 샐러리가 처리한 결과물을 저장합니다. 아래 그림을 보시면 이해가 쉽습니다. python 에서…
밥약 (1)
에브리타임 시간표를 기반으로 여러 시간표를 비교해서 공강 시간을 알려주는 프로젝트 입니다. 대학생활에서는 사람들마다 다 다른 시간표로 대학생활을 하고 있습니다. 그래서 서로 점심을 먹거나 약속을 잡을때 시간잡기가 어렵습니다. 파이썬 공부를 위해 에브리타임 시간표를 분석하여 서로의 공강시간을 알려주는 프로젝트를 진행 하고자 합니다. 구상하고 있는 밥약의 기능은 다음과 같습니다.. 로그인 기능으로 자신의 시간표를 저장해야함 비로그인 기능으로 단순 시간표…
토이프로젝트 디지털액자 (1)
원룸에 기본 옵션으로 있는 TV를 다양한 정보가 담긴 디지털 액자?로 만드는 프로젝트입니다. 자취를 하면 원룸에 옵션으로 딸려오는 TV가 있는데요. 이건 화질도 좋지 못하고 공간만 잔뜩 차지합니다. 개인적으로 TV를 자주 보지 않기 때문에 무관심으로 1년을 지낼 수도 있지만 마침 눈에 잘 밟히는 자리에 있기에 어떻게든 활용해 보려 합니다. 일단 구상하고 있는 액자 기능은 다음과 같습니다. 오전…