전체 글 64

MySQL로 배우는 데이터베이스 개론과 실습 (2판)

1장은 데이터베이스 시스템 2장은 관계 데이터 모델 3장은 SQL 기초 4장은 SQL 고급 내장함수, NULL부속질의 (subquery) 강사님이 알려준 팁 중 하나는 cust_addr를 실무에서는 , (cust_pc, 검색주소)와 같이 나눠서 표현하는 경우가 많다는 것이다.   insert, update 과 같은 DDL 명령어들은  3장에서 배운다. 190페이지의 insert문 설명 중에 유의할만한 내용은 다음과 같다. 1. insert 뒤에 오는 테이블 속성 목록과 값의 순서는 대응이 되어야 한다. 2. 하지만, 테이블의 속성을 명시하기 귀찮은 경우가 많다. 그런 경우에는 필드 목록은 생략한다.다만! 이 경우에는, alter 명령어의 경우 modify 키워드와 함께 사용한다.  update 뒤에는 수..

Spring Boot

스프링 부트 Gradle 프로젝트를 생성 HttpServlet이란 것은 Devtools 라이브러리를 새로 알게됐습니다. 톰캣 서버를 재가동하지 않아도 다시 빌드만 해줘도 새로고침으로 새 빌드본을 볼 수 있었습니다. HttpServletRequest는 사용자의 요청 정보와 쿠키, 세션 등의 정보를 제공하는 인터페이스이다. Container가 이 interface를 구현한 객체를 servlet에게 제공한다. MVC 패턴은 DI(의존성 주입) 개념과 밀접한 연관을 가지고 있다. spring-boot-starter를 통해 간결하게 의존성 구성을 지원할 수 있다. spring-boot-starter를 사용하지 않으면 Spring Boot 관련해서 스프링 부트 버전 사용하려는 라이브러리의 스프링 부트 스타터 지원여..

Spring Rest API 구현(1) : 게시판 CRUD에 앞서 로그인

출처: rebeccacho.gitbooks.io/spring-study-group/content/chapter16.html //세션이 연결 될 때마다 호출 되는 메소드 //Hashtable에 세션과 접속자 아이디 저장 //HttpSession#setAttribute(name, value) setAttribute 메소드 호출시에 name이 처음으로 바인인 되는 것이면 자동으로 호출 됨 //session.setAttribute("userInfo", userInfo); //session.setAttribute("userInfo", userInfo); //위 경우 valueBound 는 한번만 호출이 됨 @Override public void valueBound(HttpSessionBindingEvent eve..

카테고리 없음 2021.03.05

프로그라피 6.5기 회고

IT 개발 연합 동아리 프로그라피는 40%는 실력 있는 현업자분들, 서비스 개발에 관심이 많은 대학생 30%, 개발에 내공이 엄청난 운영진분들 30% 정도로 구성되어 있다. 운영진 분들이 Node.js, Django, React, Android, Ios 등 개발을 지원한다. 딥러닝은 6기까지 있다가 사라졌다. 코로나 19로 인하여, 2020년 상반기(6기)에 이은 7기를 2020년 하반기에 바로 진행하지 않고, 6.5기를 통해 6기의 팀들의 서비스를 좀 더 개선해보자는 것을 목표로 동아리의 활동이 기획되었다. 습관빵 팀에 안드로이드 개발자로 합류하다 9월에 습관빵 팀에 참여를 하게 되었다. Kotlin과 MVVM 패턴으로 클린 코드로 코드가 작성되어 있었다. 6.5기에 이런 수준 높은 팀에 참여를 할 수..

Destructing in ES6 and Babel소개

