본문 바로가기

분류 전체보기73

[2022-11-28] JAVA의 정석 - 객체지향 I 객체지향 언어 특징 : 코드의 재사용성이 높다. : 코드의 관리가 용이하다. : 신뢰성이 높은 프로그래밍을 가능하게 한다. 클래스와 객체 클래스 정의 : 객체를 정의해 놓은 것 (설계도) && 사용자정의 타입 클래스 용도 : 객체를 생성하는데 사용된다. 객체의 정의 : 실제로 존재하는 것. 사물 또는 개념 객체의 용도 : 객체가 가지고 있는 기능과 속성에 따라 다름 유형의 객체 : 사물 무형의 객체 : 논리, 개념 1. 변수 : 하나의 데이터를 저장할 수 있는 공간 2. 배열 : 같은 종류의 여러 데이털르 하나의 집합으로 저장할 수 있는 공간 3. 구조체 : 서로 관련된 여러 데이터를 종류에 관계없이 하나의 집합으로 저장할 수 있는 공간 4. 클래스 : 데이터와 함수의 결합 (구조체 + 함수) 객체와 인.. 2022. 11. 28.
[2022-11-25] Java의 정석 저번 면접을 보고.. 백엔드 개발자를 희망하는데 할 수 있는게 뭐냐는 질문을 받았기에 다음 날 바로 자바의 정석을 구매했다. 그동안 다른 곳 면접 준비하느라~ 공부를 못했는데~(핑계) 그 회사.. 남은 면접 약 2주.. 그 안에 자바의 정석 1회독 + 토이 프로젝트 1개 하는 것이 목표다. 해서 자바의 정석 그날 공부의 요약본을 올리고자 한다. 아는 것 들은 skip 하고 python과 다른 java의 부분 위주로 올릴 거다! Java언어 특징 1. 운영체제에 독립적이다. : 자바는 운영체제나 하드웨어가 아닌 JVM과 통신한다. JVM이 자바로 부터 전달 받은 명령을 운영체제가 이해할 수 있게 변환하여 전달해준다. (다만 JVM은 운영체제에 종속적이기 때문에 운영체제에 맞는 JVM을 설치 해야 한다.) .. 2022. 11. 25.
재귀 & 백트래킹 저번 주 이번 주 재귀와 백트래킹을 공부했기에 글을 쓴다. 근데 사실 글을 쓰고 있는 지금도 내가 재귀와 백트래킹을 제대로 이해하고 있는지 모르겠다. 확실한 건 백트래킹 너무 어려웠는데 이번 기회에 감은 잡았다.. 정도..? 재귀 먼저 재귀를 살짝 짚고 넘어가자면 재귀는 반복되는 계산에 주로 쓰이며 자신을 호출하여 점점 더 작은 계산을 한다. 작은 계산의 답이 어느 일정 값이 수렴하면 그 값을 return 하며 답을 구한다. 재귀는 스택 구조라 호출될수록 메모리가 계속해서 쌓이고 함수가 return되면 그 함수가 갖고 있었던 메모리 또한 비워지게 되기에, 그때서야 메모리를 반환하게 된다. 즉 return 조건을 만나기 전까지 재귀는 계속해서 메모리를 쌓기에 아무 생각 없이 재귀를 쓰다간 메모리 초과가 날.. 2022. 9. 4.
이분탐색 이분 탐색은 여러 알고리즘 종류 중 나를 애먹게 했던 Best 5 (너무 많나?) 안에 들었던 알고리즘이다. 투 포인터니 뭐니 포인터라는 말만 나오면 몸에 경기를 일으키는 나라서.. 문제만 보고 거부감이 들었던 알고리즘이기도 하다. 하지만.. 난 취업을 해야 하고.. 어쩌겠는고 피할 수 없으면 부딪히고 즐겨야지! 해서 저번 주 평일 아침에 매일매일 하는 알고리즘 스터디에서 그 주 알고리즘을 이분 탐색으로 정하고 문제를 풀었다. 근데 웬걸? 신내림을 받은 듯이 이분 탐색의 접근법을 깨우쳐버렸다....(다는 아니지만 어느정도..) 너무 감사한 것.. 그래서 나만의 이분 탐색 접근법을 잊지 않기 위해 블로그에 정리해둔다. 1. 먼저 문제에서 구해야 하는 값이 무엇인지 명확히 알아야 한다. 백준 1072번 - .. 2022. 8. 9.
[Django / Postgresql ] 이름의 릴레이션(relation)이 없습니다. Django의 db를 postgresql로 바꾸기 위해 settings.py 에서 Database의 설정을 바꿔주고, db.sqlite3을 지운 다음 각 앱에 있는 migrations들을 다 지워주었다. 이후 서버를 켰는데 다음과 같은 에러가 떴다. Django DB설정을 처음 했기에 왜 저런 문제가 발생한 건지 감도 안 잡혔고, 또 makemigrations를 해줘도 아무것도 변경된 게 없다 나오지만, migrate를 하니 다음과 같이 떴다. 또 snsapp은 앱 이름이고 freepost는 모델 클래스(테이블)인데..? snsapp_freepost 로 릴레이션이 형성되나? 하고 pgadmin을 켜보니 snsapp_freepost라는 테이블 이름은 없었다.. 열심히 구글링을 하긴 했는데... 사실 아직도.. 2022. 7. 27.
[Udemy] 데이터 역량 강화를 위한 SQL 부트캠프 2022 수료 짧다면 짧고 길다면 긴 9시간의 SQL 강의를 다 들었다. 이 강좌를 통해 SQL의 기본 문법을 익힐 수 있었고, SQL 코딩 테스트 까진 풀 수 있는 실력이 되었다! 기본 문법을 배웠으니 이제 응용 해야지.. 근데 .. 응용.. 어떻게해..!? 2022. 7. 11.
[SQL / PostgresSQL] CASE, COALESCE , CAST, NULLIF , views CASE -특정 조건이 충족되었을 때 실행하기 위해 case를 사용한다. -IF/ELSE와 유사하다. CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ELSE some_other_result END #1 SELECT a, CASE WHEN a = 1 THEN 'one' WHEN a = 2 THEN 'two' ELSE 'other' AS label END FROM test; #2 SELECT a, CASE a WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'other' AS label END FROM test; a label 1 one 2 two 실습 COALESCE -NULL이 아닌 첫번째 인자 값을 반환한다. e.. 2022. 7. 11.
[SQL / postgreSQL] 데이터 유형 , 제약조건 (Constraints), CREATE , ALTER, DELETE, UPDATE, INSERT, DROP, CHECK 제약조건 SQL 데이터 유형 Boolean - True or False Character - char, varchar, and text Numeric -integer and floating-point number Temporal -date, time, timestamp ... UUID -Universally Unique Identifiers (특정 열의 고유 식별자를 만들기 위한 본질적인 알고리즘 고유 코드) JSON, Array ....etc.. --> 상황에 따라 어떤 데이터 유형을 저장할지 고민해야 한다..! 참고 : postgresql.org/docs/current/datatype.html 제약조건 (Constraints) - 표에 있는 데이터 열에 적용되는 규칙을 제약 조건이라고 한다. - 제약조건으로 .. 2022. 7. 11.
[책리뷰] 공정하다는 착각 [제목] 공정하다는 착각 저자 : 마이클 샌델 출판 : 와이즈베리 발매 : 2020.12.01 사회적 소수자를 바라보는 시선. 완벽한 공정은 존재할 수 없다. 완벽하게 공정한 사회를 만들기 위해선 모든 사람이 같은 날 같은 시에 같은 장소에 같은 DNA를 가지고 태어나야 하며 같은 환경에서 같은 생활 패턴으로 살다 죽어야 한다. 하지만 우리는 태어날 때부터 다양한 부모와 다양한 환경 다양한 DNA를 갖고 태어나며 다양한 사람들을 만나고 다양한 경험을 한다. 지구상에 있는 단 1개의 생명체라도, 더 나아가 단 1개의 무생물이라도 같은 운명을 가질 수 없다. 슬프게도 이런 다양한 운명 속에서 누군가는 강자가 되고 누군가는 약자가 되고, 누군가는 다수에 속하고 누군가는 소수에 속한다. 우리 사회엔 수많은 사회.. 2022. 7. 4.