1. 盗梦空间(Inception)IMDB评分值很高的一部电影,大概可以排到前3位,或许是因为电影本身的逻辑非常严谨完备,很多电影爱好者不断的去研究和推敲。影片讲的是leo一帮人潜入别人的梦境,想要改变梦中人的潜意识。潜入梦境过程中又有连环的梦中梦,影片情节较复杂。
2.赤裸特工,洪金宝带着一帮小生门拍的小电影,剧本漏洞很多,抄袭学习了其他不少影片,商业影片,看看不需要说太多。
Tuesday, August 21, 2012
Saturday, April 28, 2012
install chukwa for hbase metrics log
Chukwa is claimed to provide log collection, analysis and results displaying solution based on HDFS and map/reduce framework, and now it is under Apache incubator project list.
pipeline</name>
<value>org.apache.hadoop. chukwa.datacollection.writer. hbase.HBaseWriter,org.apache.
notes: hbase.HBaseWriter must be written before SeqFileWriter, because SeqFileWriter does not pass data to next writer, this is the reason that it has to be the last writer in the pipeline as a workaround.
Chukwa web interface
1.if you want to store into HBase and also HDFS, set it in chukwa-collector-conf.xml
<name>chukwaCollector.<value>org.apache.hadoop.
hadoop.chukwa.datacollection. writer.SeqFileWriter</value>
2. if you have questions, please make a comment, or mail to me
Friday, March 30, 2012
SQLite command line
Command Line Shell For SQLite
The SQLite library includes a simple command-line utility named sqlite3 (or sqlite3.exe on windows) that allows the user to manually enter and execute SQL commands against an SQLite database. This document provides a brief introduction on how to use the sqlite3 program.Getting Started
How to create database with sqlite? (aka: play with sqlite, debug sqlite, run sqlite)
many guys have downloaded and compiled the source file, but don't know to how to run?
The solution is that you should execute the file with arguments to specify the database name, in VisualStudio, configure it in project property->Configuration Properties-> Debugging -> Command Arguments, or you can run it from cmd shell.
For example, to create a new SQLite database named "ex1" with a single table named "tbl1", you might do this:
You can terminate the sqlite3 program by typing your systems End-Of-File character (usually a Control-D). Use the interrupt character (usually a Control-C) to stop a long-running SQL statement.$ sqlite3 ex1 SQLite version 3.6.11 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> create table tbl1(one varchar(10), two smallint); sqlite> insert into tbl1 values('hello!',10); sqlite> insert into tbl1 values('goodbye', 20); sqlite> select * from tbl1; hello!|10 goodbye|20 sqlite>
Make sure you type a semicolon at the end of each SQL command! The sqlite3 program looks for a semicolon to know when your SQL command is complete. If you omit the semicolon, sqlite3 will give you a continuation prompt and wait for you to enter more text to be added to the current SQL command. This feature allows you to enter SQL commands that span multiple lines. For example:
sqlite> CREATE TABLE tbl2 ( ...> f1 varchar(30) primary key, ...> f2 text, ...> f3 real ...> ); sqlite>
Aside: Querying the SQLITE_MASTER table
The database schema in an SQLite database is stored in a special table named "sqlite_master". You can execute "SELECT" statements against the special sqlite_master table just like any other table in an SQLite database. For example:But you cannot execute DROP TABLE, UPDATE, INSERT or DELETE against the sqlite_master table. The sqlite_master table is updated automatically as you create or drop tables and indices from the database. You can not make manual changes to the sqlite_master table.$ sqlite3 ex1 SQLite version 3.6.11 Enter ".help" for instructions sqlite> select * from sqlite_master; type = table name = tbl1 tbl_name = tbl1 rootpage = 3 sql = create table tbl1(one varchar(10), two smallint) sqlite>
The schema for TEMPORARY tables is not stored in the "sqlite_master" table since TEMPORARY tables are not visible to applications other than the application that created the table. The schema for TEMPORARY tables is stored in another special table named "sqlite_temp_master". The "sqlite_temp_master" table is temporary itself.
Special commands to sqlite3
Most of the time, sqlite3 just reads lines of input and passes them on to the SQLite library for execution. But if an input line begins with a dot ("."), then that line is intercepted and interpreted by the sqlite3 program itself. These "dot commands" are typically used to change the output format of queries, or to execute certain prepackaged query statements.For a listing of the available dot commands, you can enter ".help" at any time. For example:
sqlite> .help .backup ?DB? FILE Backup DB (default "main") to FILE .bail ON|OFF Stop after hitting an error. Default OFF .databases List names and files of attached databases .dump ?TABLE? ... Dump the database in an SQL text format .echo ON|OFF Turn command echo on or off .exit Exit this program .explain ON|OFF Turn output mode suitable for EXPLAIN on or off. .genfkey ?OPTIONS? Options are: --no-drop: Do not drop old fkey triggers. --ignore-errors: Ignore tables with fkey errors --exec: Execute generated SQL immediately See file tool/genfkey.README in the source distribution for further information. .header(s) ON|OFF Turn display of headers on or off .help Show this message .import FILE TABLE Import data from FILE into TABLE .indices TABLE Show names of all indices on TABLE .iotrace FILE Enable I/O diagnostic logging to FILE .load FILE ?ENTRY? Load an extension library .mode MODE ?TABLE? Set output mode where MODE is one of: csv Comma-separated values column Left-aligned columns. (See .width) html HTML <table> code insert SQL insert statements for TABLE line One value per line list Values delimited by .separator string tabs Tab-separated values tcl TCL list elements .nullvalue STRING Print STRING in place of NULL values .output FILENAME Send output to FILENAME .output stdout Send output to the screen .prompt MAIN CONTINUE Replace the standard prompts .quit Exit this program .read FILENAME Execute SQL in FILENAME .restore ?DB? FILE Restore content of DB (default "main") from FILE .schema ?TABLE? Show the CREATE statements .separator STRING Change separator used by output mode and .import .show Show the current values for various settings .tables ?PATTERN? List names of tables matching a LIKE pattern .timeout MS Try opening locked tables for MS milliseconds .timer ON|OFF Turn the CPU timer measurement on or off .width NUM NUM ... Set column widths for "column" mode sqlite>
Changing Output Formats
The sqlite3 program is able to show the results of a query in eight different formats: "csv", "column", "html", "insert", "line", "list", "tabs", and "tcl". You can use the ".mode" dot command to switch between these output formats.The default output mode is "list". In list mode, each record of a query result is written on one line of output and each column within that record is separated by a specific separator string. The default separator is a pipe symbol ("|"). List mode is especially useful when you are going to send the output of a query to another program (such as AWK) for additional processing.
You can use the ".separator" dot command to change the separator for list mode. For example, to change the separator to a comma and a space, you could do this:sqlite> .mode list sqlite> select * from tbl1; hello|10 goodbye|20 sqlite>
In "line" mode, each column in a row of the database is shown on a line by itself. Each line consists of the column name, an equal sign and the column data. Successive records are separated by a blank line. Here is an example of line mode output:sqlite> .separator ", " sqlite> select * from tbl1; hello, 10 goodbye, 20 sqlite>
In column mode, each record is shown on a separate line with the data aligned in columns. For example:sqlite> .mode line sqlite> select * from tbl1; one = hello two = 10 one = goodbye two = 20 sqlite>
By default, each column is at least 10 characters wide. Data that is too wide to fit in a column is truncated. You can adjust the column widths using the ".width" command. Like this:sqlite> .mode column sqlite> select * from tbl1; one two ---------- ---------- hello 10 goodbye 20 sqlite>
The ".width" command in the example above sets the width of the first column to 12 and the width of the second column to 6. All other column widths were unaltered. You can gives as many arguments to ".width" as necessary to specify the widths of as many columns as are in your query results.sqlite> .width 12 6 sqlite> select * from tbl1; one two ------------ ------ hello 10 goodbye 20 sqlite>
If you specify a column a width of 0, then the column width is automatically adjusted to be the maximum of three numbers: 10, the width of the header, and the width of the first row of data. This makes the column width self-adjusting. The default width setting for every column is this auto-adjusting 0 value.
The column labels that appear on the first two lines of output can be turned on and off using the ".header" dot command. In the examples above, the column labels are on. To turn them off you could do this:
Another useful output mode is "insert". In insert mode, the output is formatted to look like SQL INSERT statements. You can use insert mode to generate text that can later be used to input data into a different database.sqlite> .header off sqlite> select * from tbl1; hello 10 goodbye 20 sqlite>
When specifying insert mode, you have to give an extra argument which is the name of the table to be inserted into. For example:
The last output mode is "html". In this mode, sqlite3 writes the results of the query as an XHTML table. The beginning <TABLE> and the ending </TABLE> are not written, but all of the intervening <TR>s, <TH>s, and <TD>s are. The html output mode is envisioned as being useful for CGI.sqlite> .mode insert new_table sqlite> select * from tbl1; INSERT INTO 'new_table' VALUES('hello',10); INSERT INTO 'new_table' VALUES('goodbye',20); sqlite>
Writing results to a file
By default, sqlite3 sends query results to standard output. You can change this using the ".output" command. Just put the name of an output file as an argument to the .output command and all subsequent query results will be written to that file. Use ".output stdout" to begin writing to standard output again. For example:sqlite> .mode list sqlite> .separator | sqlite> .output test_file_1.txt sqlite> select * from tbl1; sqlite> .exit $ cat test_file_1.txt hello|10 goodbye|20 $
Querying the database schema
The sqlite3 program provides several convenience commands that are useful for looking at the schema of the database. There is nothing that these commands do that cannot be done by some other means. These commands are provided purely as a shortcut.For example, to see a list of the tables in the database, you can enter ".tables".
The ".tables" command is similar to setting list mode then executing the following query:sqlite> .tables tbl1 tbl2 sqlite>
In fact, if you look at the source code to the sqlite3 program (found in the source tree in the file src/shell.c) you'll find exactly the above query.SELECT name FROM sqlite_master WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%' UNION ALL SELECT name FROM sqlite_temp_master WHERE type IN ('table','view') ORDER BY 1
The ".indices" command works in a similar way to list all of the indices for a particular table. The ".indices" command takes a single argument which is the name of the table for which the indices are desired. Last, but not least, is the ".schema" command. With no arguments, the ".schema" command shows the original CREATE TABLE and CREATE INDEX statements that were used to build the current database. If you give the name of a table to ".schema", it shows the original CREATE statement used to make that table and all if its indices. We have:
The ".schema" command accomplishes the same thing as setting list mode, then entering the following query:sqlite> .schema create table tbl1(one varchar(10), two smallint) CREATE TABLE tbl2 ( f1 varchar(30) primary key, f2 text, f3 real ) sqlite> .schema tbl2 CREATE TABLE tbl2 ( f1 varchar(30) primary key, f2 text, f3 real ) sqlite>
Or, if you give an argument to ".schema" because you only want the schema for a single table, the query looks like this:SELECT sql FROM (SELECT * FROM sqlite_master UNION ALL SELECT * FROM sqlite_temp_master) WHERE type!='meta' ORDER BY tbl_name, type DESC, name
You can supply an argument to the .schema command. If you do, the query looks like this:SELECT sql FROM (SELECT * FROM sqlite_master UNION ALL SELECT * FROM sqlite_temp_master) WHERE type!='meta' AND sql NOT NULL AND name NOT LIKE 'sqlite_%' ORDER BY substr(type,2,1), name
The "%s" in the query is replace by your argument. This allows you to view the schema for some subset of the database.SELECT sql FROM (SELECT * FROM sqlite_master UNION ALL SELECT * FROM sqlite_temp_master) WHERE tbl_name LIKE '%s' AND type!='meta' AND sql NOT NULL AND name NOT LIKE 'sqlite_%' ORDER BY substr(type,2,1), name
Along these same lines, the ".table" command also accepts a pattern as its first argument. If you give an argument to the .table command, a "%" is both appended and prepended and a LIKE clause is added to the query. This allows you to list only those tables that match a particular pattern.sqlite> .schema %abc%
The ".databases" command shows a list of all databases open in the current connection. There will always be at least 2. The first one is "main", the original database opened. The second is "temp", the database used for temporary tables. There may be additional databases listed for databases attached using the ATTACH statement. The first output column is the name the database is attached with, and the second column is the filename of the external file.
sqlite> .databases
Converting An Entire Database To An ASCII Text File
Use the ".dump" command to convert the entire contents of a database into a single ASCII text file. This file can be converted back into a database by piping it back into sqlite3.A good way to make an archival copy of a database is this:
This generates a file named ex1.dump.gz that contains everything you need to reconstruct the database at a later time, or on another machine. To reconstruct the database, just type:$ echo '.dump' | sqlite3 ex1 | gzip -c >ex1.dump.gz
The text format is pure SQL so you can also use the .dump command to export an SQLite database into other popular SQL database engines. Like this:$ zcat ex1.dump.gz | sqlite3 ex2
$ createdb ex2 $ sqlite3 ex1 .dump | psql ex2
Other Dot Commands
The ".explain" dot command can be used to set the output mode to "column" and to set the column widths to values that are reasonable for looking at the output of an EXPLAIN command. The EXPLAIN command is an SQLite-specific SQL extension that is useful for debugging. If any regular SQL is prefaced by EXPLAIN, then the SQL command is parsed and analyzed but is not executed. Instead, the sequence of virtual machine instructions that would have been used to execute the SQL command are returned like a query result. For example:The ".timeout" command sets the amount of time that the sqlite3 program will wait for locks to clear on files it is trying to access before returning an error. The default value of the timeout is zero so that an error is returned immediately if any needed database table or index is locked.sqlite> .explain sqlite> explain delete from tbl1 where two<20; addr opcode p1 p2 p3 ---- ------------ ----- ----- ------------------------------------- 0 ListOpen 0 0 1 Open 0 1 tbl1 2 Next 0 9 3 Field 0 1 4 Integer 20 0 5 Ge 0 2 6 Key 0 0 7 ListWrite 0 0 8 Goto 0 2 9 Noop 0 0 10 ListRewind 0 0 11 ListRead 0 14 12 Delete 0 0 13 Goto 0 11 14 ListClose 0 0
And finally, we mention the ".exit" command which causes the sqlite3 program to exit.
Using sqlite3 in a shell script
One way to use sqlite3 in a shell script is to use "echo" or "cat" to generate a sequence of commands in a file, then invoke sqlite3 while redirecting input from the generated command file. This works fine and is appropriate in many circumstances. But as an added convenience, sqlite3 allows a single SQL command to be entered on the command line as a second argument after the database name. When the sqlite3 program is launched with two arguments, the second argument is passed to the SQLite library for processing, the query results are printed on standard output in list mode, and the program exits. This mechanism is designed to make sqlite3 easy to use in conjunction with programs like "awk". For example:$ sqlite3 ex1 'select * from tbl1' | > awk '{printf "<tr><td>%s<td>%s\n",$1,$2 }' <tr><td>hello<td>10 <tr><td>goodbye<td>20 $
Ending shell commands
SQLite commands are normally terminated by a semicolon. In the shell you can also use the word "GO" (case-insensitive) or a slash character "/" on a line by itself to end a command. These are used by SQL Server and Oracle, respectively. These won't work in sqlite3_exec(), because the shell translates these into a semicolon before passing them to that function.Compiling the sqlite3 program from sources
The source code to the sqlite3 command line interface is in a single file named "shell.c" which you can download from the SQLite website. Compile this file (together with the sqlite3 library source code to generate the executable. For example:gcc -o sqlite3 shell.c sqlite3.c -ldl -lpthread
Reference:
downloaded from SQLite official websete : /sqlite-doc-3071100/sqlite-doc-3071100/sqlite.html
Wednesday, March 14, 2012
Apache HTTP Server: compile and install
1. Steps to build httpd
Download | $ lynx http://httpd.apache.org/download.cgi |
Extract | $ gzip -d httpd-NN.tar.gz |
Configure | $ ./configure --prefix=PREFIX |
Compile | $ make |
Install | $ make install |
Customize | $ vi PREFIX/conf/httpd.conf |
Test | $ PREFIX/bin/apachectl -k start |
NN must be replaced with the current version number, PREFIX must be replaced with the filesystem path under which the server should be installed. If PREFIX is not specified, it defaults to
/usr/local/apache2
.2. Problems
Starters usually met problems that some required libraries are not found, like apr, apr-util and pcre.
configure: error: APR not found. Please read the documentation.
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
The solution is obvious that you should download and install these libraries, then continue to build Apache Http Server.
Below is what Apache document says: ( which we should read through before installation)
Below is what Apache document says: ( which we should read through before installation)
The following requirements exist for building Apache httpd:
APR and APR-Util
Make sure you have APR and APR-Util already installed on your system. If you don't, or prefer to not use the system-provided versions, download the latest versions of both APR and APR-Util from Apache APR, unpack them into./srclib/apr
and./srclib/apr-util
(be sure the domain names do not have version numbers; for example, the APR distribution must be under ./srclib/apr/) and use./configure
's--with-included-apr
option. On some platforms, you may have to install the corresponding-dev
packages to allow httpd to build against your installed copy of APR and APR-Util.
Perl-Compatible Regular Expressions Library (PCRE)
This library is required but not longer bundled with httpd. Download the source code from http://www.pcre.org, or install a Port or Package. If your build system can't find the pcre-config script installed by the PCRE build, point to it using the--with-pcre
parameter. On some platforms, you may have to install the corresponding-dev
package to allow httpd to build against your installed copy of PCRE.
Disk Space
Make sure you have at least 50 MB of temporary free disk space available. After installation the server occupies approximately 10 MB of disk space. The actual disk space requirements will vary considerably based on your chosen configuration options, any third-party modules, and, of course, the size of the web site or sites that you have on the server.
ANSI-C Compiler and Build System
Make sure you have an ANSI-C compiler installed. The GNU C compiler (GCC) from the Free Software Foundation (FSF) is recommended. If you don't have GCC then at least make sure your vendor's compiler is ANSI compliant. In addition, yourPATH
must contain basic build tools such asmake
.
Accurate time keeping
Elements of the HTTP protocol are expressed as the time of day. So, it's time to investigate setting some time synchronization facility on your system. Usually thentpdate
orxntpd
programs are used for this purpose which are based on the Network Time Protocol (NTP). See the NTP homepage for more details about NTP software and public time servers.
Perl 5 [OPTIONAL]
For some of the support scripts likeapxs
ordbmmanage
(which are written in Perl) the Perl 5 interpreter is required (versions 5.003 or newer are sufficient). If you have multiple Perl interpreters (for example, a systemwide install of Perl 4, and your own install of Perl 5), you are advised to use the--with-perl
option (see below) to make sure the correct one is used byconfigure
. If no Perl 5 interpreter is found by theconfigure
script, you will not be able to use the affected support scripts. Of course, you will still be able to build and use Apache httpd.
选择美丽的角度看待工作(转载)
你在为谁工作?
刚出道,免浮躁;走远道,要开窍:
请不要为老板工作,为你自己工作;
请不要为工资工作,为你自己的能力工作;
请不要为了今天工作,为你一辈子的理想工作。
你的前途不取决于工资,而是取决于能力;因为即使你的工资提高两倍,你也不会成为富人,而成为富人的方法除了买彩票中幸福奖、买股票发投机财之外,只能靠你的能力。靠工资,你一辈子生活在被动之中,靠能力,你终究有一天能站在成功的山巅。
如果你全心追求一份满意的工资本身,那么你可能为这份工资而不满、抱怨甚至勾心斗角,最后在抱怨中失去展现才华提高能力的机会。更何况,就算你最终得到了这份工资,你又会怎样?你的生活能改变很多吗?不会。一个只追求金钱的人不会有丰富的精神世界,所以他的生活仍旧会比较空乏平淡。以钱为导向的生活,总是为小钱苦恼并被小钱绊倒。
如果你为了追求提高能力,为了在几年后甚至十几年后发力的那一天,那么请你经常问自己一个问题:我的一辈子的理想是什么?也请你在每天问自己一个问题:我今天更加靠近目标了吗?如果你这样做,说明你懂得厚积薄发,你具有长远的眼光。能力是最好的投资,投资的时间越长回报也就越大。史玉柱传奇告诉我们财富可能散尽,但拥有创造财富的能力会让你终将笑傲江湖。
有人说:培训是最好的福利。如何理解?因为培训是为了提高员工的能力,所以能力提高是给员工最好的回报。
今天你成长了吗?
不要因为今天工作轻松而高兴,要为今天成长了而高兴;不要因为今天工作中偷懒成功而高兴,因为你其实正在被淘汰。我们每天都应该问自己一个问题:今天我拥有什么?
日起日落,一天就这样过去,时间就是这样简单。如果时间是成本,那么今天我们的收入是什么?是知识的增长,友谊的加深,事业的进步,感悟的积累,还是一天的工资,抑或一句感叹:又一天过去了!很多时候,我们没有时间成本的意识,所以总会挥霍今天而毫无愧疚,更无如何度过今天的计划可言。如果把时间当作投资,那么毫无疑问,我们的收入预算就应该在今天之前已经做好。当每一天都事先有了安排,有了衡量收获的尺度,那么每一天都会有成就感。虽然计划经常赶不上变化,但是在没有变化的时候,计划是条理的依据,在出现变化的时候,计划是做事的参考。不管怎样,如果要“成长有理”,制定一个合理的计划还是挺必要的。
为自己工作,让自己成长,为自己负责,请选择美丽的角度看待工作。
Subscribe to:
Posts (Atom)
scala project to support JDK 17
Compiling my Scala project with JDK 17. status: the project once used sbt version 1.2.8 and scala 2.12.8, and targets JDK 11. it works fin...
-
1. Steps to build httpd Download $ lynx http://httpd.apache.org/download.cgi Extract $ gzip -d httpd- NN .tar.gz $ tar xvf httpd- NN .t...
-
Compiling my Scala project with JDK 17. status: the project once used sbt version 1.2.8 and scala 2.12.8, and targets JDK 11. it works fin...
-
Issue: Users encounter the "[ODBC driver for Oracle][Oracle] Error while trying to retrieve text for error ORA-01019" message wh...