2016년 부터 파이참을 써 오다가 주변에 파이썬을 가르쳐 달라는 분이 많아져서 파이참을 참 많이도 설치해 드렸습니다.

 You probably need to delete and re-download or re-create this file.  Message from libarchive was:\n\nCould not unlink'

초반에 삽질하던 많은 부분들을 해소 해 준게 아나콘다 였는데 그 보다 더 편하게 파이참이었죠.

conda clean -a

모든 패키지 설정을 위해 아나콘다에서 모든 세팅을 하고 파이참은 그 세팅을 끌어다 쓰는 방식을 취하다가

conda update conda

파이썬 공부용 일 경우 파이참에서도 패키지 설치가 잘 되어서 새로 세팅하는 컴퓨터의 경우 아나콘다를 설치하지 않고 있습니다. 이 글을 쓰는 2020년 6월 23일에도 여전히 아나콘다가 더 최신의 패키지들을 다룹니다. 아나콘다로만 설치할 수 있는 패키지가 많죠. AI는 콘다 명령어를 알아야 합니다.

 

C:\WINDOWS\system32>TASKKILL /F /IM python.exe

성공: 프로세스 "python.exe"(PID 34740)() 종료되었습니다.

성공: 프로세스 "python.exe"(PID 33204)() 종료되었습니다.

성공: 프로세스 "python.exe"(PID 6692)() 종료되었습니다.

성공: 프로세스 "python.exe"(PID 4596)() 종료되었습니다.

오류: 프로세스 "python.exe"(PID 52972)() 종료할 수 없습니다.

원인: 액세스가 거부되었습니다.

성공: 프로세스 "python.exe"(PID 53496)() 종료되었습니다.

오류: 프로세스 "python.exe"(PID 53876)() 종료할 수 없습니다.

원인: 액세스가 거부되었습니다.

오류: 프로세스 "python.exe"(PID 53300)() 종료할 수 없습니다.

원인: 액세스가 거부되었습니다.

성공: 프로세스 "python.exe"(PID 63484)() 종료되었습니다.

 

C:\WINDOWS\system32>conda install -c conda-forge libarchive

Collecting package metadata (current_repodata.json): done

Solving environment: done

 

## Package Plan ##

 

  environment location: J:\Anaconda3

 

  added / updated specs:

    - libarchive

 

 

The following NEW packages will be INSTALLED:

 

  python_abi         conda-forge/win-64::python_abi-3.7-1_cp37m

 

The following packages will be UPDATED:

 

  conda                       pkgs/main::conda-4.8.3-py37_0 --> conda-forge::conda-4.8.3-py37hc8dfbb8_1

  openssl              pkgs/main::openssl-1.1.1f-he774522_0 --> conda-forge::openssl-1.1.1g-he774522_0

 

The following packages will be SUPERSEDED by a higher-priority channel:

 

  ca-certificates    pkgs/main::ca-certificates-2020.6.24-0 --> conda-forge::ca-certificates-2020.6.20-hecda079_0

  certifi               pkgs/main::certifi-2020.6.20-py37_0 --> conda-forge::certifi-2020.6.20-py37hc8dfbb8_0

  libarchive         pkgs/main::libarchive-3.4.2-h5e25573_0 --> conda-forge::libarchive-3.3.3-h0c0e0cf_1008

 

 

Proceed ([y]/n)?

 

Preparing transaction: done

Verifying transaction: done

Executing transaction: done

 

C:\WINDOWS\system32>

 

%matplotlib inline 그래프 바로 보이게 : pyCharm 에서 무쓸

import missingno pyCharm 없음. 아나콘다로만 설치 ㅠㅠ

conda install -c conda-forge missingno

Collecting package metadata (current_repodata.json): done

Solving environment: done

 

## Package Plan ##

 

  environment location: J:\Anaconda3

 

  added / updated specs:

    - missingno

 

 

The following packages will be downloaded:

 

    package                    |            build

    ---------------------------|-----------------

    matplotlib-base-3.2.1      |   py37h911224e_0         7.1 MB  conda-forge

    missingno-0.4.2            |             py_1          12 KB  conda-forge

    openssl-1.1.1g             |       he774522_0         5.7 MB  conda-forge

    ------------------------------------------------------------

                                           Total:        12.9 MB

 

The following NEW packages will be INSTALLED:

 

  matplotlib-base    conda-forge/win-64::matplotlib-base-3.2.1-py37h911224e_0

  missingno          conda-forge/noarch::missingno-0.4.2-py_1

 

The following packages will be UPDATED:

 

  conda                       pkgs/main::conda-4.8.3-py37_0 --> conda-forge::conda-4.8.3-py37hc8dfbb8_1

 

The following packages will be SUPERSEDED by a higher-priority channel:

 

  ca-certificates    pkgs/main::ca-certificates-2020.6.24-0 --> conda-forge::ca-certificates-2020.6.20-hecda079_0

  certifi               pkgs/main::certifi-2020.6.20-py37_0 --> conda-forge::certifi-2020.6.20-py37hc8dfbb8_0

  openssl                                         pkgs/main --> conda-forge

 

 

Proceed ([y]/n)? y

 

 

Downloading and Extracting Packages

matplotlib-base-3.2. | 7.1 MB    | ############################################################################################################################################################################################ | 100%

openssl-1.1.1g       | 5.7 MB    | ###############################################################################################################################################################################8             |  94% W

ARNING conda.gateways.disk.delete:unlink_or_rename_to_trash(140): Could not remove or rename J:\Anaconda3\pkgs\openssl-1.1.1g-he774522_0.tar.bz2.  Please remove this file manually (you may need to reboot to free file handles)

openssl-1.1.1g       | 5.7 MB    | ############################################################################################################################################################################################ | 100%

missingno-0.4.2      | 12 KB     | ############################################################################################################################################################################################ | 100%

 

InvalidArchiveError('Error with archive J:\\Anaconda3\\pkgs\\openssl-1.1.1g-he774522_0.tar.bz2.  You probably need to delete and re-download or re-create this file.  Message from libarchive was:\n\nCould not unlink')

 

C:\WINDOWS\system32>conda install -c conda-forge missingno

Collecting package metadata (current_repodata.json): done

Solving environment: done

 

## Package Plan ##

 

  environment location: J:\Anaconda3

 

  added / updated specs:

    - missingno

 

 

The following NEW packages will be INSTALLED:

 

  missingno          conda-forge/noarch::missingno-0.4.2-py_1

 

 

Proceed ([y]/n)?

 

Preparing transaction: done

Verifying transaction: done

Executing transaction: done

1.  상황에 딱 맞는 솔루션이 바로 궁극의 솔루션이죠. 엔터프라이즈용 궁극의 솔루션은 리눅스 VMWARE에 pip로만 인스톨한 환경 설정입니다. --> 기업은 무료에 강한 매력을 느낍니다. VMWARE 로 설정해 놓으면 컴퓨터 갈아타며, 환경 세팅은 정말 쉽습니다. VMWARE 파일 복사하면 끝이죠.

 

아나콘다의 경우 콘다 하위 폴더에 패키지 설치가 되고, 파이참은 가상 환경 세팅되면 관련 라이브러리가 

로컬 드라이브 내가 정한 어딘가\PycharmProjects\프로젝트 이름\venv\Lib\site-packages 에 위치합니다.

https://anaconda.org/anaconda/openssl/files 얜... 따로 받아서 설치를 합니다. 콘다도 잘 안됨...

파이썬의 패키지 라이브러리들은 파이썬 파일 소스기에 사실 따로 받아서 설치가 가능합니다. include 폴더는 비워져 있고 본체인 lib만 채워져 있는 형태지요. 일전에 이 패키지들을 관리하는 메타 파일을 찾으려고 한 적이 있는데 목록 갱신이 느리고 async 한 것을 보고 그냥 폴더 읽는구나 하고 생각한 적이 있습니다. 지금도 딱히 찾아 볼 생각은 없죠. 파이참의 프로젝트는 windows server datacenter 버전에 설치하고 mstsc를 이용해서 사용합니다. python 3.7 amd 64 비트 버전이죠. 이제 3.8로 올리려고 하고 있습니다. 8이라는 숫자를 좋아해서요. 아마 3.8로 가면 또 한 4년은 그대로 쓰겠지요. 윈도우는 1년에 한 번 업데이트 한다고 끕니다.

 

제온 서버 입니다. 전기세, 네트워크 포함 1년 유지비 200 정도 보시면 됩니다.  싸게 하면 100으로 가능하리라 생각됩니다.

 

2. 개인용 궁극의 솔루션은 노트북은 저사양 노트북을 들고 다니며 mstsc 로 접속하는 윈도우 서버 환경에서의 pyCharm 입니다. 해당 pyCharm 은 궁합이 맞는, 설치가 가능한 모든 라이브러리를 포함하고 있으며 한 번 작업을 시키면 컴퓨터를 끌 필요가 없는 환경입니다.

 

삼성전자 재직 시절에도 방송대를 당당하게 광고하며 다녔는데, 저는 공부를 위해 적어도 이 정도 투자는 하고 있었습니다. 그렇게 40이 넘으니 정부던 기업이던 교육 기관이던 나름 찾아 주는 곳이 많은 것 같습니다. 모든 정보를 공개하기엔 시간이 너무 부족합니다. 계약서 써 두고 못 쓴 책도 여러 권입니다. 실무 개발자다 보니 책을 쓰는 동안 변해버리는 기술 때문에 책 쓰기가 힘들고, 사실 책을 써 보신 분은 아시겠지만 블로그 포스팅과는 차원이 다른 스트레스가 있습니다. 물론, 나쁜 스트레스는 아니지만... 누가 단어로 하나 만들어 주면 좋겠네요.

 

3. 저의 경우 제온을 썼지만 GPU 환경 설정, 그리고 AMD 가 답 입니다.

 

http://www.inews24.com/view/125791

 

[64비트CPU 출시1년-중] 인텔-AMD 승자는 누구

PC용 64비트 CPU 시장을 놓고 인텔과 AMD의 치열한 각축전이 펼쳐질 전망이다.작년 9월 최초의 데스크톱용 64비트 CPU를 출시한 AMD는 '64비트는 AMD'라는 바람몰이를 이어간다는 전략이다. "인텔을 제��

www.inews24.com

리사수 덕에 이제 AMD는 넘사벽이 되었지만 그 전에도 64비트는 AMD가 빨랐습니다. 그래서 64기가 램 + 2080 8gb(Ti는 넘 비사서...) + AMD 7 시리즈로 데탑을 구성해서 사용하고 있습니다. 파워는 1200W네요. 파워는 그 정도로 쓰지는 않지만 뽐뿌가 와서... 쓰레드 리퍼는 정품 박스 들고만 있습니다.(리사수 작품 1세대라... 영구보관 하려구요)

 케라스와 텐서플로우가 AI 프레임웍은 통일을 한 것 같습니다. GPU도 AMD 껄로 쓰고 싶었는데 엔비디아와 궁합이 더 잘 맞는 것 같아서 GPU는 결국 엔비디아로 갈 수 밖에 없고, 나중에 Sli를 하려면 80 시리즈로 갈 수 밖에 없었습니다. 아시겠지만 AI 프레임웍은 세팅에 따라 일주일 걸리는 작업이 몇 시간으로 단축됩니다.

 

최근 AI 전문가들이 프레임웍 싸움은 끝났다라고 말하고 있습니다. 뭐, 사실 잘하는 사람은 구글로 다 가버렸고, 구글에 속한 사람들보다 나은 논문을 발표할 수도, 다른 논문을 더 나은 효율로 구현할 수도 없는 상황이 되어 버렸거든요. 저 포함 남은 사람들은 구글이 만든 플랫폼 위에서 입 싸움을 하는 수 밖에 없습니다. 혹은, 좀 더 우아한 개발 싸움을 하던지요. 그렇다고 구글이 승자는 아닙니다. 결국 필요한 곳에 데이터 싸움이 될 텐데 구글이 시장을 잘 뚫어줬으니 AI 로 대체할 작은 부분들을 하면 되지요. facebook 메신저가 세계 최대의 메신저이겠지만 우리는 카톡을 쓰는 것 처럼요.

 

가족이 쓰는 기기를 제외하고 개인 것으로 맥북 에어, 맥북프로, 아이맥 프로, 서버 제온, 위에 말한 데탑을 쓰고 있네요. 아이패드 프로 포함 기타 애플 제품도 다 쓰고 있습니다. AIaaS 가 인기긴 하고 사용해 보니 서버랑 클라이언트 개발자가 AI를 다루는 것이 너무도 쉬워졌습니다. 결국 비용 싸움인데 제가 고민하고 있는 부분은 바로 학습 비용을 낮추는 부분. 그리고 데이터를 뻥튀기 하기 힘든 의료 데이터를 이용한 AI 분야 입니다.

 

