Chapter 2Item 1 생성자 대신 정적 팩터리 메서드를 고려하라정적 팩터리 메서드가 생성자 보다 좋은 장점 다섯가지.- 이름을 가질 수 있다. 정적 팩터리는 이름만 잘 지으면 반환될 객체의 특성을 쉽게 묘사할 수 있다. // 생성자BigInteger(int, int, Random)//정적 팩터리 메서드BigInteger.probablePrime - 호출될 때마다 인스턴스를 새로 생성하지는 않아도 된다. 이는 인스터스를 미리 만들어 놓거나 새로 생성한 인스턴스를 캐싱하여 재활용하는 식으로 불피요한 객체 생성을 피할 수 있다. 대표적인 예인 Boolean.valueOf(boolean) 메서드는 객체를 아예 생성하지 않는다. (?) 반복되는 요청에 같은 객체를 반환하는 식으로 정적 팩터리 방식의 ..
1. 개요 회사에서 개발 중 이해하지 못하는 버그가 발생되었다. C++과 Java만 쓰던 나에게는 아직 JS의 문법이 어려운 것 같다. 오늘은 내가 마주친 버그와 이 버그를 이해(?)하기 위해 공부한 내용을 적어보고자한다.2. 본론2.1 C++에 익숙한 내가 마주친 버그 아래의 C++ 코드를 보자. #include using namespace std;int main() { int tmp = 0; cout tmp라는 변수가 if문의 블럭 밖에서 선언되고 또 그 안에서 한번 더 선언됐다. C++은 이런경우 더 가까운 변수를 참조하는 것으로 되어있다. 따라서 if문 안에 있는 if문은 if문 밖에서 정의된 tmp변수를 참조한다. 그럼 이것과 비슷하게 작성된 JS 코드를 보자. let tmp =..
1.개요 이제 12월이 되었다. 대학교를 입할 때는 25살이 되면, 뭔가 많은 것을 알고 한 분야를 관철하는 사람일줄 알았는데 지금은 아무것도 모르고 미래를 걱정하는 20살이랑 별 다를 바가 없는 것 같다. 행복하게 직장을 다니고 있지만 항상 불안한 마음을 가지고 있다. 왜그런지는 모르겠다. 이유야 시간이 지나면서 알아갈 것이라고 생각한다. 그때까지는 그냥 내 자리에서 최선을 다하면 된다고 생각한다. 우리 아버지가 대학교 입학할 때 말씀하셨던 것처럼 "타인보다 발전하는 삶이 아닌 과거의 나보다 발전하는 삶을" 살아가고 싶다.2.본론2.1 개발자의 커뮤니케이션 업무의 방식이 조금 달라졌다. 실무를 경험하기 전에는 "그냥 개발자는 기획의도대로 적합한 기술 스택을 찾아서 만들면 되는거 아닌가?" 라는 생각이..
1. 개요 FLOWBIT 서비스에 LLM이 필요하다는 결론을 내리고 Groq라는 구세주를 만났다. 사용 모델을 llama3으로 확정한 후 테스트를 위해 모델에 여러 질문을 해보다가 프롬프트 엔지니어링을 알게되었고, 이를 적용해보았다. 이번 글에서는 그 과정을 적어보고자한다.2. 본론2.1 프롬프트 엔지니어링프롬프트 엔지니어링이란 무엇인가... 찾아보니 좋은 문서가 있어 공유해본다. 아래의 글을 요약하자면, 세부적인 결과를 얻을 수록 자세한 지침이 필요하고 이를 여러 방법(문자, 기호, 형식)으로 정규화 한것을 프롬프트 엔지니어링으로 생각하면 된다. https://aws.amazon.com/ko/what-is/prompt-engineering/ 프롬프트 엔지니어링이란? - AI 프롬프트 엔지니어링 설명 ..
1. 개요OpenAI를 무료로 사용하기 힘들었다. 무료로 사용할 수 있는 token수가 생각보다 적었다. 이 이슈를 정말 해결하고 싶었다. 사실 해결 방법은 간단하다. 돈을 쓰면 된다. 그러나 "조금 더 좋은 방법이 있지 않을까?" 라는 생각을 하게 되었고 Groq API를 알게 되었다. input token의 제한으로 FLOWBIT VER2에서는 Chat GPT의 그래프 분석 기능이 포함되지 않았지만 다시 우리 서비스의 LLM을 사용한 그래프 분석 기능을 넣고 싶었고, 기획자분도 해당 기능의 필요성을 말해주셨다. 다음은 기획자분이 전달해주신 기획자료 중 일부이다. AI에이전트는 복잡한 정보를 한 번에 정리해주는 아주 중요한 기능을 한다. 내가 사용자였어도 비트코인 투자를 처음 시작한다면 복잡한 지표보..
1. 개요 중소벤처기업부의 2030 청년 자문단으로 위촉되었다. 아는 멘토님께서 추천해주셨고 사실 전부터 관심이 많았다. 100세 시대라지만 정년이 50이라면 결국 사람은 자신의 일을 약 30년동안은 해야한다는 것이다. 사업에 대한 생각, 투자에 대한 생각은 나의 끊임 없는 고민거리였다. 그런 이유에서인지 여러 창업대회와 공모전에 참여하였고 다양한 수상경력이 도움이 되었는지 최종적으로 자문단원으로 위촉되었다. 이제 그 과정을 적어보자 한다. 2. 본문- 서류 자소서를 잘 쓴다고는 할 수 없지만 1학년 때 부터 해외봉사활동, 공모전, 계약직, 인턴고 같은 활동에 참여하기 위해 여러 자소서를 작성하였다. 그럼에도 불구하고 이번 자소서는 정말 어려웠다. 분량을 맞추려다 보니 내가 살아온 인생을 하나의 타..
1. 개요 FLOWBIT VER2가 릴리즈 되었다. "이젠 정말 버그가 없겠지?" 라는 생각으로 테스트를 한 기간이 3개월이 넘어갔다. 각자 자신의 커리어를 위해 관철하는 과정에서 일부의 시간을 하나의 프로젝트에 사용한다는 것은 쉬운일이 아니다. 그런 분들이 6명이나 있으니 이런 팀에서 팀장으로 있는 것 자체가 나에게는 큰 도움이 된 것 같다. 프로젝트가 끝날 때까지 긴 시간이 걸렸지만 포기하지 않고 성공적으로 VER2를 릴리즈 했다는 사실에 일단 만족하고 있다. 그러나 진정한 목적을 달성하기 위해 다시 시작하는 마음으로 회고록을 작성하고자한다.https://www.flowbit.co.kr/ 플로우빗 www.flowbit.co.kr2. 본론 - 사이드 프로젝트를 하는 이유 처음에는 그저 좋은 회사에..
1. 개요2시간 녹인 문제... 늘 내 블로그에 적는 말이지만 구현은 초반 설계가 잘못된다면 정말 힘든 문제인 것 같다. 여러 예외도 생각해야하고... 이래서 난이도 높은 문제들은 구현인가...? 싶기도 하다. 문제를 나누고 나올 수 있는 예외를 전부 처리해야 성공하는 문제이기에 시간도 많이 들고 힘도 많이 들었다... 출처: https://www.acmicpc.net/problem/2933 2. 본문내가 생각한 구현 문제의핵심은 다음과 같다. 물론 말 그대로 타고난 능력이 좋은 사람들은 저런 방법이 필요 없겠지만 말이다.. ㅋㅋㅋ1. 문제를 단계별로 나눈다.2. 예외사항을 처리한다.3. 구현- 문제 나누기 문제를 나누면 다음과 같다.1. 방향에 맞는 미네랄 제거.2. 떨어지는 미네랄 조사.3. 떨어질 ..
- Total
- Today
- Yesterday
- 후기
- 문자열
- CJ 올리브네트웍스
- 육군
- 코딩
- 개발자
- 알고리즘
- 안드로이드 프로그래밍
- CJ
- 코딩테스트
- 자료구조
- XML
- 비트코인
- BaekJoon
- c++
- Spring Boot
- spring
- 안드로이드 스튜디오
- 프로그래머스
- C언어
- CJ Olivenetworks
- 백준알고리즘
- java
- Programmers
- 백준
- Python
- 백준 알고리즘
- 기록지
- 코테
- 구현
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |