Development 117

Team Collaboration Tool 분석) 1. Jandi

Jandi 토스랩에서 운영하는 대한민국 대표 업무용 협업툴 서비스. ㈜토스랩은 2014년 6월에 설립된 글로벌 IT 스타트업이다. 서울을 본사로 대만, 일본, 말레이시아, 베트남, 아랍에미리트(UAE)등 약 63개국의 기업고객을 보유중이며, 총 39명(본사 33명, 해외 6명)의 인원이 근무하고 있다. 잔디는 일을 잘 하게 도와주는 업무용 협업툴로 업무/팀별 그룹 채팅, 프로젝트 관리, 파일 공유 및 관리, 외부 서비스 연동 기능을 지원하는 클라우드 기반 협업 소프트웨어(SaaS)다. 2019년 12월 '제20회 소프트웨어(SW)산업인의 날'에서 서비스 우수성을 인정받아 SW산업발전유공 장관 표창을 수상한 바 있다. 2017년 3월 유료 버전 출시 이래 LG CNS, CJ, 아워홈, 무신사, 코스맥스, ..

Playddit 비밀번호 이중 암호화 적용기

Playddit 비밀번호 이중 암호화 적용기 🔐 AES256 Playddit에서는 AES256 방식으로 비밀번호를 암호화 하고 있었습니다. 이유는 단 한가지 학원에서 AES256를 이용한 암호화를 배웠기 때문이었습니다. public static String encryptAES256(String str, String key) throws UnsupportedEncodingException, NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException, InvalidAlgorithmParameterException, IllegalBlockSizeException, BadPaddingException { String iv = key.substri..

객체지향설계 5대원칙 SOLID

객체지향설계 5대원칙 SOLID 학원 수업에서 선생님이 항상 강조하셨던 SOLID 원칙이 잘 이해가 되지 않아서 개인적으로 공부하기 위해 여러가지 검색을 해보고 많은 글들을 읽어보았습니다. 그러다 우연히 Youtube에서 41분짜리 영상을 접하게 되었는데, 앞부분만 잠깐 보려고 했던게 결국 영상을 마지막까지 보게 되었고 도움이 제법 많이 되었습니다. ​ https://www.youtube.com/watch?v=rtmFCcjEgEw 북 마케도니아 출신 개발자 Katerina Trajchevska가 2018년 암스테르담에서 열린 컨퍼런스에서 SOLID를 주제로 강연을 했던 내용인데요, 본인의 경험을 예로 들어가며 설명을 잘 해줘서 이해하기가 좋았습니다. SOLID는 Robert. C. Martin (Uncl..

Development/Fundamentals 2021.04.11 (4)

17주차) 중간프로젝트 PLAYDDIT 회고

Intro 수업 17주차에 발표를 했는데, 어느덧 벌써 20주차가 지나갔습니다. 19주차 수업이 끝난 주말에는 꿈에 그리던 배포에도 성공했습니다. playddit.net 주소로 운영 해 왔지만 지금은 서버를 닫았습니다. 발표를 2주쯤 남겼을 때부터는 매일 꿈속에서 코딩이나 로직에 대한 생각을 하지 않는 날이 없었을 정도로 열정적으로 프로젝트를 진행했습니다. 모든걸 쏟아부었다고 자신있게 말할 수 있을 만큼 열심히 했지만 그만큼 아쉬움도 많이 남고 여러모로 부족한 점에 대해 뼈저리게 느낄 수 있었던 프로젝트라고 생각합니다. 아래 영상은 간단하게나마 프로젝트 시연을 해보았습니다. 발표 당시 영상을 녹화하긴 했지만, 어두운 실내에서 멀찍이서 고프로로 촬영했다보니 4k 화질로 촬영을 했어도 의미 있는 부분만 크롭..

Development/DevLife 2021.04.04

terminal 에서 해당 git branch 이름 표시하기

