본문 바로가기

프로그래밍 언어

(34)
읽기 좋은 코드 작성하기 #2 Conventions Swift.org Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns. www.swift.org Swift API Design Guidelines에 정의된 컨벤션 규칙을 알아보자! Conventions 컨벤션 1. 복잡도가 O(n)이 아니라면 복잡도를 주석으로 남기기 /// Time Complexity: O(n^3) func test() { a.forEach { b in b.forEach { c in c.forEach { d in ... } } } } 2. 전역 함수 대신에 메서드와 프로퍼티 사용하기 3. type, prot..
읽기 좋은 코드 작성하기 #1 Naming Swift.org Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns. www.swift.org Swift API Design Guidelines에 정의된 네이밍 규칙을 알아보자! Naming 네이밍 1. 필요한 단어를 모두 포함하기 Bad employees.remove(x) // 명확하지 않음 good employees.remove(at: x) // x번째에 위치한 employee 제거 2. 불충분한 type 정보를 보충하기 Bad func add(_ observer: NSObject, for keyPath: String)..
[Swift] Random String 만들기 주어진 문자열을 가지고 원하는 사이즈의 크기로 mixed up된 문자열 만들기 extension을 활용해서 쓰는 것을 좋아합니다 :) extension String { func createRandomStr(length: Int) -> String { let str = (0 ..< length).map{ _ in self.randomElement()! } return String(str) } } 사용 let str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" let size = 5 let iv = str.createRandomStr(length: size) 결과 d5m9C
[Swift] 싱글톤 패턴 (Singleton Pattern) Singleton Pattern이란? 객체를 하나만 생성하여, 생성된 객체를 어디서든 참조할 수 있도록 하는 패턴 생성 static 변수에 Singleton Pattern을 적용할 클래스의 인스턴스를 할당 initializer를 private으로 설정하여 다른 곳에서 또 인스턴스를 생성하지 못하도록 해야한다. (Thread-safe) class Singleton { static let shared = Singleton() private init() {} func printMessage(_ msg: String) { print(msg) } } 사용 클라이언트에서 .shared 변수를 불러와 사용 Printer.shared.printMessage("ppomelo")
[Swift] 전처리 매크로 Swift에서도 C/C++ 처럼 컴파일러 전처리기를 사용하여 매크로를 정의 할 수 있다. #if DEBUG // 디버그 모드에서 실행할 코드 #else // 릴리즈 모드에서 실행할 코드 #endif Xcode에서는 기본적으로 디버그 모드에서만 DEBUG를 선언하면 된다. 디버그 모드와 릴리즈 모드를 구분할 수 있다. 참조 swift — #ifdef Swift 언어로 대체 많은 경우에 조건부가 필요하지 않습니다. {compilation; 당신은 on/off 할 수있는 조건부 behavior 만 있으면됩니다. 이를 위해 환경 변수를 사용할 수 있습니다. 이것은 실제로 재 컴파일 할 필요가 없다는 큰 이점이 있습니다. 체계 변수에서 환경 변수를 설정하고 쉽게 전환 할 수 있습니다. NSProcessInfo를 ..
자바 코딩 규칙(Java Code Conventions) 사소하다 생각할 수 있지만 협업을 하려면 반드시 알아야하는 코딩규칙! https://myeonguni.tistory.com/1596 [코딩규칙] 자바 코딩 규칙(Java Code Conventions) [코딩 규칙] 자바코딩 규칙(Java Code Conventions) 자바 프로그래밍 언어 코딩 규칙 원문 : Oracle / Code Conventions for JavaTM Programming Language / 1999-4-20 번역 : Kwangshin's Positive Blog, Java Co.. myeonguni.tistory.com
JPA란? JPA를 사용해야 하는 이유 JPA란? Java Persistence API 자바 진영의 ORM 기술 표준 ORM이란? Object-relational mapping (객체 관계 매핑) 객체는 객체대로 설계, RDB는 RDB대로 설계 ORM 프레임워크가 중간에서 매핑 대중적인 언어에는 대부분 ORM 기술이 존재 JPA를 사용해야 하는 이유 1. 생산성 저장: jpa.persist(member) 조회: Member member = jpa.find(memberId) 수정: member.setName(“변경할 이름”) ⭐️ 삭제: jpa.remove(member) 2. 유지보수 SQL 중심적인 개발에서 객체 중심으로 개발 기존: 필드 변경시 모든 SQL 수정 JPA: 필드만 추가하면 됨, SQL은 JPA가 처리 3. 패러다임의 불일치 해..
JDBC - Unknown column in 'where clause' 에러 해결 String name = textField_name.getText(); StringBuilder sb = new StringBuilder(); String sql = sb.append("select * from goods where name = ").append(name).append(";").toString(); textField로 입력한 값을 가져와서 쿼리문을 만드는 과정에서 Unknown 'abcd' column in 'where clause' 라는 에러가 발생했다. name을 varchar 타입으로 생성했으면서 따옴표를 입력해주지 않았기 때문이다. 수정 후 ! String sql = sb.append("select * from goods where name = '").append(name).app..