반응형

전체 글 1480

Project - 기업과 하는 협업.

1,2차 프로젝트에 진지하게 목숨 걸고 했었던 개발 세계의 신생아. 험난 할 것 같았던 기업협업을 마치는 날/탯줄 잘리기 하루 전(수료식 하루 전)에 기업 협업에 대해서 블로그를 쓴다. 기업 협업 가는 과정 2차 프로젝트 막바지에 들어서서 웅성웅성 된다. 분위기가 프로젝트에 집중하기가 힘든 분위기다. 왜냐하면 기업 협업 대상 기업들에 희망 순위를 제출했기 때문이다. 어느 기업이 어쩌고 저쩌고 좋냐 안 좋냐 기술 스택이 무엇이냐 등등 2차 프로젝트는 살짝 뒷전이 된다. 그룹이 나뉜다. 혼자 공부 족, 개별 프로젝트 족, 기업협업 족 나는 기업협업기업 협업 족이기 때문에 다른 그룹에 대해선 잘 모른다. 기업 협업그룹에서도 또 나뉜다. 바로 이력서 쓰고 기업 협업 나가는 첫 번째 주부터 면접을 보러 다니는 사..

Wecode/Project 2020.07.16

Project-2차 프로젝트를 마친 후기. Wecode

Wecode/위코드 한 달 반차에 맞은 두 번째 프로젝트 프로젝트 소개 http://www.patagonia.com - Website clone 프로젝트 구성원 - 백엔드 2명 - 프론트엔드 2명 사용된 기술 - django + python - MySQL 주어진 시간 - 2주 느낀 점 1차때와 다를 것이라고 생각했던 것이 큰 오산이었다. 가야 할 길을 알기 때문인가 더욱더 힘이 안 났다. 백엔드로써의 소명을 다하고 싶은 마음 가득. 우려와 걱정은 실제로 일어나지 않을 것이기 때문에 일단 시작했다. 대상 웹 사이트에 대해 연구가 많이 부족했었던 것을 느꼈다. 구현할 화면들에서 알지 못했던 기능들이 속속들이 나오기 시작하고 크롤링하지 않았던 데이터들이 (놓친 것들) 나오기 시작했을 때 암담했었다. 하지만 정..

Wecode/Project 2020.07.16

타입스크립트란? TypeScript

