본문 바로가기

분류 전체보기

(83)
Bufreader read_line()으로 파일 한줄씩 읽고 바이트 반환, Cursor 로 Read 구현 1. 데이터를 효율적으로 읽을 때 버퍼링을 사용한다. 이 때 Bufreader의 메서드 read_line()을 쓰면 한줄씩 데이터를 읽어오고 바이트를 반환해준다. (주석 설명 참고)use std::io::prelude::*; use std::io::BufReader; use std::fs::File; fn main() -> std::io::Result{ let s = File::open("tests/inputs/test.txt")?; // 버퍼 인스턴스 생성 let mut reader = BufReader::new(s); // String 타입 인스턴스 생성 let mut line = String::new(); // read_line은 한줄을 읽고 바이트를 반환한다. let len = reader.rea..
러스트로 리눅스 wc명령어 구현 wc명령어는 줄,단어, 바이트 수를 알려주는 기본 명령어이다 1. 파생패턴을 이용해 명령줄 인수를 파싱을 한다. // 파생패턴 #[derive(Debug,Parser)] #[command(author,version,about)] struct Args{ #[arg(value_name="FILE", default_value="-")] // 연속된 문자열은 연속된 배열인 벡터에 담긴다 files:Vec, // 줄수 #[arg(short,long)] lines:bool, // 단어 수 #[arg(short,long)] words:bool, // 바이트 수 #[arg(short('c'),long)] bytes:bool, // 문자 수 #[arg(short('m'),long, conflicts_with("bytes..
파이썬 셀레니움을 통한 웹스크래핑 자동화(1. 스크롤기능, 2. 페이지네이션기능) 1. 픽셀을 더하면서 스크롤을 통해 자동으로 수직으로 내려간다. 파이썬에서 자바스크립트를 제어하려면 execute_script() 메서드를 사용해야한다.# 스크롤기능 모듈화 def scroll_next(): scroll_pixels = 500 # 각 스크롤 단계마다 스크롤할 픽셀 수 current_scroll_position = 0 # 처음 픽셀수0에서 시작 여기서 500씩 더해진다 while True: # 스크롤 실행 # window.scrollTo(0.500) x,y 수직 스크롤 #execute_script 메서드는 주어진 JavaScript 코드를 브라우저에서 실행 driver.execute_script("window.scrollTo(0, {});".format(current_scroll_posit..
HTML, CSS , image slider js웹디자인 포트폴리오 사진 출저 - 쿠팡 사이트 연두색으로 칠한 부분 1번이 dt 태그이고 나머지 번호들은 dd 태그이다 모두 dl태그로묶어서 그룹을 지었다. 4번 부분은 grid를 쓰는 줄알았는데 float:left로 지정하고 overflow:hidden으로 되어있었다.(추후에 grid로 수정하였다.) 그리고 마진과 패딩은 0으로 지정했다. 쿠팡 사이트를 보고 크롬웹개발자 도구를사용해 html,css일일이 체크해서 제작하였다. 3번부분 이미지 슬라이더는 7초동안 딜레이를 줘서 자동으로 넘기게 설정하였다. // "promotion" 클래스를 가진 요소 안에 있는 모든 img 요소를 선택합니다. const slides = document.querySelectorAll(".promotion img"); // 슬라이드 인덱스를 0..
Svelte reactive statements 를 활용한 이미지 슬라이더 설명은 주석참고 scriptlet SliderCenterIndex = 0; // $: reactive statement로 SliderCenterIndex가 실시간으로 변경됨 // 처음에 왼쪽 버튼을 누르면 맨마지막인 두번째 인덱스가 위치해야함 2%3 = 2 $:SliderLeftIndex = (SliderCenterIndex -1 + product.images.length) % product.images.length; // 처음 오른쪽버튼을 눌렀을때 다음 위치인 인덱스 1%3 =1 $:SliderRightIndex = (SliderCenterIndex +1) % product.images.length // 왼쪽버튼 클릭시 SliderCenterIndex가 변경되서 SliderLeftIndex에 전달 fu..
Django + Postgresql (트라이그램 유사성을 이용하여 유사한단어 검색하기) 예를들어 내용검색 중 검색 단어를 "리눅스 명"을 오타로 "리늑스 명"이라고 검색하면 "리눅스 명"과 "리늑스 명"은 유사한 단어이지만, 하나의 글자만 다르기 때문에 트라이그램은 세 개의 유사한 연속된 문자열을 찾을 수 있다. 예를 들어, "리눅스 명"은 '리눅', '눅스', '스 명'과 같은 트라이그램을 가지며, "리늑스 명"도 '리늑', '늑스', '스 명'과 같은 트라이그램을 가진다.   1. form.py # 검색을 위해 검색 form을 만든다class SearchForm(forms.Form):  query = forms.CharField()   2. view.py # 검색 요청 viewdef post_search(request):    form = SearchForm()    # 쿼리와 결과는 ..
Django + Postgresql (ORM에서 searchVector를 이용하여 모델의 여러 필드검색), RSS feed 제작 1.SearchVector 객체를 이용해 제목 및 내용에 포함된 단어를 검색 할 수 있다.    1-1. 명령어 python manage.py shell  orm으로 'django'를 검색하고 있다. 이때 searchVector를 이용하여 여러필드를 검색할 수 있다.      2. RSS feed 웹피드는 최근 업데이트 된것을 보기좋게 보여주는 XMLimport markdownfrom django.contrib.syndication.views import Feedfrom django.template.defaultfilters import truncatewords_htmlfrom django.urls import reverse_lazyfrom .models import Post class LatestPos..
Django 템플릿페이지에서 form태그 제출로 이메일보내기(게시글공유) -정보처리기사 실기공부에서 배운내용 SMTP - 로컬에서 이메일을 보내기위한 프로토콜, 기본포트번호는 25번 SSL/TLS - 클라이언트와 서버간의 웹데이터를 암호화해주고 무결성을 보장해주는 암호화프로토콜 0. settings.py 설정해준다EMAIL_HOST = 'smtp.gmail.com' EMAIL_HOST_USER = 'ID' EMAIL_HOST_PASSWORD = 'PASSWORD' EMAIL_PORT = 587 EMAIL_USE_TLS = True 1. MVT패턴으로 코딩(모델은 여기서 생략) 1-1클라이언트 요청 view에서 form 필드 값을 is_valid()를 통한 유효성검사를 한다. 유효성검사를 통과한 cd 데이터는 f스트링으로 데이터와 문자열을 합쳐서 send_mail()안에 데이터..