ES6, ECMAScript6, ES2015+ 모두 같은 말이다. ECMAScript는 JavaScript이다.->모호한 표현 JavaScript와 ECMAScript에는 차이가 있다. JavaScript는 ECAMScript의 표준을 따르는 범용 스크립트 언어이고, 다르게 표현하면 ECMA Script는 Javascript의 표준이다. 스크립트 언어는 독립된 시스템에서 작동하도록 특별히 설계된 프로그래밍 언어이다. 스크립트 언어의 개념을 설명하는 이유는 ECMAScript는 스크립트 언어가 준수해야 하는 규칙, 세부 사항 및 지침을 제공하기 때문이다. 구형 브라우저와는 호환이 안된다는 단점이 있다. 아직도 윈도우 7을 쓰는 컴퓨터가 많기 때문에 IE 점유율이 상당하다. ES2015+ 문법을 구형 브라우..

Dev Tools/Node.js 2021.02.09

Node.js 공부 계획

가까운 시일 내에 Node.js 개발 실무에 투입될 것 같아서, 설이 오기 전에 다시 한 번 칼을 뽑았다. SW중심대학, 일명 소중대 대학 연합 해커톤 이후에 Flask 프레임워크에 빠져있었는데, 다시 js의 감각을 깨우고자 javascript 공부 계획에 대한 글을 포스팅한다. 캡스톤 디자인(1)의 Pet Meeting 프로젝트에서 Express 프레임워크를 사용해서 Node.js 코드를 짤 때 프로그라피 친한 운영진이 알려준 MVC 패턴을 따라갔었다. 당시에 미들웨어 함수 TASK 등 이론적인 부분에 대한 공부가 부실했다는 것을 스스로도 알고 있다. 기본적으로 좋은 무료 강의도 많고, 스스로 클론 코딩을 통해서 실력을 늘릴 수도 있지만, 일단 검증된 빠른 길을 택했다. 빠른 Node.js 심화 공부를..

Dev Tools/Node.js 2021.02.09

Github dependabot

개발을 진행하다보면, package의 의존성 관리에 있어서 정말 힘든 부분이 모듈의 버전 관리이다. 프론트와 백엔드 모두 어려움을 겪을 수 있는 부분이다. 이번 포스트는 Git WorkFlow에 관한 것은 아니다. 선배 개발자 분들의 레포지토리에 가보면 Dependabot은 오래된 dependencies를 식별하면 pull request, 일명 풀리퀘를 보낸다. 변경된 릴리즈 정보를 검토한 후에 merge하면 된다. 가능한 configuration option들은 아래와 같다. YAML syntax를 사용하여 config.yml 또는 dependabot.yml을 만들어서 dependabot설정을 할 수 있다. commit-message Github Dependabot이 커밋할 때 어떤 것을 붙일 것인지를..

git 2021.02.08

SW 중심대학 공동 해커톤

대회 설명 대회 주최는 과학기술정보통신부와 정보통신기획평가원(IITP) 비대면 공동 해커톤의 사회 진행은 커먼컴퓨터라는 기업 manager 분이 맡아주셨다. 처음에는 개그맨이나...전문적으로 진행하시는 분인 줄 알았다...(죄송해요...~) [디지털 뉴딜을 향한 SW의 도전] 이라는 주제를 담은 해커톤이었다. 대회 공식 홈페이지 링크 swhackathon.com/ 이 대회는 2018년부터 매해 열려왔기에, 내년에는 (대면으로ㅎㅎ) 열릴 것이고, 많은 분들이 이 블로그로 유입되어 후기를 보고 가주셨으면 좋겠습니다! 행사 관련 정보는 아래 노션 링크에서 볼 수 있습니다~ www.notion.so/SW-6433e85fdb344af980a08d57430c9a9a 대회 전 (팀 빌딩) 대회 시작 대회 기간은 (2..

SQLAlchemy와 Flask

jsonify() 메서드 그리고 json.dumps()를 이용해 JSON형식으로 데이터를 직렬화하는 작업을 서버단에서 진행했다. (.venv) (base) apple@Appleui-MacBookPro we-act-backend % flask db upgrade INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running upgrade -> 00e9dbada757, empty message DB Migration에 대한 개념 없이 백엔드 개발을 하고 있었다. DB에 데이터..