본문 바로가기

전체 글109

[포스터] 동아리 행사를 위해 만든 포스터들 마지막 해커톤은 폰해커톤입니다. (개최 안 함) 2022. 3. 16.
[독립 출판] 내 만화책을 세상에 내보내기까지 회사에서 인턴 생활을 하며 겪은 재밌는 에피소드들을 꾸준히 만화로 그려 회사 블로그와 인스타그램 등에 일상툰의 형식으로 연재해왔는데요. 처음에는 장난식으로 그렸던 만화지만, 회차가 쌓이고 주변인들의 반응이 좋아 오랜 꿈이었던 출판을 해보자는 생각이 들었습니다. 우선 지금까지 그린 만화들을 편집해 인디자인으로 편찬했습니다. 기존 만화 파일을 포토샵 액션을 이용해 일괄적으로 편집했습니다. 페이지 번호도 넣고, 책 정보도 넣습니다. 그림판 만화다 보니 화질이 떨어질까 걱정했는데 인쇄해보니 글씨가 생각보다 잘 보여서 다행이었습니다. 다만 책의 안쪽 접히는 부분을 고려하지 않고 만화를 가운데에 배치했더니 보기에 조금 불편해서, 이 부분을 개선하고 다시 샘플본을 주문했습니다. 구청에 방문해 출판사를 신고하고, 만화.. 2022. 3. 4.
[후기] 첫 인턴 생활을 마치며 2021년 3월부터 2022년 2월까지 총 1년간의 인턴 생활을 끝마치게 되었습니다. 3월부터 8월까지는 휴학 후 풀타임 인턴으로, 9월부터 2월까지는 학교 비대면 수업 18학점 수강과 병행하며 파트타임으로 일했습니다. 처음 입사하고 나서는, 피그마 API를 이용해 피그마 작업물을 그대로 바닐라 자바스크립트 및 HTML, CSS 파일로 변환해주는 Figma to app이라는 프로그램을 만들었습니다. 이 프로그램을 이용해 디자인을 그대로 웹으로 컨버팅한 것이 Medimages입니다. 그 후에는 피그마에서 번역 작업을 용이하게 해주는 피그마 플러그인을 Typescript로 만들었습니다. 이 또한 Medimages에 적용되어 한국어, 영어, 스페인어를 지원할 수 있게 되었습니다. 그 후에는 회사 메인 홈페이지.. 2022. 3. 3.
[Flutter] Stateless 위젯과 Stateful 위젯 플러터에서 위젯은 크게 두 가지 종류가 있습니다. Stateless 위젯과 Stateful 위젯입니다. Stateless 위젯 불변(immutable)한 위젯입니다. 최초에 만들어져 화면에 그려지고 나면, 위젯을 삭제하고 새로운 위젯을 만들지 않는 이상 수정되지 않습니다. 그래서 생명주기(life cycle)를 거의 고려하지 않아도 괜찮습니다. material.dart 파일을 import하고 Stateless 위젯을 만들어 봅시다. import 'package:flutter/material.dart'; class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'F.. 2022. 1. 15.
[Flutter] 개발 환경 설정 및 Dart 언어의 특징 알아보기 제가 맥이 없으므로 안드로이드 개발에 대해서만 다루겠습니다. 개발환경 설정 (맥을 제외한 OS에서) Git을 설치해주세요. 여기에서 최신 버전의 안드로이드 스튜디오를 다운받아 설치해주세요. 여기에서 Flutter SDK 최신 버전을 다운받아 설치해주세요. 환경 변수의 Path에 Flutter SDK를 설치한 곳의 bin 폴더 주소를 추가해주세요. 안드로이드 스튜디오에서 SDK 매니저를 연 후 원하는 안드로이드의 버전을 설치해주세요. 터미널에서 flutter doctor --android-licenses 를 입력하고 각 항목에 동의해줍니다. flutter doctor을 입력해봅니다. 이렇게 뜨면 잘 된 것입니다. 안 된 것이 있으면 잘 고쳐봅시다. Dart 구글에서 개발한 다트는 자바스크립트의 자율성과 자.. 2022. 1. 11.
[디자인] 뉴모피즘(neumorphism), 글래스모피즘(glassmorphism) 뉴모피즘(neumorphism) https://dribbble.com/shots/9517002--Light-Mode-Simple-Music-Player 빛과 그림자, 그라데이션를 이용해 UI를 만드는 방식입니다. https://neumorphism.io/#e0e0e0 에서 css 코드를 만들어볼 수 있습니다. https://dribbble.com/shots/6629008-DailyUI-004-Calculator/attachments, https://dribbble.com/shots/9157457--Nuemorphism-Calculator-UI/attachments/1199825?mode=media 스큐어모피즘(UI 요소가 실제 세상에 있는 요소들의 세부 사항까지 반영하는 스타일), 플랫 디자인(미니멀리즘.. 2021. 12. 17.
[알고리즘] 허프만 코딩 허프만 코딩 원본 데이터에서 자주 출현하는 문자를 적은 비트, 출현 빈도가 낮은 문자를 많은 비트로 부호화해 데이터를 효과적으로 압축하는 방법입니다. $C$를 $n$개의 문자로 이루어진 집합으로 두고 $c\in C$, $c.freq=c$의 빈도 수라고 둡니다. $Q$라는 $freq$가 key인 최소 우선순위 큐도 둡니다. HUFFMAN(C) n = |C| // n은 C의 크기 Q = C // Q를 C에 대해 초기화 for i=1 to n-1 let z = new node; // 새로운 노드 z 할당 z.left = x = EXTRACT_MIN(Q) // Q에서 최소 노드를 뽑아 x, z.left에 할당 z.right = y = EXTRACT_MIN(Q) // Q에서 최소 노드를 뽑아 y, z.right에.. 2021. 12. 16.
[클린 코드] 클린 코드 9~10 9 9.1 TDD 법칙 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다. 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다. 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다. 9.2 지저분한 테스트 코드를 쓰나 테스트를 안 하나 오십보백보다. 테스트 코드도 실제 코드 못지 않게 중요하다. 깨끗하게 짜야 한다. 테스트 코드가 지저분하면 실제 코드를 변경하는 능력이 떨어지고, 개선하기 어려워진다. 9.3 테스트 코드는 가독성이 가장 중요하다. 9.4 테스트 함수마다 개념 하나만 테스트해야한다. 각 개념마다 테스트를 쪼갠다. 9.5 F.I.R.S.T. Fast: 테스트는 빨라야 한다. 자주 돌려야 하기 때문이다. Indepandent: 각 테스트는 서로 .. 2021. 11. 6.
[클린 코드] 클린 코드 4~8 4 코드는 복사, 붙여넣기, 이동 등등을 통해 자주 변하지만, 주석은 코드를 따라가지 않는다. 주석을 최대한 줄이자. 4.1 코드에 설명이 필요하면 주석을 달기보다는 설명이 필요없이 명확한 코드로 고치면 된다. 4.2 코드의 의미를 주석으로 설명하기보다는 함수를 분리하거나 이름을 잘 붙여서 코드만 봐도 의미가 파악되도록 하자. 4.3 법적인 이유로 다는 주석은 꼭 필요하다. 정보를 제공하는 주석, 의도를 설명하는 주석, 의미를 명료하게 밝히는 주석 등은 유용하지만 최대한 줄이면 좋다. 결과를 경고하는 주석, TODO, 중요성을 강조하는 주석은 합리적일 수 있다. 4.4 코드만 봐도 알 수 있는 내용, 너무 당연한 내용을 주석으로 설명하지 말자. 잘못된 내용을 주석으로 달지 말자. 수정 이력도! git같은.. 2021. 10. 3.
[Flutter] Flutter에서 GraphQL을 잘 사용해보자! 회사 블로그 https://blog.promedius.ai/flutter-graphqleul-jal-sayonghaeboja/ 에 올린 글입니다. 아카이브용으로 가져왔어요. [Flutter] Flutter에서 GraphQL을 잘 사용해보자! 안녕하세요, 개발팀 톡기입니다. 오늘은 Flutter에서 GraphQL을 사용하면서 알게 된 것들을 글로 정리해 볼 거에요. 👀 코드들의 기본 틀은 graphql_flutter 패키지 문서에서 가져왔습니다. 패키지 가져 blog.promedius.ai 오늘은 Flutter에서 GraphQL을 사용하면서 알게 된 것들을 글로 정리해 볼 거에요. 👀 코드들의 기본 틀은 graphql_flutter 패키지 문서에서 가져왔습니다. 패키지 가져오기 & 설정하기 우선 Graph.. 2021. 9. 27.
[클린 코드] 클린 코드 1~3 https://book.naver.com/bookdb/book_detail.nhn?bid=7390287 Clean Code 『CLEAN CODE(클린 코드)』은 오브젝트 멘토(OBJECT MENTOR)의 동료들과 힘을 모아 ‘개발하며’ 클린 코드를 만드는 최상의 애자일 기법을 소개하고 있다. 소프트웨어 장인 정신의 가치를 심어 주며 book.naver.com 읽으면서 요약하고, 덧붙이고 싶은 내용이 있으면 덧붙이면서 정리할 예정입니다. 1. 클린 코드 1.1 코드는 요구사항을 표현하는 언어이다. 1.2 처음부터 좋은 코드를 짜는 것이 답이다. 1.3 나쁜 코드는 생산성을 떨어트린다. 일정과 요구사항이 있더라도, 좋은 코드를 사수하는 것이 프로그래머의 책임이다. 클린 코드란? 보기에 즐겁고 우아한 코드 (.. 2021. 9. 26.
[후기] 모더나 1, 2차 접종 후기 저는 1, 2차 모두 모더나로 접종을 받았습니다. 사전예약은 아니고, 인턴으로 근무중인 회사가 병원 협력업체라서 협력업체 소속으로 접종받게 되었습니다. 맞기 전에 부작용 등이 궁금해서 검색을 해보니 20대 모더나 후기가 많지 않아서, 접종 후 후기를 써야겠다고 생각했네요. 👀 1차 (07/07 수요일) 💉 회사 분들과 다같이 병원에 가서 접종을 받았습니다. 들어가서 생년월일과 이름을 말하면 진료표를 주십니다. 이름이 불릴 때까지 대기하다가 예진실에서 설명을 듣고, 문제가 없으면 바로 접종실에서 주사를 맞으면 됩니다. 주사는 정말 아프지 않고 따끔! 하고 끝납니다. 접종 부위를 문지르거나 누르면 안 됩니다. 주사를 맞고 나오면 1차 접종 스티커와 이상반응 및 대처방법 등이 적힌 안내문과 타이머를 주십니다... 2021. 8. 9.