본문 바로가기
반응형

🍃 Language54

[Kotlin]🐘빌드도구(Build Tool), Gradle과 Maven 차이점 파이썬 개발만 해왔던 내가 코틀린으로 스프링부트 프로젝트를 공부하면서 '빌드도구'의 개념이 가장 낯설었다. 그래서 Gradle과 Maven과 같은 빌드도구를 알아보려고 한다. 빌드도구란? 빌드 자동화를 수행해주는 도구. 즉, 소스코드를 실행가능한 프로그램으로 만드는 과정(빌드)을 자동화 해주는 툴이라고 보면 된다. 기본적으로 빌드(build)란, 코드를 컴파일해서 binary code로 만들고, 패키징하고 코드를 테스트해서 이제 실행가능한 프로그램으로 만들기까지 과정인데 이걸 빌드도구가 자동화해주는 것이다. 왜 빌드도구가 필요한가? 우선 빌드하기까지 과정을 살펴보면 아래와 같다. 종속성 다운로드 소스코드-> binary code 컴파일 binary code 패키징 테스트실행 시스템배포 이러한 빌드프로세.. 2022. 1. 30.
[Kotlin] Intellij에서 코틀린 코딩컨벤션 Kotlin Style Guide 적용하기 코틀린 코딩 컨벤션 (Kotiln Coding Convention) 사실 코틀린은 공식 페이지에서 코딩컨벤션을 제안하고 있다. 특히 기본적으로 코틀린 스타일 가이드를 적용하라고 시작하는데 그걸 인텔리제이에 적용해볼 것이다. https://kotlinlang.org/docs/coding-conventions.html#naming-rules Coding conventions | Kotlin kotlinlang.org 스타일 가이드 적용 내가 쓰고 있는 IDE인 Intellj에서는 코드포맷을 맞출수 있는 기능이 있다. Preferences(단축키 : cmd + , ) > Editor > Coding Style > Kotlin > 오른쪽 상단에 Set form.. > Kotlin Style Guide 선택 그럼.. 2022. 1. 29.
[Kotlin] 코틀린 기본문법1 (변수선언/함수선언/자료형/반복문/조건문) 사실 아직 코틀린를 도입하는 추세이다보니까 명확한 코틀린 코딩컨벤션이 아직 없는것 같다. 그래서 이제 내가 코틀린에 익숙해질겸 이걸로 나의 기본코딩스타일을 잡아봐야겠다. 우선 간단한 기본문법부터 살펴보겠다. 1. 변수선언 기본적으로 코틀린은 타입추론을 지원하기 때문에 직접 변수타입을 지정하지 않아도 된다. - val : 변할수 없는 상수, (java의 final, C의 const 개념),초기화 이후에 값을 변경할 수 없다. - var : 일반적인 변수 val A:Int = 10 A=10 //val타입이기 때문에 변수값을 바꿀수 없다. var x =10 x=100 //var타입이기 때문에 변수값을 바꿀수 있다. var y: Int = 10 y="age" //직접 타입을 지정한 변수에는 다른타입으로 재할당할.. 2022. 1. 29.
[Kotlin] ⚡️코틀린 특징 - 코틀린이란? 도대체 왜 쓰는가? 회사에서 주된 개발언어를 코틀린로 바꾸고 있는 분위기인듯하다. 그래서 나도 이제 코틀린에 익숙해져야한다..두둥.. 그런 의미로 코틀린을 한번 정리해보려고 한다. 일단 언어를 익히기에 앞어서 왜 쓰는지, 어떤특징이 있는지 간단한 개념부터 살펴봐아겠다. 코틀린 코틀린의 시작 intellj,pycharm 등 IDE 툴을 만든 젯브레인즈(jetbrains)에서 개발한 언어. 2011년에 발표되었고, 코틀린섬 이름으로부터 지어졌고, 2017년 구글에서 안드로이드 공식언어로 선택되었다. 코틀린으로 무엇을 할 수 있는가? 자바를 대체할 수 있는 언어로, 다음과 같은 프로그래밍이 가능한 멀티 플랫폼이다. Kotlin/JVM - 자바 가상 머신 상에서 동작하는 앱(자바앱/안드로이드앱)개발. Kotlin/JS - 자바스크.. 2022. 1. 29.
[Kotlin] 코틀린 Spring boot로 HelloWorld API 만들기 이전에 세팅한 환경에 이어서 기본적인 api 생성하는 튜토리얼을 진행해보려고 한다. 일단은 그냥 spring boot MVC모델에 기반한 api를 테스트해보고, 다음으로 spring boot5에서 지원하는 webflux기반의 api를 테스트해볼것이다! Kotiln Class 파일 생성 아래와 같이 api 디렉토리를 하나 파서 ContentsController 코틀린 클래스 파일을 생성한다. 그냥 단순한 java 클래스가 아니라 kotlin class!!! 그리고 아래와 같이 그냥 간단하게 localhost:8080/contents 로 접속하면 hello world를 출력하게 controller를 짠다. Run 해보기 : Edit Configuration 사실 기본으로 세팅되어 있을텐데 Edit Confi.. 2022. 1. 28.
[Kotlin] 코틀린 환경설정 - Intellj에서 코틀린 프로젝트 생성하기 이제 회사에서 python뿐만 아니라 코틀린을 시작하게 되었다. 그런데 코틀린은 물론이고 자바 스프링까지 익숙하지가 않아서 앞으로 기본적인것부터라도 차근차근히 기록해보려고 한다. 그래서 올한해는 파이썬은 기본이고 자바(스프링), 코를린까지 씹어먹어보는걸로! (맥북m1프로도 받았다..각성!) 일단, 스프링부트는 Java, Kotlin, Groovy 언어로 시작할수 있다. 그 중에서도 이제 '코틀린'으로 시작해보려고 한다. (Java로도 제대로 시작안해봤는데 코틀린으로 도전..) 프로젝트 생성 참고로 인텔리제이에서 새로운 프로젝트를 생성하면 아예 루트경로에 새로운 프로젝트 폴더가 생성이 된다. 아래와 같이 설정하면 HelloWorld 프로젝트 파일이 새로 생긴다. 여기에서 프로젝트 이름이랑 경로 설정하고, .. 2022. 1. 28.
python에 rusty를 섞는다?! 파이썬 segmentation fault 원인? python + C 파이썬은 C와 C++을 이용해서 파이썬 함수를 작성하면 확장라이브러리를 만들 수 있다. 네이티브 코드로 만든 파이썬함수는 일반 파이썬 모듈처럼 임포트한 뒤 바로 사용할 수 있다. 그런데 굳이 C와 C++을 이용해서 파이썬 함수를 작성해야하나? 먼저, C와 C++ 라이브러리를 사용할때 필요하기 때문이다. C로 파이썬을 확장하게 되면 Qt같은 덩치큰 여러가지 라이브러리를 파이썬에서 사용할 수 있다. 다음으로, 파이썬은 인터프리터 언어이다보니 CPU에서 바로 실행될 수 있는 C보다 느리기 때문이다. 그래서 많은 계산이 필요한 작업에선 적합하지 않다. 하지만 데이터분석과 같은 작업을 할때는 파이썬처럼 간단한 언어가 필수적인데, 이럴때 계산부분은 C확장 프로그램에 맡기고, 알고리즘 작성하는 작.. 2021. 12. 3.
[python] Class와 __init__함수 Class() 클래스 객체(object)를 만들어내기 위한 틀? 클래스 없이 단순히 def(함수)로만 정의할수도 있지만, 함수가 많아지면 관리하기 힘들어지니까 비슷한 종류?카테고리?의 함수들끼리 class로 묶어서 정의하는걸 권장 #클래스 없이 함수로만 정의할 경우 def some_function(something): print(something) #클래스로 정의할 경우 class SomeClass: def __init__(self,something): self.something = something def some_function(self): print(self.something) __init__ 함수 클래스로 생성된 걸 보면 __init__ 이라는 내장함수가 필요하다. 인스턴스화를 할때 반드시 처음에.. 2021. 9. 6.
[python] Django에서 절대경로 __file__ 로 지정하기 (os.path) django 프로젝트를 진행하던중 로컬 디렉토리에 있는 파일을 읽고 쓰는 작업이 많았다. 그런데 이상하게 상대경로로 지정할 경우 오류가 났고, 절대경로를 직접 지정했을때 정상적이였다... 하지만 코드에 이렇게 지정하게 되면 환경마다 계속 코드를 수정해야하는 문제점이 있을 것이다. 그래서 검색을 통해 알게된 파이썬 디렉토리 절대경로 지정하는 방법! Django에서 유용하다! BASE_PATH = os.path.dirname(os.path.abspath(__file__)) __file__ : python의 예약어로, 현재 실행되는 스크립트 파일 위치 os.path.abspath(path) : 절대경로 반환 os.path.dirname(path) : path의 상위 경로까지 포함해서 반환 그래서 아예 base.. 2021. 9. 6.
[Python] Dict로 문자열 count하기 | setDefault(i,0), get(i,0) 앞에서 counter(), defaultdict()랑 비슷하게 문자열의 count를 셀 수 있는 또 다른 방법이다. 사실 이게 더 일반적이고(내기준) 자주 쓰였던 방식인데, 조금더 간단하게 쓸 수 있는 함수를 찾아서 정리해본다. 일반적인 Dict처리 예를 들어 주어진 단어에 들어있는 각 알파벳 글자의 수를 세어서 사전에 저장해주는 함수를 구현하자면, 주로 이렇게 dict안에 있는지 확인하고, 있으면 기존의 count값에 더해주고 없으면 새로1을 추가했다. def countLetters(word): check={} for letter in word: if letter in check: check[letter]=check[letter]+1 else: check[letter]=1 print(check) wor.. 2021. 7. 12.
728x90