728x90
반응형

Windows 10을 새로 설치 후 Docker 설치하여 구동하려는데 아래와 같은 에러가 계속 발생

"docker: Error response from daemon: Ports are not available: listen tcp 0.0.0.0:8081: bind: An attempt was made to access a socket in a way forbidden by its access permissions."

구글에 검색 좀 해보니 아래 웹페이지에서 힌트를 얻고,
https://github.com/docker/for-win/issues/3171

cmd 창에서 아래와 같이 입력해 주었더니, 이미 tcp 제외범위가 확인됨

netsh interface ipv4 show excludedportrange protocol=tcp

제외범위의 port를 피해서 host port를 설정하니 컨테이너가 잘 생성되었음 

 

 
반응형

'Tech' 카테고리의 다른 글

Docker 주피터 노트북 크론  (0) 2021.09.24
주피터 노트북 초기 설정  (0) 2021.05.28
klaytn - smart contract 배포  (0) 2019.06.02
파일시스템  (0) 2019.05.15
윈도우 10 에서 Wireshark 시작 시 멈출 때  (0) 2019.05.05
728x90
반응형

선생님께 추천받음.

아래 다운받을 수 있는 링크임.

 

http://byteofpython-korean.sourceforge.net/byte_of_python.pdf

 

반응형
728x90
반응형

 

import sys
import io
import urllib.request as req
from urllib.parse import urlparse

sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding = 'utf-8')

url = "http://www.encar.com"

mem = req.urlopen(url)

# print(type(mem))
# python dict {}  , list [], tuple()  예습 필요


# print ("geturl", mem.geturl())
# print("status", mem.status)  # 응답값 200, 404, 403, 500 등 알아두어야 함.
# print("headers",mem.getheaders())

# print("info",mem.info())
# print("code", mem.getcode())
# print("read", mem.read(50).decode("utf-8"))  #옛날 사이트로 되있다면 euc-kr 등으로 디코딩함.

print(urlparse(url))

 

import sys
import io
import urllib.request as req
from urllib.parse import urlencode

sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding = 'utf-8')

#구글 검색 my ip api
# https://www.ipify.org/ -- 출처


API = "https://api.ipify.org"

values = {
'format' : 'json'
}

print('before',values)
params = urlencode(values)
print('after',params)

url = API + "?" + params
print("요청 url", url)

reqData = req.urlopen(url).read().decode('utf-8')
print("출력",reqData)

 

 

숙제 

import sys
import io
import urllib.request as req
from urllib.parse import urlencode

sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding = 'utf-8')

#구글 검색 my ip api
# https://www.ipify.org/ -- 출처

imgUrl1 ="https://ssl.pstatic.net/tveta/libs/1242/1242071/7263bcd2e96061265636_20190705115802112.jpg"
adUrl2 = "https://ssl.pstatic.net/tveta/libs/1239/1239407/92a189eb83ec9dcf5684_20190503133602254.jpg"

savePath1 ="homework.jpg"
savePath2 ="homework2.jpg"

f1 = req.urlopen(imgUrl1).read()  #이미지를 읽어와 f 에 저장
f2 = req.urlopen(adUrl2).read()

# saveFile1 = open(savePath1, 'wb')  # w: write, r: read, a: add  b:binary
# saveFile2 = open(savePath2, 'wb')
# saveFile1.write(f1)  #saveFile에 f의 데이터를 씀
# saveFile1.close()  #항상 리소스를 반납해줘야 하는 것 잊지 말것

# 이 아래 with 문을 자주 쓰는게 더 좋다고 함.
# 파이썬 2.7버전 이후로만 지원되며 with 문을 벗어나면 자동으로 자원 반환함

with open(savePath1, 'wb') as saveFile1:
    saveFile1.write(f1)

with open(savePath2, 'wb') as saveFile2:
    saveFile2.write(f2)


print("다운로드 완료!")

 

 

 

 

반응형
728x90
반응형

truffle deploy--network klaytn

truffle deploy --compile-all --reset --network klaytn
--compile-all : 모든 contract를 재컴파일 시킴
--reset : 강제적으로 재실행시킴
--> 노드에 컨트랙트 재배포. -> 재배포할 때마다 deployedAddress 가 바뀜.

  • 배포된 뒤에 build 라는 폴더가 생성되고, 그 아래 contract, 그 아래 json 파일이 2개 생성된 것을 볼 수 있다.
  • migration 폴더 아래 2_deploy_contract.js 파일 및 truffle.js 파일에서 명시한 내용이 AdditionGame.json 에 들어있다.

 

반응형
728x90
반응형

파일시스템 구성

  1. 부트 블럭 ( Boot Block) : 운영체제를 부팅하거나 초기화하기 위한 부트스트랩(부팅을 위한 프로그램) 코드를 담고 있는 블럭
  2. 슈퍼 블럭 ( Super Block) : 해당 파일시스템을 관리하기 위한 정보를 담고 있는 블럭
  3. 아이노드 리스트 : 파일에 대한 속성 정보를 관리하기 위한 블럭
    1. inode number - 파일 시스템 내에서 해당 파일을 식별하기 위한 고유한 식별자
    2. 파일타입 : 일반 파일, 디렉터리, 장치파일 등 파일 유형
    3. 접근권한 : 파일에 대한 접근권한
    4. link count : 해당 inode 를 참조하는 링크 개수 ( 하드링크 카운트)
    5. 소유자 : 파일의 소유자 uid
    6. 소유그룹 : 파일의 소유 그룹 gid
    7. 파일 크기
    8. MAC Time
      1. last Modification Time
      2. last Access Time
      3. last Change Time
    9. Block Index
    • 아이노드 속성정보 확인 명령어 stat
  4. Data Blocks
    • 실제 파일의 내용이 저장되는 블럭
    • 고정크기 block 들로 이루어져 있다.

