본문 바로가기

전체 글479

[c언어] 메모리 동적할당 #malloc, calloc, realloc [메모리 동적할당] 동적할당 : 프로그램 실행 중 필요한 만큼의 메모리를 할당하는 방식 정적할당 : 프로그램 실행 전 메모리를 할당하는 방식 동적할당을 사용하는 이유- 만약 char name[15] 를 선언하고, 메모리를 12만큼 썻다면 3이라는 크기의 메모리가 낭비되기 때문이다. 또한, 메모리를 19만큼을 사용하고 싶다면 메모리가 초과되므로 name의 크기를 변경해줘야 하는 불편함이 있기 때문에 동적할당을 사용하고 오버플로우의 위험도 있기 때문에 동적할당을 사용한다. 동적할당의 세가지 방법- void *malloc(size_t size) _ size바이트 만큼의 메모리를 힙에서 할당하여 반환- void *calloc(size_t num, size_t size) _ (num*size)바이트 만큼의 메모리.. 2018. 8. 19.
[python] requests 모듈 정리 [requests] requests 설치- cmd[관리자 권한] 에서 pip install requests라고 입력해서 설치를 하면 된다.- 만약 설치가 안된다면 pip 환경변수 설정이 안되있는 것이므로 환경변수를 설정하자.[python] 환경변수 설정 requests 설치 확인- cmd에서 pip list를 하면 설치되어 있는 모듈을 확인 할 수 있다. requests 사용 방법 - 맨 윗부분에 import requests를 해줘야한다.import requests - URL, 헤더, 쿠키 추가 (헤더는 f12(개발자도구) - Network - Headers 에서 참조해서 넣으면 된다) import requests URL='https://www.tistory.com/' headers = {'Content.. 2018. 8. 19.
[los.rubiya.kr] goblin #3 [goblin] 필터링이 생겼다. preg_match함수가 있어 ', ", ` 를 쓰지 못한다. 문제를 풀기 위해서는 id=admin인 값을 가져와야한다.?no=1 을 하니 Hello guest가 뜨는것을 보니 guest의 no는 1인것 같다. 아마 데이터베이스에 id는 guest와 admin 두개가 있을거 같으니?no=2 or no!=1 을 하면 문제가 풀릴것 같다 2018. 8. 19.
[python] 환경변수 설정 [환경변수 설정] 환경변수 : 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는, 동적인 값들의 모임 pip : Python Package Index 저장소로부터 파이썬 패키지를 받아 설치하는 패키지 관리 도구. python 환경변수 설정되어있는지 확인하기- cmd에서 python, pip를 치고 엔터를 눌러보자.- 다음과 같이 뜬다면 환경 변수가 설정 되어있는 것이다, pip의 경우 다른 화면이 나온다. - 다음과 같이 뜬다면 환경 변수가 설정이 안되어있는 것이다. python 환경변수 설정하기- windows 검색에 '환경' 이라 검색을 하면 맨위에 '시스템 환경 변수 편집' 이라 나온다 그것을 클릭- 환경 변수를 클릭 - 시스템 변수의 Path를 누르고 편집 클릭 - 오른쪽 위에 새로만들기를 누른.. 2018. 8. 18.
[web] 웹 크롤러란? [웹 크롤러란?] 웹 크롤러(web crawler) : 인터넷 상에 있는 자료들을 가져와 분석하기 쉬운 형태로 가공하는 컴퓨터 프로그램 크롤링(crawling) : 웹 페이지를 그대로 가져와서 거기서 데이터를 추출해 내는 행위 크롤링을 해서 데이터를 개인 하드에 소장하는 것 까지는 합법이다. 하지만, 배포를 한다면 그때부턴 합법과 불법이 갈린다고 한다. 사용하는 곳- 구글 : 수 많은 웹 사이트를 클롤링하여 검색서비스를 제공- 쿠차 : 각종 소셜커머스 사이트를 크롤링 하여 최저가 정보 제공- 지진희 알림 : 각종 커뮤니티에서 지진에 관련된 글을 수집하여 지진 발생시 텔레그램으로 알림 사용하는 이유- 현대 사회는 정보 경쟁이 일상화 되었다- 많은 정보의 양만큼 양질의 자료를 찾기 어렵다- 정보를 찾는데 많.. 2018. 8. 18.
[pyhon] 웹 크롤러[beautifulsoup] #이미지다운 [웹 크롤러 만들기] import requests import urllib.request import re from bs4 import BeautifulSoup URL = 'https://www.daum.net/' headers = {'Content-Type': 'application/json; charset=utf-8'} res = requests.get(URL, headers=headers) soup = BeautifulSoup(res.text, 'html.parser') i = 0 for img in soup.find_all("img"): if img.get('src') is None: continue if img.get('data-src') is None: continue a = img.get(".. 2018. 8. 18.
[pyhon] 웹 크롤러[beautifulsoup] #a태그 [웹 크롤러 만들기] import requests import re from bs4 import BeautifulSoup URL='https://www.daum.net/' headers = {'Content-Type': 'application/json; charset=utf-8'} res=requests.get(URL,headers=headers) soup = BeautifulSoup(res.text,'html.parser') for url in soup.find_all('a',{'href':re.compile('^http')}) : print (url) [python] requests 모듈 정리 2018. 8. 18.
[los.rubiya.kr] cobolt #2 [cobolt] $result['id']=='admin' 이면 문제가 풀리는 문제이다.뒤에 비밀번호는 주석처리를 하면 되므로 신경을 쓰지 않아도 되고?id=' or id='admin' --%20 을 입력하면 id=admin인 값을 가져올수 있을것 같다. 2018. 8. 18.
[los.rubiya.kr] gremlin #1 [gremlin] result['id']를 가져오면 solve("gremlin") 함수가 실행되어 문제가 풀리게 된다.URL에 ?id=' or 1=1 --%20 을 쓰면 id를 가져올수 있을것 같다.%20을 쓰는 이유는 mySQL에서 -- 주석을 쓸때는 뒤에 한칸을 무조건 띄어줘야 하는데URL 인코딩표를 참고하면 %20은 띄어쓰기 이다. 2018. 8. 17.
[알고리즘] 에라토스테네스의 체 #c언어 수학에서 에라토스테네스의 체는 소수를 찾는 방법이다. 알고리즘 설명.1. 2부터 소수를 구하고자 하는 구간의 모든 수를 나열한다. 그림에서 회색 사각형으로 두른 수들이 여기에 해당2. 2는 소수이므로 오른쪽에 2를 쓴다. (빨강)3. 자기 자신을 제외한 2의 배수를 모두 지운다.4. 남아있는 수 가운데 3은 소수이므로 오른쪽에 3을 쓴다. (초록)5. 자기 자신을 제외한 3의 배수를 모두 지운다.6. 남아있는 수 가운데 5는 소수이므로 오른쪽에 5를 쓴다. (파랑)7. 자기 자신을 제외한 5의 배수를 모두 지운다8. 위의 과정을 반복하면 구하는 구간의 모든 소수가 남는다. 알고리즘 구현 (c언어) 배열에서 소수인칸에는 1, 소수가 아닌칸에는 0을 넣어 나중에 갯수를 세어 소수의 갯수를 구할것이다. 즉, .. 2018. 8. 17.
[python] 문자열 [문자열] 작은 따옴표'Quote me on this' - 모든 공백 문자, 즉 띄어쓰기나 탭 등은 입력한 그대로 유지된다. 큰 따옴표"What's your name?"- 큰 따옴표 안에 있는 작은 따옴표는 문자열 처리가 된다. 따옴표 세 개''' This is a multi-line string. This is the second line. "what's your name?," I asked. ''' - 여러줄을 쓰고 싶을때 """ 또는 ''' 세개의 따옴표로 쓴다. 그리고 문자열 안에서 작은 따옴표든 큰 따옴표든 마음대로 쓸수 있다. 문자열 포맷팅name = "낭람" age = 20 print ("my name is {} and my age is {}".format(name, age))- 결과 : m.. 2018. 8. 16.
[python] 시작 [시작] python- 간단 하면서도 강력하다고 할 수 있을만한 몇 안되는 언어들 중 하나 python 공식 소개글- 파이썬은 배우기 쉽고, 강력한 프로그래밍 언어이다. 파이썬은 효율적인 고수준 데이터 구조를 갖추고 있으며, 간단하지만 효과적인 객체 지향 프로그래밍 접근법 또한 갖추고 있다. 우아한 문법과 동적 타이핑, 그리고 인터프리팅 환경을 갖춘 파이썬은 다양한 분야, 다양한 플랫폼에서 사용될 수 있는 최적의 스크립팅, RAD(Rapid Application Development - 빠른 프로그램 개발) 언어이다. python 이름의 유래- 파이썬의 창시자 귀도 반 로섬(Guido van Rossum)이 BBC에서 방영되던 "Monty Python's Flying Circus"라는 TV 프로그램의 이.. 2018. 8. 16.
[c언어] 포인터의 크기 포인터의 크기포인터의 크기는 운영체제의 bit수에 따라 달라진다.32비트 시스템의 포인터 크기 : 4바이트64비트 시스템의 포인터 크기 : 8바이트즉 32비트의 int*, double*, char* 의 크기는 모두 4바이트이고64비트의 int*, double*, char*의 크기는 모두 8바이트이다. 포인터 크기 원리포인터 = 메모리 위치를 가리키기 위한 주소를 담는 변수즉, 32비트 라면 CPU의 메모리 접근을 위한 주소가 32비트 만큼 가능하기 때문에 포인터도 32비트(4바이트)가 된다.반면, 64비트 라면 CPU의 메모리 접근을 위한 주소가 64비트 만큼 가능하기 때문에 포인터도 64비트(8바이트)가 된다.이러한 원리로 인해서 포인터의 크기는 차이가 난다. (16비트의 컴파일러에서 포인터의 크기는 .. 2018. 8. 13.
[html] 시작 [시작] HTML (HyperText Markup Languange)- 프로그래밍 언어는 아니고, 우리가 보는 웹페이지가 어떻게 구조화되어 있는지 브라우저로 하여금 알 수 있도록 하는 마크업 언어이다.- 마크업(Markup) : 태그 등을 이용하여 문서나 데이터의 구조를 표시하는 언어의 한 가지.- html을 보고싶다면 f12를 누르면 개발자도구에서 확인이 가능하다. - 왼쪽에 빨간 네모 박스가 html 코드이다. ▶ 를 눌러 밑의 내용까지 쭉 볼 수 있다. html코딩 준비물 : 웹 브라우저(크롬, 익스플로어 등), 에디터(Atom)Atom 다운로드 : [Atom 바로가기] 특징- 확장자 명 : htmlex) test.html, (파일명).html- html은 elements로 구성되어 있으며 tag를.. 2018. 8. 12.
[java] 매크로 만들기 #1 [Modifier and Type] Method and Description[BufferedImage] createScreenCapture(Rectangle screenRect) : Creates an image containing pixels read from the screen[void] delay(int ms) : Sleeps for the specified time[int] getAutoDelay() : Returns the number of milliseconds this Robot sleeps after generating an event[Color] getPixelColor(int x, int y) : Returns the color of a pixel at the given screen c.. 2018. 8. 12.