프로그래밍/짧은 기록
-
프론트엔드 기술 면접 대비해서 준비했던 짧은 한 줄들프로그래밍/짧은 기록 2022. 7. 28. 21:29
이직 이야기를 했던 글에서 면접을 대비해서 답변을 짧게 준비했다는 내용이 있었는데 오랜만에 메모장을 보니 그 내용이 남아있어서 공유해볼까 한다. 당시에는 꽤나 여기저기 참고해서 적었던 내용이라 참고한 문서가 기억나거나 괜찮은 문서가 있다면 같이 링크를 걸어보려고 한다. 하지만 만약에 참고하시는 분이 있다면 어디까지나 참고만 하시고 내용을 파악하고 면접을 갔으면 하는 마음이다. 클로저: 외부 변수를 기억하고 참조할 수 있는 함수 자바스크립트 클로저: 함수가 생성된 렉시컬 환경을 기억한다. 렉시컬 환경은 지역 변수를 저장하고 있는 객체다. 클로저 사용 예시: 데이터 접근을 제어할 때(private), 상태를 가진 함수를 만들고 싶을 때(값이 변경되고 그에 따라 리턴이 변경), 전역 변수 생성 억제(초반 페이..
-
[Java] 제네릭을 사용하는 함수프로그래밍/짧은 기록 2020. 1. 31. 00:03
오늘 A클래스를 상속하는 모든 하위 클래스를 인자로 받으면서 리턴 타입 역시 그 하위 클래스를 돌려줘야 하는 함수를 작성해야 했습니다. 문제는 Jackson 라이브러리를 사용해서 하위 클래스를 찾아야 제대로 JSON을 만들고 JSON을 파싱해서 다시 클래스로 만들 수 있는데 다형성을 이용해 상위 클래스로 찾아버리니 본래 클래스를 찾아올 방법이 마땅히 없었습니다. instanceof로 if 문을 만들까 생각했지만 매번 하위 클래스가 추가될 때마다 if 문도 추가되어야 하니 그렇게 하고 싶지는 않았고 그래서 우선은 Reflection을 이용했었습니다. 하위 클래스는 이름이 거의 같고 클래스 이름에 포함된 숫자만 바뀌는 식이었기 때문에 임의로 for문을 만들어서 찾아내기로 했었죠. private static ..
-
[보안] Timing Attack프로그래밍/짧은 기록 2019. 12. 14. 01:27
오늘 주니어 세미나에서 평소에 생각이 전혀 닿지 못한 이야기를 들어서 기록합니다. 자세하게 다루지는 못하고 세미나에서 들은 예시와 의미 정도만 기록하려고 합니다. right_password = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" answer1 = "BBCDEFGHIJKLMNOPQRSTUVWXYZ" answer2 = "ABCDEFGHIJKLMNOPQRSTUVWXYA" answer3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" def check_password(answer): for index, letter in enumerate(right_password): if answer[index] != letter: return False return True print(check_pas..