• #42 2022.09.28
  • #41 2022.09.27 1
  • #40 2022.09.26
  • #39 2022.09.25
  • #38 2022.09.24
  • #37 2022.09.23 1
  • #36 2022.09.22
  • #35 2022.09.21

오늘 배운 것 :

 

시간복잡도 (Time Complexity) 빅-O 표기법

어떤 상황에서 시간복잡도가 늘어나는가

 

자주쓰는 객체 서비스 메소드에서의 시간 복잡도

 

● Arrays.sort/Collection.sort --> O(n log n)
● String.subString(int startIndex, int endlIndex) --> O(n) (n = string의 길이)
● List.subList --> O(n)
● List.add(Element e) --> element e 를 끝에 추가 --> O(1)
Array에서 element 하나 추가 --> O(n)

검색 팁 ) Collections.sort() java complexity

 

연산횟수가  ~ 10^8 정도인 알고리즘 까지는 사용하기 나쁘지 않다 

 

 

느낀 점:

 

StringBuilder 좋다

알고리즘은 어렵긴한데 시간복잡도 생각하면서 만드는 건 재밌는 듯

수학적 정리같은 거 적용해서 누가 코드로 만들어놓으면 복붙해서 가져다 쓰는 건 할 수 있을 것 같은데 직접 만들라고 하면 일단 수학 표기법부터 공부해야함 ㅋㅋ

아니 무슨... 어질어질하네;

 

 

아쉬웠던 점:

 

모바일 코틀린 까지 빠르게 공부하고 c++로 OS 기반 클라이언트 플랫폼 쪽도 재미로 들여다 보고 싶은데

일단 웹 애플리케이션 부터가 발전 속도랑 내용이 방대해서 뇌 한구석이 얼얼함

'TIL' 카테고리의 다른 글

#44  (0) 2022.10.01
#43  (0) 2022.09.28
#41  (1) 2022.09.27
#40  (0) 2022.09.26
#39  (0) 2022.09.25

오늘 배운 것 :

 

FIFO, LIFO, 스택, 큐

 

intellij 단축키
alt + insert -> getter/setter 등
ctrl + alt + v -> return 을 해줌
ctrl + alt + shift + T -> 여러 기능 (ex. method)
class명에 두고
ctrl + shift + T -> Test케이스 뼈대 자동으로
iter -> 배열같은게 있으면 자동 for문
sout -> System.out.println
ctrl + d -> 복붙
ctrl + e -> 이전 파일 보기
ctrl + n -> 파일 찾기
ctrl + shift + F -> 단어 찾기

 

 

느낀 점:

 

객체가 내장하고 있는 서비스 메소드가 뭘 리턴할지 모르니 몇번 써보면서 콘솔을 출력해보지 않아도 되도록 숙련을 하는 게 좋을 것 같다

 

 

아쉬웠던 점:

 

시간을 좀 투자하고 싶지만 이해력을 위해 쉬어주는 것도 중요해서 밸런스 잡기가 모호하다

'TIL' 카테고리의 다른 글

#43  (0) 2022.09.28
#42  (0) 2022.09.28
#40  (0) 2022.09.26
#39  (0) 2022.09.25
#38  (0) 2022.09.24

오늘 배운 것 :

 

Integer, String 제너릭 사용한 리스트 사용 숙련

배열 타입 캐스팅, LinkedHashMap은 HashMap과 다르게 배열을 섞지 않는다

charAt, substring 응용

compare,compareto 코드 구경함

 

 

느낀 점:

 

WIL 작성은 어렵다

알고리즘은 고통스럽다

원시타입이 오히려 다루기가 빡세다

0,1 밖에 모르는 계산기가 융통성은 어디에 두고 온 건지 모르겠다

정적 메모리 공간만 사용해서 처리하려고 하면 코드가 길어지고, 가독성도 떨어지고, 생산성도 떨어지고, 복잡성도 올라가고, 머리도 아프고, 그러다보니 뭔가 진짜 이게 뭔가 하는 코드도 나오고 그걸 진지하게 안지우고 쳐다보고 있음

 

 

아쉬웠던 점:

 

문법 공부, 수학 공부 열심히 할 걸

'TIL' 카테고리의 다른 글

#42  (0) 2022.09.28
#41  (1) 2022.09.27
#39  (0) 2022.09.25
#38  (0) 2022.09.24
#37  (1) 2022.09.23

오늘 배운 것 :

 

버블 정렬, 버블 역정렬, 콜라츠 추측, 하샤드 수 등을 코드로 나타내는 법

알고리즘 문제 풀이

 

 

느낀 점:

 

최근 잠을 너무 적게 잤더니 머리가 기능을 멈춘 것 같다

알고리즘의 복잡도를 떠나 내 머리의 투자 시간대비 이해하는 연비가 똥망이다

충분히 쉬어주면서 머리가 온전히 이해할 수 있도록 해야겠다

 

 

아쉬웠던 점:

 

붙들고 있었던 시간에 잠깐 바람이라도 쐬면 시간을 더 아낄수 있지 않았을까

'TIL' 카테고리의 다른 글

#41  (1) 2022.09.27
#40  (0) 2022.09.26
#38  (0) 2022.09.24
#37  (1) 2022.09.23
#36  (0) 2022.09.22

오늘 배운 것 :

 

알고리즘 기초

어떤 상황에서 쓰이는 알고리즘인지, 어떠한 대체 함수 기능이 존재하는지 위주로 공부

거의 잊혀진 자바 문법 복습

 

 

느낀 점:

 

정렬 역정렬, 타입 변환, 가변 길이 배열을 사용하면 편해지는 문제가 굉장히 많아서

