전체 글

전체 글

    [Kotlin] 코틀린 기초문법(변수, 함수, 흐름제어, 널 안정성, 예외처리, 클래스, 프로퍼티, 상속, 인터페이스, 열거형 클래스)

    Kotlin Playground: Edit, Run, Share Kotlin Code Online 실시간으로 웹에서 코틀린의 문법을 학습할 수 있는 사이트 1. 변수 val a: Int = 1 //타입을 생략해도 컴파일 에러 X, 타입 추론이 가능하다. val b = 1 //지연할당: 뒤늦게 값을 할당할 수 있다**(지연할당시에는 타입을 반드시 적어줘야함)** val c: Int c= 3 코틀린에서 변수 선언 시에 사용하는 키워드 val : value의 약자, java의 final처럼 재할당이 불가능 var : variable의 약자, 변수의 개념으로 재할당이 가능하다 val e : String = "Hello" e = "World" //컴파일 에러, val은 재할당이 불가능하기 때문이다. var f =..

    [Kotlin] 코틀린 이해하기 | 코틀린을 배워야 하는 이유 | 자바와 코틀린의 차이점 | 코틀린의 기능✏️[1]

    1. 코틀린 이해하기 1. 코틀린의 현재와 미래 코틀린을 배워야 하는 이유 Jetbrains에서 만든 언어 → 자동완성, 코틀린 변환, 코루틴등 관련 편의 기능을 지원한다. 자바는 발표된지 20년이 넘었지만 코틀린, 스위프트와 같은 현대언어에 비해 기능이 부족하다. 자바에서 best-practice로 불리는 기법들을 언어적 차원에서 기본적으로 제공한다. ex) 이펙티브 자바, 디자인패턴 등 자바에 비해 문법이 간결 → 가독성, 생산성이 높고 오류 가능성이 적다. // equals(), hashCode(), toString() 자동으로 생성 data class Person( val name: String, val age: Int, val email: String ) // 간단하게 싱글턴 객체를 생성 obj..

    [네트워크] HTTPS란? | HTTPS 장점 | HTTPS 사용 이유 | HTTPS 통신 과정 | 대칭키, 공개키

    HTTP란? 하이퍼텍스트 전송 프로토콜로 웹 서버 및 웹 브라우저 상호간의 데이터 전송을 위한 응용계층 프로토콜이다. 인터넷상에서 커뮤니케이션에 사용하는 형식 중 하나다. 주소에 http를 명시해야 맞는 형식에 맞게 해독할 수 있다. HTTPS란? http의 보안 처리가 된 버전이 https다. (신뢰할 수 있는 HTTP) 요즘은 웹의 기본 스펙이라고 봐도 된다. 왜냐면 api를 사용하려고 해도 https가 되어있지 않으면 api를 신청할 수 없기 때문이다. https는 어플리케이션 계층과 전송계층 사이에 SSL/TLS 신뢰계층을 추가해 ‘통신을 암호화’한다. HTTPS를 사용하는 이유 내가 어떤 웹 사이트에 보내는 정보를 다른 누군가가 훔쳐보지 못하게 한다. : 알아먹을 수 없게 변경해 훔쳐보더라도 이..

    [당근테크 밋업 요약] 코프링 | 코틀린의 철학 | 코틀린의 장점 | 코틀린 특징(#살아있다 #자프링외길12년차 #코프링2개월생존기) -1편

    코틀린의 철학 : 코틀린은 자바와의 상호운용성에 초점을 맞춘 실용적이고 간결하며 안전한 언어이다. - Kotlin in Action 코틀린의 철학 : 간결성 개발자들은 코드를 작성하는 시간보다, 기존의 코드를 읽는데 시간을 더 많이 쓴다. 코드는 간결할수록 내용을 파악하기 쉽고, 유지보수에도 좋다. 그 중 핵심은 언어의 간결성(의도 파악, 쉬운 구문 구조, 부가적인 코드 최대한 제거) 코틀린은 프로그램작성에 있어 부수적인 요소들을 최대한 줄이고자 노력했다. 예제1) data class Person( val id: UUID, val firstname: String, val lastname: String, val address: Address ) 다음과 같이, data class를 작성하게 되면 getter..

    [JPA] JPA 개요, JPA 정의, JPA 장점 (자바 ORM 표준 JPA 프로그래밍 1,2장 요약)

    JPA 개요 ORM 프레임워크 : 객체와 관계형 데이터베이스를 매핑해준다. JPA 정의 EJB에서 하이버네이트를 기반으로 만들어진 새로운 자바 ORM 기술 표준 자바 진영의 ORM 기술 표준이다.(object relational mapping) 지루하고 반복적인 crud sql을 알아서 처리해주고, 실행 시점에 자동으로 SQL을 만들어서 실행한다. 조회 결과를 객체로 매핑하는 작업을 대부분 자동으로 처리해준다. JPA 장점 어플리케이션을 SQL이 아닌 객체 중심으로 개발하다보니 생산성, 유지보수 측면에서 좋다. 1️⃣ 유지보수 측면 JPA를 사용하면, 이러한 과정을 대신 처리해주기 때문에 수정할 코드가 줄어든다. SQL을 직접 다루면 엔티티에 필드를 하나만 추가해도 관련된 등록, 수정, 조회 SQL과 결..

    [JPA] Hibernate, JPA, Spring Data JPA, JDBC 차이

    면접용으로 간단하게 정리해놓은 내용입니다! 맨 아래 참고에 꼼꼼히 설명되어있는 블로그가 있으니 자세히 배우고싶다면 참고해 주세요 🥰 JDBC(Java Database Connectivity) 자바가 데이터베이스와 연결될 수 있도록 제공하는 API JDBC는 인터페이스고, JDBC driver를 통해 해당 인터페이스를 구현한다. JDBC Driver는 각각 데이터베이스마다 존재한다. JPA(Java Persistence API) 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스 라이브러리가 아니고, 인터페이스이기 때문에 구현이 없다. Hibernate JPA라는 명세의 구현체이다.(인터페이스를 구현함) JPA를 구현하기 위해 사용한 ORM 프레임워크이고, 성숙도가 높다. Spri..

    [OS] 프로세스란 | 프로세스 개요 | 프로세스 구조 | 프로세스 상태 | PCB | Context Switch | process scheduling

    프로세스 개요 OS는 다양한 프로그램을 실행한다. Batch System(jobs) Time-shared Systems - user programs, tasks 프로그램은 executable file 상태로 disk에 저장되어 있다. (passive) 프로세스는 프로그램이 메모리에 올라와서 동작을 하는 것을 의미한다.(active) 한 프로그램 당 프로세스는 여러개일 수 있다. 한 프로그램을 동시에 여러 유저가 실행하는 것을 생각해보자(카톡, 유투브 등등..) OS는 프로세스 여러개를 병렬적으로 관리해 자원을 효율적으로 사용할 수 있게 한다. 프로세스 구조 프로세스는 여러 파트로 구성되어 있다. code : text section이라고도 한다. 실행이 되면서 수행되어야할 명령어가 올라온다. data : ..

    [프로젝트] 버튼을 list 형태로 제출하는 방법 | button을 checkbox 처럼 사용하기 | list 형태 form 제출

    [프로젝트] 버튼을 list 형태로 제출하는 방법 | button을 checkbox 처럼 사용하기 | list 형태 form 제출

    현재 상황 각 카테고리에 맞게 버튼이 되어있고 카테고리를 클릭하고 검색 버튼을 누르면 그에 맞는 게시물이 아래에 렌더링되게 하고 싶다 여기서 특이사항은 카테고리 버튼은 여러개가 눌릴 수 있어야 한다는 것! 1. 첫 번째 방법 내가 생각한 첫번째 방법은 ajax를 이용해서 클릭된 카테고리 버튼의 배열을 저장하는 것이다. list.html의 일부이다. id는 카테고리의 id로 지정하고, 클릭시 id를 파라미터로 넘겨주는 onClick 함수를 호출한다. onClick 함수부분의 처리는 다음과 같다 이렇게 arr이라는 배열을 선언하고 클릭시 파라미터로 받은 id를 arr에 넣어준다. 버튼이 bootstrap으로 꾸며져있어서 클릭효과를 주기 위해서 active를 토글하는 방식으로 배경색을 입혔고, arr 배열에 ..

    [DB] Mysql 한글깨짐, Mariadb 한글깨짐 해결방법

    [DB] Mysql 한글깨짐, Mariadb 한글깨짐 해결방법

    서버를 통해 값을 insert하는 방식으로 한글을 넣으면 이렇게 값이 깨지는 현상이 생긴다. 이거는 mysql의 설정값을 바꿔주면 된다! sudo vim /etc/my.cnf [mysqld] character-set-server=utf8 sudo systemctl restart mariadb.service my.cnf에서 환경값을 바꿔주면 된다. utf8로 인코딩값을 변경 후 mariadb.service를 재시작해준다. 그럼 설정을 바꾼 이후로는 값이 한글로 잘 들어가는 것을 확인할 수 있다.

    [0906] 인프라 / centOS php파일저장 / centOS mariaDB 연동 / php db연동 / 파일저장 방법 / 웹서버에서 파일 저장

    [0906] 인프라 / centOS php파일저장 / centOS mariaDB 연동 / php db연동 / 파일저장 방법 / 웹서버에서 파일 저장

    현재까지의 단계 1. vim 2. 파일질라로 업로드 3. sh로 html템플릿 만들기 4. php로 html템플릿 5. nginx의 요청과 php를 연동(php-fpm이 중간다리의 역할을 수행) 6. 쿠키 사용(클라이언트에서 생성, 쿠키를 서버측에서도 바꿀 수 있다는 문제가 있음 - 보안에 약하다) 7. 세션 사용(서버에서생성, 서버사이드언어의 도움없이는 이루어질 수 없음) --------------오늘 포스팅하는 내용 ----------------------- 8. 기억력(웹서버 : 기억력 0) -파일 저장이 귀찮다 9. 디비 사용 - 파일에 데이터를 쉽게 저장/조회할 수 있게 한다. 8. 기억력 웹서버 : 기억력이 아예 없다. php : 기억력은 없지만, 쿠키 또는 세션을 이용해 약간은 저장할 수 있..