암튼. 그렇습니다. 나이가 드니 본인이 애용하는 뭔가를 공개한다는게 참, 좋지 않은 피드백으로 오는 것을 많이 경험합니다. 그래도 IT는 커뮤니케이션이 답입니다.

 

=0-=0=0-=0=-0=0=-0

 

'{BE} Python 3.1x' 카테고리의 다른 글

swift 4.2에서 잘되는 background timer  (0) 2020.06.23
swift badge  (0) 2020.06.23
티스토리 카테고리 크롱크롱  (0) 2020.06.23
p001- nltk  (0) 2020.06.21
pyCharm opensources  (0) 2020.06.21

 

from urllib.request import urlopen
from bs4 import BeautifulSoup
import time
import re

letTistory = 'https://ioswift.tistory.com'
list5category = []

while True:
   html = urlopen(letTistory)
   bsObject = BeautifulSoup(html, "html.parser")
   for link in bsObject.findAll("a", href=re.compile("^(/category/)((?!:).)*$")):
      if 'href' in link.attrs:
         list5category.append(link.attrs['href'])
   time.sleep(10)
   # print(list5category)
   for link2 in list5category:
      html = urlopen(letTistory+link2)
      bsObject = BeautifulSoup(html, "html.parser")
      # print(bsObject)
   list5category.clear()

 

당근 모바일에서도 잘 됨.

 

WWDC 보니... 이제 아이폰에서 그냥 pyCharm 쓸 때가 금방 올 듯.

 

 

'{BE} Python 3.1x' 카테고리의 다른 글

swift badge  (0) 2020.06.23
pyCharm 세팅  (0) 2020.06.23
p001- nltk  (0) 2020.06.21
pyCharm opensources  (0) 2020.06.21
How to disable vim on pyCharm  (0) 2020.06.19

import nltk
from wordcloud import WordCloud
import matplotlib.pyplot as plt

nltk.download("book", quiet=False)
nltk.corpus.gutenberg.fileids()
emma_raw = nltk.corpus.gutenberg.raw("austen-emma.txt")
cw = WordCloud(max_font_size=100).generate(emma_raw)
plt.imshow(cw, interpolation="mitchell")
plt.show()

 



 

'{BE} Python 3.1x' 카테고리의 다른 글

pyCharm 세팅  (0) 2020.06.23
티스토리 카테고리 크롱크롱  (0) 2020.06.23
pyCharm opensources  (0) 2020.06.21
How to disable vim on pyCharm  (0) 2020.06.19
Making pyCharm shortcuts to be the Xcode one's  (0) 2020.06.19

 

 

Software

License

.babelrc JSON Schema (.babelrc-schema.json) JSON schema for Babel 6+ configuration files

Apache 2.0

.eslintrc JSON Schema (.eslintrc-schema.json) JSON schema for ESLint 4 configuration files

Apache 2.0

Amazon Ion Java 1.5.2-2

Apache 2.0

Apache Axis 1.4

Apache 2.0

Apache Commons Codec 1.13

Apache 2.0

Apache Commons Collections 3.2.2

Apache 2.0

Apache Commons Compress 1.18

Apache 2.0

Apache Commons Discovery 0.4

Apache 2.0

Apache Commons HTTPClient 3.1  (with patch by JetBrains)

Apache 2.0