타입스크립트란? - 타입스트립트는 MS에서 개발하고 관리하는 오픈소스 프로그래밍 언어입니다. - 자바스크립트의 superset => 자바스크립트를 포괄한다. (자바스크립트+타입) - 타입스크립트로 작성된 코드 -> 자바스크립트로 컴파일(이과정에서 타입을 체크 에러를 잡아낸다.) 장점 - 개발단계에서 버그를 좀 더 쉽게 발견할 수 있다. (실 사용자가 맞닥뜨리는 버그 중 15%를 사전에 예방할 수 있다고 발표) - 모든 데이터에 타입이 명시 되어 협업에 유리하다. - 리액트로 개발할 때 컴포넌트가 가진 state나 props등을 interface로 정의하여 컴포넌트의 기능을 유추하기 쉽다. - 자동완성 기능을 사용할 수 있다. 단점 - 러닝커브 - 레거시코드 교체비용이 비싸다. - 개발기간이 늘어난다.(단..

Language/JavaScript 2020.07.08

일단 알아볼 것

얕은 복사 & 깊은 복사 알아보기 ssr 과 csr seo에 대해서 다시 상기. 서버사이드에선 리액트를 알기 힘듬 그래서 package.json에서 build:server로 알게 해줌. server/ssr에 render.js가 생김. 모든 프론트엔드쪽 것들이 함축되어서 들어옴. (webpack) 라우트 페이지 인덱스 서버에서 요청이 오는 것을 보여줌. fetch하는 path를 지정하고 그것들이 아니면 router.route('*')로 감. ssr의 index는 render를 해줌.render.js를 . ssr의 기반은 어디에 있냐 클라이언트쪽에 있음. src style ssr.js에 잇음. styles에 root.js에 먼저 적으면서 시작할 수 있음. 고객센터는 사실 Ssr이 필요없을 것 같기 떄문에 i..

etc. 2020.06.24

JS 파이썬처럼 이해하기

**자바스크립트에서는 배열이 파이썬의 리스트같은 것. '[]' 대괄호로 감싼다. function getName(name) { return name + '님'; } const result1 = getName('개발자'); const result2 = getName('디자이너'); const result3 = getName('기획자'); console.log(result1) console.log(result2) console.log(result3) def getname(name): return name+'님' result1 = getname('개발자') result2 = getname('디자이너') result3 = getname('기획자') result1 result2 result3 JS에서는 return..

Language/JavaScript 2020.06.24

Node.js 커닝페이퍼

const {Carts, Items, DiscountBooks} = require('../models'); > from .models import Carts, Items, Discount Books 같은 느낌 export.addCart = async (req, res, next) =>{ try{ 반복 장고에서 view 같은 느낌 request, response, next를 매개변수로 받고 있다. *참고* try_statements : 실행될 선언들 catch_statements_1, catch_statements_2try : 블록에서 예외가 발생했을 때 실행될 선언들 exception_var_1, exception_var_2catch : 항목과 관련된 예외 객체를 담기 위한 식별자 condition_1조..

Language/JavaScript 2020.06.24

JavaScript-파이썬처럼 이해하기.

뭐 대화형이고 클라인트사이드 등등 자바스크립트를 Node.js를 위해 배워본다. console.log("안녕하세요") >안녕하세요 >콘솔에 뜸,Print와 같구만 alert("안녕하세요") >각 브라우저에 맞는 알림창이 뜨고 내용이 안녕하세요임. //여기까지!! >주석처리는 이렇게 //이걸로 , 파이썬은 # /* 주석처리는 이렇게도 합니다. */ >파이썬에서는 """ """ 이거같은 것 변수 선언 var 변수명=변수; >이렇게 변수를 선언 가능함~ 변수명은 camelCase로 정할 것 cf. camelCase vs. snake_case 1) camelCase 카멜케이스란 낙타 등처럼 울퉁불퉁하다는 소리입니다. 단어가 새로 시작할 때부터 대문자로 쓰면 됩니다. example) firstSecond myPr..

Language/JavaScript 2020.06.22

Session-NoSQL,Docker

Why NoSQL? Relational Databases - Not suited for unstructured data - DynamoDB 아마존에서 제공함 NoSQL is better than RDB. NoSQL에서는 PK를 지정할 수 있다. Document store DB - MongoDB CauthDB KeyValueDB - DynamoDB Apache Cassandra - Facebook, Netflix이 씀 DynamoDB는 데이터타입을 가지는게 다름 인덱스걸어주는 것은 탐색알고리즘을 넣어주는 것. 바이너리트리거나 뭐든. 밸런스드트리 postgres MongoDB GSI(Global Secondary Index) LSI(Local Secondary Index) table이 있고 items - r..

카테고리 없음 2020.06.18

git rebase 깃 리베이스 / Pagination

git rebase 의미 : 간략하게 말하면 일단 기초를 옮기는 건데 예를들어, day1에 만든 버전이 마스터라고 하고 브랜치를 따서 우리가 작업을 하는데 생각보다 오래 걸렸다. 그런데 day1에 만들어진 마스터가 내가 작업하는동안 진행이 되어(누군가의 커밋이 머지가 됨) day1 version이 많이 진행이 되어 내가 베이스로 깔고 있는 파일들이 예전 것이 되었다. 근데 나의 작업은 끝날 기미가 안보인다. 그렇다고 pull을 받기에는 내가 작업한 것들이 많다. 이럴때 필요한 기능이 리베이스다. 하는 방법 : 하다보니 숙달이 되었다. 먼저 작업하던 브랜치 = feature 라고 하고 feature 브랜치에서 git add . git commit -m "commit" master branch로 넘어간다. ..

etc. 2020.06.16

Django-UnitTest(유닛테스트)

test.py ```python from django.test import TestCase, Client from .models import User class UserTest(TestCase): def setUp(self): cliend=client() User.objects.create(name='john') def Teardown(self): #테스트가 끝나고 수행되는 함수. 자원해제. 셋업했던 데이터베이스를 정리 User.objects.all().delete() def test_get_user_view(self): response = self.client.get('/user/1') self.assertEqual(response.status_code,200) self.assertEqual(respo..

Framework/Django 2020.06.16

Session-How the web works? - advanced (SPA,CSR,SSR)

Keyword - SPA(Single Page Application) : 하나의 HTML파일로 이루어져 있음. - CSR(Client Side Rendering) : 클라이언트 쪽 위주로 해서 웹페이지가 구성이 됨. 빈 html에서 클라이언트의 요청(?)에 따라 비어진 부분이 채워지는 개념 - SSR(Server Side Rendering) : 서버에서 이미 렌더링이 된 화면을 보내는 것. - MPA(Multi Page Application) : 여러 html파일로 페이지마다 구성하는 것 - SEO(Search Engine Optimization) : 검색 엔진(ex.구글, 네이버)회사에서 봇으로 웹사이트를 평가하여 점수를 내려 점수에 의해 검색에 노출되게 하는 것 - Hydration : CRA와 같은..

Wecode/Session 2020.06.12

Session-소셜 로그인

카카오톡이나 페이스북을 통해 로그인을 하게 해주는 것 카카오톡을 예로 설명 시작 카카오에서 토큰을 받을 것임. 예) api /kakaologin 에 토큰이 옴 그리고 다시 kakao에 토큰을 보내서 토큰에 해당하는 유저가 누구인지 물어본다. 그리고 우리가 원하는 유저의 정보들을 카카오서버에서 응답을 받는다. 응답 받은 후 로그인인지 회원가입인지 판별 후 토큰을 발행하여 프론트에게 다시 줌.

Wecode/Session 2020.06.10

Session-파이썬 유닛테스트 (Python unittest)

시스템을 테스트할 때 크게 3가지 방법이 있다. - UI Testing / End-To-End Testing - Intergration Testing - Unit Testing 여기서 UI Testing이 가장 어렵고 까다롭다. Manual Testing은 실행하기 쉽다는 장점이 있지만 비용이 많이 들고 부정확 하며 실행 시간이 오래 걸림. 자동화 할 수 있지만 UI Testing은 자동화 하기가 가장 까다롭고 또 실행하기도 까다로움. Integration Testing이 그 다음으로 힘듬. Unit Testing이 가장 쉬우며 가장 효과가 좋음. UI Testing은 10%, Integrating Testing은 20%, 그리고 Unit Testing을 70% 전체 테스트 coverage를 구현 하는것..

Wecode/Session 2020.06.09

Project- 내 인생의 첫번째 프로젝트를 마치며

Wecode 한 달 차에 맞은 첫 프로젝트 프로젝트 소개 https://laka.co.kr - Website clone 프로젝트 구성원 - 백엔드 2명 - 프론트엔드 2명 사용된 기술 - django + python - MySQL 느낀 점 한 달, 30일 동안 열심히 배운 모든 것(?)을 활용한 프로젝트. 갓 개발자의 길에 들어선 풋내기들이 멋지게 개발하는 척했던 지난 2주. 진정 개발은 아닐 테지만 뜻깊은 시간이었다. 모든 게 낯설고 모든 게 처음인 우리에게 이 프로젝트는 대단한 의미였으리라. 협업은 결코 쉽지 않았고 소통은 노력에 따라 크게 좌우가 되었다. 어느 하나의 '삔또'도 소중하지 않을 수 없었다. 걱정에 비해 서로의 성향이 서로를 해치진 않았다. 프로젝트까지 오기 전 많은 상처를 통한 경험이..

Wecode/Project 2020.06.07

Session - 어떻게 나를 세상에 어필할까?

진지한대 안진지하고 안웃긴대 웃기고 웃긴대 안웃기고 늙어보이는데 안늙었고 안늙었는데 늙어보이고 - 나는 어떤 사람 인지 - 내가 선호하는 회사의 유형, 근무환경은 어떠한지 - 어떤 기술을 사용할 줄 아는지 - 왜 특정 기술을 사용했는지 - 어떤 프로젝트를 진행했는지, 어떤 역할을 담당했는지 - 진행하면서 좋았던 점, 아쉬웠던 점 - 앞으로 어떤 개발자로 성장하고 싶은지 스토리를 블로그에 잘 담아내자 주말동안 할 일 1. 프로젝트 후기 작성(필수) - 프로젝트 소개 - 사용된 기술 - 잘한 점 + 아쉬운 점 + 해결/개선 방법 - 기록하고 싶은 코드/함수/로직 2. 프로젝트 영상 녹화 및 화면 캡쳐 + GitHub README 작성(필수) 3. 기술 블로그 + 회고록 작성 - 내가 적용해 본 기술에 대한 ..

카테고리 없음 2020.06.05

Session-AWS, Sever(EC2),Database(RDS) 열고 이동하는 것 까지

기존에는 하드웨어적으로 관리를 하고 관리하는 사람들이 있었다. 서버 점검은 주기적인 이벤트이자 오프라인이 불가피했다. AWS는? 2006년 정식으로 서비스 출시하여 EC2 , S3(Simple Storage Service)등을 제공하기 시작. 현재는 전체 클라우드 사용자 중 40%이상의 점유율을 가지고 전세계 1위 클라우드 서비스로 자리 잡음. 클라우드 컴퓨팅 서비스는? 기존의 직접 서버를 구입해서 IDC에 넣고 관리하는 비용보다, 사용한 만큼의 비용만 지불하는 방식이 기업 입장에서 경제적으로 다가옴. 기존 호스팅 서비스와 다른점은 가상이지만, 독립적으로 인프라 각각의 요소를 제어 가능하고, 원하는 대로 구성해서 사용하는데 간편한 인터페이스를 제공해서 고객은 생산적인 부분에만 집중할 수 있게 됨. 주요 ..

Wecode/Session 2020.06.04

Session-페이지네이션(Paging, Pagination)

프로젝트 얼마 안 남았는데 코드 리팩토링하면서 해야함. 페이지네이션(paging, pagination) 목록형 UI에서 데이터를 한 번에 가져오는 것이 아니라 필요한 만큼, 또는 화면에 보이는 만큼만 백앤드에 요청하고 응답받아 사용하는 방식을 말한다. 꼭 게시판처럼 1~10페이지가 있는 형식 뿐 아니라 인스타그램처럼 가장 하단의 스크롤로 내려왔을 때 새로운 데이터를 가지고 오는 것도 모두 페이지네이션이다. 페이지네이션을 구현하기 위해서는 해당 api에 대해 백엔드와 미리 약속이 되어있어야 한다. 페이지네이션에서는 주로 limit과 offset이라는 parameter를 사용한다. limit or Page size : 한 페이지에 보여줄 데이터 수 Offset : 데이터가 시작하는 위치(index)

Wecode/Session 2020.06.03
반응형