컬렉션의 종류들과 컬렉션들이 포함한 서비스 메소드 다루는 연습과 공부를 많이 해야겠다

StringBuilder 객체를 인스턴스 해서 사용하는 습관과(성능이 얼마나 좋길래 IDE에서 추천해준다) 메소드들을 자주 사용해 봐야겠다고 느낌

입출력Stream 사용도 좀 익숙하게 하고싶다

프로그래머스에서 다른 분들이 푼 문제를 둘러보니 함수 하나도 몰라도 수학공식 많이 알면 풀어지는 문제가 대부분이라 수알못인 나는 의기소침해짐 

 

 

아쉬웠던 점:

 

파이썬 덕분에 머리가 굳어서 자바 문법이 하나도 기억이 안남

'TIL' 카테고리의 다른 글

#40  (0) 2022.09.26
#39  (0) 2022.09.25
#37  (1) 2022.09.23
#36  (0) 2022.09.22
#35  (0) 2022.09.21

오늘 배운 것 :

 

TIL(Today I Learn), WIL(Weekly I Learn)에 대한 강연을 들었다

간단한 주제에 가벼운 강의로 생각했는데, 강연 시간이 2시간이나 될 줄은 몰랐다

시험 앞두고 교양 수업 받는 느낌이라고 해야하나, 프로젝트를 마무리도 못해놓은 상황이라 집중이 힘들었다

 

개인 블로그에 TIL 작성을 잘해서 취업하신 분 말씀을 해주셨는데...

부담감으로 TIL을 쓰지 못하게 만드실 셈인가 ㅎ 죽었다 깨어나도 그렇게 예쁘게 정리할 자신 없는데 에벱베

그래도 회고, 일지 등을 작성하는 것과 개발하는 것의 시간 배분을 잘해야한다고 말씀하셨으니

나는 건성건성 흐브레 작성하는 메모장 대신 쓰는 블로그라는 컨셉을 놓지 않을 생각이다

 

 

느낀 점:

 

다음 주부터 알고리즘 공부를 할텐데

미리 타이레놀 일주일치를 사다놓을 생각임

 

 

아쉬웠던 점:

 

맥주가 마시고 싶어요

'TIL' 카테고리의 다른 글

#39  (0) 2022.09.25
#38  (0) 2022.09.24
#36  (0) 2022.09.22
#35  (0) 2022.09.21
#34  (0) 2022.09.20

오늘 배운 것 :

 

2차원 배열을 사용해 DB의 내용을 프론트 단에 출력해주는 데이터들을 처리하는 간단한 미니 프로젝트를 하면서 협업하는 자세를 배웠다

noSQL cloud DB의 컬렉션 4개의 데이터를 리스트로 받아서 하나의 함수 안에서 뿌려주는 내용이었는데, noSQL은 컬렉션끼리 join 하는 기능이 없어서 id값을 직접 박아넣는 걸 권장하고 있더라

진심인가 하면서도 컬렉션끼리 관계성을 맺기 위해 사방에 id값을 뿌렸더니 개발 원칙은 달나라로 가버린 스파게티가 나와서 자괴감이 꽤나 대단했다

IDE가 사용되지 않는 값을 알려주지 않았다면 코드와 그냥 헛소리에 가까운 뭔가 알 수 없는걸 만들어 놨으리라 확신한다

 

처음으로 다른 사람과 함께 프로젝트를 진행해 본 감상을 적자면

공식 문서를 구글링해서 보는 것보다 피드백이 빨라 생산성은 높으나 정확성은 다소 떨어질 수 있었고

기능을 구현하는 개념의 추상적인 감각을 실체화하는데에는 도움이 되지만 내가 목표로 하는 기능의 구현은 스스로 모래성을 쌓는 점이라는 것도 생각했다

그래도 혼자 공식문서 구글번역 하면서 끙끙대는 것보다는 재밌었다

간혹 같이 미니 프로젝트 진행하는 분들간에 환경설정이 안맞아서 의도치 않은 코드 외의 오류가 터지기도 했는데 해결방법이 너무 허무해서 기억에 오래 남을 것 같다

(작업 관리자에 다른 서버가 돌아가고 있었음. IDE 콘솔에는 몰래 돌아가는 서버 콘솔이 보이질 않고 작업 종료 누르기는 찜찜해서 컴퓨터 껐다 키니 잘 된다)

 

 

느낀 점:

 

마무리까지 조심하면서 예의를 지켜 프로젝트를 진행해 나갈 수 있도록 신경써야겠다

 

 

아쉬웠던 점:

 

하드코딩, 언어의 서툼으로 인한 스파게티 제조

시간 때려박으면 고칠 순 있는데 시간이 없음

 

 

'TIL' 카테고리의 다른 글

#38  (0) 2022.09.24
#37  (1) 2022.09.23
#35  (0) 2022.09.21
#34  (0) 2022.09.20
#33  (0) 2022.09.14

오늘 배운 것 :

 

flask, mongodb cloud 써서 pager 만들기

프로필 설정 기능 만들기

개인 정보창 만들기

 

 

느낀 점:

 

SEQ 사용이 더 편한 듯

라이브러리 args 타입 찾다가 타입 에러로 머리 부서짐

 

 

아쉬웠던 점:

 

데이터 타입을 상상하면서 써야하네

'TIL' 카테고리의 다른 글

#37  (1) 2022.09.23
#36  (0) 2022.09.22
#34  (0) 2022.09.20
#33  (0) 2022.09.14
#32  (0) 2022.09.14

+ Recent posts