Crontab 파일 제어

0 3 * * 0 /bin/rm -rf /tmp/* >/dev/null 2>&1

  • 분 시 일 월 요일 그리고, 실행명령어
    • 매주 일요일 오전 3시에 실행되는 작업. 작업 내용은 /tmp 디렉터리 하위의 모든 파일을 삭제하고, 표준 출력은 출력되지 않도록 /dev/null 로 지정 (>) . 표준에러는 표준 출력으로 출력 재지정함 2>&1 표준출력과 동일하게 /dev/null 장치파일로 출력하여 버려짐.
반응형
728x90
반응형

와이어 샤크를 설치하고 윈도우 10 환경에서 처음 실행하는데,  "Initializing external capture.." 메세지 단계에서 자꾸 멈추는 현상이 발생했다. 

구글링해서 확인한 결과 USBCap 을 삭제하면 된다고 한다.

나는 제어판 - 프로그램 및 기능에서 USBcap 을 삭제했고 그 다음 

C:\Program Files\Wireshark\extcap   이 경로에 가서 USBcap 파일을 삭제해 준 뒤 Wireshark 를 재실행하니 정상적으로 실행되었다. 

아래 링크는 참고했던 문서이다.

아무래도 USBcap과 Wireshark의 악연은 꽤 오래된듯...

 

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=12845\

 

12845 – First start with non-empty extcap folder after install or reboot hangs at "initializing tap listeners"

Process Monitor log illustrating the issue Details Output of USBPcapCMD that cause WireShark to hang on startup. Details

bugs.wireshark.org

 

 

반응형
728x90
반응형

 

시작

sudo apachectl start

 

중지

sudo apachectl stop 

 

* os 암호 입력 필요 

반응형
728x90
반응형

 

초보라서 많이 헤멜줄 알았는데, 다행이 아래 두 블로그 덕에 거의 jupyter notebook 실행에 성공했다. 

https://breath91.tistory.com/entry/%EC%A3%BC%ED%94%BC%ED%84%B0-%EB%85%B8%ED%8A%B8%EB%B6%81jupyter-notebook-%EC%84%A4%EC%B9%98%EB%B6%80%ED%84%B0-%EC%82%AC%EC%9A%A9%EB%B2%95-%EC%9B%90%EA%B2%A9-%EC%84%A4%EC%A0%95-%EA%B9%8C%EC%A7%80

 

주피터 노트북(jupyter notebook) 설치부터 사용법, 원격 설정 까지

+이 글은 우분투 (Ubuntu) 16.04 LTS / 파이썬 3.5 (Python 3.5) / 파이프라인 (pip) 이 설치된 이후 주피터 노트북이 설치되는 과정이 설명되어 있습니다. 앞선 설치가 되지 않은 분들은 설치 이후 따라와 주세요..

breath91.tistory.com

 

https://light-tree.tistory.com/111?category=787757

 

[파이썬] 우분투 주피터 jupyter 원격 접속 서버 설정하는법, 오류 고치기

1. jupyter 에서도 같은 파일만 아니면 한명 이상의 유저가 서버에 접근해서 작업을 실행할 수 있습니다. 2. 제 OS환경은 우분투 16.04 버전입니다. 윈도우도 방화벽 해제랑 jupyter_notebook_config.py 파일 경로..

light-tree.tistory.com

 

근데 막상 실행하려니 이런 오류가 뜬다. 

ubuntu@myserver $ jupyter notebook
Traceback (most recent call last):
  File "/usr/local/bin/jupyter-notebook", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/dist-packages/jupyter_core/application.py", line 266, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/traitlets/config/application.py", line 657, in launch_instance
    app.initialize(argv)
  File "</usr/local/lib/python2.7/dist-packages/decorator.pyc:decorator-gen-7>", line 2, in initialize
  File "/usr/local/lib/python2.7/dist-packages/traitlets/config/application.py", line 87, in catch_config_error
    return method(app, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/notebook/notebookapp.py", line 1630, in initialize
    self.init_webapp()
  File "/usr/local/lib/python2.7/dist-packages/notebook/notebookapp.py", line 1407, in init_webapp
    self.http_server.listen(port, self.ip)
  File "/usr/local/lib/python2.7/dist-packages/tornado/tcpserver.py", line 143, in listen
    sockets = bind_sockets(port, address=address)
  File "/usr/local/lib/python2.7/dist-packages/tornado/netutil.py", line 168, in bind_sockets
    sock.bind(sockaddr)
  File "/usr/lib/python2.7/socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
socket.error: [Errno 99] Cannot assign requested address

 

테스트를 해본 결과 ~/.jupyter$ vi jupyter_notebook_config.py  파일에서 

c.NotebookApp.ip = '사용할.아이피를.입력해.주세요'   ## 이 부분에서 실제 서버 아이피를 입력하면 에러가 나고, localhost 로 입력하면 위와 같은 에러가 발생하지 않았다. 

 

#해결방법 

$ jupyter notebook --ip=0.0.0.0 --port=8080   

이와 같이 실행하고, AWS 의 보안그룹에서 8080 포트만이 아니라 모든 TCP 포트를 오픈하는 것으로 설정하니 원격으로 접속이 가능하게 되었다. 

### 본 글은, TCP 포트 오픈에 대한 리스크는 책임지지 않음을 알립니다 ###

반응형

+ Recent posts