디자인 시스템, 디자인과 코드의 간극 줄이기
안녕하세요, 에잇퍼센트 웹 프론트엔드 팀의 김민정입니다. 프론트엔드 팀은 사내 EDS(Eight Design System)를 적용한 웹 서비스를 효율적으로 구현하기 위해 팀 내 UI 라이브러리인 eds-wc를 제공하고 있습니다. 디자인 팀과 프론트엔드 팀이 협업하여 디자인 시스템을 구현하는 과정에서는 고려할 사항이 매우 많습니다. 특히, 명세에 대해 디자이너와 개발자 간 이해의 차이로 인한 반복적인 커뮤니케이션은 대부분 경험하였을 것입니다. 또
AgileDesign SystemFrontendToolsUX/UI
에잇퍼센트 백엔드 개발자로 합류할 당신에게
신규 백엔드 개발자 합류를 앞두고 Backend 팀 온보딩 프로세스를 수립한 이야기를 공유합니다. 어쩌다 온보딩 프로세스를 만들게 되었나요? 어떤 과정으로 온보딩 프로세스를 만들었나요? 원칙 1: 체계성 원칙 2: 성취감 원칙 3: 부담 줄이기 온보딩 프로세스는 어떻게 구성되었나요? 1. 체크리스트 2. 데일리 미션 3. 전달 사항 온보딩 프로세스는 어떤 결과를 가져왔나요? 어쩌다 온보딩 프로세스를 만들게 되었나요? 버디란, 에잇퍼센트의 모든
BackendCareerTools
웹 컴포넌트로 프레임워크 마이그레이션 준비하기
들어가며 소프트웨어는 살아있는 생명체와 같아서, 시간이 흐르면 그 생애를 마감합니다. 우리 개발자의 역할은 제 몫을 다한 소프트웨어를 조심스럽게 분해하여 새로운 소프트웨어에 생명을 불어넣는 것입니다. EOL(End of Life)을 맞이한 Vue2는 7년이 넘는 시간 동안 에잇퍼센트 프론트엔드를 무사히 잘 이끌어왔습니다. 이제는 Vue2를 쉬게 하고 새로운 기술로 전환할 때입니다. 에잇퍼센트는 웹 컴포넌트를 도입하여 Vue2에서 React로의
FrontendMSAPerformanceReactVue
신용평가에서 사용해보는 머신러닝
신용 평가 모델링 소개 안녕하세요. 에잇퍼센트 CSS(: Credit Scoring System)팀입니다. 에잇퍼센트는 대출과 투자를 연계하여 대출자에게는 대출의 기회를, 투자자에게는 새로운 투자 상품을 제공하는 8퍼센트 서비스를 제공하고 있습니다. 에잇퍼센트는 대출자의 신용을 평가하여 대출 조건을 결정합니다. 에잇퍼센트 CSS팀은 머신러닝 모델을 활용하여 더 나은 평가를 하기 위해 노력하고 있습니다. 이러한 노력의 시도들을 나누고자 합니다.
AI/MLData EngineeringMLOps
코어뱅킹 우당탕탕 정산 자동화 개발
1. 소개 안녕하세요. 저는 코어뱅킹 팀에서 주니어 개발자로 일하고 있는 박찬얼입니다. 2022년 2월에 8퍼센트에 합류하여 세금 및 각종 수수료 정산 업무를 담당하고 있습니다. 이 글은 세금 정산 세미나를 소개했던, '코어뱅킹팀이 전하는 세금 정산의 모든 것' 글의 후속편으로, 8퍼센트에서 과거에 사용되던 정산 방법, 그로 인해 발생한 문제점들, 그리고 현재 코어뱅킹 팀이 개선한 방식과 그 이유를 공유하고자 합니다. 2. 정산 정산이란 정산은
BackendData EngineeringDevOpsPythonTools
8퍼센트 플랫폼개발 인턴 후기-마지막
이벤트 케러셀 남은 기간에는 저번 인턴기에 쓴 이벤트 케러셀/배너 스태프 페이지 만들기 작업을 이어서 계속했다. 관리자 페이지에서 케러셀과 배너를 저장하면 관련 정보를 DB에 저장하는 API와 DB에 저장된 정보를 바탕으로 홈페이지에 케러셀과 배너를 자동으로 띄우는 API를 만들었다. 100% 완성한 게 아니라서 인수인계를 하고 가야 한다는 점이 좀 아쉽다. 9주가 호로록 처음 인턴기 쓰던 순간이 생각난다. 그때는 2주도 이렇게 안 지나가는데
BackendDatabaseMobilePerformance
8퍼센트 플랫폼개발 인턴 후기-3
2주마다 스프린트 회고 시간에 행복도 점수를 매기는데, 이번 2주의 행복도 점수를 5점 만점에 4.5점을 줬다! 일이 생각보다 오래 걸려 밀리는 경향이 있지만 모든 일이 새롭고 재밌다. 일만 재밌으면 3점일 텐데 같이 일하는 사람들이 너무 너무 좋아서 4점!(밥 먹고 노닥거리는 시간도 재밌다~) 그리고 눈도 안 와서 +0.5점 해서 4.5점이다. 분석왕 채세이 위에서 말했듯이 우리 팀은 2주마다 스프린트 회고 시간에 행복도 점수를 매긴다. 20
AgileCareerCulture
8퍼센트 플랫폼개발 인턴 후기-2
인턴으로 지낸 지 약 4주가 다 돼간다. 처음에는 일, 사람들, 출퇴근 적응하느라 너무 정신없었다. 이제 인턴 기간 절반 정도가 지나니 조금은 적응이 된 거 같다. 딱 하나 빼고! 눈 오는 한파 날의 출퇴근은 아직도 적응이 안 된다. 인턴 적응기 (4주 차) 코드리뷰 하면서 배운 점 공지사항을 예약 공개 할 수 있게 해달라는 과제를 받았다. 여러 과제를 해오면서 어느 정도 할 수 있다는 생각이 들어서 파이팅 넘치게 시작했다. reserved_d
CareerFrontendMobileTools
8퍼센트 플랫폼개발 인턴 후기-1
8퍼센트에 지원한 이유 옛날부터 꼭 인턴을 하고 싶었다. 학교 교육과 전혀 다르다는 실무도 궁금했고, 실제 서비스를 제공하는 곳의 개발 프로세스를 경험해보고 싶었다. 이제 금융에 관심을 가지기 시작해서 공부 중인데 이를 같이 접할 수 있는 곳이면 재밌겠다 싶어서 핀테크 회사인 에잇퍼센트에 오게 되었다. 인턴 적응기 (2주 차) 인턴 첫날 인사 담당자를 만나 회사에 대한 전체적인 설명을 듣고 개인 노트북으로 쓸 Mac Pro를 받았다. 기본적인
BackendCareerDevOpsFrontendMobile
[장고 ORM] 역방향 참조 외래 키 찾기
이 포스팅은 8퍼센트의 CTO 이호성 님으로부터 치킨 두 마리를 지원받아 주관적으로 작성되었습니다. 개요 (TL; DR) 장고에서 외래 키 값을 수정할 때, 순방향 참조를 수정하는 경우(수정할 모델이 다른 모델을 가리킬 때)에는 단순히 외래 키 필드에 저장된 값을 수정하면 됩니다. 하지만 반대로, 역방향 참조를 수정하는 경우(다른 모델이 수정할 모델을 가리킬 때)에는 수정할 모델을 가리키는 모든 모델을 수정해야 합니다. 어디서 이 모델을 가리키
BackendDatabaseDjango
for 루프에서 transaction.on_commit을 사용할 때 콜백 함수에 인자를 올바르게 넘기는 방법
transaction 블록 안에서 for 루프와 on_commit을 사용할 때 발생할 수 있는 이슈를 공유합니다. 트랜잭션이 성공적으로 커밋 된 경우에만 특정 동작을 실행해야 할 때가 있습니다. 이 때 장고의 transaction.on_commit 함수를 사용하여 콜백 함수를 등록하면 트랜잭션이 커밋된 후 등록된 순서대로 콜백 함수가 실행됩니다. 문제 상황 예를 들어, 8퍼센트 추첨 이벤트에서 10명의 사용자를 추첨하고 당첨된 사용자에게 안내를
BackendDevOpsDjangoPython
Tableau Server 설치하기
이 글은 “Tableau로 사무실 대시보드 구축하기” 시리즈의 두 번째 글입니다. Tableau 에 대한 간단한 소개와 구축 동기 Tableau Server 설치하기 Prep Builder 로 데이터 흐름 만들기 Tableau Desktop으로 Dashboard 만들기 여러 개의 Dashboard를 자동으로 Rotation & Refresh 하기 글을 들어가기 전에 8퍼센트는 메인 인프라를 AWS에 두고 있습니다. 그리고 Tableau Serv
AWSBackendInfra
Tableau 소개와 대시보드 구축 동기
최근에 Tableau를 이용해서 회사 내에 TV 대시보드를 구축했습니다. 사무실 TV 대시보드 그 과정을 간단히 공유해 보려고 합니다. 글의 순서는 다음과 같이 진행될 예정입니다. Tableau에 대한 간단한 소개와 구축 동기 Tableau Server 설치하기 Prep Builder 로 데이터 흐름 만들기 Tableau Desktop으로 Dashboard 만들기 여러 개의 Dashboard를 자동으로 Rotation & Refresh 하기 윗
Data EngineeringPerformanceTools
날짜 구간에 값을 매핑하는 방법 (그리고 RangeKeyDict)
일정한 날짜 구간에 값을 매핑하는 방법을 알아봅시다. 한 줄 요약 날짜 구간에 값을 매핑할 때 RangeKeyDict를 이용하면 깔끔합니다. 자세히 특정 일자에 따라 값을 다르게 설정해야 하는 경우가 자주 있습니다. 예를 들어, 회사의 포인트 적립 정책이 2020년 1월 1일부터는 1 퍼센트, 2020년 2월 2일부터는 2 퍼센트, 2020년 8월 8일부터는 8퍼센트라고 합시다. 이것은 if 문을 이용해 간단히 코드로 옮길 수 있습니다. fro
BackendPythonTools
Django ORM cookbook 번역 후기
여정의 시작 8퍼센트에서는 여전히 스터디가 꾸준히 이어지고 있다. 스터디를 마치면 자연스레 다음엔 무엇을 해볼까? 하는 기대감이 생기곤 한다. 이번에는 회사에서 메인으로 사용하고 있는 Django에 대해 조금 더 알아보고, 업무에도 바로 적용해 볼 수 있는 스터디를 하기로 결정했다. 호성님의 제안으로 우리는 Django ORM Cookbook 책을 공부해 보기로 했다. Django ORM Cookbook은 Django의 ORM과 모델의 다양한
BackendData EngineeringDjango
파이썬 코드 골프
이번 파이콘 2018에서 레블업에서 진행하는 코드 골프에 참가했습니다. 코드 골프를 처음 알게 되어 시도 해봤는데 그 경험을 공유 합니다. 코드 골프란? 출처(https://www.barrymichaeldoyle.com/code-golf/) 코드와 골프는 과연 무슨 관계가 있을까요? 골프는 가장 적은 타수로 공을 홀에 넣는 경기입니다. 코드 골프는 이와 유사하게 가장 적은 타수, 즉 가장 적은 문자수로 알고리즘을 동작 시키는 경기입니다. 무려
CareerPythonTools
거울아거울아 스터디 - 7
호성님이 열정적으로 강의를 하고 있다 무엇을 배웠는가? 현주님의 정리로 MYSQL 기본문을 실제로 파이썬에서 다루는 내용을 학습하였습니다. 파이썬을 활용하여 직접적으로 MySQL DB에 접속 데이터를 조회, 수정, 삽입하는 방법을 배웠습니다. 기존에 배웠던 내용들을 바탕으로 파이썬에서 CSV 파일을 읽어오고 DB파일에 해당 파일들을 정리할 수 있었습니다. MySQL 이란? MySQL이란 전세계적으로 널리 사용되고 있는 오픈소스 관계형 데이터베이
DatabaseMySQLPython
거울아거울아 스터디 - 6
한사람이 딴짓을 하는 것 같은데.. 무엇을 배웠는가? 안영님의 요약을 통해 4장에서 관계형 데이터베이스, sqlite3을 다루는 방법을 공부했습니다. 관계형 데이터베이스 : 관계형 데이터 모델에 기초한 데이터베이스 관계형 데이터베이스에서 데이터는 행, 열의 2차원 테이블로 표현 테이블에서 고유 키로 각 열을 구별 다른 테이블과 연결 가능 SQL : 관계형 데이터베이스에서 데이터를 다루기 위해 사용하는 일반적인 명령어 집합 create table
Data EngineeringDatabaseMySQLPostgreSQL