목록Development (561)
컴공생의 다이어리
장고 DB(migration) 초기화 장고 DB를 초기화하려면 아래와 같은 명령어를 순서대로 입력해주면 된다. find . -path "*/migrations/*.py" -not -name "__init__.py" -delete find . -path "*/migrations/*.pyc" -delete rm -rf db.sqlite3 pip install --upgrade --force-reinstall Django python manage.py makemigrations python manage.py migrate python manage.py runserver https://yuda.dev/216 [Django] Django 마이그레이션 초기화하기 이 문서는 How to Reset Migrations..
거품 정렬(Bubble Sort) 거품 정렬은 버블 정렬이라고도 불리는 알고리즘이다. 거품 정렬은 두 인접한 데이터의 대소를 비교해서, 앞에 있는 데이터가 뒤에 있는 데이터보다 크면, 자리를 바꾸는 정렬 알고리즘이다. 이름의 유래로는 정렬 과정에서 원소의 이동이 거품이 수면으로 올라오는 듯한 모습을 보이기 때문에 지어졌다고 한다. 정렬 과정 1회전에 첫번째 원소와 두번째 원소를 비교, 두번째 원소와 세번째 원소를 비교, ... (마지막-1)번째 원소와 마지막 원소의 대소를 비교하며 정렬 1회전을 수행하고 나면 가장 큰 원소가 맨 뒤로 이동한다. 따라서 2회전에서는 맨 마지막 원소를 제외하고 1번 과정을 다시 수행하여 두번째로 큰 수를 맨 뒤에서 두번째로 정렬한다. 이렇게 정렬을 1회전씩 수행하다 보면 모..
파이썬 아스키코드(ASCII Code) 변환 ▶ ord() 특정한 문자를 아스키 코드 값으로 변환하는 함수 ord('A')# 65 ord('a')# 97 ▶ chr() 아스키 코드 값을 문자로 변환해 주는 함수 chr(65)# A chr(97)# a
깃랩 fatal authentication failed 오류 깃랩(GitLab) repository를 클론하려고 하니 fatal authentication failed가 났다. 오류를 해결하려고 생각해보니 깃허브(Github) 계정으로 깃랩을 가입한 것이 기억났다. 만약 나와 같이 깃랩을 따로 가입하지 않고 구글이나 깃허브 같은 다른 계정으로 연동하여 가입했다면 아래와 같은 방법으로 깃랩 전용 비밀번호를 한번 생성해주어야 한다. 1. User Settings로 들어간다. 2. 왼쪽 Password 탭으로 들어간다. 3. 비밀번호를 입력하고 Save password를 눌러준다.
인텔리제이 파이썬(python) SDK 목록 삭제 인텔리제이에서 파이썬 SDK가 너무 많을 때, 사용하지 않거나 지우고 싶은 SDK들은 File 탭의 Project Structure에 들어가서 지울 수 있다. Project Structure에 들어가면 아래와 같이 나온다. 이때 빨간색 부분에서 지우고 싶은 SDK를 클릭하고 오른쪽 마우스를 누르면 Delete가 나온다. 그것을 클릭해서 불필요한 SDK를 지워주면 된다.
인텔리제이 파이썬 plugin 인텔리제이에서 파이썬을 사용하기 위해서는 파이썬 plugin을 설치해주어야 한다. 아래처럼 처음 화면에서 Plugins 탭에서 python을 설치해줄 수 있고 Settings에서 Plugins 탭에서 python을 입력해 설치해주는 방법이 있다. https://whitefrost-developer.tistory.com/7 Intellij 설치 및 파이썬 설치 사용 이전 글에 Anaconda로 파이썬 하는건 무리인 부분과 import 등 내 자신으로는 할 수 없는 문제가 없어서 IntelliJ로 갈아 탔다. IntelliJ 는 통합 개발 환경으로 다양한 언어를 지원함 IntelliJ는 Ultimate 와 C. whitefrost-developer.tistory.com
람다식(Lambda expression) 람다식(=람다함수)은 프로그래밍 언어에서 사용되는 개념으로 익명 함수(Anonymous functions)를 지칭하는 용어이다. 앞에서 말한 것과 같이 람다식은 이름을 가질 필요가 없다. 람다식은 매개 변수와 매개 변수를 이용한 (매개변수) -> {실행문;}과 같은 형식으로 구성된다. 람다식 예제 (int x, int y) -> {return x+y;} str->{System.out.println(str);}// 매개 변수가 하나인 경우 자료형과 괄호 생략 가능 x, y -> {System.out.println(x+y);} // 오류 : 매개 변수가 두개 이상인 경우 괄호 생략 불가 str-> System.out.println(str);// 실행문이 한 문장인 경..
Iterator 반복자 Iterator는 자바의 컬렉션 프레임워크에서 컬렉션에 저장되어 있는 요소들을 읽어오는 방법을 표준화 하였는데 그 중 하나가 Iterator이다. Iterator의 주요 멤버 ▶ boolean hasNext() : 이후에 요소가 더 있는지를 체크하는 메서드, 요소가 있다면 true를 반환 ▶ T next() : 다음에 있는 요소를 반환 ▶ remove() : next()로 읽어온 요소를 삭제 메소드의 호출 순서는 hasNext() -> next() -> remove()이다. Iterator 사용법 LinkedList lnkList = new LinkedList(); lnkList.add(4); lnkList.add(2); lnkList.add(3); lnkList.add(1); /..
제네릭(Generic) 제네릭은 클래스에서 사용하는 변수의 자료형이 여러개 일수 있고, 그 기능(메서드)은 동일한 경우 클래스의 자료형을 특정하지 않고 나중에 해당 클래스를 사용할 때 지정할 수 있도록 선언한다. 제네릭의 장점 1. 제네릭을 사용하면 잘못된 타입이 들어올 수 있는 것을 컴파일 단계에서 방지 2. 클래스 외부에서 타입을 지정해주기 때문에 따로 타입을 체크하고 변환해줄 필요가 없음(즉, 관리하기가 편함) 3. 비슷한 기능을 지원하는 경우 코드의 재사용성이 높아짐 보통 제네릭은 위의 표의 타입들이 많이 사용된다. 무조건 위처럼 사용해야 하는 것은 아니다. 하지만 암묵적인 규칙이기 때문에 저런 형식으로 사용해주는 것이 좋다. 제네릭의 선언 및 생성 자바에서 제네릭은 클래스와 메서드에만 아래와 같..
String, StringBuffer, StringBuilder Java에서 문자열을 다루는 대표적인 클래스로 String, StringBuffer, StringBuilder가 있다. String String 클래스는 StringBuffer, StringBuilder 클래스와 다르게 한번 생성되면 할당된 메모리 공간이 변하지 않는다는 불변의 속성을 가지고 있다. String str = "hello"; // String str = new String("hello"); str = str + " world"; // [ hello world ] 위의 예제는 str에 처음 "hello" 값을 넣고 두번째 문장에서 str이 "hello world"라는 값을 가지고 있는 새로운 메모리 여역을 가리키게 변경되고 처음 ..