일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SpringDataJPA
- 영속성컨텍스트
- @Param
- 우아한테크코스5기
- BDDMockito
- bomblab
- unique result
- 우테코
- 벌크연산
- @Query
- clearAutomatically
- Mock
- 우아한테크코스 블랙잭
- 자바 롬복
- 스프링부트배포
- @Modifying
- 우분투
- Argos
- 우아한테크코스
- ubuntu
- 스프링 롬복
- NonUniqueResultException
- 밤랩
- 레벨인터뷰
- jpa
- docker에 ubuntu
- 배포스크립트
- ubuntu이미지
- 검색api
- 회고
- Today
- Total
목록ALL NOTES (108)
Jeomxon's Tech Note
엔티티 클래스에서 사용하는 id(자동으로 증가되는 등의 시퀀스), 즉 들어가는 id에 대해서 Long타입으로 쓰는 이유가 뭘까? 처음에는 그냥 int타입을 쓰면 되지 않나?하고 생각했는데 전혀 아니었다. Wrapper Type인 Long을 쓰는 이유, 그것도 Integer가 아닌 굳이 Long을 쓰는 이유는 뭘까? 일단 int가 아니라 long을 쓰는 이유는 허용 범위가 더 크다는 점에서 추측을 할 수 있다. 하지만 왜 Wrapper Type을 사용하는지가 궁금했다. 일단 primitive Type에서는 기본 값이 0인데, 0이라는것이 실제로 id에 부여된 값이 0인지 아니면 값이 없다는 뜻인지 구분하기 어렵다. 하지만 Wrapper Type을 쓴다면 값이 없을 때는 null로 표시가 되기 때문에 pri..
1시간 30분 가량은 팀 회의를 진행하였습니다. 각자의 아이디어를 내서 정해진 아이디어로 프로젝트 주제를 정하고 주제를 설정하고 각자 생각한 UI에 대해서 가볍게 토론하였습니다. 이렇게 나온 여러가지 아이디어들로 각자 한명씩 UI를 디자인 한 것을 합쳐서 아래와 같은 간단한 프로토타입이 나왔습니다. 위를 바탕으로 프로젝트를 진행하기로 결정하고 github repository를 생성하였습니다. 깃허브 주소 : https://github.com/Warm-minji/what_was_it_back-end GitHub - Warm-minji/what_was_it_back-end Contribute to Warm-minji/what_was_it_back-end development by creating an acc..
팀원들과 아이디어를 내서 주제를 정하고 프로젝트를 시작합니다. start.spring.io 사이트에 들어가서 스프링 부트 프로젝트를 생성할 계획입니다. 그후 각종 dependencies 및 필요한 library를 설정합니다. 프로젝트에 필요한 github repository 생성할 것 입니다.
자바 스프링부트를 공부하면서 처음으로 알게된 lombok annotation에 관한 내용을 주제로 선정하고 발표했다. 비대면으로 진행하여 2019년도의 온라인 세미나만큼의 긴장감은 없었지만, 오랜만에 하는 발표라 떨리기는 했던 것 같다. lombok에 함축된 기능을 사용하는 방법과 lombok을 스프링 부트의 dependency에 적용하여 사용하는 방법을 간략하게 담고있다. 보안 관련 내용으로 발표를 하고 싶지만 1학년 때 잠시 배웠던 내용마저 기억이 가물가물하고, 요즘은 개발이 더 재밌는 것 같기도 하다. 복학 후 처음 있었던 학기여서 한건 없는데 너무 바쁘게 보냈던 것 같다. 이번 여름방학을 계기로 더 성장해야겠다.
오늘의 포스팅은 docker에서 ubuntu이미지를 이용해서 bomblab용 컨테이너를 만들어서 기본 환경 설정을 하는 법에 대해서 다뤄볼 것이다. 앞으로 bomblab을 풀기 위해서 미리 환경설정을 하는데 단순히 내 로컬이 아니라 docker의 가상환경에서 하기 위함이 있다. 나의 로컬에서 하는 것이랑은 크게 차이는 없지만 지저분한 로컬을 피하기 위해서 이런 선택을 했다. 먼저 docker를 다운받는다. https://docs.docker.com/desktop/mac/install/
전역 후에 집을 돌아온지 3주가 되었다!! 갑자기 집에서 사용하던 와이파이 공유기의 비밀번호가 맞지 않다고 떠서 껐다 켜보기도 하고 각종 방법들을 사용해 보았지만 문제가 해결되지 않았다. 결국 와이파이 공유기를 초기화 하기로 했다. 내가 사용하고 있는 와이파이 공유기 모델은 IPTIME의 N740M모델이다. 지금부터 본론으로 넘어가서 와이파이 공유기를 초기화 시키는 방법을 소개하려고 한다. 방법은 매우 간단하다. 1. 공유기에 있는 rst라고 적힌 리셋 버튼을 5초이상 꾹 눌러준다. (아마 IPTIME이든 다른 와이파이 공유기를 제작하는 회사든 reset버튼은 존재하는 것으로 알고있다.) 2. 공유기에 불이 꺼지고 다시 들어오는 것을 확인하면 끝!! 그러고는 IPTIME의 관리자 홈페이지로 들어가서 와이..
이번에는 bomb lab의 phase_2를 푸는 내용을 포스팅할 것이다. 먼저 gdb로 bomb를 들어가서 phase_2를 disassamble해보았다. 일단 핵심이 되는 함수를 보니 read_six_numbers라는 함수임을 알 수 있다. 아마도 6개의 입력 값을 받을 것 같은 느낌이 든다. 그리고 다음 14번째 줄의 cmp명령어를 보면 스택에 첫번째 정수가 1인지 비교하고 있다. 그리고 52번째 줄로 넘어가서 rbx에 두번째 숫자가 담긴 스택의 주소를 저장하고 다시 27번째 줄로 점프해서 eax에 첫번째 입력값인 1을 복사한다. 그 후 30번째 줄에서 eax값을 두배해준다. 그 후 rbx의 값과 비교를 해서 같으면 rbx에 4만큼의 공간을 더 할당하여 준다. 이런 방식을 반복하다보면 처음에 1부터 시..
2학년 2학기 때 배울 시스템 프로그래밍을 위해서 bomblab을 한번 끝까지 풀어보고 싶었다. 사실 원래 한번 풀어보고 싶기도 했고 복학을 했을 때 2학년 2학기를 대비하자는 그런 마음가짐으로 겸사겸사 시작해보려고 한다. 먼저 동아리 교육 서버에 미리 받아둔 bomblab을 실행시켜 보았다. 먼저 이렇게 인사말과 함께 반겨주는 모습을 볼 수 있다.(사실 숨겨진 내면은 무섭다^_^) 그리고 'abcd'라는 문자열을 주었더니 BOOM!!!이라는 메시지와 함께 실행이 종료되었다. bomblab의 실행파일에는 phase가 6개에 hidden phase까지 총 7개의 단계가 있다고 들었는데 궁금해서 gdb로 들어가서 main함수를 disassamble 해보았다. 사실 더 길지만 phase 1~6까지의 일부를 가..
사실 해킹이라고하면 막 뭔가를 캐내고 얻어내고 하는 과정을 통해서 성과를 얻어낼 수 있는데 오늘은 그 중에서도 평소보다 실용적인 것을 생각해보았다. 난이도가 엄청 어렵지 않으면서도 실습환경을 쉽게 구축할 수 있고 쉽게 공부할 수 있지만 많은 것을 배울 수 있는 것을 찾아보다가 생각해낸 것이 와이파이의 비밀번호를 탈취하는 것이다. 그 전에 공부하면 좋을 것이라고 생각되는 것은 와이파이의 보안체계인데 동아리 정기세미나에서 발표한 간략한 자료가 있으니 참고하면 좋을 것 같다. https://jeomxon.tistory.com/11 2019-11-19 ARGOS 정기 세미나 간단한 와이파이의 보안체계에 대한 세미나 발표를 예정하고 있다. 와이파이의 보안 방식에는 크게 WEP/ WPA,WPA2 정도로 나눌 수 있..
간단한 와이파이의 보안체계에 대한 세미나 발표를 예정하고 있다. 와이파이의 보안 방식에는 크게 WEP/ WPA,WPA2 정도로 나눌 수 있다. 어떤 보안체계가 가장 많이 쓰이는지, 어떤 보안체계가 가장 안전한지 등에 대한 설명이 첨부되어있다. WEP의 암호화 방식은 IV + Key로 이루어진 방식인데 처음에 24+40bit로 64bit방식을 많이 사용했지만 암호방식이 허술하여 bit를 늘리게 되었다. 하지만 bit를 늘린다고 취약점이 해결되지는 않아 새로운 방법을 찾아야했고, WPA라는 방식이 대체되어 쓰이게 되었다. WPA는 TKIP라는 암호화 방식을 사용했고, WPA2는 AES라는 암호화 방식을 사용했는데 현재로써는 AES암호화 알고리즘을 지니고 있는 WPA2가 가장 보안이 뛰어나다. 하지만 WPA2..