분류 전체보기
정렬 : 주어진 데이터를 정해진 기준에 따라 순서를 재배열하는 작업 가장 기본적인 정렬 알고리즘에 대해 설명하겠다. 1. 버블 정렬(bubble sort) 인접한 두 원소의 크기를 비교하여 교환하는 작업을 반복하여 정렬하는 알고리즘 void bubble_sort(int data[], int n) { for(int i=0;ii;j--){ if(data[j] < data[j-1]) swap(data[j], data[j-1]); } } } 2. 선택 정렬 (selection sort) 정렬 되지 않은 원소 중에서 최소값 원소를 찾아서 맨 왼쪽 원소와 교환 void selection_sort(int data[], int n) { for (int i=0; i
파이썬으로 크롤링을 구현한다면 가장 많이 사용하는 selenium. Selenium 설치부터 실제 사용까지의 과정을 설명하도록 하겠다. 1. pip install selenium 파이썬이 미리 설치되어있다면 이 명령어 하나로 충분하다. 2. Chrome webdriver 다운로드 2-1. 크롬 버전 확인 크롬 옆에 점 3개를 누르고 도움말에서 Chrome 정보를 눌러 자신의 Chrome 버전을 확인한다. 2-2. 크롬 드라이버 설치 아래 링크를 클릭하여 자신의 크롬 버전과 맞는 크롬 드라이버를 설치한다. https://chromedriver.chromium.org/downloads ChromeDriver - WebDriver for Chrome - Downloads Current Releases If y..
https://www.acmicpc.net/problem/15975 15975번: 화살표 그리기 직선위에 $N$개의 점들이 주어지고 각 점은 $N$개의 색깔 중 하나를 가진다. 편의상, 색깔은 1부터 $N$까지의 수로 표시 하고, 점들의 좌표는 모두 다르다. 각 점 $p$에 대해서, $p$에서 시작하는 직선 www.acmicpc.net #include #include #include #include using namespace std; bool Compare(pair a,pair b) { if(a.second==b.second){ return a.first < b.first; } else{ return a.second < b.second; } }; int main() { long long n=0; vec..
프로젝트를 진행하면서, drf으로 아이디와 비밀번호 찾기를 구현해보았다. 우리 프로젝트에서는 아이디를 이메일로 설정했기 때문에 아이디 찾기를 구현하기 어렵다는 문제가 있었다. 그래서 이메일 찾기는 이메일이 존재하는지 아닌지 만을 확인하여 띄워주고, 비밀번호는 이메일에 메일을 보내서 url로 연결한 다음 비밀번호 찾기를 하는 방식으로 구현하였다. 먼저 이메일 찾기 먼저 살펴보자. 이메일 찾기를 위한 serializer를 먼저 작성해보자. class EmailFindSerializer(serializers.Serializer): email = serializers.EmailField(max_length=64,required=True) 간단하게 이메일만을 받는 serializer를 작성하였다. 그 다음 vie..
DRF django restDRF django rest framework를 이용하여 email 인증을 구현하는 방법에 대해서 살펴보도록 하겠다. 회원가입 시 이메일 인증을 구현하기 위해서는 SMTP와 User의 is_active 속성을 활용한다. SMTP를 통해 보내준 메일의 링크를 통해서 인증을 완료하기 전까지는 is_active 속성을 False로 두고, 인증을 하는 순간 is_active 속성을 True로 변경하여 User를 인증한다. SMTP란? Simple mail Transfer Protocol이 약자로 인터넷에서 이메일을 보내기 위해 이용되는 프로토콜이다. SMTP 웹 메일을 통해서 토큰을 날려주어 인증을 구현한다. 설정하기 장고에서 SMTP를 활용하기 위해서는 1. gmail에서 IMAP를..
이번 3편에서는 django rest framework로 user detail 확인, 내 프로필 정보 확인을 구현하도록 하겠다. 앞서 UserSerializer를 그대로 사용하여, view와 url만 추가해줄 것이다! user_detail을 확인하는 view이다. @api_view(["GET"]) @permission_classes([IsAdminUser]) def user_detail(request, pk): try: user = User.objects.get(pk=pk) return Response(UserSerializer(user).data) except User.DoesNotExist: return Response(status=status.HTTP_404_NOT_FOUND) method가 GET..
Django Rest Framework으로 회원가입과 로그인 구현하기 2편에서는 views.py, serializers.py, urls.py의 코드를 살펴보도록 하겠다. 우선, 회원가입에 필요한 코드부터 살펴보겠다. serializers.py에서 구현한 UserSerializer이다. User = get_user_model() class UserSerializer(serializers.ModelSerializer): password = serializers.CharField(write_only=True) class Meta: model = User fields = ( "id", #"username", "password", "gender", "nickname", "birthdate", "email", "a..
DRF django로 회원가입, 로그인을 구현하는 방법에 대해 설명하도록 하겠다. 여기서 유의할 점은, 우리 프로젝트에서는 id가 아니라 email을 username으로 사용하였다는 것이다. 이를 변경하고 싶은 분들이 참고하면 좋을 것 같다. 우선, model을 정의해야 한다. from django.contrib.auth.models import AbstractUser, AbstractBaseUser, BaseUserManager from django.db import models from django.conf import settings from django.contrib.auth.models import UserManager, PermissionsMixin # Create your models her..