본문 바로가기

Archive28

[개발일지] 프로젝트 X 중간평가 및 후기 개요4학년 과목으로 수강 중인 프로젝트 X 중간평가 후기다.플젝X는 학생들이 모여 원하는 프로젝트를 만드는 것이고, 이에 대해 학교의 빵빵한 지원을 받을 수 있다.  우리학교에 koala라는 알고리즘 학회가 있는데, 운영진들은 매번 카톡/노션을 활용해서 스터디원들을 관리한다.이를 웹사이트로 만들어보자는 운영진이 있었고, 운좋게 참여하게 되었다~!   크게 내가 지금까지 한 건 다음과 같다.ERD 개념적 스키마 설계 참여보안성, 가용성을 고려한 AWS 세팅Jenkins + Docker 조합으로 CI/CD POC 진행EB + Github actions CI/CD개발 서버 운영 - shell script 정의도메인 구매 및 세팅작업 문서화팀프로젝트에 대한 운영1. ERD 개념적 스키마 설계 참여처음 프로젝트 .. 2024. 5. 1.
[개발일지] API의 멱등성을 고려하여 개발하기 개요내가 개발한 기능을 쓰는 사람이 Admin 관리자였는데, 개발 과정/구현 내용을 모르다보니 이걸 쓰다가 문제가 생겼다. 이 문제의 핵심은 API의 멱등성을 고려하지 않아서 발생한 것또한, 사용자 관점에서 테스트를 진행해야 한다는 깨달음을 얻었다. API 멱등성이라는 것에 대해 전혀 몰랐고,, 코드 리뷰를 통해 알게 되었다. 따라서 이 포스팅에서는 API의 멱등성에 대해 다루어 앞으로 의식하고 적용할 수 있도록 해볼 것이다! 멱등성(Idempotency)생소한 용어 먼저 살펴보자. 멱등성은 보통 수학에서 자주 사용하는 용어로, 여러 번 연산을 적용하더라도 결과는 달라지지 않는 성질을 말한다. 한자어도 덮을 멱, 무리 등인데 무리(swarm)의 효과를 덮어버린다! 이런 뜻을 담고있다.  HTTP의 멱등성.. 2024. 4. 26.
[개발 일지] 배포 삽질기 | 심볼릭 링크, 리눅스의 Capacities, ufw, netstat 개요 새로운 프로젝트 배포 테스트를 하는 과정에서 했던 삽질에 대해 기록한다. 하나의 도메인 내에서 여러 포트를 사용하고, 또 여러 웹서버를 사용하는데 제대로 서버/네트워크를 파악하지 못할 시 시도해볼만한 것들이다. 내가 진행한 서버의 개략적인 상황은 다음과 같다. HTTP/HTTPS 요청 80, 8085, 8080 - Tomcat, Apache, java application 이 중에서 8080은 서버(platform) 역할을 한다. 8081 - Node.js(React), Nginx 일단 Ningx 웹서버 위에 React 프로젝트를 올리는 건 따로 포스팅할 예정이다. 여기서는 정말 내가 했던 삽질, 날 것을 다룬다... 까먹지 않으려고 기록하는 용이고 필요하다면 키워드를 통해 다른 사람도 활용할 수 .. 2024. 3. 25.
[Archive] 2024 정보처리기사 필기 합격 후기! 준비 방법과 도서 추천 등 개요 소프트웨어학과 전공자로서 정보처리기사는 익히 들어왔던 자격증이라, 4학년이 되는 시점에서 자연스럽게 취득에 도전했다. 공부를 하면서 전공자라면 필요한 자격증이라고 느꼈고, 공부했던 전공 내용들을 다잡기에 확실히 좋은 시험이었다! 준비 기간 및 방법 나의 성향과 전공 활용 필자는 시험을 미리 준비하지 않으면 긴장도가 매우 높고, 회사 다님 + 취준을 병행하다보니 공부할 시간이 많이 없을 거라 전공자임에도 불구하고 시험 약 한달 전부터 준비를 시작했다. 하루만에 합격 이런건 진짜 어떻게 한거지? 싶다. (체감 상 일주일은 아무런 일정없이 이것에만 몰두할 수 있다면 가능할 것같다.) 또한 필자의 경우 기출만 회독으로 시험뿌시기! 이런걸 잘 못한다. 기출 풀고 -> 모르는 건 개념 훑기 최소한 이 과정은 .. 2024. 2. 22.
[인턴십] 2023 ICT 학점연계 인턴십 회고 개요총 4개월(+ 2개월 예정) 간 학점 연계 ICT 인턴십 업무를 수행하였고 학점 평가를 위해 소감문을 제출해야 하는 겸사겸사 회고도 작성하는 포스팅입니다. 회고는 배운 것을 중심으로 총 5가지 사항으로 나누어보았습니다. 기업 현장에서의 생태계 이해와 역할 수행 경험DevOps - 실사용자가 있는 서버 운영 경험 사내 세미나를 통한 프로그래밍 역량 강화 및 소통 능력 향상데이터 기반 사용자 경험 개선백오피스 개발 회사의 전반적인 운영과 협업 프로세스 파악 스타트업 생태계의 성장 경험 인턴십 동안 빠르게 변화하는 스타트업 환경에서의 경험을 통해 깨달은 점은 능동적이고 유연한 태도의 중요성입니다. 초기 스타트업의 특성은 예측 불가능하고 변화가 빠르기 때문에, 꼼꼼한 계획보다는 유연하게 대처하고 적응하는 능.. 2023. 12. 24.
[개발일지] 메일 전송 시 CSS 적용(inline 자동 변환기) 개요 JAVA로 특정 사용자에게 메일을 전송하는 프로그램을 개발하는데, 이때 메일은 html 파일로 템플릿을 만들어서 보낸다. 템플릿에 CSS를 적용하면 CSS를 style 태그로 담은 페이지는 정상적으로 잘 작동하지만, 메일 발송을 할 때에는 정상적으로 작동하지 않는다. 이유와 해결방법에 대해 작성하는 포스팅이다. 문제상황과 이유, 해결 방법 메일 전송 시 CSS가 깨지는 이유 Gmail, Naver 등의 이메일 서비스는 각 사의 보안상 메일 내용을 일부 변조를 하게된다. 이때 script, style등 head태그 내부에 작성하는 내용들이 메일 전송 시에 배제된다고 한다. HTML에 CSS를 적용하는 방법은 3가지가 있다. 외부 .css 파일을 적용 style 태그를 사용하는 임베디드 방식 각각의 H.. 2023. 12. 21.
[개발일지] 개발자가 가져야하는 습관, git pull 이슈 한 Task가 끝나고 새로운 Task를 진행하려고 새로운 repo에 들어가서 작업시도했다. 그런데 아래 사진과 같이 어떤 파일이 없다는 error 아무리 해당 레포의 브랜치를 pull해도 해결이 안되었다. 보안상 사진을 업로드할 순 없어서 대충 글로쓰면 사실 bitbucket을 확인했을 때 원격에서도 확인 안돼서 결국 이사님께 HELP 요청을 드렸던 건데, 이건 이유 모르겠음… 해결 이유는 다음과 같다. 작성된 코드를 보면 repository의 내용들이 서로 연관되어있기에, 위에서 없다고 알려주는 해당 레포(packge)에 가서 pull을 받아와야 한다. (너무 당연한데 작게 사이드 프로젝트만 했었다면 충분히 모를 수 있는 거같음..) 깨달음 사실! 이정도면 포스팅까지 하지않겠는데 작업할 때 항상 .. 2023. 9. 20.
[개발일지] git 영역(Staging)과 소스관리 | 브랜치 전략, PR과 Merge | 협업 시 git 잘 쓰는 방법 개요 지금까지 프로젝트를 하면서 깃허브를 단순 코드 공유기로만 사용하였는데, 회사에서 github를 통해 협업을 진행하며 깃허브의 다양한 기능과 활용법, 장점에 대해 많이 배웠다. 이러한 내용들을 정리하여, 꾸준히 복기하려 한다. git 소스 관리 소스 상태의 확인은 git status 명령어를 통해 확인할 수 있다. 관리 대상 상태 untracked: 파일 변경을 감지하지 않음.(아무런 변화 없는 상태) tracked: 파일 변경 감지함. modified: 파일이 변경된 상태지만 staged는 안되었으므로 Working Dir에서만 변한 상태. staged: 커밋할 대상 commited: Staging Area에 안전하게 저장됨. 보통 github 원격 저장소에 push를 할 때, 다음과 같은 과정을 .. 2023. 9. 16.
[인턴십] 2023 ICT 학점연계 인턴십 지원서 | 면접 | 최종 합격 후기 개요 ICT 학점연계 프로젝트 인턴십은 국내외 기업/대학생/대학이 함께 참여하는 인재 양성 사업이다. 학교 공지사항에서 모집 확인을 했고, 전공 학점까지(12학점) 주며 실무 경험을 쌓을 수 있기에 신청을 했다. 사실 처음에는 붙을 거라는 기대 하나도 없이 CS 면접이라도 보면 이득ㅋㅋ(경험이니까)이라는 생각으로 했는데..! 최종합격까지 해서 이렇게 후기를 쓴다!! 학교마다 참여 기업이 조금씩은 다르고, 매학기 마다 참여 대학과 회사가 달라지니 학기가 시작되기 전에 공지사항을 확인하여 도전해보자. 회사 지원 기준 나는 백엔드 서버 개발자를 희망하고 있고, 이외에도 DA∙SA 등을 희망하기에 관련 직무를 일일이 찾았다. ICT 인턴십 사이트에서 기본적으로 필터링 기능을 제공해주긴 하지만 비추다. 왜냐하면 .. 2023. 8. 24.
[공모전] 2023 IT 창업 개발 동아리 멋쟁이 사자처럼 11기 해커톤 후기 개요 예선 일정: 2023.07.17 - 2023.08.17 본선 일정: 2023.08.18 14:00 - 2023.08.19 07:00 주제: 디지털 격차(이커머스∙소셜미디어∙공공서비스∙블록체인 온체인 서비스 등) 각 분야에서 발생하는 디지털 격차를 각 팀이 선택하여 이를 해소할 수 있는 서비스를 개발한다. 규모: 전국 61개 대학, 1600여명 대학생 참여 이번 행사는 특이하게 NFT 마켓플레이스 콘크릿과 연계하여 참가티켓과 수료증을 토큰으로 받는다! 심사위원과 심사기준 심사위원 멋쟁이사자처럼 대표 이두희, 위메이드 서일구 실장, 알토스벤처스 정해민 심사역, 소풍벤처스 최경희 파트너 등 심사기준 1. 독창성, 전달력, 기술성, 주제 적합도 => 각 항목 당 20점 만점으로 심사합니다. 2. 완성도, .. 2023. 8. 24.
[공모전] 2021 슬기로운 코딩생활 최우수상 후기 | 아두이노 교육 | 아이디어와 기획 | MVP 모델 제작 KAU 창업을 위한 슬기로운 코딩생활 경진대회 1. 배경 기존 항공대학교 창업행사의 경우, 단순 기초역량을 기반으로 참가하기에는 진입장벽이 매우 높았다. 특히 1,2학년의 경우, 전문지식 부족 등으로 기술적 구현에 한계를 느끼고 있다. 그리고 기획자의 경우는 기술적 이해도 낮아, 커뮤니케이션 과정에서 어려움을 호소하고 있다. ‘ICT창업메이커톤’ 또는 ‘창업아이디어경진대회’를 하기 전에 기술창업을 위하여 기초역량강화를 목적으로 행사를 진행하고자 한다. 이에 본 행사를 통해 1) 인문/자연계열 학생은 기초적으로 소통할 수 있는 기술역량을 키우고, 이를 기반으로 간단하게 사업성을 지닌 제품을 제작한다. 2) 공과계열 학생은 기술적 역량을 강화하고, 기획자와 소통을 위한 기초적인 사업계획의 구성에 대해서 이해.. 2023. 8. 2.
[소켓분석] 와이어샤크(WireShark) 분석 프로젝트 | 컴네 하트시그널 3학년 1학기에 했던 프로젝트 중 Python과 Django, Redis Server로 실시간 채팅 서비스를 구현한 채팅 서비스가 있다. 이에 대해 다시 공부를 하며 복기해보려 한다. 실시간 통신 해당 프로젝트는 와이어샤크 캡처를 하고 공부를 하기 위한 프로젝트였기에 서버와 클라이언트 사이에서 무언가 왔다갔다하는 통신이 필요했다. 이를 위해 우리 팀은 실시간 통신이 필수적인 채팅 서비스를 구현하기로 하였다. 유사한 서비스로는 주식 서비스, 실시간 대시보드 등이 있다. 서버에서 웹 클라이언트로 메세지를 전달하는 방법 웹 프로토콜인 HTTP는 클라이언트로부터의 요청에 서버가 응답하는 구조이다. 서버에서 클라이언트로 메세지를 전달하는 방법은 아래 네 가지가 있다. HTTP Polling (실시간 불가능) 실시.. 2023. 7. 26.