'日常茶飯事'에 해당되는 글 601

  1. 2021.03.08 Armeria
  2. 2021.01.30 HornetQ를 찾아서, ActiveMQ-Artemis
  3. 2020.07.14 [vi실습] JSON 편집 / ci'
  4. 2020.06.10 Notepad++에서 vi키 바인딩하기
  5. 2016.06.18 Subversion 버전 정보
  6. 2016.03.11 Bottle-Sqlalchemy
  7. 2016.03.08 Bottle-SQLite
  8. 2016.03.01 tail using Windows command
  9. 2015.06.12 ActiveMQ
  10. 2015.06.03 watch.bat
  11. 2015.04.08 Vert.x 시작하기
  12. 2015.03.16 SciPy 설치
  13. 2014.12.20 Error: package ‘rJava’ could not be loaded
  14. 2014.08.27 Grails-Testing
  15. 2014.07.13 [미완] 권한 관리 - 틀 만들기, Grails
  16. 2014.06.11 GroovyConsole
  17. 2014.05.22 matplotlib 맛보기
  18. 2014.05.06 Elasticsearch 맛보기
  19. 2014.03.20 JCF를 이용한 집합 연산 단위 테스트
  20. 2014.03.14 [비교] 집합 연산
  21. 2014.03.12 WinMerge 공백 비교 안하기
  22. 2014.03.12 [Trac] Ticket 메일 템플릿 변경하기
  23. 2014.02.10 [Grails] 파일 업로드 - 여러 개의 파일을 첨부(데이터베이스에 저장)
  24. 2014.02.07 [Grails] Calendar Plugin 사용하기
  25. 2014.02.04 Grails 정렬 방법
  26. 2014.01.27 [Grails] 게시판 만들기 8 - 메세지 한글 처리
  27. 2014.01.23 [Grails] 게시판 만들기 7 - 사용자 정보 연결
  28. 2014.01.03 PI(Process Inovation)
  29. 2013.12.01 IPython에서 그래프 그려서 설치 확인 - Python 3(matplotlib, NumPy, pandas)
  30. 2013.10.31 Django-Python Version

Armeria

Armeria: 어디서나 잘 어울리는 마이크로서비스 프레임워크

Java와 Armeria로 기본적인 웹 서버 만들기

 

Dependency 추가 
<Group Name>:<Artifact Id>:<Version>
compile "com.linecorp.armeria:armeria:0.68.2"

 

public class ArmeriaServer {

	public static void main(String[] args) {
		
		new ServerBuilder()
			.http(7000)
			.service("/hello", (ctx, res) -> HttpResponse.of(
				HttpStatus.OK, MediaType.HTML_UTF_8
				, "<h1>Hello</h1>"
			)).build().start();
	}
}

 

18:21:32.686 [main] DEBUG io.netty.channel.DefaultChannelId - -Dio.netty.machineId: a4:34:d9:ff:fe:ca:a7:dd (auto-detected)
18:21:32.742 [armeria-boss-http-*:7000] INFO com.linecorp.armeria.server.Server - Serving HTTP at /[0:0:0:0:0:0:0:0]:7000 - http://127.0.0.1:7000/

 

 

 

HornetQ를 찾아서, ActiveMQ-Artemis

STS - Spring Starter Project 에서 HornetQ 의존성이 안보임.
Spring Boot JMS를 HornetQ 로 임베딩해서 하고 싶음.

스프링 부트 1.5에서 HornetQ와 벨로시티 Velocity서포트가 제거되었다고 함(deprecated)
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-1.5-Release-Notes#deprecations-from-spring-boot-14

HornetQ가 ActiveMQ-Artemis로 옮긴(?) 글을 봤음.
https://hornetq.jboss.org/
HornetQ has been donated to the Apache ActiveMQ community!
릴리즈도 2.4.0.Final, 2013/12/16 이 마지막

