본문 바로가기

All146

해시 충돌 면접 질문으로 유명한 해시 충돌이다. 해시 충돌에 대해 이야기하려면 먼저 해시에 대해 알아야 하고, 왜 충돌이 일어나게 되는 지도 알아야 한다. 해시란 무엇인가? 해시 알고리즘에 대해서는 많이들 들어봤을 것이다. 자바에서 HashMap/Set을 사용해 보았을 수도 있고, 기본적으론 무언가를 저장하고, 다시 찾는 것에 아주 속도가 빠른 알고리즘으로 기억하고 있다. 명확하게 해싱Hashing을 하는 것은 다음을 의미한다. 해싱은 가변 크기의 입력값에서 고정된 크기의 출력값을 생성해 내는 과정. 이는 해시 함수(해싱 알고리즘으로 구현됨)라 알려진 수학적 공식을 따라 진행된다. 출처 : academy.binance.com/ko/articles/what-is-hashing 이렇게 해싱을 거친 값들은 일반적으로 해.. 2020. 12. 27.
DI (Dependency Injection)란? DI는 의존성 주입을 의미한다. 여기에서 의존성과, 주입에 대해 각각에 대한 의미를 알아보자. 위의 사진에서 ClassA에 대해 ServiceA와 ServiceB는 모두 의존성을 갖고 있다. (각각의 서비스에서 ClassA를 사용한다) 따라서 이러한 상황에서 오른쪽의 경우 ClassA를 따로 생성하여 외부에서 ServiceA와 ServiceB에 주입하는 모습을 볼 수 있다. DI (Dependency Injection)란? 어떠한 객체 A내에 선언된 B를 할당하게 되면 A는 B에 의존성을 갖게 된다. 이러한 상황에서 DI를 사용하게 되면 외부에서 생성한 B객체를 A에 주입하기만 하면 되고, B 객체 할당도 여러번 일어나지 않는다. 따라서 DI를 사용하게 되면 재사용성이 높아지고, Unit 테스트에 좋아진.. 2020. 12. 21.
안드로이드 클린 아키텍처 최근 회사에서 프로젝트를 진행하면서 '클린 아키텍쳐'라는 것을 처음 들었다. 물론 클린 아키텍쳐라는 용어에서 오는 느낌에서부터, 코드를 깔끔하고, 객체 지향적으로 짜기 위한 아키텍쳐일 것이라는 느낌이 오기는 했다. 그런 의미에서 안드로이드 클린 아키텍쳐에 대해 알아보자. 클린 아키텍처란? 2012년 Uncle Bob은 Clean Architecture라는 새로운 소프트웨어 아키텍처 패턴을 발표했습니다. 그는 이 패턴을 활용한다면 SW 개발의 체계적인 구조와 계층들을 분할함에 따라 이전보다 효율적으로 프로그램을 구현가능할 것이라고 말했습니다. 출처: https://juyeop.tistory.com/25 [글 쓰는 개발자의 꿈] Uncle Bob이라는 사람이 발표한 것으로, 엔터프라이즈에서 논의되고 있던 내.. 2020. 12. 18.
TDD란? 익히 들어온 TDD..에 대해서 알아보고자 한다! TDD는 뭔가 개인적으로 코딩 테스트 당시에 나오는 테스트 케이스 확장자 파일? 로 은근 봐왔던 것 같다. 실제로 개발 과정에서 테스트 케이스를 만들었고, 이러한 테스트를 통과하기 위한 코드를 짜는 것을 TDD라고 한다. TDD에 대해 자세히 알아보자! TDD란? Test Driven Development. 테스트 주도 개발. 테스트가 개발을 이끌어나가는 것을 의미한다. 매우 짧은 개발 사이클을 반복하는 소프트웨어 개발 프로세스 중 하나이다. 먼저 요구사항을 검증하는 자동화된 테스트 케이스를 작성하고, 그 테스트 케이스를 통과하기 위한 코드를 생성한다. 그리고 해당 코드를 리팩토링하는 기법이다. 위의 과정을 간단히 이미지로 표현하면 다음과 같다. TDD .. 2020. 12. 9.
2020 하반기 개발자 공채 회고록 2020 상반기 SK C&C 코딩테스트 탈 현대카드 AI 역량평가 탈 NBP (네이버 비즈니스 플랫폼) 1차 면접 탈 2020 하반기 네이버 1차 면접 탈 웍스모바일 서류 합 (네이버 면접 진행으로 포기) 삼성전자 DS 역량테스트 탈 SK C&C 최종 탈 SK텔링크 서류 합 (동일 날짜 타기업 시험으로 포기) 현대무벡스 서류 합 (동일 날짜 타기업 시험으로 포기) 넷마블 필기테스트 탈 CJ ENM (오쇼핑) 적성 탈 NC소프트 필기테스트 탈 B기업 최종 합 1차라도 통과 못한 것들은 안적어서 그렇지만, 사실 상반기엔 서류를 21개를 넣었으며, 하반기는 45개를 넣었다. 썸머코딩, 게임데브매칭, 윈터코딩... 이런 자잘한 코딩테스트를 본 것까지 적는다면 더 많을 것이다. 사실.. 아주 솔직하게 내 첫 취준.. 2020. 12. 2.
머신러닝과 딥러닝의 차이 면접을 보면서 받았던 질문에 대해 정리해보는 시간을 갖고자 한다. 면접을 보면서 해당 직무 중에선 관심분야가 AI 이다.. 라고 말을 했다가 굉장히 많은 질문을 받았었다. 그중 흐지부지하게 대답한 것이 있다면 단호하게 말할 수 있을 정도로 ~하는 상황에서 딥러닝과 머신러닝 중 무엇을 선택하시겠습니까? 라는 질문에서 다소 어처구니 없는 답변을 했던 것 같다(..) 면접 결과는 나오지 않았지만 개인의 궁금증 해결을 위해 해보는 차이점 알아보기! 간단히 말해서 인공지능 내에 머신러닝이, 그리고 머신러닝에 딥러닝이 포함되는 형태이다. 구체적인 차이점은 다음과 같다. 머신러닝 통계적인 경험을 통해 문제의 해법을 찾아가는 인간의 특징을 기계에 적용한 것이다. 그러나 인간의 실수까지도 기계가 그대로 학습한다는 단점이.. 2020. 11. 30.
마피아 사회자 어플리케이션 친구들이랑 놀다가... 다같이 마피아 게임을 하고 싶은데 사회자가 없어서 생긴 슬픔.. 한밤의 늑대인간 게임처럼 목소리 자체를 네이버 클로바 더빙으로 넣어둘지 아니면 구글 플레이 스토어에 있는 친구처럼 만들어볼 지는 고민이다. 개인적으로 하고싶었던 건 1. 경찰이나 의사 제외 가능 2. 인원수 별 마피아, 경찰, 의사 인원 임의 세팅 가능 (마피아는 반드시 1명 이상) 3. 자신의 턴에서 시민들은 자신의 임무를 수행한다. 마피아는 가짜 임무를 수행한다. (어몽어스 컨셉) 4. 귀여운 캐릭터 디자인 유니티로 진행할지, 안드로이드 스튜디오로 진행할지는 고민이지만... 아무래도 연습겸 안드스튜 써서 간단하게 앱을 만들어볼 듯하다! 언젠가는... 만들겠지? 기획이 추가되는데로 아래에 추가될 예정 :) 2020. 11. 29.
www.도메인.com 을 치면 일어나는 일 면접 단골 질문이다. 사실 몰랐었지만 (..) 면접 스터디를 하면서 알게 되었고, 실제로 내가 진행했던 몇 회사의 필기 테스트에서도 비슷한 문제를 본 경험이 있다. 서버와 클라이언트 측면에서 설명할 수 있는 것이 좋다. IP 주소란? 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호이다. IP 주소를 줄여서 IP라고 부르기도 하지만 IP는 인터넷 규약 자체를 가리키는 말이기 때문에 엄밀하게는 구별해야 한다. 요즘 사용되는 IP 주소는 *IPv4지만 주소가 부족해짐에 따라 IPv6 주소가 널리 사용되고 있다. *IPv4는 오늘날 일반적으로 사용하는 IP 주소이다. 범위는 32비트로 0 ~ 255 사이의 십진수 넷을 쓰고 .으로 구분하여 나타낸다. 따라서 0.0.0.0 ~.. 2020. 11. 22.
2020 정보처리기사 3회 실기 합격 후기 1,2회 필기를 연속으로 미뤄져서 빡쳤던 감이 있었던지, 3회 실기를 한 번에 붙었다 (진짜 다행) 점수는 좀 아슬아슬하게 65점이었는데, 우연찮게 면접 준비하면서 공부했던 파트. 전날에 풀었던 ICMP 같은게 나와서 ㅋㅋㅋㅋㅋㅋㅋㅋ진짜 운좋게 붙었다. 실기는 정말 운이 너무 중요한 것 같다... 문제 범위가 너무 어마무시하다보니 문제를 보면 보통 이 상태다. 이거.. 봤던 건데... 아는건데... 근데 뭐더라? ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 암튼 올해 자격증 취득 너무 좋다. 남들이 다 따는 전공자 자격증 얻어서 소소하게 행복하다는 것으로 후기는 마무리 :) 2020. 11. 14.
HTTP FAILED: java.lang.SecurityException: Permission denied (missing INTERNET permission?) 카카오 API 연동 중 HTTP FAILED: java.lang.SecurityException: Permission denied (missing INTERNET permission?) 오류 발생. 매니페스트 인터넷 접속 권한 문제로 를 매니페스트에 추가 이후 해결. 참고 자료 https://hwanine.github.io/android/Retrofit/ Android - Retrofit2을 사용하여 RestAPI 연동 (Kotlin) (1) Retrofit을 사용하여 네이버 RestAPI와의 연동하는 과정을 소개하겠습니다. hwanine.github.io 2020. 11. 6.