Apache Commons Imaging (JetBrains's fork) 1.0-RC-1

Apache 2.0

Apache Commons Logging 1.2

Apache 2.0

Apache Commons Net 3.6

Apache 2.0

Apache Commons VFS (JetBrains's fork) 2.2.1.5

Apache 2.0

ASM (JetBrains's fork) 7.0.1

BSD

AssertJ fluent assertions 3.13.2

Apache 2.0

async-profiler (JetBrains's fork) 1.5-1

Apache 2.0

Automaton 1.12-1

BSD

batik 1.12.0-8

Apache 2.0

batik 1.12.0-8

Apache 2.0

bouncy-castle-provider 1.64

MIT License

Byte Buddy agent 1.10.1

Apache 2.0

CGLib 3.2.4

Apache

Command Line Interface Parser for Java 1.1.5

Apache 2.0

Common Annotations for the JavaTM Platform API 1.3.2

CDDL 1.1 / GPL 2.0 + Classpath

Commons Cli 1.2

Apache 2.0

Commons Codec 1.11

Apache 2.0

Commons IO 2.3

Apache 2.0

Commons Lang 2.6

Apache 2.0

Commons Logging 1.1.3

Apache 2.0

dbus-java 3.0.2

LGPL

delight-rhino-sandbox 0.0.11

Apache 2.0

docker-java

Apache 2.0

EdDSA-Java 0.2.0

CC0 1.0 Universal

EditorConfig Java Core 1.0

Apache 2.0

error-prone-annotations 2.3.1

Apache 2.0

eslint 3.17

MIT

FiraCode 1.206

OFL

Flow library files 0.81.0

MIT

Gherkin keywords 2.12.2

MIT

Groovy 2.4.17

Apache 2.0

Gson 2.8.5

Apache 2.0

Guava 27.1-jre

Apache 2.0

HttpComponents HttpClient 4.5.10

Apache 2.0

HttpComponents HttpClient Fluent API 4.5.10

Apache 2.0

imgscalr 4.2

Apache 2.0

Inconsolata 001.010

OFL

ini4j (JetBrains's fork) 0.5.5-2

Apache 2.0

ISO RELAX 20030108

MIT License

Jackson 2.10.0

Apache 2.0

Jackson Databind 2.10.0

Apache 2.0

Jackson Dataformat YAML 2.9.8

Apache 2.0

Jackson Module Kotlin 2.9.10

Apache 2.0

Jakarta ORO 2.0.8

Apache

Java Compatibility 1.0.1

GPL 2.0 + Classpath

Java WebSocket 1.3.9

MIT

JavaBeans Activation Framework 1.2.0

CDDL 1.1 / GPL 2.0 + Classpath

Javassist 3.22.0-GA

Apache 2.0

Javassist 3.22.0

Apache 2.0

javax.ws.rs-api 2.1

CDDL 1.1

JAXB (Java Architecture for XML Binding) API 2.3.1

CDDL 1.1 / GPL 2.0 + Classpath

JAXB (JSR 222) Reference Implementation 2.3.1

CDDL 1.1 / GPL 2.0 + Classpath

Jaxen 1.2.0

modified Apache

JBcrypt 1.0.0

ISC License

JCL over SLF4J 1.7.21

MIT

JCodings 1.0.44

MIT

JDOM (JetBrains's fork) 2.0.6

modified Apache

JediTerm 2.24

LGPL 3

Jersey Apache Connector 2.27

CDDL 1.1

Jersey Client 2.27

CDDL 1.1

Jersey Common 2.27

CDDL 1.1

JetBrains Annotations 17.0.0

Apache 2.0

JetBrains Annotations for Java 5 17.0.0

Apache 2.0

jetCheck 0.2.1

Apache 2.0

Jettison 1.4.0

Apache 2.0

JGit 4.0

Eclipse Distribution License 1.0

JGoodies Forms 1.1-preview

BSD

Jing 20030619

New BSD

JNA 5.4.0

LGPL 2.1

Joni 2.1.29

MIT

JRuby Parser 0.5.3 0.5.3

CPL 1.0

JRuby Parser 0.5.4 0.5.4

CPL 1.0

jsch-agent-proxy-jsch 0.0.9

BSD

jsch-agent-proxy-sshj 0.0.9

BSD

jsch-agent-proxy 0.0.9

BSD

JSch 0.1.55

BSD

json-path 0.8.0

Apache 2.0

json-smart 1.1.1

Apache 2.0

JSON Schema (schema.json) draft-04

Simplified BSD License

JSON Schema (schema06.json) draft-06

Simplified BSD License

JSON Schema (schema07.json) draft-07

Simplified BSD License

JSON Schema for Typings TypeScript definitions manager (typings-schema.json)

Apache 2.0

JSON Schema

Apache 2.0

jsoup 1.12.1

MIT

JUnit 4.12

CPL 1.0

jzlib 1.1.3

BSD

Log4j 1.2.17

Apache 2.0

lz4-java 1.6.0

Apache 2.0

markdown4j 2.2-cj-1.1

New BSD

MarkdownJ 0.4.2

New BSD

MathJax 2.6.1

Apache-2.0

mercurial_prompthooks

GPLv2 (used as hg extension called from hg executable)

Microba 0.4.2

BSD

MigLayout 5.2

BSD

NanoXML 2.2.3

zlib/libpng

netty-codec-http 4.1.41.Final

Apache 2.0

netty-handler-proxy 4.1.41.Final

Apache 2.0

ngram-slp 0.0.2

MIT License

OpenJDK 1.8.0

GNU General Public License, version 2, with the Classpath Exception

org.eclipse.lsp4j.jsonrpc:0.7.1 0.7.1

Eclipse Public License v1.0

org.eclipse.lsp4j:0.7.1 0.7.1

Eclipse Public License v1.0

OSGi Resource Locator 1.0.1

CDDL

owasp-java-html-sanitizer 20160413.1

Apache 2.0

PicoContainer 1.2

BSD

protobuf 3.5.1

New BSD

Proxy Vole (JetBrains's fork) 1.0.5-jb.2

Apache 2.0

pty4j 0.9.6

Eclipse Public License v1.0

PureJavaComm 0.0.11.1

BSD

PyDev (portions: debugger runtime, console) git snapshot

Eclipse Public License v1.0

Relax NG Object Model

MIT

Rhino JavaScript Engine 1.7.11

MPL 1.1

Roboto 1.100141

Apache 2.0

semver4j 2.2.0

MIT

Slf4j 1.7.25

MIT License

SLF4J API 1.7.25

MIT

snakeyaml-engine 2.0

Apache 2.0

SnakeYAML 1.24

Apache 2.0

SourceCodePro 2.010

OFL

SSHJ 0.27.0

Apache 2.0

StreamEx 0.6.8

Apache 2.0

Stylelint JSON Schema (.stylelintrc-schema.json)

Apache 2.0

swingx 1.6.2-2

LGPL 2.1

Thrift 0.11.0

Apache 2.0

Tomcat Juli 8.0.22

Apache 2.0

Tomcat Util 8.0.22

Apache 2.0

Tomcat Websocket 8.0.22

Apache 2.0

Trang

New BSD

Trilead SSH build-217-jenkins-14

BSD style

Trove4j (JetBrains's fork) 1.0.20190514

LGPL

tsconfig JSON Schema (tsconfig-schema.json)

Apache 2.0

TSLint JSON Schema (tslint-schema.json)

Apache 2.0

TwelveMonkeys ImageIO 3.4.1

BSD

TypeScript 1.6.2

Apache 2.0

Unidecode 0.0.7

MIT

Velocity 1.7

Apache 2.0

Visual Studio Code 1.33.1

MIT

webpack 2.x-3.x JSON Schema (webpack-schema.json) 2.x-3.x

MIT

webpack 4.x (webpack-schema4.json) and plugins (webpackPlugins/**) JSON Schemas 4.x

MIT

winp 1.28

MIT

Xerces 2.12.0

Apache 2.0

Xerial SQLite JDBC 3.20.1

Apache 2.0

xml-apis-ext 1.3.04

Apache 2.0

xml-resolver 1.2

Apache 2.0

XMLBeans 2.6.0

Apache 2.0

XmlRPC 2.0.1

Apache 2.0

XStream 1.4.11.1

BSD License

XZ for Java 1.8

Public Domain

yFiles

commercial, available on request

YourKit Java Profiler 8.0.x

Commercial

 

'{BE} Python 3.1x' 카테고리의 다른 글

티스토리 카테고리 크롱크롱  (0) 2020.06.23
p001- nltk  (0) 2020.06.21
How to disable vim on pyCharm  (0) 2020.06.19
Making pyCharm shortcuts to be the Xcode one's  (0) 2020.06.19
python 자연어 처리  (0) 2020.04.08

push the disable button

&

restart

&

uncheck 

&

agree with the sequence to restart.

 

Why is the disable button not working properly at the first time to try?

 

hmm...

'{BE} Python 3.1x' 카테고리의 다른 글

p001- nltk  (0) 2020.06.21
pyCharm opensources  (0) 2020.06.21
Making pyCharm shortcuts to be the Xcode one's  (0) 2020.06.19
python 자연어 처리  (0) 2020.04.08
신형 맥북 에어 맥북 프로  (0) 2019.04.02

cmd + ,

keymap

 

*Origin

https://github.com/ianatha/IntelliJ-IDEA-Eclipse-on-Mac-Keymap

 

ianatha/IntelliJ-IDEA-Eclipse-on-Mac-Keymap

IntelliJ IDEA "Eclipse on Mac" Keymap. Contribute to ianatha/IntelliJ-IDEA-Eclipse-on-Mac-Keymap development by creating an account on GitHub.

github.com

 

*Copy

https://github.com/pitzcarraldo/IntelliJ-IDEA-Xcode-Keymap

 

pitzcarraldo/IntelliJ-IDEA-Xcode-Keymap

IntelliJ IDEA "Eclipse on Mac" Keymap. Contribute to pitzcarraldo/IntelliJ-IDEA-Xcode-Keymap development by creating an account on GitHub.

github.com

https://github.com/youknowone/PyCharm-Xcode-Keymap

Copy

 

youknowone/PyCharm-Xcode-Keymap

IntelliJ IDEA "Eclipse on Mac" Keymap. Contribute to youknowone/PyCharm-Xcode-Keymap development by creating an account on GitHub.

github.com

 

 

installation

 

cannot find

 

using marketplace 

 

The Xcode Keymap is there.

 

It's easy.

 

I have been to make the program & algorithm for the past 20 years for the company, which is not mine. I have no power to make my company, but I can reach the big data set that I have to make something. I hope these solutions make me happier than before. And... If I can, I want to get a model to analyze the human to drink too much.

What is a good thing when a programmer uses python?

 

To meet a good friend who uses Python. 준리시움. 하마 이야기.

 

P.S

S.Korea Best Blog = tistory

 

 

 

'{BE} Python 3.1x' 카테고리의 다른 글

pyCharm opensources  (0) 2020.06.21
How to disable vim on pyCharm  (0) 2020.06.19
python 자연어 처리  (0) 2020.04.08
신형 맥북 에어 맥북 프로  (0) 2019.04.02
애플 정품 케이블 너무 얇아졌다 ㅠㅠ  (0) 2019.04.02

필기체 폰트 사족... 최근 새로 구한 광화문의 직장 동료들이 첨엔 코드 리뷰 잘 안 보인다고 그러다가 변태라고 놀리다가, 이제 한 6개월 정도 필기체 폰트 쓰니까 이젠 그러려니 한다.

 

단어 빈도수에 따른 각기 다른 크기의 단어 구름(word cloud)이 그 결과인데, 뭔가 되게 있어 보이지만, 소스는 간단하다. 

 

import nltk

from wordcloud import WordCloud

import matplotlib.pyplot as plt

 

nltk.download("book", quiet=False)

nltk.corpus.gutenberg.fileids()

emma_raw = nltk.corpus.gutenberg.raw("austen-emma.txt")

cw = WordCloud(max_font_size=100).generate(emma_raw)

plt.imshow(cw, interpolation="mitchell")

plt.show()

 

레알 끝... 그러나 부디 엔지니어 무시하기 말아 주기 바란다. 파이썬이 유연하긴 해도 말이다. 아무리 작은 건물이라도 요구 사항대로 다 짓고 나서 옆으로 1Cm 옮기는 것은 무진장 힘들다.

 

이제 연관 있는 링크들.

https://www.nltk.org/book/

NLTK Book

www.nltk.org

https://github.com/nltk

Natural Language Toolkit

Natural Language Toolkit has 10 repositories available. Follow their code on GitHub.

github.com

 

여기 있는 코드를 pyCharm Python console에 좀 쳐 보면

>> import nltk

>> nltk.corpus.gutenberg.fileids()

['austen-emma.txt', 'austen-persuasion.txt', 'austen-sense.txt', 'bible-kjv.txt', 'blake-poems.txt', 'bryant-stories.txt', 'burgess-busterbrown.txt', 'carroll-alice.txt', 'chesterton-ball.txt', 'chesterton-brown.txt', 'chesterton-thursday.txt', 'edgeworth-parents.txt', 'melville-moby_dick.txt', 'milton-paradise.txt', 'shakespeare-caesar.txt', 'shakespeare-hamlet.txt', 'shakespeare-macbeth.txt', 'whitman-leaves.txt']

>> sense = nltk.corpus.gutenberg.words('austen-sense.txt')

>> len(sense)

141576

텍스트 전 처리는 

 

https://github.com/lovit   자연어 처리는 이 분이 잘하시는 것 같다. 

lovit - Overview

Data scientist / Natural Language Processing / Machine Learning // soy.lovit@gmail.com - lovit

github.com

 

 



13인치 프로랑 하판 에어류 각 빼곤 완전 똑같다.

헐... 물론, 조금 더 가볍긴 하지만 에어 사실 분은

그냥 프로13인치 사시길...



헐 정품은 두꺼운 맛이었는데


구려졌엉!

'{BE} Python 3.1x' 카테고리의 다른 글

python 자연어 처리  (0) 2020.04.08
신형 맥북 에어 맥북 프로  (0) 2019.04.02
core graphics는 snapkit이 먹지 않는다.  (0) 2019.03.20
계산 잘 못하는 애플 코리아  (0) 2019.03.18
스냅킷 & 배열  (0) 2019.03.18

class FilledRect : UIView {

    

    init(frame: CGRect, level: CGFloat, color: UIColor) {

        //        super.init(frame: frame)

        super.init(frame: CGRect(x: 0, y: 0, width: 1, height: 0)) //TODO: HAVE

        self.layer.borderWidth = 1.0

        let levelLayer = CAShapeLayer()

        levelLayer.path = UIBezierPath(roundedRect: CGRect(x: frame.origin.x,

                                                           y: frame.origin.y,

                                                           width: frame.width * level,

                                                           height: frame.height),

                                       cornerRadius: 0).cgPath

        levelLayer.fillColor = color.cgColor

        self.layer.addSublayer(levelLayer)

    }

    

    required init?(coder aDecoder: NSCoder) {

        fatalError("Required, but Will not be called in a Playground")

    }

}


이런거 쓸 때,


좌표를 더해서 붙여줘야 한다.


이런 식으로...

        var view1 : UIView = FilledRect(frame: CGRect(x: 0, y: 0, width: 10, height: CGFloat(ph*ratio)), level: 1, color :  colorLiteral(red: 0.9529411793, green: 0.6862745285, blue: 0.1333333403, alpha: 1))

        var view2 : UIView = FilledRect(frame: CGRect(x: 0, y: 0, width: 10, height: CGFloat(ph*ratio) + CGFloat(pn*ratio)), level: 1, color :  colorLiteral(red: 0.1764705926, green: 0.01176470611, blue: 0.5607843399, alpha: 1))

        var view3 : UIView = FilledRect(frame: CGRect(x: 0, y: 0, width: 10, height: CGFloat(pl*ratio) + CGFloat(ph*ratio) + CGFloat(pn*ratio)), level: 1, color :  colorLiteral(red: 0.521568656, green: 0.1098039225, blue: 0.05098039284, alpha: 1))


이 딴거 안통함.

   imgView1.addSubview(imgBasal)

        imgView1.snp.makeConstraints{

            $0.left.equalToSuperview()

            $0.top.equalToSuperview()

        }

        

        imgView11.addSubview(imgBasal1)

        imgView11.snp.makeConstraints{

            $0.left.equalToSuperview()

            $0.top.equalTo(imgView1.snp.bottom)

        }

        


'{BE} Python 3.1x' 카테고리의 다른 글

신형 맥북 에어 맥북 프로  (0) 2019.04.02
애플 정품 케이블 너무 얇아졌다 ㅠㅠ  (0) 2019.04.02
계산 잘 못하는 애플 코리아  (0) 2019.03.18
스냅킷 & 배열  (0) 2019.03.18
아이튠즈 구독 해지하지  (0) 2019.03.15

환율 1500 넘었네... IMF가 오려나 보다.




 var backgroundPanel = UIView()

        

        

        backgroundPanel.backgroundColor = UIColor(red: 33, green: 33, blue: 23, alpha: 1.0)

        

        self.viewArea.addSubview(backgroundPanel)


이런 애들이 반복되면


    lazy var backgroundPanel : [UIView] = {

        let sample = UIView()

        sample.backgroundColor =  colorLiteral(red: 0.2549019754, green: 0.2745098174, blue: 0.3019607961, alpha: 1)

        let ret : [UIView] = Array(repeating: sample, count: 3)

        return ret

    }()


        backgroundPanel[0].snp.makeConstraints {

            $0.width.equalTo(280)

            $0.height.equalTo(44)

            $0.top.equalToSuperview().offset(GS.s.tendency_3dots_popup_lbltxt_topMargin)

            $0.left.equalToSuperview().offset(GS.s.tendency_3dots_popup_label_leftMargin)

        }


       backgroundPanel[1].snp.makeConstraints {

            $0.width.equalTo(350)

            $0.height.equalTo(44)

            $0.top.equalTo(lblLowestCGM.snp.bottom).offset(GS.s.tendency_3dots_popup_lbltxt_topMargin)

            $0.left.equalToSuperview().offset(GS.s.tendency_3dots_popup_label_leftMargin)

        }


        backgroundPanel[2].snp.makeConstraints {

            $0.width.equalTo(300)

            $0.height.equalTo(44)

            $0.top.equalTo(lblAvgSG.snp.bottom).offset(GS.s.tendency_3dots_popup_lbltxt_topMargin)

            $0.left.equalToSuperview().offset(GS.s.tendency_3dots_popup_label_leftMargin)

        }



이렇게 만들어 보고 싶을 것이다. 그러나 sample 은 하나의 객체이므로 

        var sample1 = UIView()

        sample1.backgroundColor =  colorLiteral(red: 0.2549019754, green: 0.2745098174, blue: 0.3019607961, alpha: 1)

        var sample2 = UIView()

        sample2.backgroundColor =  colorLiteral(red: 0.2549019754, green: 0.2745098174, blue: 0.3019607961, alpha: 1)

        var sample3 = UIView()

        sample3.backgroundColor =  colorLiteral(red: 0.2549019754, green: 0.2745098174, blue: 0.3019607961, alpha: 1)

        let ret : [UIView] = [sample1, sample2, sample3]


와 같이 다른 객체로 넘겨 주어야 한다. 코드를 줄이면, 


        let ret : [UIView] = [UIView(), UIView(), UIView()]

        for men in ret {

            men.backgroundColor =  colorLiteral(red: 0.2549019754, green: 0.2745098174, blue: 0.3019607961, alpha: 1)

        }

겠지.






'{BE} Python 3.1x' 카테고리의 다른 글

core graphics는 snapkit이 먹지 않는다.  (0) 2019.03.20
계산 잘 못하는 애플 코리아  (0) 2019.03.18
아이튠즈 구독 해지하지  (0) 2019.03.15
맥에도 블루스크린이 있을까?  (0) 2019.03.13
I bought a charger  (0) 2019.02.03

https://support.apple.com/ko-kr/HT202039


눌러서 아이튠즈에서 바로 해지

'{BE} Python 3.1x' 카테고리의 다른 글

계산 잘 못하는 애플 코리아  (0) 2019.03.18
스냅킷 & 배열  (0) 2019.03.18
맥에도 블루스크린이 있을까?  (0) 2019.03.13
I bought a charger  (0) 2019.02.03
아이패드 중고 가격  (0) 2019.02.02

'{BE} Python 3.1x' 카테고리의 다른 글

스냅킷 & 배열  (0) 2019.03.18
아이튠즈 구독 해지하지  (0) 2019.03.15
I bought a charger  (0) 2019.02.03
아이패드 중고 가격  (0) 2019.02.02
닫아둔 맥에서 하는 일, console - system.log  (0) 2019.02.02



mogabi cable and verbatim charger



I didn’t know that the charger has various sockets you can see above. what a c



macOS Mojave




xcode 10.0 bug


Refactoring function titled rename is not working properly when I tried to change protocol member's name I decided to another name. one of them is missing. I saw this 3 times. I think this is not the problems its own. swift has to be getting hierarchical structure more as JAVA does.

used ipad price




완전 똥값이네


중고 가격 보장된다는 것은 옛날 말.

Nov 14 00:00:03 Junhoui-MacBook-Pro syslogd[41]: Configuration Notice:

ASL Module "com.apple.cdscheduler" claims selected messages.

Those messages may not appear in standard system log files or in the ASL database.

Nov 14 00:00:03 Junhoui-MacBook-Pro syslogd[41]: Configuration Notice:

ASL Module "com.apple.install" claims selected messages.

Those messages may not appear in standard system log files or in the ASL database.

Nov 14 00:00:03 Junhoui-MacBook-Pro syslogd[41]: Configuration Notice:

ASL Module "com.apple.family.asl" claims selected messages.

Those messages may not appear in standard system log files or in the ASL database.

Nov 14 00:00:03 Junhoui-MacBook-Pro syslogd[41]: Configuration Notice:

ASL Module "com.apple.callhistory.asl.conf" claims selected messages.

Those messages may not appear in standard system log files or in the ASL database.

Nov 14 00:00:03 Junhoui-MacBook-Pro syslogd[41]: Configuration Notice:

ASL Module "com.apple.contacts.ContactsUICore" claims selected messages.

Those messages may not appear in standard system log files or in the ASL database.

Nov 14 00:00:03 Junhoui-MacBook-Pro syslogd[41]: Configuration Notice:

ASL Module "com.apple.authd" sharing output destination "/var/log/asl" with ASL Module "com.apple.asl".

Output parameters from ASL Module "com.apple.asl" override any specified in ASL Module "com.apple.authd".

Nov 14 00:00:03 Junhoui-MacBook-Pro syslogd[41]: Configuration Notice:

ASL Module "com.apple.authd" sharing output destination "/var/log/system.log" with ASL Module "com.apple.asl".

Output parameters from ASL Module "com.apple.asl" override any specified in ASL Module "com.apple.authd".

Nov 14 00:00:03 Junhoui-MacBook-Pro syslogd[41]: Configuration Notice:

ASL Module "com.apple.authd" claims selected messages.

Those messages may not appear in standard system log files or in the ASL database.

Nov 14 00:00:03 Junhoui-MacBook-Pro syslogd[41]: Configuration Notice:

ASL Module "com.apple.eventmonitor" claims selected messages.

Those messages may not appear in standard system log files or in the ASL database.

Nov 14 00:00:03 Junhoui-MacBook-Pro syslogd[41]: Configuration Notice:

ASL Module "com.apple.mail" claims selected messages.

Those messages may not appear in standard system log files or in the ASL database.

Nov 14 00:00:03 Junhoui-MacBook-Pro syslogd[41]: Configuration Notice:

ASL Module "com.apple.coreaudio" claims selected messages.

Those messages may not appear in standard system log files or in the ASL database.

Nov 14 00:00:03 Junhoui-MacBook-Pro syslogd[41]: Configuration Notice:

ASL Module "com.apple.performance" claims selected messages.

Those messages may not appear in standard system log files or in the ASL database.

Nov 14 00:00:03 Junhoui-MacBook-Pro syslogd[41]: Configuration Notice:

ASL Module "com.apple.iokit.power" claims selected messages.

Those messages may not appear in standard system log files or in the ASL database.

Nov 14 00:00:03 Junhoui-MacBook-Pro syslogd[41]: Configuration Notice:

ASL Module "com.apple.contacts.ContactsAutocomplete" claims selected messages.

Those messages may not appear in standard system log files or in the ASL database.

Nov 14 00:00:03 Junhoui-MacBook-Pro syslogd[41]: Configuration Notice:

ASL Module "com.apple.mkb" sharing output destination "/private/var/log/keybagd.log" with ASL Module "com.apple.mkb.internal".

Output parameters from ASL Module "com.apple.mkb.internal" override any specified in ASL Module "com.apple.mkb".

Nov 14 00:00:03 Junhoui-MacBook-Pro syslogd[41]: Configuration Notice:

ASL Module "com.apple.mkb" claims selected messages.

Those messages may not appear in standard system log files or in the ASL database.

Nov 14 00:00:03 Junhoui-MacBook-Pro syslogd[41]: Configuration Notice:

ASL Module "com.apple.AddressBookLegacy" claims selected messages.

Those messages may not appear in standard system log files or in the ASL database.

Nov 14 00:00:03 Junhoui-MacBook-Pro syslogd[41]: Configuration Notice:

ASL Module "com.apple.MessageTracer" claims selected messages.

Those messages may not appear in standard system log files or in the ASL database.

Nov 14 00:00:03 Junhoui-MacBook-Pro syslogd[41]: Configuration Notice:

ASL Module "com.apple.networking.boringssl" sharing output destination "/Library/Logs/CrashReporter" with ASL Module "com.apple.networking.networkextension".

Output parameters from ASL Module "com.apple.networking.networkextension" override any specified in ASL Module "com.apple.networking.boringssl".

Nov 14 00:00:03 Junhoui-MacBook-Pro syslogd[41]: Configuration Notice:

ASL Module "com.apple.clouddocs" claims selected messages.

Those messages may not appear in standard system log files or in the ASL database.

Nov 14 00:00:04 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[SEMANTIC]:[Info]:Stage Receive: event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, timestamp=1542121204013

Nov 14 00:00:04 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TIMEDQUEUE]:[Info]:1 event put into timed queue.

Nov 14 00:00:05 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[OFFLINE]:[Info]:Stage Save: rowId=1, event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, sequence=447, timestamp=1542121204013

Nov 14 00:00:05 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TPM]:[Info]:Event(s) saved, so re-starting TPM after stopOnEmpty

Nov 14 00:00:05 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[HTTPGUARD]:[Info]:New paused status = PAUSED

Nov 14 00:00:05 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TPM]:[Info]:internalPause reason=stop to restart reason=Event(s) saved

Nov 14 00:00:05 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TPM]:[Info]:TpmStart interval=2.124415, tpmReason=Event(s) saved

Nov 14 00:00:05 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[HTTPGUARD]:[Info]:New paused status = NOT paused

Nov 14 00:00:05 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TPM]:[Info]:internalResume reason=Event(s) saved

Nov 14 06:00:04 Junhoui-MacBook-Pro com.apple.xpc.launchd[1] (com.apple.sandboxd[83033]): Service exited due to SIGALRM | sent by kernel_task[0]

Nov 14 06:00:04 Junhoui-MacBook-Pro syslogd[41]: ASL Sender Statistics

Nov 14 06:00:06 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TPM]:[Info]:onTimerElapsed process priority=3, high events count=0, other events count=0

Nov 14 06:00:06 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TASKSCHEDULER]:[Info]:opQueue=0x60000382f040 about to call waitUntilAllOperationsAreFinished

Nov 14 06:00:06 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TASKSCHEDULER]:[Info]:opQueue=0x60000382f040 after call to waitUntilAllOperationsAreFinished

Nov 14 06:00:07 Junhoui-MacBook-Pro com.apple.xpc.launchd[1] (com.apple.bsd.dirhelper[93871]): Endpoint has been activated through legacy launch(3) APIs. Please switch to XPC or bootstrap_check_in(): com.apple.bsd.dirhelper

Nov 14 06:00:07 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[OFFLINE]:[Info]:Stage Load: event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, sequence=447, timestamp=1542121204013

Nov 14 06:00:07 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TPM]:[Info]:onTimerElapsed process priority=2, high events count=0, other events count=1

Nov 14 06:00:07 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[BOND]:[Info]:Stage Pack: event name=reportdata, timestamp=1542121204013, record.Id=FA1DDDF1-D260-4B71-A7B7-6A6509C38D57, data=0x6000035077b0, size=1673, tenantId=0fb12cf1e51746c6b64db8a8b48e9eaf

Nov 14 06:00:07 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[HMAC]:[Info]:Stage Pack: data=0x6000035077b0 to hmac=0x60000351a8e0

Nov 14 06:00:07 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[COMPRESSION]:[Info]:compressed data, uncomp size=1705, comp size=1156

Nov 14 06:00:07 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[COMPRESSION]:[Info]:Stage Pack: data=0x60000351a8e0 to compressedData=0x600003530270

Nov 14 06:00:07 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[HTTP]:[Info]:Prepare to send data=0x600003530270, size=1156, events count=1

Nov 14 06:00:07 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[HTTP]:[Info]:173 synchronized self=0x60000368fbd0, session=0x7fb8efd61230

Nov 14 06:00:07 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[HTTP]:[Info]:taskCount=1

Nov 14 06:00:07 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[HTTP]:[Info]:Stage Post: event name=reportdata, record.Id=FA1DDDF1-D260-4B71-A7B7-6A6509C38D57, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, sequence=447, timestamp=1542121204013, data=0x600003530270, size=1156, tenantId=0fb12cf1e51746c6b64db8a8b48e9eaf

Nov 14 06:00:07 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[HTTPGUARD]:[Info]:Sending events to delegate (Http)

Nov 14 06:00:07 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[HTTP]:[Info]:taskCount=0

Nov 14 06:00:07 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[HTTP]:[Error]:Http response error=Error Domain=NSURLErrorDomain Code=-1009 "인터넷 연결이 오프라인 상태입니다." UserInfo={NSUnderlyingError=0x600003512b80 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, NSErrorFailingURLStringKey=https://mobile.pipe.aria.microsoft.com/Collector/3.0/, NSErrorFailingURLKey=https://mobile.pipe.aria.microsoft.com/Collector/3.0/, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=50, NSLocalizedDescription=인터넷 연결이 오프라인 상태입니다.}

Nov 14 06:00:07 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[HTTPRESPONSEPARSER]:[Error]:data=0x600003530270, code=-1009, error=(null)

Nov 14 06:00:07 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[SEMANTIC]:[Info]:Stage Receive: event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, timestamp=1542142807666

Nov 14 06:00:07 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TIMEDQUEUE]:[Info]:1 event put into timed queue.

Nov 14 06:00:07 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[SEMANTIC]:[Info]:Stage Receive: event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, timestamp=1542142807829

Nov 14 06:00:07 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TIMEDQUEUE]:[Info]:1 event put into timed queue.

Nov 14 06:00:07 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TPM]:[Info]:increaseBackOff: old backoff=0, new backoff=1, new highPriorityInterval=5.632500

Nov 14 06:00:07 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[HTTPGUARD]:[Info]:New paused status = PAUSED

Nov 14 06:00:07 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TASKSCHEDULER]:[Info]:opQueue=0x60000391d660 about to call waitUntilAllOperationsAreFinished

Nov 14 06:00:07 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TASKSCHEDULER]:[Info]:opQueue=0x60000391d660 after call to waitUntilAllOperationsAreFinished

Nov 14 06:00:07 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TPM]:[Info]:TpmStopped tpmReason=stop to restart reason=increaseBackOff: old backoff=0, new backoff=1, new highPriorityInterval=5.632500

Nov 14 06:00:07 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TPM]:[Info]:internalPause reason=stop to restart reason=increaseBackOff: old backoff=0, new backoff=1, new highPriorityInterval=5.632500

Nov 14 06:00:07 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TPM]:[Info]:TpmStart interval=5.632500, tpmReason=increaseBackOff: old backoff=0, new backoff=1, new highPriorityInterval=5.632500

Nov 14 06:00:07 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[HTTPGUARD]:[Info]:New paused status = NOT paused

Nov 14 06:00:07 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TPM]:[Info]:internalResume reason=increaseBackOff: old backoff=0, new backoff=1, new highPriorityInterval=5.632500

Nov 14 06:00:08 Junhoui-MacBook-Pro systemstats[54]: assertion failed: 18A391: systemstats + 681742 [B3413106-A388-3147-B857-B00559D3CC9B]: 0x5

Nov 14 06:00:08 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[SEMANTIC]:[Info]:Stage Receive: event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, timestamp=1542142808291

Nov 14 06:00:08 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TIMEDQUEUE]:[Info]:1 event put into timed queue.

Nov 14 06:00:08 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[SEMANTIC]:[Info]:Stage Receive: event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, timestamp=1542142808320

Nov 14 06:00:08 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TIMEDQUEUE]:[Info]:1 event put into timed queue.

Nov 14 06:00:08 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[OFFLINE]:[Info]:Stage Save: rowId=2, event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, sequence=448, timestamp=1542142807666

Nov 14 06:00:08 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[OFFLINE]:[Info]:Stage Save: rowId=3, event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, sequence=449, timestamp=1542142807829

Nov 14 06:00:08 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[OFFLINE]:[Info]:Stage Save: rowId=4, event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, sequence=450, timestamp=1542142808291

Nov 14 06:00:08 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[OFFLINE]:[Info]:Stage Save: rowId=5, event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, sequence=451, timestamp=1542142808320

Nov 14 06:00:08 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[SEMANTIC]:[Info]:Stage Receive: event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, timestamp=1542142808830

Nov 14 06:00:08 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TIMEDQUEUE]:[Info]:1 event put into timed queue.

Nov 14 06:00:08 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TPM]:[Info]:Changed from old NetworkType=0 to new NetworkType=2

Nov 14 06:00:08 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TASKSCHEDULER]:[Info]:opQueue=0x6000038571c0 about to call waitUntilAllOperationsAreFinished

Nov 14 06:00:08 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TASKSCHEDULER]:[Info]:opQueue=0x6000038571c0 after call to waitUntilAllOperationsAreFinished

Nov 14 06:00:08 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[SEMANTIC]:[Info]:Stage Receive: event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, timestamp=1542142808864

Nov 14 06:00:08 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TIMEDQUEUE]:[Info]:1 event put into timed queue.

Nov 14 06:00:08 Junhoui-MacBook-Pro xpcproxy[93880]: libcoreservices: _dirhelper_userdir: 529: bootstrap_look_up returned (ipc/send) invalid destination port

Nov 14 06:01:09 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TASKSCHEDULER]:[Warn]:scheduleBlock:withRepeatInterval: called when opQueue is already nil!

Nov 14 06:01:09 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TPM]:[Info]:Changed from old NetworkType=2 to new NetworkType=0

Nov 14 06:01:09 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TASKSCHEDULER]:[Info]:opQueue=0x600003850140 about to call waitUntilAllOperationsAreFinished

Nov 14 06:01:09 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TASKSCHEDULER]:[Info]:opQueue=0x600003850140 after call to waitUntilAllOperationsAreFinished

Nov 14 06:01:09 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[SEMANTIC]:[Info]:Stage Receive: event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, timestamp=1542142869436

Nov 14 06:01:09 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TIMEDQUEUE]:[Info]:1 event put into timed queue.

Nov 14 06:01:09 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[SEMANTIC]:[Info]:Stage Receive: event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, timestamp=1542142869509

Nov 14 06:01:09 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TIMEDQUEUE]:[Info]:1 event put into timed queue.

Nov 14 06:01:09 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[SEMANTIC]:[Info]:Stage Receive: event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, timestamp=1542142869511

Nov 14 06:01:09 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TIMEDQUEUE]:[Info]:1 event put into timed queue.

Nov 14 06:01:09 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[OFFLINE]:[Info]:Stage Save: rowId=6, event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, sequence=452, timestamp=1542142808830

Nov 14 06:01:09 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[OFFLINE]:[Info]:Stage Save: rowId=7, event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, sequence=453, timestamp=1542142808864

Nov 14 06:01:09 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[SEMANTIC]:[Info]:Stage Receive: event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, timestamp=1542142869604

Nov 14 06:01:09 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TIMEDQUEUE]:[Info]:1 event put into timed queue.

Nov 14 06:01:09 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[SEMANTIC]:[Info]:Stage Receive: event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, timestamp=1542142869608

Nov 14 06:01:09 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TIMEDQUEUE]:[Info]:1 event put into timed queue.

Nov 14 06:01:09 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[SEMANTIC]:[Info]:Stage Receive: event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, timestamp=1542142869615

Nov 14 06:01:09 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TIMEDQUEUE]:[Info]:1 event put into timed queue.

Nov 14 06:01:09 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[SEMANTIC]:[Info]:Stage Receive: event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, timestamp=1542142869622

Nov 14 06:01:09 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TIMEDQUEUE]:[Info]:1 event put into timed queue.

Nov 14 06:01:09 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[SEMANTIC]:[Info]:Stage Receive: event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, timestamp=1542142869626

Nov 14 06:01:09 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TIMEDQUEUE]:[Info]:1 event put into timed queue.

Nov 14 06:01:09 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[SEMANTIC]:[Info]:Stage Receive: event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, timestamp=1542142869705

Nov 14 06:01:09 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TIMEDQUEUE]:[Info]:1 event put into timed queue.

Nov 14 06:01:10 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[OFFLINE]:[Info]:Stage Save: rowId=8, event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, sequence=454, timestamp=1542142869436

Nov 14 06:01:10 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[OFFLINE]:[Info]:Stage Save: rowId=9, event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, sequence=455, timestamp=1542142869509

Nov 14 06:01:10 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[OFFLINE]:[Info]:Stage Save: rowId=10, event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, sequence=456, timestamp=1542142869511

Nov 14 06:01:10 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[OFFLINE]:[Info]:Stage Save: rowId=11, event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, sequence=457, timestamp=1542142869604

Nov 14 06:01:10 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[OFFLINE]:[Info]:Stage Save: rowId=12, event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, sequence=458, timestamp=1542142869608

Nov 14 06:01:10 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[OFFLINE]:[Info]:Stage Save: rowId=13, event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, sequence=459, timestamp=1542142869615

Nov 14 06:01:10 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[OFFLINE]:[Info]:Stage Save: rowId=14, event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, sequence=460, timestamp=1542142869622

Nov 14 06:01:10 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[OFFLINE]:[Info]:Stage Save: rowId=15, event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, sequence=461, timestamp=1542142869626

Nov 14 06:01:10 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[OFFLINE]:[Info]:Stage Save: rowId=16, event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, sequence=462, timestamp=1542142869705

Nov 14 06:01:10 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[SEMANTIC]:[Info]:Stage Receive: event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, timestamp=1542142870756

Nov 14 06:01:10 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TIMEDQUEUE]:[Info]:1 event put into timed queue.

Nov 14 06:01:10 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[SEMANTIC]:[Info]:Stage Receive: event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, timestamp=1542142870767

Nov 14 06:01:10 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TIMEDQUEUE]:[Info]:1 event put into timed queue.

Nov 14 06:01:10 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[SEMANTIC]:[Info]:Stage Receive: event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, timestamp=1542142870772

Nov 14 06:01:10 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TIMEDQUEUE]:[Info]:1 event put into timed queue.

Nov 14 06:01:10 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[SEMANTIC]:[Info]:Stage Receive: event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, timestamp=1542142870774

Nov 14 06:01:10 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TIMEDQUEUE]:[Info]:1 event put into timed queue.

Nov 14 06:01:11 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TPM]:[Info]:Changed from old NetworkType=0 to new NetworkType=2

Nov 14 06:01:11 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TASKSCHEDULER]:[Info]:opQueue=0x6000038d4a00 about to call waitUntilAllOperationsAreFinished

Nov 14 06:01:11 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TASKSCHEDULER]:[Info]:opQueue=0x6000038d4a00 after call to waitUntilAllOperationsAreFinished

Nov 14 06:01:11 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[SEMANTIC]:[Info]:Stage Receive: event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, timestamp=1542142871268

Nov 14 06:01:11 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[TIMEDQUEUE]:[Info]:1 event put into timed queue.

Nov 14 06:01:11 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[OFFLINE]:[Info]:Stage Save: rowId=17, event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, sequence=463, timestamp=1542142870756

Nov 14 06:01:11 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[OFFLINE]:[Info]:Stage Save: rowId=18, event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, sequence=464, timestamp=1542142870767

Nov 14 06:01:11 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[OFFLINE]:[Info]:Stage Save: rowId=19, event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, sequence=465, timestamp=1542142870772

Nov 14 06:01:11 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[OFFLINE]:[Info]:Stage Save: rowId=20, event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, sequence=466, timestamp=1542142870774

Nov 14 06:01:11 Junhoui-MacBook-Pro Microsoft OneNote[81167]: [ACT]:[OFFLINE]:[Info]:Stage Save: rowId=21, event name=reportdata, event priority=2, initId=187533B8-636B-40B1-ABED-BF1C89B36ED5, sequence=467, timestamp=1542142871268

잡스 전기도 있고, iWoz 원서가 집에 있는데 잡스/워니니악 영화도 다 보고 유투브 영상도 볼 만큼 관심이 많다.


나무위키가 가장 정리를 잘 해놓았다. 정말 이젠 위키피데아 보다 나아졌다고 해야 겠다.


그러나 주변에는 나무위키 모르는 사람 많으니 남겨둔다. 나중에 잡스 신봉자에 의해 변형될 수도 있어서 히스토리 일일이 찾는 것도 귀찮아서 남겨두는 이유도 +


참고로 빅뱅이론 출연분은 https://www.youtube.com/watch?v=-K1uj9VmCzo



파일:external/www.nndb.com/SteveWozniak.jpg

파일:attachment/스티브 워즈니악/WWDC2013_woz.jpg
WWDC 2013을 참관 중인 스티브 워즈니악[1]

파일:external/contents.dt.co.kr/2012060402012122734001.jpg
2012년 5월 31일 제주도에서 개최한 제주포럼에 참석한 후 우근민 제주특별자치도지사가 돌하르방을 선물하는 장면. 자세히 보면 돌하르방과 참 닮았다.

1. 개요2. 생애3. 근황4. 성격과 일화5스티브 잡스와의 관계6. 한국 대중 사이에서의 인지도7. 매체에서

1. 개요[편집]

Stephen Gary Woz Wozniak[2]
공식 사이트

20세기 컴퓨터 시대를 연 인물 중 한 명

애플의 공동 창업자. 1950년 8월 11일 생. 20세기 본격적인 PC(Personal Computer)의 시작을 연 사람. 한글 영문표기로는 워즈니악이라고 표기하지만, 줄여서 '워즈'라고 부른다.

사실상 애플 시리즈를 혼자서 만든 괴수. 애플 컴퓨터를 개발하면서 특허도 몇 개 따 놨는데, 그중 특히 주목할 만한 것은 "US Patent No. 4,136,359 - "Microcomputer for use with video display"로, 컴퓨터를 사용한 CRT상에서의 컬러 그래픽 컨트롤 방법에 대한 것이다. 컴퓨터에 영상 디스플레이 달린 거 자체는 60년대 대형 컴퓨터들부터 있었다. <키보드와 모니터>는 생각보다 무척 이른 시기부터 정립된 형태인데, 뭐니뭐니해도 펀치카드로 입력하고 프린터로 출력받는 건 여러 가지로 많이많이 암울한지라... 애플II와 같은 해 발매된 TRS-80이나 코모도어 PET 같은 물건도 모니터를 통해 영상을 출력한다. 워즈니악의 특허는 기존의 영상 출력 제어 방식을 개선하고, 무엇보다도 컬러 표현을 가능하게 했다는 것이 돋보이는 부분이다. 이 컬러 그래픽은 애플II가 당대에 가장 앞서 나갔던 부분. 코모도어 PET 같은 경우, 수십 개의 범용 논리회로를 짜맞춰서 시스템을 구성해야 했던 애플 같은 영세 벤처와 달리 전용 그래픽 제어칩을 사용해 512x512라는 당시치고 굉장한 고해상도 그래픽을 실현했지만 색상은 흑백으로만 나타낼 수 있었다. 워즈니악이 이 발명으로 2000년에 미국 발명가 명예의 전당(National Inventors Hall of Fame)에도 오른 것을 생각하면 이 특허의 선진성을 알 수 있다. 

사실 잡스는 단순 경영자에 가깝고 초기 애플의 기술력은 워즈니악이 전부인 수준이다. 아니, 혼자 다 했다고 봐야한다.

당대 유명한 해커이기도 했다. 1970~1980년대 해커들 중에는 아직도 "더 워즈"(The Woz)[3]의 명성을 기억하는 이들이 많다. 특히 "블루박스"라 불리는 장치를 개발해 공짜 장거리전화를 거는 해킹으로 유명했지만 그 외에도 무용담이 많다.

2. 생애[편집]

록히드 사에서 미사일을 개발하던 아버지 아래에서 자랐는데, 아버지의 작업물에 대한 내용은 어떠한 것도 들을 수 없었지만 아버지의 영향을 어느 정도 받아 어려서부터 공학에 뛰어난 재능을 보였으며[4], 대학 중퇴한 스티브 잡스나 빌 게이츠와 마찬가지로 대학교를 중퇴했는데 바로한 건 아니고 1968년도 콜로라도 대학교에 입학한 뒤 학비문제로 가까운 데안자 대학교로 1969년에 편입했고 여기서도 1970년에 캘리포니아 대학교 버클리에 편입한 뒤 1975년에 중퇴하고 휴렛패커드(이하 HP)에 입사했다. 주로 했던 작업은 계산기 분야. 후에 1986년에 캘리포니아 대학에서 BS학위를 얻었다.

이 시기 가장 큰 전환점은 고등학교 후배이자 친구에게 장난치기를 좋아하고 전자회로에 관심이 많은 비상한 고등학교 후배를 소개받게 된 것이다. 잡스가 워즈니악의 고등학교의 친구라고 자주 언론에 나와서 한국인들은 이들이 동갑이라 생각하는데 실제로 잡스는 워즈니악보다 5살 어리다 (서양 문화로는 학교 선배건 후배건 구분없이 모두 친구). 스티브 잡스를 소개해준 이 친구는 Bill Fernandez로 훗날 애플 컴퓨터 최초의 직원이 된다. 잡스와 워즈니악의 무용담은 아래에서 확인할 것.

고등학교 때부터 전자회로와 계산기에 관심이 많던 워즈니악은 컴퓨터 동호회에서 활동을 시작하게 되고, 잡스 역시 이 동호회에서 활동했다. 1977년 워즈니악은 구형 텔레비전에 연결된 조잡한 회로를 동호회 친구들에게 보여주게 된다. 오랜만에 이 동호회에 나타난 스티브 잡스는 이 물건이 장사가 될거라 생각하고 워즈니악에게 같이 회사를 차리자고 설득하기 시작했다. 워즈니악에게는 이미 HP라는 걸출한 직장이 있었고 여건만 된다면 HP에 PC 부서를 두는 것이 어떻냐고 상사에게 제안하는 중이었기에 선뜻 긍정을 못했지만, 잡스는 자신이 알고있는 모든 인맥을 총동원해서 매일같이 워즈니악과 그의 친구들에게 " HP는 워즈니악 같은 인재를 알아보는 안목이 없으니 차라리 워즈니악이 HP를 그만두고 새 회사를 차려 사업은 사업가에게, 개발은 개발자에게 맡기는 게 낫다"라고 설득했다. HP에서 워즈니악의 개인용 컴퓨터 사업 제안을 여러 차례 거절하자, 결국 HP를 그만두고 잡스와 동업하여 애플 컴퓨터를 설립하게 된다. 참고로 사업비도 워즈가 냈다.(...) 미친 동생

애플 컴퓨터를 세운 이후 부품 조달, 마케팅과 조립 등은 잡스에게 맡기고 거의 개발에만 전념한 듯하다. 대표적으로 애플 II의 설계를 맡았다.

1981년 워즈니악은 자신이 몰던 비행기가 추락하면서 기억상실증에 걸리는 큰 부상을 입은 치료차 휴직을 하게 되었다. [5] 휴직을 한 겸사겸사 학교를 복학하여 졸업을 하고, 1983년 회사에 복귀했다. 애플에 복귀해보니 회사는 매킨토시 사업부와 애플 사업부 둘로 쪼개져서 서로 경쟁하는 살벌한 환경이 되어있었고, 자신이 원했던[6] 모습의 회사가 아니라는 사실에 충격받은 워즈니악은 모든 주식을 매각해버리고 회사에 사표를 내게 된다. [7] 실질적으로는 그만둔 거지만 지금까지도 애플에 직원 목록에는 그의 이름이 있다. 본인말로도 자신은 새로운 일을 찾았을 뿐 애플을 공식적으로 그만둔적은 없다고 말했을 정도. 다만 애플 직원이라고 말하기도 애매한 것이, 1주일에 적은 돈을 받는다고 한다. [8]

3. 근황[편집]

현재는 스토리지 회사인 Fusion-io라는 회사의 수석 연구원 겸 애플 자문 역으로 꽤 성공한 삶을 살고있긴 하지만, 빌 게이츠의 파트너인 폴 앨런이 억만장자가 되어 잘 살고있는 걸 볼 때 대조적인 모습이다. 물론 워즈도 백만장자 정도는 된다. 이 양반도 시가 100억이 넘는 집에 산다. 

2006년 자서전을 냈는데, 제목이 "iWoz". 여담으로 iWoz라는 이름은 영어권에서 보면 나는 워즈다, 라는 의미와, iWoz를 iWas(발음대로)로 읽어서, '나는 예전에 ~' 라는 의미가 있다. 중의적인 표현. iMac 등 애플의 i 시리즈에서 따온 제목으로 보인다.

국내에도 "스티브 워즈니악"이라는 제목으로 출판되었다. 어린 시절부터 애플 사에서 나올 때까지의 일들을 주로 다루고 있다. 관심 있는 사람들이라면 매우 재미있게 읽을 수 있다. 또한 워즈니악에 관련된 오해들을 풀고 다음 세대에게 "포기하지 말고 계속 도전해라"라는 조언을 해주고자 책을 썼다고 서문에 밝혔다. 그런데 그 오해들이라는 게 학교를 졸업하지 못했다거나[9], 애플I을 함께 만들었다거나[10] 등. 현재는 절판되어 번역판의 새 책을 구하기가 힘들다.

2009년 2월에는 자신이 타고다니는 도요타 프리우스의 전자식 스로틀 조절 프로그램과 브레이크에 문제가 있다고 제기를 해서, 프리우스의 리콜을 이끌어 냈다.

지금은 실리콘 밸리라 불리는 캘리포니아 산호세에 살고 계신다. 워낙 동네에 공돌이, 특히 코딩머신 컴퓨터 분야 공돌이가 많이 살기 때문에 다들 우연히 워즈니악과 마주치면 "오오 워즈다 오오" 한다고 한다. 또 그렇게 알아봐주는 사람들을 친절하게 맞아주는 훈훈한 사람이다.(또 블로그에 글을 남기거나 메일을 보내면 그걸 꼬박꼬박 답변해준다고.)

메일로 "애플에 다시 입사할 수 있다면 할 것이냐고" 질문을 던졌다. 답장은 5분 안에 왔다. 내용은 간단했다 "다신 다니고 싶지 않아"라는 답장이였다. 그 답변시간과 간단함이 여러 가지를 말하는 듯하다...

또, 굉장한 전자기기 덕후라서 새로 나오는 휴대폰 종류는 애플이고 안드로이드고 기타 등등이고 편식하지 않고(……) 다 구매해서 가지고 논다. 그리고 트위터로 나 이거 새로 삼ㅋ라고 염장질도 자주 하신다

워즈가 여행할 때 가지고 다니는 전자제품들은 이 링크를 가보면 알 수 있다. http://gizmodo.com/5926598/the-amazing-contents-of-steve-wozniaks-travel-backpack

파일:external/tctechcrunch2011.files.wordpress.com/woz_and_us_2.jpg

갤럭시 넥서스를 미국 내 출시되기 전에 소유하기도 했다. 구글 직원들하고 찍은 사진. 우리중에 스파이가 있나봐 관련 기사(영문) 아예 저 옆의 직원 하나는 사과를 베어먹고 있다(...)

애플 삼성 특허 분쟁에 대해 캘리포니아 법원에서 평결한 10억 달러가 잘못된 판결이고, 결국엔 기각 될 것이라 봤다. 덤으로, 클리앙에서 애플을 깠는데, 도리어 찬양을 받는...이 인터뷰에서 모든 특허 기술을 서로 교환하고, 모두 사용할 수 있는 세상을 희망한다고...

2015년 10월 개봉한 <스티브 잡스>에 대한 감상 인터뷰가 나왔다. 원작인 전기를 한번도 읽어보지 않은 것과 대조적으로 영화를 세번이나 봤을 정도로 굉장히 좋아했다고 한다.

아이폰6 발표 직후 한 인터뷰에서, 아이폰6가 더 커진 스크린을 탑재하면서 자신이 가진 안드로이드 기기를 전부 처분했다고 밝혔다.

여담으로 2016년 대선에서는 버니 샌더스를 지지하고 있다.

2016년 3월에 레딧과 IAMA[11]를 진행했다. 번역1/2 번역2/2

4. 성격과 일화[편집]

처음부터 큰 부자가 되는 것에는 별 관심이 없었다고 한다. 여전히 백만장자긴 하지만 잡스가 애플 복귀 후 아이맥과 아이팟이 히트를 쳐서 억만장자가 된 것에 비하면 소박한 수준이다. 리처드 스톨만만큼은 아니지만 상당히 이상주의적이고 히피적인 마인드를 가진 사람.

애플에 있었을 당시 워즈 플랜이라고 직원들에게 자신의 주식을 공짜로 나눠주기까지 했다. 잡스는 이걸 좋지 않게 보았다고 한다. 워즈니악이 속고 있다는 말도 했다고... 아니나다를까 정작 주식을 받은 직원들에게 워즈니악은 호구 취급을 당했다. 심지어 주식을 받은 직원 중 한 명은 빈민이 그려진 불우이웃 돕기 포스터 밑에 '워즈니악의 미래 모습'이라며 낙서를 해놓기까지 했다고 한다. 이런 거 보면 이유없는 선의는 베푸는 의미가 없는 것 같아

US 페스티벌 음악회를 연다든가 하는 자선 활동을 했고 지금도 지역사회에 교육 관련으로 많은 지원을 하고 있다. 또한 클라우드 나인(Cloud 9)이라는 회사를 만들어서 만능 리모콘을 만든다든가 하는 식으로 여러가지를 하면서 사업성보다는 새로운 기술 개발에 집중했다.[12]

개인적으로도 재밌는 면이 많은데, 프리메이슨 회원이다.[13]. 근데 정작 종교나 신비학에는 별로 관심이 없다고 한다. 기본적으로 무종교이기도 하고. 심지어 애플I의 가격을 666.66달러로 하고서도 특별한 의미가 있어서가 아니고 그냥 숫자 하나만 쓴 것이 멋지게 보일 것 같아서라고... 그러다 소비자의 편지를 받고 666을 연상시킬 것이라는 것을 알았다고 한다. 당시 오멘이 한창 개봉할 때라 문제가 될 뻔 했다고. 근데 주위 사람도 아무도 눈치를 못 챘다고 한다.[14] 

테트리스가 취미이며, 광팬이라고 하다. 닌텐도 파워라는 잡지에 자기의 신기록을 냈는데, 잡지에서 더 이상 자기 점수를 안 내주자, Evets Kainzow이란 이름으로 내기도 했다고...[15]

덤으로 이 아저씨, 장난을 무지하게 좋아한다. 한번은 학교 사물함에 움직이면 째각소리가 더 빨라지는 시계 장치를 넣어놔서, 학교 전체가 난리 난 적이 있었다. 잡스는 그런 워즈니악이 장난의 레전드 오브 레전드로 보고 재능이 뛰어난 것을 간파했다고 한다.

또한 대학시절인 1971년 AT&T사의 장거리 통화 네트워킹을 해킹해 장거리 전화를 무료로 사용할 수 있는 장치 "블루 박스"를 제조했고, 심지어는 그걸 가지고 로마 교황한테 공짜 장난전화를 거는 용자짓을 하기도 했다.[16] 

교황에게 전화할 때 자신을 헨리 키신저로 소개했다고... 성대모사를 했다고 하는데 걸렸으니까 이런 에피소드가 있겠지... 사실 교황과 직접 통화는 못했다고 한다. 하지만 더 웃긴 건 당시 전화를 받은 주교가 여기 새벽이니 한 시간 뒤에 통화하셈이라 말해서 워즈니악이 한 시간 뒤에 다시 전화를 걸자, 전화를 받은 주교가 너님 키신저 아니지? 내가 좀전에 키신저랑 통화를 했는데 뭔 소리여라 응수한 것(...) 미국 최고 외교관과 바로 통화가 가능한 바티칸의 위엄

그런가 하면 학교 기숙사 TV 시청실에서 방해전파를 쏴서 시청을 방해하기도 했다. 학생들이 TV 안테나를 이상한 곳으로 옮기면 전파를 껐다고...[17] 뭐 다들 알고 있지요? 착한 어린이는 따라하면 안 돼요.

또 전화를 걸면 유머를 말해주는 일종의 ARS 서비스인 다이얼조크를 서비스 하기도 했는데, 그때 다이얼조크에다 폴란드인 유머를 신나게 하다가, 지역 폴란드인 협회에서 "우리 까지마셈!"이라고 한 적이 있었다. 그리고 나중에 그 협회에서 "우리 까지마셈!"라고 말한 사람에게 최고의 폴란드계 미국인 상을 주었다고(...).[18]

유명한 말로 "창밖으로 내던지지 못하는 컴퓨터는 믿지 말라(Never trust a computer you can't throw out a window어?)."라는 말이 있다. 문명 4에서 컴퓨터를 발명하면 이 대사가 나온다. 라이프 해커에서 한 인터뷰에 따르면 컴퓨터 사이즈에 대해서 비슷한 말을 했지만 정확히 이 말을 했는지는 잘 기억 안 난다고.

애플 워치를 굉장히 높게 평가한다. 2017년 4월 CNET과의 인터뷰에서 밝히기를 매우 유용한한 웨어러블이라고. 인터뷰에서 차고 있었던 모델과 스트랩은 스페이스 블랙 워치에 스페이스 블랙 밀라니즈 루프였다.

결혼을 네번이나 했으며 자식은 다섯 명이다. 지금 부인은 자넷 힐.

5. 스티브 잡스와의 관계[편집]

운명적인 장난 파트너하지만 거듭되는 통수

워즈니악도 잡스도 장난 치는 것을 굉장히 좋아하고 둘다 기계에 관심이 많았기 때문에 둘은 나이를 떠나 마음이 잘 맞는 절친 관계였다. 한편으로는, 서로 가지지 못한 재능을 가지고 있었는데, 내성적이고 효율적이고 기술에 재능을 가진 워즈니악과, 제멋대로이고 예술적인 감각을 갖췄고 인맥을 총동원해서 일을 추진하는 능력이 있는 잡스는 서로를 보완하는 관계였다.

그러나 잡스는 모든 것을 통제하고 자기 위주로 가야하는 성격이었기 때문에 관계가 언제나 완벽한 것은 아니었다. [19] 이를 가장 잘 보여주는 예가, 잡스가 아타리에서 일하던 시절의 일이다. 잡스는 아타리에서 게임기 설계를 단순화한 일을 맡아서 보수로 5,000달러를 받은 적이 있었는데[20] 경영인 자격으로 보수를 받은 잡스는, 실제로 작업을 혼자서 다 한 워즈니악에게 겨우 700달러 받았다면서 워즈니악과 똑같이 나누기로한 약속대로 반인 350달러만 떼어줬다. 윌터 아이작슨의 스티브 잡스 전기에 이와 관련된 인터뷰가 있는데 아이작슨이 잡스에게 이에 대해 묻자 "왜 그런 말이 도는지 모르겠어요. 전 분명 돈을 제대로 주었습니다." 라는 말을 했다. 제대로 주긴 했는데 속인 금액에서 제대로 줬다는게 함정 이에 워즈니악과 아타리 사장이던 놀런 부슈널은 "우리는 분명 5,000달러를 지급했고, 워즈니악은 350달러만 받은 것이 맞다"며 확인사살했다. 기억 소거? 이에 워즈니악은 자서전에서 칩 50개 미만이면 700달러, 40개 미만이면 1000달러로 계약이 되어있는 줄 알았다고 한다.

이런 성격적 차이는, 애플을 떠난 이후에 워즈니악이 잡스를 "그냥 아는 사람"이라고 할 만큼 두사람을 멀어지게 만들었다. 나중에 잡스가 화해를 시도했고 표면적으로는화해한 듯 보이지만 워즈니악의 이후 기고글이나 인터뷰 등을 볼 때 잡스를 그다지 신뢰하지 않은 듯 하다. 특히 2010년 4월 26일에 뜬 기사를 보면 확실히 화해를 한 적 없음이 분명하다. 심지어 잡스가 워즈니악에게 자서전 축사를 부탁했는데 "싫어"라면서 거절한 일도 있고...

그래도 어떻게 해서 잡스가 죽기 직전에는 화해에 이른 듯하다. 잡스가 사망 직전 워즈니악에게 전화를 해서 애플로 돌아올 것을 요청하였다고 한다. [21] 잡스 사후에 워즈니악은 홈페이지에 잡스를 추모하는 사진을 올리기도 했고, 인터뷰에서 잡스를 추억하며 눈물을 훔치는, 가슴 찡한 모습을 보이기도 했다.

이와는 별개로 스티브 잡스가 공개적으로 숟가락 얹기를 하는 것은 엄격하게 반박하는 편이다. 일례로 위에 나온 "블루 박스" 에피소드는 잡스가 이 장치와 장치에 관련된 일화를 자신이 한 것으로 포장해서 인지도를 높였다.[22] 또한 애플 I 개발에 자신이 메모리 교체를 포함한, 다양한 제안을 해서 성공했다고 자찬하는 잡스에게 "잡스는 한 것이 없다"라고 비판했다...는 이야기도 있는데 이것은 사실이 아니다.

분명히 워즈니악은 잡스의 공로를 인정하고 있다. 잡스가 워즈니악만이 아름다운 보드를 만들 수 있었다고 하는 것처럼, 워즈니악 또한 부품을 구하는 일이나, 자본, 케이스 디자이너를 구하는 일, 올인원 패키지라는 발상, 무엇보다 퍼스널 컴퓨터를 파는 사업체를 구상한 일에 대해서 잡스의 공로를 분명히 인정하는 발언을 많이 해왔다.

워즈니악과 잡스의 관계가 틀어진 이유는 잡스가 숟가락 얹기를 시전했다고 생각해서가 아니라, 잡스가 애플을 떠난 워즈니악에게 너무 신경질적인 태도를 보였기 때문이다. 새 제품 보다는 기존 수익을 중시하는 이사회와 충돌이 잦았던 잡스는 애플의 통제권에 대한 집착이 강해졌으며, 워즈니악에게 애플 주식을 팔지 말것을 충고하기도 했다. 그런데 워즈니악이 애플 주식을 다른 직원들에게 나누어주는 것을 보고 신경질적으로 반응하였다. 잡스는 통제권을 쉽게 포기하는 워즈니악을 이해하기 힘들었던 것이다.

사이가 틀어진 가장 큰 이유 중 하나는 워즈니악이 애플을 떠나고 만능 리모콘을 만드는 작업 사업체를 구상하여 그 디자인을 프로그 디자인에 의뢰했는데, 프로그 디자인은 애플에게만 디자인을 독점 제공하도록 계약되어 있었기 때문이다. 이 사실을 안 스티브 잡스는 노발대발해서 워즈니악과 프로그 디자인에 법정 싸움까지 걸려했다. 스티브 잡스는 프로그 디자인과 애플이 함께 구축한 애플 브랜드 특유의 디자인이 다른 상품에 유출되고 적용되는 것을 경계한 것이라 민감하게 반응한 것이며 여기까지는 정당한 권리 주장이라 할 수 있는데, 문제는 필요이상으로 신경질적으로 반응하고 워즈니악을 너무 험하게 다룬것.

권리 주장만 하고 끝나면 될 것을, 애플 공동 창업자이자 친구인 워즈니악의 새 사업체를 망하게 하려는 듯 노골적으로 법정싸움을 걸고, 심지어 프로그 디자인에게 워즈니악을 위해 준비한 리모콘 디자인의 설계도를 요구하기도 하였다. 스티브 잡스는 여러 인터뷰에서 '정당한 권리주장'이라고 했지만, 아무리 객관적으로 봐도 사적인 감정이 많이 들어간 복수극. 이렇게 워즈니악에게 큰 마음의 상처를 준 잡스는, 애플을 떠나 NEXT를 운영하는 동안, 열 받은 워즈니악의 인터뷰로 큰 엿을 먹으며 앙갚음 당하게 된다.

이외에 워즈니악과 잡스의 관계나 틀어졌던 것은, 컴퓨터 시스템에 대한 사상 차이도 한몫한다. 워즈니악은 오픈 시스템의 추종자였으며 전설적인 해커다. 워즈니악은 전문가나 하비스트, 컴퓨터를 잘 다루는 사람들이 바닥부터 컴퓨터의 모든 것을 자유롭고 신나게 통제할 수 있으며 많은 포트를 제공해야 한다고 생각했으나, 스티브 잡스는 우아하게 사람의 인지를 방영하도록 의도된 가이드라인을 벗어난 프로그램을 용납하지 않는 통제광이었다.

잡스는 컴퓨터는 사람의 생각의 흐름을 따라야 하며 적절한 추상화 단계가 있으며, 엔드투엔드를 통해 우아하고 명확한 가이드라인과 미리 만들어진 창의적인 도구위에서 일반인들도 쉽게 컴퓨터를 쓸 수 있어야 한다고 생각했기 때문이다(POSIX가 잘 정의된 OS 위에 개발되는 프로그램들은 명확한 가이드라인과 권한, 잘 정의된 API를 따라 만들므로 안정성이 높다는 것을 생각하면 된다).

잡스의 통제광적인 모습은 워즈니악과 애플2를 만들때도 발현되어 애플2의 포트를 모뎀과 프린터 용도로 두개만 만들어야 한다는 주장을 펼치기로 하였다.

결론적으로 애플2가 출시될 당시의 컴퓨터는 전문가와 하비스트들의 영역이였으며, 애플2의 소비자들은 해커 정신아래 많은 선택권과 포트를 원하는 사람들이었으므로 애플2의 포트를 두개로 제약하고 통제하려는 잡스의 요구를 무시하고 포트를 확장 가능하게 만든 워즈니악의 선택은 탁월한 선택이었다. 하지만 현시대에 기계가 동작하는 방식을 추상성으로 적절히 가려 사람의 직관을 따르도록 컴퓨터를 만들며, 모바일 API를 활용하여 주어진 도구 위에 응용프로그램을 만드는 것을 "자유롭지 못하다"라고 비난하는 것은 말이 안되는 것 처럼, 사상의 차이이지 워즈니악이나 잡스 중 한명이 틀렸다는 의미는 아니다.

경쟁사 마이크로소프트의 창업자 빌 게이츠와 폴 앨런처럼 다른 사람과 공동으로 회사를 설립했다는 점은 비슷하나, 빌 게이츠와 폴 앨런은 둘 다 공학도 + 사업가적인 사람인 반면, 잡스와 워즈의 관계는 철저히 사업가적인 잡스와 철저히 공학도적인 워즈의 관계로 다소 다르다.

6. 한국 대중 사이에서의 인지도[편집]

워즈니악 자신은 2011년 3월에 대한민국을 방문했던 적이 있다. 물론 알아보는 사람은 극소수(...).공돌이라면 알아봤을 텐데... 지못미

잡스가 아이팟에서 아이폰으로 한국 대중 사이에서 이름을 알리고 온갖 성공신화로 치장되면서 특히 중장년층 사이에서는 성공한 기업가로써 인지도가 높지만, 워즈니악에 대한 인지도는 거의 전무한 수준.

2011년 11월 5일 방영된 무한도전 수학능력 특집에서 이 사람의 이름(풀네임도 아니다!)이 무한도전 vs 서울대 학생부 퀴즈 문제로 나왔는데, 대학생부가 유독 이 문제만은 굉장히 버벅거리면서 맞추었다...그의 한국 내 인지도를 다시금 깨닫게 해주었다...1등만 기억하는 더러운 세상

파일:gNWzikl.jpg
한국에서는 실직자로 잘 알려져 있다빅뱅 이론 자막제작자의 오역이다. 사실 저 말의 'jobs'를 직업으로 번역해도 워즈니악 없는 직업(...)이 되고, 잡스라고 해도 워즈니악 없는 잡스라고 해야 한다. 네이버와 구글에 "직장없는"까지 치면 바로 연관검색어가 완성될 정도로 짤방화되었다.

짤방을 보면서 머릿속에 '?'가 떠올랐다면 정상입니다

7. 매체에서[편집]


빅뱅 이론 시즌 4 에피소드 2에 출연했다. 등장해서 대놓고는 아니지만 슬쩍 스티브 잡스를 깠다. 무슨 짓을 해도 안 나올 것 같던 쉘든을 스스로 나오게 하는 위엄을 선보였다.

교향시편 에우레카7의 등장인물 '워즈'의 모델이 되었다. 퓨처라마에선 3010년에 워즈니악 너드 아카데미(Wozniak Nerd Academy) 운영 중에 있다.

파일:external/3.bp.blogspot.com/dvd18.jpg
파일:external/www.openlettersmonthly.com/jobs2.jpg
파일:external/img1.lostpic.net/0dc7dbf7f0bd2772013ea19987f68e08.jpg
스티브 잡스의 전기 영화에는 반드시, 비중있는 조연으로 출연한다. 1999년작 <실리콘 밸리의 해적들>, 2013년작 <잡스>, 2015년 10월 개봉한 <스티브 잡스> 모두에 등장. 극중 묘사는 고증에 맞춰서 수염 덥수룩한 털보에, 체구는 조금 비만형이고, 컴퓨터 자체에 심취한 공돌이 타입. 잡스의 외모를 돋보이게 만드는 효과를 담당

[1] 신형 맥 프로가 소개된 직후[2] 와즈니악, 줄여서 '와즈'라고 발음한다. Wozniak 영어 발음Wozniak 영어 발음 2[3] "The Wiz"라는 1978년작 뮤지컬 영화 제목을 비튼 것. 여기서 "Wiz"는 바로 오즈의 마법사를 가리킨다. 즉 워즈니악의 별명은 "마법사"였던 셈.[4] 11살 때부터 친구들과 전자 장치를 제작하기 시작했으며, 6학년 때 아마추어 무선 자격증을 아버지와 함께 취득했다.[5] 이때 시에라 엔터테인먼트에서 만든 미스테리 하우스라는 게임을 하면서 많은 위안을 얻었다고 한다. '내가 만든 애플 II로 이런 훌륭한 게임을 만들어줘서 감사하다'라고 윌리엄스 부부에게 편지를 보냈을 정도.[6] 워즈니악 본인은 개발에만 전념하고 싶었지 사내 정치나 경영에 전혀 신경쓰고 싶지 않았다.[7] 당시에도 워즈니악과 애플의 결별은 새로 떠오르는 매킨토시 사업과 애플 II 사업부의 상대적인 홀대 때문이었다고 여겨졌지만, 실제로 워즈니악은 복귀 이후엔 매킨토시 개발에 참여했다. 그러나 애플 II 사업부에서 일하는 개발자들을 위해 잡스에게 직접 말을 해본적이 있었고, 당연히 이는 무시되었다고 한다. 이는 애플에서 자신이 할 수 있는 것이 아무것도 없다는 무력감으로 이어졌다.[8] 근데 본인 말과는 다르게 매년 $120,000 정도 받는 것으로 추정된다! 이런 거짓말쟁이! 더 많이 받는 사람이 많나보지 실리콘 밸리에서 임직원이 연봉 $12만이면 엄청 낮은거다. 이정도는 대학원 졸업하고 경력 2년 쌓으면 받는 월급이다.[9] 그만둔 건 잡스다. 워즈니악은 애플 창업 후에 오래걸리긴 했어도 결국 졸업까지 다 해냈다.[10] 하드웨어와 소프트웨어 모두 워즈니악 혼자 만들었다.[11] 레딧의 무엇이든 물어보세요 코너[12] 여기서 잡스와 악연이 또 있는데, 워즈니악은 만능 리모콘 디자인을 애플 제품의 디자인을 담당하던 프로그 디자인사에 맡길려고 했는데, 잡스가 그걸 알고는 프로그 디자인 회사 사장에게 Anything you do for Woz, belongs to me!라는 협박을 가해서 워즈니악과 관련된 업무를 받지 못하게 했다. 물론 언론은 잡스의 옹졸함을 신나게 까댔다.[13] 전 마누라의 비위를 맞춰줄려고 가입했다고 자서전에 적어놨다.[14] 하기사 요즘에야 광범위한 인터넷 문화가 정착되어 여러 밈들이나 각종 정보들이 널리 알려지게 된 것이지 당시의 미국 시대상을 생각해보면 워즈 뿐만 아니라 주변사람 모두가 악마의 숫자 666이라는 낭설을 모른 것도 당연하다.[15] 잘 읽어보자. 그의 이름 철자를 뒤집은 것이다.[16] 참고로 이 공짜전화에 대한 일화는http://www.hankyung.com/news/app/newsview.php?type=2&aid=2011110480071&nid=910&sid=0116 역시 해킹은 짱[17] 이 일화는 잡스가 키노트에서 한 번 소개한 적이 있다. 키노트 도중 키노트를 진행 중인 컴퓨터가 먹통이 돼 화면이 안 넘어가는 대참사가 발생하자 문제를 고칠 동안 이 일화를 다소 코믹하게 소개한 것. 빌 게이츠도 윈도우 95 시연회 때 블루스크린이 뜨자 아무렇지도 않게 농담으로 위기를 넘긴 적이 있었다. 영원히 고통받는 TmaxOS[18] 참고로 워즈니악도 폴란드계이다(...). 워즈니악은 폴란드계 성 중에 10번째로 흔한 성 보즈니아크(Wozniak)의 변형.[19] 워즈의 아버지가 몇차례 아들에게 잡스의 배신에 대한 우려를 표했다고 한다. 워즈니악의 회고에 따르면, 잡스가 남을 무시하는 성격은 누구한테나 그런거고 그래도 잡스는 절대 자신에게 소리를 지르거나 화를 내진 않았다고 한다. 반대로 자신은 불만이 있어도 말을 못하는 성격이었다고.[20] 세계 최초의 벽돌깨기 게임 Breakout을 개발하기 위해서는 게임기 설계상 칩이 130~170개가 들어가야 작동할 수 있었는데 아타리는 이를 70~100개로 만들길 원했다. 이때 우리의 굇수 워즈니악은 낮에는 HP에서 일을 하면서 밤에는 개발에 몰두하여 4일간 밤을 지새워서 44개로 완성.. 아타리의 경영진은 성과에 감명받아 잡스에게 예정보다 아주 많은 보수를 준것. 그러나 워즈니악의 디자인이 워낙 압축됐고 복잡해서 아타리의 제조 설비에 적용이 어려워 아타리측에서 생산에 적합하게 수정해야 했고 결과적으로 100개 가량의 칩이 필요했다.[21] 그러나 애플엔 자신과 같은 사람이 필요하지 않다고 거절했다.[22] 참고로 이 장치도 워즈니악 혼자서 개발하였고, 잡스는 학생들에게 장사 수완만 보였다고 한다.


개발자로서 잡스를 좋아하지는 않는다. 그러나 아름다움을 볼 줄 아는 눈과 최고의 인재만을 알아보는 눈을 가졌다는 것은 인정한다. 그리고 경험에서 올바른 이론을 뽑아 낼 줄도 안다. 잡스의 말대로 싫어하지만 무시할 수 없다. 아마 잡스 이 후에는 애플이 휘청거릴 정도의 위대한 도전을 할 일을 절대 없을 것이다. Jonathan Ive Chief Design Officer and Steve jobs and wozniak https://www.theguardian.com/technology/2014/jul/08/steve-wozniakr-steve-jobs-apple from. Apple. Jonathan Ive is Apple’s Chief Design Officer, reporting to CEO Tim Cook. Jony is responsible for all design at Apple, including the look and feel of Apple hardware, user interface, packaging, major architectural projects such as Apple Park and Apple’s retail stores, as well as new ideas and future initiatives. Since 1996, Jony has led Apple’s design team, which is widely regarded as one of the world’s best. He holds over 5,000 patents and has been recognized with numerous design awards, including the Design Museum London’s first Designer of the Year in 2003, the Design and Art Direction (D&AD) President’s Award in 2005 and the Cooper-Hewitt National Design Museum’s Product Design Award in 2007. In 2012, D&AD named Jony and his team the Best Design Studio of the past 50 years. Their work is featured in the permanent collections of museums around the world, including the Museum of Modern Art in New York and the Pompidou in Paris. Jony earned a Bachelor of Arts degree at Newcastle Polytechnic. As an undergraduate, he twice won the Royal Society of Arts’ prestigious Student Design Award, and years later the RSA awarded him the title of Royal Designer for Industry. He also holds honorary doctorates from the Royal College of Art, the Rhode Island School of Design and Northumbria University. A native of London, Sir Jonathan Ive was made a Knight Commander of the British Empire in 2013 “for services to design and enterprise.”

하물며 애플도 이렇게 자세히 적는다.


맥도 그렇고... 버그도 오픈한다.


11번가나 쿠팡같은 앱을 보면 사용자의 의견을 받아 고쳤다느니 돌려서 말하는 것 뿐 걍 닥치고 업뎃하라는 말을 한다.


되도 안하는 앱들이... 개발자들은 되게 부끄러울텐데 아마 담당 부서 낙하산 타고 들어와서 그 딴 짓하는게 빤히 눈에 보인다. 




얼리봇 태풍 노트북 쿨러 샀다. 잘만 대형 1팬 쓰다가 태풍 6팬 높낮이 조절로 갈아타려고 샀다. 잘만 5년 넘게 잘 쓰고 있는데 좀 질려서... 

또, 사면서 다른 회사 제품도 사봄.




단점은 잘만에 비해 너무 시끄럽다. 제일 낮은 회전수에서도 ㅠ 재구매는 안할 듯

그리고 앞으로는 높이 조절 되는 제품으로 계속 구매할 듯 너무 편하다



한다고 해서 02- 로 시작하는 번호로 전화를 했다. 애플 공홈(공식 홈페이지)에 나와있음.


아이폰 7+ 256이라고 하니 328000 보상 해준다고 한다. 돈을 주는게 아니라 구입할 때 할인 해 준다고... 


아직 배터리도 빵빵한데 안 사기로 했다. 아이폰 다음 버전을 기다려 봐야 겠다.





 설명서가 젤 맘에 든다.


가끔 충전기 인식이 안되는데 나만 그런게 아니더라. 다음에 혹 사게되면 정품은 안 살 듯








4년이 지난 지금도 여전히 우수한 품질 201 만원 주고 샀다. 그 사이 아티브 북으로 이름이 바뀌었다.


그래도 난 애플 홀릭이니 지인에게 줘버리기!

+ 원리, 그래픽 소스까지 넣으면 복잡.

클로저는 간단하다.


import UIKit


func textT(_ first : ()-> (), _ second : ()-> ()) {

    first()

    second()

}


textT( { print("first") }, { print("second") })




보통 클로저는 하나만 쓰기 때문에 ()를 닫아 버리고 {} 로 대체 가능하다.


import UIKit


func textT(_ first : ()-> (), _ second : ()-> ()) {

    first()

    second()

}


textT( { print("first") }) { print("second") }


class ViewController: UIViewController {

    

    func textT(_ first : ()-> (), _ second : ()-> ()) {

        first()

        second()

    }

    

    override func viewDidLoad() {

        textT( { print("first") }) { print("second") }

    }

}

REST API를 쓴다면 필시 Alamofire를 이용하리라 생각된다.

클로저를 이용하면, DispatchQueue를 이용하지 않고 동기화를 할 수 있다.


make func getJSON() to func getJSON(_ whatUwant2execute : @escaping () -> () )


and use your function


getJSON { ... codes ... }


and choose the location you want to execute in Alamofire


getJSON(_ whatUwant2execute : @escaping () -> () ) { Alamofire.request(.GET, "http://announcement.vassy.net/api/AnnouncementAPI/Get/").responseJSON {

 (Response) -> Void in     // checking if result has value    

   if let value = Response.result.value {         

    let json = JSON(value)         

    whatUwant2execute()        

    .        

    .        

    .

then ... codes ... will be executed on that point.


결국 클로저는 함수 포인터고 함수를 실행할 때 쓰는 ()를 이용해서 트리거 시킨다가 요점.


내가 말하고 싶은 더블 클로저는 파라미터 2개인 클로저가 아니라 2차 포인터 처럼 클로저 안에 클로저를 말한다. 포인터를 C의 함수 포인터로 이해하면 쉽지만 이론 설명은 생략. 바로 코드로... 위 소스에서 두번째 클로저는 지웠다. 이름을 바꾸고 클로저 안에 클로저를 넣으면 된다. 흔적 따라오라며 다 바꾸진 않음


import UIKit


func progressBar(_ first : ((Int)->())-> ()) {

    first() { (s) in

        print(s, " %")

    }

}


progressBar() { (closure) -> () in

    print("hello msg")

    closure(10)

    print("checking new version of software")

    closure(20)

    print("connect to the updating server")

    closure(50)

    print("download loop")

    closure(100)

}


핵심은 progress를 담고 있는 var 를 없애는 함수형 프로그래밍을 한다는데 있다. 내가 생각하는 함수형 프로그래밍은 메모리를 삭제 과정 없이 계속 리니어하게 써서 속도를 향상 시키는데 있다고 믿지만, 어느 순간 변질 된 듯. 리눅스 커널 분석하며 어려운 함수 포인터를 typedef 로 무한적 래핑할 수 있는 제자들은 이해가 쉬울 듯.


트리블 클로저를 이용하면 updating 되고 있는 프로그레스바를 더욱 스무스하게 만들 수 있다.


하드웨어 발전 속도만 믿고 뱅글 뱅글 도는 기다림표로 점철되어진 안타까운 소프트웨어에 활력을!


그리고 팁...


FYI,

Plz remember () is used 2 ways "make something in memory" or "executing"

In swift world {} is the meaning of one of the (), executing.

This is the reason why you don't need to write like a below

getJSON ({ ... codes ... })

and {} is the meaning of the definition of functions body.

Both () and {} have two meanings we have to know.

망할 스택 오버플로우에 앞으로 답변하나 봐라. 대한민국 프로그래머 만세


+ Recent posts