Artemis가 릴리즈 되었음.
HornetQ Apache donation and Apache Artemis 1.0.0 release
Monday, 1 June 2015

Artemis는 ActiveMQ와 무슨 관계냐... 

Apache ActiveMQ에 소개된 내용, Artemis가 향후 ActiveMQ 6로 된다고 함.
There are currently two "flavors" of ActiveMQ available - the "classic" 5.x broker and the "next generation" Artemis broker. Once Artemis reaches a sufficient level of feature parity with the 5.x code-base it will become ActiveMQ 6. Initial migration documentation is available.

어쨌든 Artemis를 사용하면 될 거 같다.
STS에서 Artemis 의존성이 보임.

끝~


[vi실습] JSON 편집 / ci'

특정 문자로 둘러싸인 글뭉치를 편집하는 경우가 많다.
Json 뿐만 아니라 XML, HTML, 규칙적인 데이터
문서편집기의 열편집, 매크로 기능을 이용해서 할 수 있음.

 

vi에서 해본다 (문서 전체에서 특정 패턴을 찾는 방법은 다음에~)

{ id: 22, name: 'Alice', score: 123, city: 'Atlanta', birthday: '1981/12/03'},
 
$-F-'-;-;-d-i-'-;-;
뒤에서부터 '를 찾고, 
;로 반복해서 찾고  //3F'를 사용해도 된다.
 
c-i-'로 '으로 둘러싸인 부분을 편집한다. 오호~
d-i-', y-i-' 가능
 
사용가능 문자
', ", <, [, {, (,
 