기본적으로 git 을 terminal 에서 활용할 때, 내가 어떤 branch 에서 작업중인지 알려면 git status 명령어를 사용합니다. 하지만, 이러면 확실하게 내가 어떤 branch 에서 작업중인지 헷갈려서 실수로 다른 사람들이 작업중인 branch 에 commit을 하는 불상사가 일어날 수도 있습니다. 그래서 확실하게 표시해 주는게 좋은데요, Zsh에는 vcs_info 라는 프레임워크가 포함돼 있다고 합니다. ~/.zshrc 파일을 열어서 수정을 해줍니다. 저는 보통 vim 에디터를 이용합니다. autoload -Uz vcs_info precmd_vcs_info() { vcs_info } precmd_functions+=( precmd_vcs_info ) setopt prompt_subst R..

Development/Git 2021.03.23

Figma 사용해 UI, UX 디자인해보기

Figma 사용하기 ​ Figma는 UI/UX design 프로토타이핑 툴 입니다. 처음에는 sketch 무료 1개월 체험을 이용해 프로젝트를 진행해보려고 했습니다. 디자인이나 웹쪽에 전혀 지식이 없었어도 어렵지 않게 어느 정도 활용 할 수 있길래 sketch를 사용하려고 했지만 프로젝트 팀에서 혼자만 맥을 사용하다 보니, 협업에서 더 유리한 프로그램을 찾다 Figma를 선택하게 되었습니다. 일단 불과 한시간 정도의 분량이지만 sketch 에서 작업한 .sketch 파일을 바로 불러 올 수 있다는게 크게 매력적으로 다가왔습니다. 처음 가입을 하고 프로젝트를 생성하면 이런 화면이 나옵니다. Community에서 버튼이나 아이콘 등 다른 이용자들이 만들어 무료로 배표해둔 자료들을 손쉽게 이용할 수 있는것도 ..

AWS 특정 아이피 주소에서만 접속 될 때 해결 방법

AWS 특정 ip 에서만 접속 될때 해결방법 Amazon Web Service 프리티어 서버를 열때 public으로 연다고 연 것 같은데 서버를 생성한 장소에서의 DB에 접속은 문제가 없었는데 다른 곳에서 접속을 하니 접속을 거부 당하는 상황이 있었습니다. localhost가 아니니 외부에서도 접속이 되어야 하는게 당연한데 특정 ip에서만 접속이 된다면 서버 보안상 특정 ip에서만의 접속만을 허용했을 가능성이 높습니다. 일단 접속정보나 아이디/비밀번호를 잘못 입력했는지 확실하게 확인 후, 특정 아이피에서만 접속된다는게 확실시 될 경우에는 아래의 과정을 통해 문제를 해결하실 수 있습니다. ​ 지금부터 AWS 보안 설정을 변경해, 허용 ip 를 추가 하거나, 어느 ip 에서도 접속이 가능하도록 허용하는 방법..

Development/Cloud 2021.02.08

이진 탐색 알고리즘 (Binary search)

9주차 주말이 되었습니다. 저는 주말 아침에는 1~2시간 정도 프로그래머스에서 문제를 풉니다. 자기전에 문제를 풀면 밤새 자는동안 그 문제가 머리 속에 맴돌아서 밤늦게는 최대한 안풀려고 조심합니다. programmers.co.kr/ 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 시간이 좀처럼 나지 않아 틈날때 조금씩 하던게 이제 레벨1에서는 모든 문제를 끝내서 레벨 2 문제를 풀고 있습니다. 오늘도 그렇게 어려워 보이지는 않던 문제를 하나 골라 몇분만에 정확성 테스트를 모두 통과해서. 쉽게 해결하는 줄 알았는데, 갑자기 까꿍 하고 등장한 효율성 테스트....

Github 사용법 ( 수업 내용 깃허브에 올려 동기화하기)

