덕토피아

· 레퍼런스
코더로서, 여러분은 멋진 기술을 가지고 있고 다른 사람들의 생각을 그대로 실행함으로써 돈을 얻을 수 있습니다. 이번에는 여러분만의 것을 만드는 건 어떨까요? 소프트웨어 비즈니스를 시작하는 데 관심이 있다면, 몇 가지 실용적인 조언을 해드리겠습니다.   Step 0: 간단하게 해라처음 시작할 때, 내가 모르는 것이 무엇인지 잘 몰랐습니다. 엔지니어로서 제 실력은 사람들이 사용할 제품을 만들기에 충분하다고 생각했습니다만, 틀렸습니다! 몇 가지 중요한 단계를 놓치고 말았습니다.내가 만들고 있는 것을 원하는 사람들이 있는가?비슷한 제안으로 성공한 다른 기업들이 있는가?내 제안이 무엇인가?이 제품을 어떻게 마케팅 할 것인가?아이디어에서 최소 실행 가능한 제품(MVP)으로 전환하는 방법을 4단계로 나누겠습니다. S..
· 레퍼런스
1. Documantic[https://www.documatic.com/]Documa는 프로젝트 문서를 작성하는 과정을 줄여줍니다.API 참조에서 사용자 가이드에 이르기까지 이 플랫폼은 코드를 쉽게 문서화할 수 있는 유연한 템플릿과 사용자 친화적인 편집 도구를 제공합니다.프론트 및 백엔드 모두에게 적합합니다. 2. transform[https://transform.tools/]ransform은 디자이너와 개발자 모두에게 강력한 도구입니다.사진 압축, SVG 최적화 및 색상 수정을 위한 도구를 제공해 효율성을 높입니다. 3. Convertio[https://convertio.co/]Convertio는 파일 형식을 처리하는 작업을 저장합니다.이 프로그램은 300개 이상의 파일 유형을 지원하여 사진, 문서, ..
· 레퍼런스
7. 검색 전 데이터 존재 여부를 확인하지 않기Bad Practice: 객체를 가져오기 전 map에 id가 있는지 미리 확인합니다. 존재하지 않는다면 null 값을 반환하기 때문에 미리 체크하는 것은 불필요합니다.public static String findNameById(Map idNameMap, int id) { if(idNameMap.containsKey(id)) { return idNameMap.get(id); } else { return "Unknown"; }}Good Practice: 즉시 map에서 가져온 후 null인지 아닌지 체크하여 존재 여부를 확인합니다.public static String findNameById(Map idNameMap, int id) { S..
· 레퍼런스
1. Nulls와 OptionalsBad Practice: 메서드에서 바로 null을 리턴하는 건 NPE를 유발할 수 있습니다.public String getString() { return null;}Good Practice: null에 대한 명확한 핸들링과 에러 방지를 위해 Optional을 사용합니다.public Optional getString() { return Optional.empty();} 2. String.valueOf()로 String 변환Bad Practice: + 연산자를 사용해 문자열을 합칩니다.double d = 3.14525;String s = "" + d;Good Practice: 내장 메서드를 활용합니다.double d = 3.14245;String s = String.val..
· 개발서적
실무에 들어가면 둘 중 하나의 상황과 맞닥뜨리게 됩니다. 아무것도 없는 상태에서 처음부터 코드를 작성하거나, 혹은 기존 코드에서 기능 추가, 문제 해결, 리팩터링 등의 코드를 보강하거나요. 어쨌든 두개의 상황 모두 코드를 작성한다는 점에서는 동일한데요. 보통은 좋은 코드를 작성해야지! 하는 다짐으로 원대하게 시작합니다. 그렇다면 "좋은 코드" 란 무엇인가요? 지속 가능하고, 유지/보수하기 쉽고, 이해할 수 있으면서 복잡하지 않은 "데우스 엑스 마키나" 같은 이상적인 코드가 좋은 코드인 것에는 반박의 여지가 없을 겁니다. 누구나 좋은 코드를 작성하고 싶을 겁니다. 이 "읽기 쉬운 코드" 책에서는 그런 사람들을 위해 몇 가지 팁을 전수해 주고 있습니다. '레스토랑 예약 시스템'을 통째로 구현하는 과정을 예시..
· 레퍼런스
마침내 리트코드에서 300개의 문제를 해결했습니다. 다음은 제가 해결한 주제의 분포와 각 주제의 수 입니다.이 여정에서 중요한 부분은 다음과 같습니다. 고급 토픽에 집중하기: 동적 프로그래밍(DP), 이진 검색, 그래프, 트리 및 우선순위 큐와 같은 주제는 인터뷰에서 자주 질문을 받으며, 익숙해 지기 위해서는 시간과 인내심이 필요하기 때문에 계속해서 집중합니다.다른 사람과 비교하지 않기: 우리는 모두 다른 개체이기 때문에, 자신의 학습곡선을 그대로 받아들이는 것이 좋습니다. 당신의 여정을 다른 사람과 비교하지 마세요.일하면서 300개의 문제를 해결하는 데 10개월이 걸렸고, 일부 사람들은 그 절반의 시간만을 투자할지도 모르지만 괜찮습니다. 그것은 저만의 여정이니 다른 사람을 생각하며 내 기분..
· 레퍼런스
REST (Representational State Transfer) REST는 애플리케이션을 설계하기 위해 널리 채택된 API 아키텍처 스타일입니다. 리소스 조작, 상태-비저장 및 균일한 인터페이스를 위해 표준 HTTP 메서드(GET, POST, PUT, DELETE)를 기반으로 합니다. REST API는 리소스를 식별하기 위해 URI(Uniform Resource Identifier)를 사용하며 JSON 또는 XML과 같은 다양한 형식으로 데이터를 교환합니다. SOAP (Simple Object Access Protocol) SOAP는 네트워크를 통해 구조화된 정보를 교환하기 위한 XML 기반 프로토콜입니다. 엄격한 규칙을 따르며 메시지의 구조를 정의하기 위해 XML 스키마를 사용합니다. SOAP A..
데이터 무결성을 관리하는 데 있어서 트랜잭션 매니저는 자바 애플리케이션에서 매우 중요한 역할을 합니다. 이번 포스팅에서는 자바의 기본 트랜잭션 매니저 인터페이스와 그 구현체들을 알아보겠습니다. 트랜잭션 매니저란? 트랜잭션 매니저는 여러 데이터베이스 작업이 하나로 묶일 수 있도록 관리해주는 구성 요소입니다. 이는 모든 작업이 성공적으로 완료되거나, 하나라도 실패할 경우 전체 작업을 원상태로 되돌리는 'All or Nothing'의 원칙을 보장합니다. 자바에서는 주로 JTA(Java Transaction API)를 이용하여 트랜잭션을 관리합니다. 스프링과 트랜잭션 매니저 스프링 프레임워크에서는 더 편리하게 트랜잭션을 관리할 수 있는 추상화된 트랜잭션 매니저를 제공합니다. PlatformTransactionM..
· 레퍼런스
Finally 블록에서 예외가 발생하면 어떻게 되나요? 자바에서, try-catch에서 finally 블록 내에서 예외가 발생할 때의 동작은, try-catch 블록의 예외 처리와 약간 다릅니다. [Try-Catch 블록의 예외] 정상적인 플로우가 중지됩니다. 예외 유형과 일치하는 catch 블록이 있다면, 해당 블록 내의 코드가 실행됩니다. 이를 통해 예외를 처리할 수 있습니다. catch 블록이 완료되거나 어떤 catch 블록과도 일치하지 않으면 finally 블록의 코드가 실행됩니다. [Finally 블록의 예외] 원래의 예외가 중지됩니다. 이는 원래의 예외가 메서드 호출자에게 전달되지 않는 것을 의미합니다. finally 블록에서 던진 예외가 호출자에게 전파되는 새로운 예외가 됩니다. [키 포인트..
· 레퍼런스
Join은 무엇인가요? Join은 여러 테이블의 데이터를 결합하기 위한 개념입니다. 공유 field를 기반으로 서로 다른 테이블에서 관련 정보를 검색할 수 있습니다. 다음과 같은 데이터베이스가 있다고 가정합시다: 고객 테이블은 이름, ID와 같은 고객 정보를 저장합니다. 주문 테이블은 고객 ID(고객 테이블과 연결된)를 포함한 주문 정보를 저장합니다. 완전한 정보를 위해, 고객 정보를 주문 정보와 결합해 보여주길 원할 것입니다. 이때 조인을 사용합니다. 조인에는 여러 종류가 있습니다: Inner Join: 가장 일반적인 조인입니다. 두 테이블 모두에 포함된 내용만 반환합니다. Left Join: 왼쪽 테이블의 모든 행과 오른쪽 테이블의 일치하는 행이 포함됩니다. 일치하지 않는 오른쪽 테이블의 행은 nul..
둘기덕
'분류 전체보기' 카테고리의 글 목록 (3 Page)