new File("downloadedimg.jpg").withOutputStream { out -> //di" ci(

<node1 name="company/bizplace/dept">

, get_code_nm(#{S_COCD}, user_type, 'ko') as user_type_nm
이런 경우에도 편하게 사용
 
매크로를 사용할 수도 있음.
컬럼모드로 수정은 다음에~
 
 

 

Notepad++에서 vi키 바인딩하기

vi키 바인딩이 되는 텍스트 편집기를 찾다가...드디어 발견
ViSimulator for Notepad++
 
Plugin Admin(Plugin Manager에서 바뀐듯)에서 visimulator를 찾을 수 없다.
검색해 보니 해당 사이트는 더이상 운영되지 않아서 stackoverflow를 참고해서 플러그인을 다운로드했다.
거기에 NPP를 32bit용으로 설치를 해야 된다.
plugins 디렉토리에 visimulator.dll를 넣으면 된다고 하는데 디렉토리 구조가 예전과 다르네.
다른 플러그인처럼 visimulator 디렉토리를 만들고 dll을 해당 디렉토리에 넣으니 된다.!!!
 
이제 Editplus는 그만 사용할 듯하다.
 

설정

^F는 잘 쓰지 않으니 해제, 그런데 다시 시작하면 체크되어 있다. 
 
Unix vi와 다른점은 버퍼가 있는게 아니라 클립보드로 복사된다. 
아, 복잡다. 그만 하자.
 
그나저나 코딩하라는데 화면까지 할란지는...
 

2021-06-18

최신 버전인 8.1로 설치후 visimulator 복사, vi기능은 동작하지만 NPP 대화창(설정창 등)이 나오지 않는다.

무설치본, 설치본 모두 동일 현상, 7.9.5 버전으로 내리고 해보니 정상 동작

 

 

Subversion 버전 정보

- Client

$ svn --version

svn, 버젼 1.5.3 (r33570)
    Oct 23 2008, 20:11:04에 컴파일 됨

Copyright (C) 2000-2008 CollabNet.
Subversion은 오픈 소스 소프트웨어 입니다, http://subversion.tigris.org/
이 제품은 CollabNet이 개발한 소프트웨어를 포함하고 있습니다.(http://www.Collab.Net/).

저장소(repository) 접근 모듈(RA) 목록:

* ra_neon : Neon을 이용하여 WebDAV 프로토콜을 통해 저장소에 접근하는 모듈
  - 'http' 스키마를 처리합니다.
  - 'https' 스키마를 처리합니다.
* ra_svn : svn 네트워크 프로토콜을 사용하여 저장소에 접근하는 모듈
  - 'svn' 스키마를 처리합니다.
* ra_local : 로컬 디스크에 있는 저장소를 접근하기 위한 모듈
  - 'file' 스키마를 처리합니다.

$ whereis svn
svn: /usr/local/bin/svn /usr/local/share/man/man1/svn.1


- Server

svnadmin --version

svnserve --version


서버에 들어갈 권한이 없어서...응답을 보거나 헤더 정보에서 얻을 수 있다.





Bottle-Sqlalchemy

https://pypi.python.org/pypi/bottle-sqlalchemy/
https://github.com/iurisilvio/bottle-sqlalchemy


> pip install bottle-sqlalchemy
> python -c "import sqlalchemy; print(sqlalchemy.__version__)"
1.0.12



=-=>초기 데이터는 어떻게 넣나? 초기옵션을 잘 사용하면 될듯

=-=>잘못된 예제

http://www.blog.pythonlibrary.org/2013/07/23/bottle-adding-sqlalchemy-to-the-todo-list-web-app/

https://github.com/mcapielo/Todo-List-Bottle-SQLAlchemy-Bootstrap/blob/master/todo.py




Bottle-SQLite

http://bottlepy.org/docs/dev/plugins/sqlite.html

https://pypi.python.org/pypi/bottle-sqlite/


Installation
pip install bottle-sqlite

memory db 사용가능하고
인자명 db 변경가능
db 여러 개 사용가능

tail using Windows command

> type a.txt | find /c /v ""
52
> set /a 52-5
47
> more +47 a.txt > con
vv
ww
xx
yy
zz


-f 옵션은 다음 기회에.

ActiveMQ

오픈소스 메시징/통합패턴 서버

다양한 언어 지원
STOMP, AMQP, MQTT
JMS 1.1 and J2EE 1.4


- 2015-06-12 현재 apache-activemq-5.11.1가 최신

그런데 실행이 안됨. 에러도 발생 안함.

apache-activemq-5.11.1> bin\activemq
Java Runtime: Oracle Corporation 1.7.0_09 C:\Program Files\Java\jdk1.7.0_09\jre
  Heap sizes: current=1013632k  free=996854k  max=1013632k
    JVM args: -Dcom.sun.management.jmxremote -Xms1G -Xmx1G ...

Extensions classpath:
  [...]
ACTIVEMQ_HOME: ...\apache-activemq-5.11.1\bin\..
ACTIVEMQ_BASE: ...\apache-activemq-5.11.1\bin\..
ACTIVEMQ_CONF: ...\apache-activemq-5.11.1\bin\..\conf
ACTIVEMQ_DATA: ...\apache-activemq-5.11.1\bin\..\data
Usage: Main [--extdir <dir>] [task] [task-options] [task data]

Tasks:
    browse                   - Display selected messages in a specified destination.
    bstat                    - Performs a predefined query that displays useful statistics regarding the specified broker
    create                   - Creates a runnable broker instance in the specified path.
    decrypt                  - Decrypts given text
    dstat                    - Performs a predefined query that displays useful tabular statistics regarding the specified destina
tion type
    encrypt                  - Encrypts given text
    export                   - Exports a stopped brokers data files to an archive file
    list                     - Lists all available brokers in the specified JMX context
    purge                    - Delete selected destination's messages that matches the message selector
    query                    - Display selected broker component's attributes and statistics.
    start                    - Creates and starts a broker using a configuration file, or a broker URI.
    stop                     - Stops a running broker specified by the broker name.

Task Options (Options specific to each task):
    --extdir <dir>  - Add the jar files in the directory to the classpath.
    --version       - Display the version information.
    -h,-?,--help    - Display this help information. To display task specific help, use Main [task] -h,-?,--help

Task Data:
    - Information needed by each specific task.

JMX system property options:
    -Dactivemq.jmx.url=<jmx service uri> (default is: 'service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi')
    -Dactivemq.jmx.user=<user name>
    -Dactivemq.jmx.password=<password>


확인 결과 5.10.0부터 발생

5.9.1은 제대로 실행됨.

apache-activemq-5.9.1> bin\activemq
Java Runtime: Oracle Corporation 1.7.0_09 C:\Program Files\Java\jdk1.7.0_09\jre
  Heap sizes: current=1013632k  free=996854k  max=1013632k
    JVM args: -Dcom.sun.management.jmxremote -Xms1G -Xmx1G ...
Extensions classpath:
  [...]
ACTIVEMQ_HOME: ...\apache-activemq-5.9.1\bin\..
ACTIVEMQ_BASE: ...\apache-activemq-5.9.1\bin\..
ACTIVEMQ_CONF: ...\apache-activemq-5.9.1\bin\..\conf
ACTIVEMQ_DATA: ...\apache-activemq-5.9.1\bin\..\data
Loading message broker from: xbean:activemq.xml
 INFO | Refreshing org.apache.activemq.xbean.XBeanBrokerFactory$1@e34a3c: startup date [Fri Jun 12 22:51:42 KST 2015]; root of con
text hierarchy
 INFO | PListStore:[...\apache-activemq-5.9.1\bin\..\data\localhost\tmp_storage] started
 INFO | Using Persistence Adapter: KahaDBPersistenceAdapter[...\apache-activemq-5.9.1\bin\.
.\data\kahadb]
 INFO | Apache ActiveMQ 5.9.1 (localhost, ID:pantarei-PC-20301-1434117106014-0:1) is starting
 INFO | Listening for connections at: tcp://...:61616?maximumConnections=...
 INFO | Connector openwire started
 INFO | Listening for connections at: amqp://...:5672?maximumConnections=...
 INFO | Connector amqp started
 INFO | Listening for connections at: stomp://...:61613?maximumConnections=...
 INFO | Connector stomp started
 INFO | Listening for connections at: mqtt://...:1883?maximumConnections=...
 INFO | Connector mqtt started
 INFO | Listening for connections at ws://...:61614?maximumConnections=...
 INFO | Connector ws started
 INFO | Apache ActiveMQ 5.9.1 (localhost, ID:...-20301-1434117106014-0:1) started
 INFO | For help or more information please see: http://activemq.apache.org
 WARN | Store limit is 102400 mb (current store usage is 0 mb). The data directory: ...\apa
che-activemq-5.9.1\bin\..\data\kahadb only has 31427 mb of usable space - resetting to maximum available disk space: 31427 mb
ERROR | Temporary Store limit is 51200 mb, whilst the temporary data directory: ...\apache-
activemq-5.9.1\bin\..\data\localhost\tmp_storage only has 31427 mb of usable space - resetting to maximum available 31427 mb.
 INFO | ActiveMQ WebConsole available at http://localhost:8161/
 INFO | Initializing Spring FrameworkServlet 'dispatcher'
 INFO | jolokia-agent: No access restrictor found at classpath:/jolokia-access.xml, access to all MBeans is allowed


http://localhost:8161/


- 데모

http://activemq.apache.org/web-samples.html

apache-activemq-5.9.1> bin\activemq xbean:examples/conf/activemq-demo.xml


http://localhost:8161/demo



watch.bat

https://gist.github.com/jujhars13/4153770

@echo off

if %1==-n (
  set interval=%2
  shift
  shift
) else (
  set interval=2
)

title Watch %1 %2 %3 %4 %5 %6 %7 %8 %9
:loop
cls
%1 %2 %3 %4 %5 %6 %7 %8 %9

timeout /t %interval%
goto loop


> watch.bat netstat -na ^| findstr LIST

> watch.bat -n 5 netstat -na ^| find /c "LIST" //이런 식의 변화를 보는데 적합한 듯


변화되는 상황을 보기에는 Unix watch의 -d 옵션이 필요하다.

watch1.bat 참고


Vert.x 시작하기

- Installation

1. Vert.x requires JDK 1.7.0 or later.

(JRE가 아닌 Full JDK나 for Developers 옵션을 선택해야 한다.)

> java version


2. Unzip.
3. Add the Vert.x bin/ to PATH.


> vertx version
2.1.5 (built 2014-11-13 15:15:56)


- Testing the install

> vertx run server.js



====>자바 컴파일 필요없는거

각 구현체 설정 파일, 구현 엔진

jruby, jpython, rinho
java compile이 필요없다.

SciPy 설치

http://scipy.org/scipylib/download.html
http://sourceforge.net/projects/scipy/files/scipy/0.15.0/
Windows용 바이너리로 설치하는게 좋을 듯

> scipy.version.full_version
'0.15.0'







Error: package ‘rJava’ could not be loaded

모듈을 올리는데 에러가 발생한다.

> library(KoNLP)
Loading required package: rJava
Error : .onLoad failed in loadNamespace() for 'rJava', details:
  call: dirname(this$RuntimeLib)
  error: a character vector argument expected
Error: package ‘rJava’ could not be loaded


환경변수에 JAVA_HOME을 지정한다.

Grails-Testing

이걸 왜 PDF로 만들어서 올리지??? ㅋㅋ

http://grails.org/doc/latest/guide/testing.html

http://grails.org/doc/2.2.0/guide/testing.html
이거 19페이지, 이걸 보면 될듯

IntegrationSpec (Grails 2.4.3)
부터 spock 지원하는듯
2.3도 지원

[미완] 권한 관리 - 틀 만들기, Grails

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

GroovyConsole

https://groovy-lang.org/groovyconsole.html

 

 

 

 

 

Run Ctrl+R
Clear Output Ctrl+W (Auto Clear Output On Run을 체크해 두면 편하다)
History Ctrl+, OR .

Larger/Smaller Font

Show Script In Output

Loop Mode, 스크립트를 반복해서 실행한다. 실행을 중지시키려면 스크립트에 수정을 가하면 된다. /뿌듯ㅋ

//while(true){
    println new Date() 
    sleep 1000 * 3 
//} 

Interrupt, 무한루프 실행시 안됨.

 

 

matplotlib 맛보기

- 설치

- 확인

  

Elasticsearch 맛보기

초간단 맛보기

https://www.elastic.co

설치

Download and unzip

 

실행

Run bin/elasticsearch

 

설정

7.15.2[각주:1] elasticsearch.yml에 xpack.ml.enabled: false 추가

org.elasticsearch.ElasticsearchException: X-Pack is not supported and Machine Learning is not available for [windows-x86]; you can use the other X-Pack features (unsupported) by setting xpack.ml.enabled: false in elasticsearch.yml

 

확인

http://localhost:9200/

{
  "status" : 200,
  "name" : "Quicksilver",
  "version" : {
    "number" : "1.1.1",
    "build_hash" : "f1585f096d3f3985e73456debdc1a0745f512bbc",
    "build_timestamp" : "2014-04-16T14:27:12Z",
    "build_snapshot" : false,
    "lucene_version" : "4.7"
  },
  "tagline" : "You Know, for Search"
}

 

이걸로 끝!

 

하나 더 실행하면 9201로 실행됨.

 

- 1.5.2 버전에서는 JDK 1.7이 필요한데, 1.8을 권장함.

 

  1. 2021-12-07 [본문으로]

JCF를 이용한 집합 연산 단위 테스트

[비교] 집합 연산

- Java
- Groovy
a = [1, 2, 3]
a.class
Result: class java.util.ArrayList

- Python
- SQL
http://pantarei.tistory.com/1197

-----------
JavaScript로 Set(집합), 관련 함수(합집합, 교집합, 차집합)들 구현하기
https://jun-choi-4928.medium.com/javascript%EB%A1%9C-set-%EC%A7%91%ED%95%A9-%EA%B4%80%EB%A0%A8-%ED%95%A8%EC%88%98-%ED%95%A9%EC%A7%91%ED%95%A9-%EA%B5%90%EC%A7%91%ED%95%A9-%EC%B0%A8%EC%A7%91%ED%95%A9-%EB%93%A4-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0-e7d4d820b03c
Set()은 ie11부터...ㅋㅋ

jQuery 합집합, 교집합, 차집합, 대칭차
https://zetawiki.com/wiki/JQuery_%ED%95%A9%EC%A7%91%ED%95%A9,_%EA%B5%90%EC%A7%91%ED%95%A9,_%EC%B0%A8%EC%A7%91%ED%95%A9,_%EB%8C%80%EC%B9%AD%EC%B0%A8




WinMerge 공백 비교 안하기

내용이 다르다고 표시되는데 차이점이 안보인다. 탭 때문인거 같다.


공백을 비교하지 않도록 하면 된다. 공백-변경 내용 무시로 설정


[Trac] Ticket 메일 템플릿 변경하기

TOW\Python\share\trac\templates\ticket_notify_email.cs Ticket 링크가 밑에 있어서 불편하다. 위에도 추가

[Grails] 파일 업로드 - 여러 개의 파일을 첨부(데이터베이스에 저장)

[Grails] Calendar Plugin 사용하기

http://grails.org/plugin/calendar

> grails install-plugin calendar


start가 Date형으로 선언되어 있으면 Grails가 알아서 처리해 준다. (start를 display:false로 해서 등록 화면에서 나타나지 않게 해야 함.)

Grails 정렬 방법

[Grails] 게시판 만들기 8 - 메세지 한글 처리


- 기본 메세지 파일을 복사해서 한글 메세지 파일을 만든다.
grails-app\i18n\messages_ko.properties

...
default.paginate.prev=이전
default.paginate.next=다음
...
default.deleted.message={0}이(가) 삭제되었습니다.
...
default.home.label=Home
default.list.label={0} 목록
default.add.label=Add {0}
default.new.label=새 {0}
default.create.label=Create {0}
default.show.label={0} 보기
default.edit.label={0} 수정
...
entry.label=글
entry.title.label=제목
entry.lastUpdated.label=일시
entry.content.label=내용
entry.user.label=글쓴이
entry.comments.label=댓글
entry.tags.label=태그

comment.label=댓글
...

[Grails] 게시판 만들기 7 - 사용자 정보 연결

글을 입력할 때 세션의 사용자 정보가 들어가도록 해보자.

- Entry에 User 추가, nullable:false

- EntryController 수정
grails> generate-controller com.sample.blog.Entry

User를 test라는 사용자로 입력했는데 실제 입력된 데이터는 admin이다.
그러나 수정하는 경우에는 update()가 실행되므로 EntryController를 수정해야 한다.

- 입력화면에서 보이지 않게 하려면 display를 false로 둔다.  EntryController#update()를 수정하지 않아도 된다.
grails> generate-views com.sample.blog.Entry
entry/_form.gsp에서 User 부분을 없앤다.


이 상태에서 GSP를 만들지 않고 수정 화면에서 user가 보이게 하는 방법

PI(Process Inovation)

CJ프레시웨이, '수익성 개선' PI 나섰다

CJ 프레시웨이가 SCM(Supply Chain Management, 공급망 관리) 역량 강화 및 수익성 개선을 위해 외부 컨설팅을 받는다. 현 비즈니스 상의 주요 이슈들을 해결하고, 프로세스 혁신을 통해 식자재 유통 산업 내 톱티어(Top-Tier) 자리를 확고히 한다는 목표다.

14일 관련업계에 따르면 CJ프레시웨이는 최근 국내 주요 컨설팅 업체를 대상으로 PI(Process Inovation) 프로젝트에 대한 제안요청서(RFP)를 발송했다. PI란 운영·관리·조직 등 사업 전반에 대한 재정비 및 개선 작업을 일컫는다.

특히 이번 프로젝트는 SCM 역랑을 강화하고 IT시스템을 일원화하는데 초점이 맞춰져 있으며, 2009년 출범한 조인트벤처 '프레시원'과의 SCM 및 ERP 통합 관리 시스템 구축 또한 병행된다.

IPython에서 그래프 그려서 설치 확인 - Python 3(matplotlib, NumPy, pandas)

Enthought Python Distribution (EPD)나 Python(x,y) 배포판이 좋다고 함.
그러나 기존에 설치된 Python을 삭제하기 싫어서 직접 설치함.

- Python 3.3과 easy_install이 설치된 상태

- IPython
http://ipython.org/index.html
http://ipython.org/ipython-doc/stable/install/install.html

> easy_install pyreadline
> easy_install ipython
> iptest3
//에러
> easy_install nose
> iptest3


- 그래프 그려서 설치 확인하기

> ipython3 --pylab
...
ImportError: No module named 'matplotlib'


- matplotlib
http://matplotlib.org/index.html
http://matplotlib.org/downloads.html
matplotlib-1.3.1.win32-py3.3.exe
pip로도 설치됨.

> ipython3 --pylab
...
ImportError: matplotlib requires dateutil


- dateutil
> easy_install python_dateutil

> ipython3 --pylab
...
ImportError: matplotlib requires pyparsing

- pyparsing
> easy_install pyparsing

> ipython3 --pylab
...
ImportError: No module named 'numpy'


- NumPy
http://www.numpy.org/
http://www.scipy.org/scipylib/download.html
numpy-1.8.0-win32-superpack-python3.2.exe //버전이 맞지 않아서 설치가 안된다.
Unofficial Windows Binaries for Python Extension Packages에서 numpy-MKL-1.8.0.win32-py3.3.exe를 받아서 설치
Windows에서는 pip를 이용하면 MKL이 설치되지 않아 scipy 설치시 문제가 된다. Numpy+MKL을 설치한다.

> ipython3 --pylab
//OK

- pandas
> easy_install pandas

> ipython3 --pylab
In [1]: import pandas
In [2]: plot(arange(10))


- IPython HTML Notebook
> ipython3 notebook --pylab=inline
...
ImportError: No module named 'zmq'

- pyzmq
> easy_install pyzmq

> ipython3 notebook --pylab=inline
...
ImportError: No module named 'tornado'

- tornado
> easy_install tornado

> ipython3 notebook --pylab=inline //제대로 실행이 되면 브라우저가 자동으로 열린다.

- Notebook을 하나 생성하고 코드를 입력한 뒤, 실행시켜본다.



Django-Python Version

https://docs.djangoproject.com/ko/3.1/faq/install/

https://docs.djangoproject.com/en/1.6/faq/install/#what-python-version-can-i-use-with-django

Django version Python versions
 1.5  2.6, 2.7 and 3.2, 3.3 (experimental)
 1.6  2.6, 2.7 and 3.2, 3.3
 1.7 (future)  2.7 and 3.2, 3.3

Python 3에서도 사용가능함. 윽...가상머신...

2021-03-14 Django에서는 Python 3을 사용해라.

django2.x vs django3.x 차이가 많은가요? -> 거의 차이 없습니다.[각주:1]

 

> python --version
Python 3.3.1

> python -c "import django; print(django.get_version())"
1.7.2

# python -m django --version

 

  1. 거의 차이 없습니다.장고 3.x 를 설치한 상태에서 이 강의를 따라하셔도 문제가 없습니다. 

    단, 관계형모델 정의할 때, 필드 중에 on_delete=True라고 하는 부분이 강의에 나오는데, 이때 on_delete=models.CASCADE로 하시면 됩니다. 

    나머지는 모두 동일합니다.  [본문으로]