Intro 안녕하세요. 처음 국비학원에 다닐 때 단순히 학원에서 작업하던 내용을 집에서도 이어서 하고 싶다는 생각 하나로 Git을 시도 해 보았고 처음에는 정말 너무 어려웠고 제대로 사용하지도 못했었는데 이때의 도전이 많은 도움이 되어 이후 팀원들과 조별 프로젝트를 할 때에도 그 후 회사에 들어갔을 때도 아무런 부담 없이 Git을 사용 하게 되는 계기가 되었습니다. 물론 이 글은 현업에서 사용하는 수준에 도다르기까지는 무리가 있지만 제가 처음 Git을 접했을 때의 눈높이에서 작성된 글이기 때문에 어렵지 않게 따라 할 수 있으며 함께 학원에 다니던 많은 친구들을 Git에 입문시킨 글이기 때문에 그때 그 글 그대로 내용을 수정하지 않고 보기좋게만 조금씩 가다듬어 글을 이어가고 있습니다. 비록 초보자를 위한 ..

Development/Git 2021.01.10 (1)

7주차 ) 초급 조별 프로젝트 "오늘 뭐먹지" 발표

한주동안 열심히 준비한 조별프로젝트가 마감되었습니다. 저는 스스로를 완벽주의 성격을 가진 사람이라고 생각합니다. 그 완벽주의 성격과 자존심 덕분에 스스로에게 많은 동기부여가 되기도 하지만, 때로는 그 댓가를 혹독하게 치르기도 합니다. 이번 첫 조별 프로젝트를 통해 몇일동안 잠도 설치며 큰 대가를 치루었습니다. 하지만 마지막 1분까지 팀원들과 치열하게 준비한 덕분에 후회없는 발표를 할 수 있었습니다. 제가 이번 프로젝트 진행을 통해 얻은 부분은 팀원들과의 협업 경험이 가장 컸던 것 같습니다. 팀원들 모두가 적극적인 참여를 해 주었고, 팀원들 한명 한명 모두가 소속감을 가지고 목표 달성을 위해 함께 최선을 다해줬다는 점이 프로젝트 진행 내내 저를 가슴 벅차게 만들어 주었습니다. 저희는 프로젝트를 진행하면서 ..

Development/DevLife 2021.01.01

6주차 ) 첫 조별 프로젝트

6주가 지났습니다. 뭐라도 할 수 있을까? 에서 뭐든 할 수 있겠다. 싶을 정도로 많은 것들을 새로 배우고 있습니다. 조별 과제를 시작했습니다. 코딩을 하는데 협업을 단 한번도 해본적이 없기 때문에 기대보다는 막연함이 앞섰습니다. 조별과제가 시작된 직후엔 압박감과 무력감에 스트레스가 굉장히 심해졌습니다. 주어진 시간은 1주일 뿐인데 당장에 할 수 있는게 아무것도 떠오르지 않았습니다. 앉은 컴퓨터 자리대로 3명씩 팀을 배정해 주셨습니다. 다행히도 바로 옆자리 팀원은 수업시간에 막히는 부분이나 어려운 부분이 있으면 서로 도와가며 하다 보니 지금 배우고 있는 java 와 database 에서 서로 어느 부분까지 어느 정도로 이해를 했는지 대부분 인지를 하고 있었습니다. 이 친구는 수업내용을 조금은 어려워 하지..

Development/DevLife 2020.12.26

4주차) 클래스 자유생성 - 발표

자바 수업시간에 선생님께서 각자의 자유 과제 발표를 준비하라며 수업때마다 1~2시간 정도의 자유시간을 주셨습니다. 그렇게 한주가 흘렀고, 이번주에 학생 25명이 3시간에 걸쳐 한명씩 나와 모두 발표를 마쳤습니다. 저는 지난주에 만들던 playerMonster 라는 가제로 게임을 만들어 보았는데요. Object oriented programming 개념을 들어간 직후에 설계한 클래스들이다 보니, 과제를 발표할때쯤이나 되어서 배운 상속이나 인터페이스 등의 개념을 적용시키지 못해 정말 아쉬웠습니다. 사실 발표를 할거란 말씀을 하시기 전에 영어버전으로 만들어보던 게임이었는데, 발표를 하게된단 말에 부랴부랴 한글로 버전으로 방향을 틀었다가, 기존에 만들어 놓았던 영어버전이 아까운 마음에 언어파일을 따로 클래스로 ..

Development/DevLife 2020.12.12