DS116 WOL(Wake On Lan) 기능 써보자

이미지
고급설정 -> 특수기능 ->WOL 기능에서 나스 mac 주소를 등록해줍니다. 그밖에 공유기설정에서 DDNS 나 외부에서 접속할 수 있도록 설정해주어야 되는데 캡쳐찍고 올리기 귀찮아서 생략합니다. 설정에서 WOL기능 활성화해줍니다~ 나는 매일 새벽2시에 자동으로 꺼지게 설정했습니다. 다음날 일어나서 wol로 키고 ~ 우선 본인 스마트폰에 각자 공유기에 맞는 앱을 설치합니다. 저는 iptime을 써서 맨 오른쪽에 ipTime WOL앱 설치 맨위에 공유기가 저는 등록해놓아서 뜹니다. 맨처음에는 자동검색, 수동추가 2개만 있습니다. 공유기 찾아서 등록해주고, Nas 키고 싶을 때 앱으로 원격으로 켜주면 됩니다. 쉽죠잉? 이상 허접의 기록

DS116 synology 입문~

이미지
원래는 DS114를 주문 했었는데, DS114가 단종 되었다고 하더군요.. 그래서 전화와서 DS116으로 배송해도 되겠냐 해서 동의했습니다. 그리고 요렇게 왔습니다. 하드 포장된채로 한 컷 4테라짜리 열어보니 이렇게 되어 있더군요 ㅋㅋ 앞뒤 그리고 옆면 찍어보기 ㅋㅋ 하드 장착 고고 그리고 시키는대로 해봅시다~! 잘 돌아가는 마지막 모습 이제 이걸로 장난질을 해보겠습니다. 이상 허접의 기록

Django github에 올리기

이미지
장고로 여러가지 장난질을 해보다가 git에 올리고 싶어서 올려보네요. 먼저 github 웹에서 새로운 저장소 만들어줍니다. 그 다음 로컬 저장소에 가서 Bash에서 아래와 같이 init 해줍니다. .gitignore 만들어준다. 아래의 내용들은 git add 할 때 무시 되도록 설정하기 위함입니다. 그리고 아래처럼 처음에 만들어준 원격 저장소와 연결해 줍니다. git status 확인 전부 add 하기 warning이 뜨는데 구글링 해보니까 아래의 이런 이유라고 하네요. 이유는 윈도우 계열과 유닉스(맥, 리눅스) 계열에서의 서로 다른 플랫폼에서의 공유시 발생하는 소스의 줄바꿈 이었다. 설명에는 다음과 같았다. 협업할 때 겪는 소스 포맷(Formatting)과 공백 문제는 미묘하고 난해하다. 동료 사이에 사용하는 플랫폼이 다를 때는 특히 더 심하다. 다른 사람이 보내온 Patch는 공백 문자 패턴이 미묘하게 다를 확률이 높다. 편집기가 몰래 공백문자를 추가해 버릴 수도 있고 크로스-플랫폼 프로젝트에서 윈도 개발자가 줄 끝에 CR(Carriage-Return) 문자를 추가해 버렸을 수도 있다. Git에는 이 이슈를 돕는 몇 가지 설정이 있다. core.autocrlf 윈도에서 개발하는 동료와 함께 일하면 줄 바꿈(New Line) 문자에 문제가 생긴다.  윈도는 줄 바꿈 문자로 CR(Carriage-Return)과 LF(Line Feed) 문자를 둘 다 사용하지만, Mac과 Linux는 LF 문자만 사용한다.  아무것도 아닌 것 같지만, 크로스 플랫폼 프로젝트에서는 꽤 성가신 문제다. Git은 커밋할 때 자동으로 CRLF를 LF로 변환해주고 반대로 Checkout할 때 LF를 CRLF로 변환해 주는 기능이 있다. core.autocrlf 설정으로 이 기능을 켤 수 있다. 윈도에서 이 값을 true로 설정하면 Checkout할 때 LF 문자가 CRLR 문자로 변...

AIbridge 라이브러리 간단한 적금앱, tinyDB 사용해서 간단하게 저장, 불러오기

