이전 포스트에서 골치 썩었던 jwt문제는 어느정도 해결했다. 여기서 해결 방법을 쓰기에는 길어지니 패스.. 기분 좋게 테스트코드를 수정하고 돌리는데 흠..? @After에서 유저 정보를 전부 삭제하는데 오류가 뜬다. 왜지..? 아, 유저를 외래키로 가지는 테이블이 있고, 그 테이블을 외래키로 가지는 테이블이 또 있다. 종속관계의 반대 순서로 삭제하는 코드를 작성하니 잘 된다. 근데 하다보니 느낀게, cascade 설정을 해야 할 것 같다. 그래서 cascade 설정을 했는데 왜 또 오류가 뜨지.. 제약사항 오류뜨는데.. 난 cascade 설정했는데??? 그래서 찾아보고 있는데 좀 이상함을 느꼈다. 내가 RDBMS를 배울 때는 대부분의 부모 엔티티는 자식을 신경쓰지 않았다. 자식이 외래키로 부모를 쳐다보는..
현재 학교 교수님과 프로젝트를 하나 진행하고 있다. 자세한 내용은 말을 못하지만, 내가 spring-boot로 rest api기반 백엔드를 구축하고 다른 학생이 안드로이드로 이를 호출하는 방식이다. 물론 회원가입과 로그인이 필요하다. 나 : "교수님, 이거 회원가입 전부 구축하면 배보다 배꼽이 더 커질 것 같은데 그냥 oauth2로 소셜 로그인만 구축하는거 어떨까요?" 교수님 : "음.. 소셜 로그인은 당연히 되고, 자체 회원가입도 넣어야 하지 않을까?" 나 : "넵 해보겠습니다." 고로 모두 구축하게 됐다. 참고로, 스프링부트를 공부하기 시작한건 얼마 안됐다.. Spring-boot-oauth2와 Spring-security를 동시에 사용하며 소셜 로그인과 자체 회원가인/로그인을 구현하느라 한참 개고생..
Data = 데이터를 만들어 사용하는 사용자간 합의된 형태로 표현된 정보 Data communication = 전선과 같은 통신 매체를 통하여 두 장치간 데이터를 교환하는 것. Jitter = 패킷 도착시간이 서로 조금씩 달라 일정치 못한 정도. 처리시간 및 결과물의 도달 시간의 변동폭. Throughput = bandwidth = 초당 전송 가능한 bit 수. Latency = delay = 한 지점에서 목적지로 전달하는데 걸리는 시간. ISP(Internet Service Provider) = 인터넷 서비스 제공자. POP(Point of Presence) = 존재점, 서로 다른 ISP의 네트워크들의 교차점. CPE(Customer Premises Equipment) = 가입자와 ISP를 연결해주는 ..
2019학년도 1학기 컴퓨터구조 중간고사 대비하여 정리했었던 내용입니다. 교재 = Computer_Organization_and_Design_5th_Edition 컴퓨터 설계의 목적과 제약조건 (Goals) = 기능, 낮은 가격, 신뢰성, 저전력, 높은 성능, 앞 5가지 및 기타 등등의 균형 Applications/Domains - Desktop - Mobile: laptops, mobile phones - Embedded: microcontrollers in automobiles, door knobs Technology - IC의 주요 부분 (평가 기준) = 퍼포먼스, 신뢰성, 가격, 전력, 대량 생산 시설 l 무어의 법칙 = 반도체 메모리의 용량이나 CPU의 속도는 18~24개월마다 2배씩 향상된다...
학교에서 '오픈소스소프트웨어개발'이라는 강의를 수강하고 있는데, 요건 팀프로젝트가 필수..(아악!)뭐 사실 '팀플'이라는게 문제가 아니라, 프로젝트의 난이도가 극상.. "글로벌 혹은 국내 오픈소스 프로젝트에 기여를 하고, 오픈소스 커뮤니티에서 활동하라!" 허허...허허... 지난 포스팅에도 올렸지만 우리는 GNOME Project를 목표로 잡았는데, GNOME Multi-writter의 번역도 했지만, GNOME Calculator의 버그 리포팅도 진행했고, 상대적으로 문서화가 부족한 오픈소스 프로젝트의 빌드 과정을 문서로 자세히 다루기로 했다.버그 리포팅 관련한건 나중에 시간이 되면 올리기로 하고..사실 이 포스팅도 홍보 기여라는 측면으로 보고서에 올릴꺼라..ㅎㅎㅎㅎ... 일단 영문으로 번역한 빌드 프..
우분투 18.04.1 LTS 포맷 직후 기준. (설치 중간 중간 sudo apt update 해줄 것!)//그놈 계산기 최신 버전은 16.04에서 지원하지 않음! 18.04.1LTS 최신 버전으로 할 것! sudo apt install gccsudo apt install makesudo apt install valac (의존성이 있는지 기억이 안남. 에러 뜨면 에러 메세지 보고 추가 설치할 것.)sudo apt install pythonsudo apt install git sudo apt install meson sudo apt install gtk+-3.0sudo apt install libxml2-utilswget https://download.gnome.org/sources/gtksourceview..
1 - 3. 추상 자료형 추상화란? 소프트웨어 개발과 유지보수에 있어서 가장 중요한 문제는 "어떻게 소프트웨어 시스템의 복잡성을 관리할 것인가"이다. 이러한 복잡성에 대처하기 위한 새로운 아이디어들이 등장하였고 이들을 구체화한 프로그래밍 방법론과 언어들이 개발되었다. 이러한 방법론이나 언어의 핵심이 추상화(abstraction)이다. 추상화 = 복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념이나 기능을 간추려 내는 것. 즉, 어떤 시스템의 간략화 된 기술 또는 명세로서 시스템의 정말 핵심적인 구조나 동작에만 집중하는 것이다. 좋은 추상화는 사용자에게 중요한 정보는 강조되고 반면 중요하지 않은 구현 세부 사항은 제거되는 것이다. 이를 위하여 정보은닉기법(information hiding)이 개발되었고..
1 - 1. 자료구조 자료구조란? 물건을 찾을 때 찾기 쉽게 정리를 해야 찾기 쉽고, 스마트폰에서 사진들을 분류하고 컴퓨터에서 폴더별로 파일들을 잘 분류해야 찾기 쉬운 것처럼, 자료를 효율적으로 활용하기 위해서는 정리를 해야 한다. 또 그 정리에도 여러 방법이 있는데, 영어사전은 알파벳 순서대로, 사진은 날짜별로 분류하는 것이 효율적인 것처럼, 자료마다 효율적인 정리 규칙이 있다. 자료구조(Data structure) = 사람들이 사물을 편리하고 효율적으로 사용하기 위해 정리하는 것과 마찬가지로 컴퓨터에서 자료들을 정리하고 조직화 하는 여러 가지 구조 자료구조의 분류 자료구조의 여러 가지 형태 - (1)정수와 실수, 문자와 같이 프로그래밍 언어에서 기본적으로 제공하는 단순 자료구조, (2)여러 가지 자료..
- Total
- Today
- Yesterday
- c++
- c
- 동적 계획법
- 플로이드 와셜
- Dynamic Programming
- 백트래킹
- 정렬
- webOS
- 한화큐셀
- 이분탐색
- LG
- 컨트리뷰톤
- DFS
- 파이썬
- 알고리즘
- 완전탐색
- 오픈소스
- 브루트포스
- 백준
- 피보나치
- BaekJoon
- 코딩
- 1932
- 카카오
- BFS
- 인공지능
- DP
- 프로그래머스
- PyPy3
- 구현
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |