컴파일이 되었으므로, pyc나 pyo는 py에 비해 속도 향상이 있으며
pyc는 py를 -O 옵션을 통해(모든 py파일에서 pyc를 생성)
pyo는 py를 -OO 옵션을 통해 생성이 가능하다.
(이부분은 확인필요. py 파일을 이상없이 실행가능하면 컴파일 가능하며, 자동으로 pyc가 생성된다고 하지만, 밑에
-O 옵션으로 디렉토리 내의 모든 py를 pyc로 컴파일 한다는 내용도 존재한다.)
pyc는 assert 문만을 삭제함으로 속도 향상폭은 크지 않으며
pyo는 pyc에 비해 __doc__ 구분도 삭제하므로 더욱 작이진다.(일부 프로그램은 __doc__ 구분 사용할수 있으니 주의)
6.1.3. “Compiled” Python files
As an important speed-up of the start-up time for short programs that use a lot
of standard modules, if a file called spam.pyc exists in the directory
where spam.py is found, this is assumed to contain an
already-“byte-compiled” version of the module spam. The modification time
of the version of spam.py used to create spam.pyc is recorded in
spam.pyc, and the .pyc file is ignored if these don’t match.
Normally, you don’t need to do anything to create the spam.pyc file.
Whenever spam.py is successfully compiled, an attempt is made to write
the compiled version to spam.pyc. It is not an error if this attempt
fails; if for any reason the file is not written completely, the resulting
spam.pyc file will be recognized as invalid and thus ignored later. The
contents of the spam.pyc file are platform independent, so a Python
module directory can be shared by machines of different architectures.
Some tips for experts:
When the Python interpreter is invoked with the -O flag, optimized
code is generated and stored in .pyo files. The optimizer currently
doesn’t help much; it only removes assert statements. When
-O is used, allbytecode is optimized; .pyc files are
ignored and .py files are compiled to optimized bytecode.
Passing two -O flags to the Python interpreter (-OO) will
cause the bytecode compiler to perform optimizations that could in some rare
cases result in malfunctioning programs. Currently only __doc__ strings are
removed from the bytecode, resulting in more compact .pyo files. Since
some programs may rely on having these available, you should only use this
option if you know what you’re doing.
A program doesn’t run any faster when it is read from a .pyc or
.pyo file than when it is read from a .py file; the only thing
that’s faster about .pyc or .pyo files is the speed with which
they are loaded.
When a script is run by giving its name on the command line, the bytecode for
the script is never written to a .pyc or .pyo file. Thus, thet
startup time of a scrip may be reduced by moving most of its code to a module
and having a small bootstrap script that imports that module. It is also
possible to name a .pyc or .pyo file directly on the command
line.
It is possible to have a file called spam.pyc (or spam.pyo
when -O is used) without a file spam.pyfor the same module.
This can be used to distribute a library of Python code in a form that is
moderately hard to reverse engineer.
The module compileall can create .pyc files (or .pyo
files when -O is used) for all modules in a directory.
엑셀에서 숫자를 표기하는 방법은 두가지이다.
하나는 숫자로 표기하는 방법
다른 하나는 문자로 표기하는 방법이다.
예를들어 1000 이라는 숫자를 표기하려면
단순하게 1000 이라고 입력하거나(숫자로 표기)
'1000 이라고 입력을 한다.(문자로 표기)
물론 두가지 경우에 대해서 정렬할 시도할 경우 전혀 다른 결과가 나타나게 되며
2007에서는 이러한 경우 아래와 같은 경고를 발생시킨다.
예를들어
60000
'70000
'8E000
6E000
을 입력하여 "일반 숫자와 텍스트로 저장된 숫자를 모두 숫자로 정렬" 하면
6E000
'8E000
60000
'70000
으로 정렬이 된다. (E는 지수적 표기방법으로 6E000 은 6*E^0 으로 실제로 6을 의미하게 되어 가장 작은 수가되며
'8E00의 경우에도 기본값인 숫자로 인식하여 8*E^0 으로 8을 의미하게 된다.)
하지만 "일반 숫자와
텍스트로 저장된 숫자를 구분하여 정렬"하면
60000
6E000
'70000
'8E000
로 정렬이 된다.
시리얼번호와 같이 우연히 E만 들어갈수 있는 문자열에 대해서는
그리고, 숫자와 문자가 혼용된 것을 위해서는 되도록이면 문자열로 강제지정('로 시작)하여
저장 후 정렬해주는 것이 좋을듯 하다.
사족 : 더 좋은 정렬방법 아시는분 알려주세요!
사족 : 강제로 셀을 텍스트로 지정해도 정렬이 안되는건 왜 그럴까? ㄱ-
Freeing unused kernel memory: 104k freed
/sbin/init: error whiKernel panic - not syncing: Attempted to kill init!
le loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
libtool: compile: gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../../include -DSYS_LINUX -I/usr/local/include -D_FI
LE_OFFSET_BITS=64 -D__USE_UNIX98 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -D__LIBVLC__ -D__PLUGIN__ -DMODULE_NAME=access_fi
le -DMODULE_NAME_IS_access_file -DMODULE_STRING=\"access_file\" -O2 -ffast-math -funroll-loops -fomit-frame-pointer -Wall -Wextra -W
sign-compare -Wundef -Wpointer-arith -Wbad-function-cast -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wvolatile-register-var -
Werror-implicit-function-declaration -MT libaccess_file_plugin_la-file.lo -MD -MP -MF .deps/libaccess_file_plugin_la-file.Tpo -c fil
e.c -fPIC -DPIC -o .libs/libaccess_file_plugin_la-file.o
In file included from ../../include/vlc_common.h:516,
from file.c:33:
../../include/vlc_mtime.h:80: warning: 'error' attribute directive ignored
../../include/vlc_mtime.h:90: warning: 'warning' attribute directive ignored
../../include/vlc_mtime.h:108: warning: 'error' attribute directive ignored
file.c: In function 'IsRemote':
file.c:142: error: 'AFS_SUPER_MAGIC' undeclared (first use in this function)
file.c:142: error: (Each undeclared identifier is reported only once
file.c:142: error: for each function it appears in.)
file.c:143: error: 'CODA_SUPER_MAGIC' undeclared (first use in this function)
file.c:144: error: 'NCP_SUPER_MAGIC' undeclared (first use in this function)
file.c:145: error: 'NFS_SUPER_MAGIC' undeclared (first use in this function)
file.c:146: error: 'SMB_SUPER_MAGIC' undeclared (first use in this function)
아무튼, la 파일은 텍스트 파일로, libtool에 의해서 사용되며,
라이브러리 정보를 포함하고 있다.
# cat /usr/lib/libgpg-error.la # libgpg-error.la - a libtool library file # Generated by ltmain.sh - GNU libtool 1.5.10 (1.1220.2.130 2004/09/19 12:13:49) # # Please DO NOT delete this file! # It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='libgpg-error.so.0'
# Names of this library.
library_names='libgpg-error.so.0.2.1 libgpg-error.so.0 libgpg-error.so'
# The name of the static archive.
old_library='libgpg-error.a'
# Libraries that this one depends upon.
dependency_libs=''
# Version information for libgpg-error.
current=2
age=2
revision=1
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=no
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/usr/lib'
핸드폰등의 기기를 네트워크가 안되는 녀석의 모뎀인것 처럼 사용하는 기술을 테더링이라고 한다.
USB 꼽으면 CDMA modem 이라고 나오는데
굳이 CDMA 가 아니더라도 , wifi 형태의 공유기 처럼 작동할수도 있는거고
블루투스로 무선랜 공유기가 될수도 있는거고
머.. 이렇고 그렇고 그런거 인듯
A user of a laptop, PDA or other data device that lacks a wireless card
may use tethering to gain access to the Internet. Although tethering is
often a simple process, in some countries it may void a phone's warranty
or violate the terms of a cellular
service plan.