이미지
라이브러리를 추가 해주기 http://www.appinventor.org/content/java-bridge/introduction/intro-android-studio <- 다운로드 위치 // you need the following imports in all Java Bridge apps //저의 깃헙 주소 : https://github.com/ndgndg91 import com.google.appinventor.components.runtime.Button; import com.google.appinventor.components.runtime.Component; import com.google.appinventor.components.runtime.EventDispatcher; import com.google.appinventor.components.runtime.Form; import com.google.appinventor.components.runtime.HandlesEventDispatching; import com.google.appinventor.components.runtime.HorizontalArrangement; import com.google.appinventor.components.runtime.Label; import com.google.appinventor.components.runtime.ListPicker; import com.google.appinventor.components.runtime.TextBox; import com.google.appinventor.components.runtime.TinyDB; import java.util.regex.*; // import any components you are going to use in your app. In this case, just Button // you can use the following header for all apps ...

selfcheckout app 안드로이드 스튜디오에서 zxing 이용, 구글 클라우드 vm instance 서버구축 mysql php 연동해서 만들기~

이미지
저번에는 MIT appinventor로 만들어 보았는데, 이번에는 안드로이드 스튜디오로 만들었습니다. zxing 라이브러리를 이용해서 qr코드를 스캔한 다음 스캔 결과값을 ArrayList<String>에 넣어서 리스트 뷰에 보여주고, 각각 선택 할 수 있도록 만들고, Delete item 버튼을 누를 경우 선택된 index 값이 삭제 될 수 있도록 만들었습니다. 그리고 구글 클라우드에 서버 설치후 mysql에서 웹에 Json으로 정보를 뿌려준후 안드로이드에서 웹에 있는 Json을 파싱해서, 내가 새로 만든 Product라는 클래스를 이용하여 ArrayList<Product>에 Json을 넣어서 각각 객체 리스트를 만들고, 상품정보와 스캔한 결과의 제품이름이 같을 경우 제품의 가격들을 총 지불할 금액에 계속적으로 더해주는 방식으로, 총 값을 계산할 수 있도록 하였다. Payment 버튼을 누르면 서버에 있는 mysql에 payment라는 테이블에 insert 되도록 구현해보았습니다. 소스코드는 생략하고 그냥 동영상만 일단 올리고 github 링크 첨부합니다. https://github.com/ndgndg91/Selfcheck NAS에 MariaDB 제품 정보들 Json http://ndgndg91.iptime.org/~ndgndg91/selfcheck/cal.php payment 버튼 클릭하면 payment 테이블에 pay_amount 컬럼에 insert <?php error_reporting(E_ALL); ini_set('display_errors',1); $link=mysqli_connect("localhost","root","","selfcheck"); if (!$link) {    echo "MySQL 접속 에러 : ";    echo mysql...

python으로 웹 데이터를 긁어보자

이미지
제가 긁을 페이지는 무신사인데, 정한이유가 여러가지가 있지만,, 생략하고.. 먼저 긁기 전에 페이지의 구조를 봅니다. 무신사에는 아주 많은 옷에 대한 정보들이 있는데 저는 바지만 긁어모을것이기 때문에,, 먼저 url구조를 보면 http://store.musinsa.com/app/product/detail/200979/0 200979가 해당 제품을 식별할 수 있게 해준다. 이숫자는 제품을 업로드한 순으로 추측되는데 이유는 정확히 모른다. 그 다음에 긁을 태그들을 분석한다. 가져와보니까 table형식으로 되어있다. 전체 html -> 필요한 태그 -> 필요한 정보를 얻을수 있도록 정제하기 뽑아내서 파일에 모아서 저장하기 따라서 허접하지만 여러 블로그들을 참고해서 노가다형식으로 코드를 짜봤다. 보완할 필요가 많은 코드지만 돌아가긴해서 ,, # -*- coding: utf-8 -*- from bs4 import BeautifulSoup from urllib.request import urlopen import re import csv def spider ( max_pages ): page = 346086 fixpage = page while page < max_pages: link = ' http://store.musinsa.com/app/product/detail/ ' + str (page) + ' /0 ' pantsno = link[ 44 : 50 ] f = urlopen(link) soup = BeautifulSoup(f, ' lxml ' ) a = soup.find_all( ' p ' ,{ ' class ' : ' item_categories ' }) b = bool (re.search( ' 하의 ' , str (a))) c = bool (soup....