《Linux内核完全注释》《完全剖析》 » 阅读本书所需的基础知识 -- 再次强调。

转贴网址:http://www.oldlinux.org/oldlinux/viewthread.php?tid=2551&extra=page%3D1

 

[这个贴子最后由redgrid在 2006/08/09 00:45pm 第 17 次编辑]

Linux 0.11虽然不是什么“珠穆朗玛峰”,但它肯定还是“华山”或“泰山”。虽然有路但你还是需要最基本的努力和花费一定的代价才能“攀登”上去。
1. PC兼容机硬件工作原理(比如8259A,8253, 8042,UART等硬件);
2. Intel 32位 运行模式工作原理,寻址方式;
3. 传统C语言;
4. 一些Intel asm基础。
5. 会使用Linux操作系统,懂得Linux系统的基本操作。

推荐参考书籍:
============
《UNIX操作系统设计》
http://www.china-pub.com/computers/common/info.asp?id=34
*《UNIX环境高级编程》
http://www.china-pub.com/computers/common/info.asp?id=30
《操作系统:设计与实现》(MINIX)
http://www.china-pub.com/computers/common/info.asp?id=2033
《IBM PC 汇编语言程序设计》
http://www.china-pub.com/computers/common/info.asp?id=7721
*《深入理解计算机系统》
http://www.china-pub.com/computers/common/info.asp?id=18133
《Linux权威指南》
http://www.china-pub.com/computers/common/info.asp?id=1174
《Linux Assembly Language Programming》
ftp://plinux.org/pub/linux/docs/ ... age_Programming.pdf
*《Intel 80386 Programmer';s Reference Manual》
ftp://plinux.org/pub/linux/docs/Intel_80386_Manual.pdf
*《The C Programming Language》
ftp://plinux.org/pub/linux/docs/The_C_programming_Language.rar
加星号“*”者为重点推荐读物!
============================================
如果有些忘了,就请先花哪怕一天时间将这些基础知识先浏览一遍,在看本书。
硬件方面可参考教科书。
Intel 32 mode 可见Intel 386 manual;

内核代码中用到的汇编程序(as86和AT&T语法)可参照以下一些文档。
-------------------------------------------------------------
MINIX 汇编手册: http://www.oldlinux.org/oldlinux/viewthread.php?tid=291
NASM 汇编手册: http://www.oldlinux.org/oldlinux/viewthread.php?tid=877
as86   在线手册: http://www.oldlinux.org/oldlinux/viewthread.php?tid=1895
ld86   在线手册:http://www.oldlinux.org/oldlinux/viewthread.php?tid=1428

/*****************************************/
/* 本站资源:                            */
/* http://oldlinux.org/Linux.old/        */
/*****************************************/
===============================================
如果你具有大学计算机本科或以上学历,那么你可以在适当复习以上知识后就能顺利看懂本书。
如果你是在读本科计算机系的学生,那么在学习过操作系统课程或者正在学习时,只要复习一些有关Intel PC机组成原理,就应该很顺利地理解本书,并能很好地帮助你理解操作系统的基本原理。
如果你是其它专业在读本科学生,那么你可以首先自学一些有关操作系统的理论知识和计算机微机原理课程(如果没有学过的话),了解一些操作系统的基本术语,再继续学习本书。
如果你是一个专科学生,那么你首先需要准备的知识与一个非计算机本科生所要做的一样。
如果你是一个中学毕业的学生,那么你可以先自学一些《计算机原理》、《微机原理》、《C语言》、《英语》等基本课程,然后再继续阅读本书。当然也可以把摊子铺开,同时阅读:)
注意: 无论你现在的学位或学历怎样,这都不是主要问题。关键在于努力和刻苦。而兴趣是学习的最好动力之一。即使你没有任何学位,只要识字能上网,那么你面前的道路还是宽广的。
“世上无难事,只要肯登攀”。



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

源代码浏览工具介绍
http://www.oldlinux.org/oldlinux/viewthread.php?tid=1470

============================
  在本机上阅读源代码,可以使用redhat 的snavigator或Source Dynamics的Source Insight软件。snavigator是免费的,source Insight可以去www.sourceInsight.com去下载。或者在此处下载:
http://oldlinux.org/download/tools/si350.rar (3.2MB)
http://oldlinux.org/download/tools/Release-SN51E-win32.zip (7.8MB)
http://oldlinux.org/download/tools/src2html/

Source Insight的使用方法可参见文章:
http://www-900.ibm.com/developer ... t/tip17/index.shtml
  也可以使用本站网页上提供的再线交叉引用阅读程序:
http://oldlinux.org/lxr/http/source/
在阅读本书时,最好在计算机中安装这两个软件之一,边阅读书中注释边浏览代码。




------------------------------------------------------------------------------------------------
lxr设置方法介绍(1)
======================
How to make your own Cross Reference
By qhshang at 163.com

It is a long long time to gen xref for it, a not so long time to glimpse-index it.
If you are lucky enough to make lxr.conf done like it on this host in half an hour, do NOT drop me a mail:-)
----------------------------------------
Install lxr
Modify Makefile to customize the PERLBIN and INSTALLPREFIX, to indicate the perl program and where you install lxr.
then 
$ make install

To generate your reference for files in Your_dir:
$ genxref Your_dir
while genxref is in lxr/bin
In my practice using genxref, locale should be set to C, en_US.utf-8 is not ok.
I don';t know why, because I don';t read the perl script throughly.
----------------------------------------
Install glimpse:
First make  glimpse, then cp bin/{glimpse,glimpseindex} to /bin or /usr/bin
Generate index using glimpse:
$ glimpseindex -H . Your_dir
here -H means where to put the generated index files.
Test your index:
$ glimpse Your_string
----------------------------------------
Web server configuration
To make lxr viewable in web pages, add lines for xrefs in apache conf 文件:
<Directory /Your_path_to_lxr>
Options All
AllowOverride All
order allow,deny
allow from all
</Directory>
To make sure perl script can be executed:
make a file .htaccess in  your lxr perl script dir:
Options Indexes
<Files ~ (search|source|ident|diff|find)&#36;>
   SetHandler cgi-script
   Options ExecCGI
</Files>

NOTE: some said only one line is OK:
   SetHandler cgi-script
I don';t know if it works.
----------------------------------------
Make your files browsable from browsers:
First you should make sure the lxr dir can be accessed via web server.
then
&#36; chmod 755 xref fileidx
&#36; chmod 755 .glimpse_*
&#36; chmod 755 Your_Dir_To_WWWROOT -R
&#36; chmod 755 Your_Dir_To_LXR -R
----------------------------------------
Configuration 文件: xrefs.conf
My file is only for example use.
Your can modify your conf file according to your own condition.
&#35; Define typed variable "v", read valueset from file.
variable: v, Version, [/Your_web_server_root/xrefs/src/versions], [/Your_web_server_root/xrefs/src/defversion]
&#35; here variable v is for Version, read from file, and defversion is for
&#35; default version, which will be shown to you by default.
&#35; Define typed variable "a".  First value is default.
variable: a, Architecture, [/Your_web_server_root/xrefs/src/archs]
&#35; and a is for Arch, the first one will be shown by default.
&#35; Define the base url for the LXR files.
baseurl: http://Your_web_server_root/xrefs/
&#35; this url variable can be refered in template-head

&#35; These are the templates for the HTML heading, directory listing and
&#35; footer, respectively.
htmlhead: /Your_web_server_root/xrefs/template-head
htmltail: /Your_web_server_root/xrefs/template-tail
htmldir:  /Your_web_server_root/xrefs/template-dir
&#35; The source is here.
sourceroot: /Your_web_server_root/xrefs/src/linux-&#36;v/linux
srcrootname: Linux-&#36;v
&#35; because I have more then one Linux kernel version, so I put them like the 
&#35; above for clear reference
&#35; I make a linux subdir to hold the original kernel source here
&#35; "&#35;include <foo.h>" is mapped to this directory (in the LXR source
&#35; tree)
incprefix: /usr/include
&#35; I don';t know what is this mean, who can tell qhshang?
&#35; The database files go here.
dbdir: /Your_web_server_root/xrefs/src/linux-&#36;v
&#35; here is where you put the fileidx and xref file db.
&#35; the location can be various according to your operation.
&#35; Glimpse can be found here.
glimpsebin: /usr/local/bin/glimpse
&#35; for freetext search
&#35; The power of regexps.  This is pretty Linux-specific, but quite
&#35; useful.  Tinker with it and see what it does.  (How';s that for
&#35; documentation?)
map: /include/asm[^//]*/ /include/asm-&#36;a/
map: /arch/[^//]+/ /arch/&#36;a/
----------------------------------------
To provide the cross reference with Green-colored comments for C/C++,
there is a patch for lxr.(I am sorry that I forgot the url of this patch.)
It should be put to lxr/lib/LXR.

--- Common.pmWed Mar  7 15:34:24 2001
+++ Common.pmSat Jan 27 12:42:41 2001
@@ -18,8 +18,8 @@

@cterm = (';atom';,';.';,';';,
-  ';comment';,';//*';,';/*/';,
-  ';comment';,';//';,"/n",
+  ';comment1';,';//';,"/n",
+  ';comment2';,';//*';,';/*/';,
';string';,';"';,';"';,
';string';,"';","';",
';include';,';&#35;include';,"/n");
@@ -179,12 +179,17 @@
while (defined(&#36;frag)) {
   &markspecials(&#36;frag);
-    if (&#36;btype eq ';comment';) {
-&#35; Comment
+    if (&#36;btype eq ';comment1';) {
+&#35; C++-style comment ';//';
&#35; Convert mail adresses to mailto:
&freetextmarkup(&#36;frag);
-&#36;frag = "<b><i>&#36;frag</i></b>";
-&#36;frag =~ s&#35;/n&#35;</i></b>/n<b><i>&#35;g;
+&#36;frag = "<font color=/"&#35;00AA00/"><i>&#36;frag";
+&#36;frag =~ s&#35;/n&#35;</i></font>/n&#35;g;
+    } elsif (&#36;btype eq ';comment2';) {
+&#35; C-style comment ';/* ... */';
+&freetextmarkup(&#36;frag);
+&#36;frag = "<font color=/"&#35;00AA00/"><i>&#36;frag</i></font>";
+&#36;frag =~ s&#35;/n&#35;</i></font>/n<font color=/"/&#35;00AA00/"><i>&#35;g;
   } elsif (&#36;btype eq ';string';) {
&#35; String
&#36;frag = "<i>&#36;frag</i>";
----------------------------------------
Some misc questions:
开始lxr作perl查询的时候出错,有时侯能工作,但是有警告:
       /** Warning: Use of uninitialized value in subroutine entry at
       /usr/lib/perl5/5.8.0/i386-linux-thread-multi/DB_File.pm line 259./
于是找到这个文件中的相应行,不知是错什么了:
DoTie_(&#36;tieHASH, @arg) ;
觉得是mod_perl问题。
下载一个mod_perl-1.99_10,照别人曾经写的作:
解压到/root:
&#36; perl Makefile.PL EVERYTHING=1 APACHE_SRC=../httpd.x.x.x /src
USE_APACI=1 PREP_HTTPD=1 DO_HTTPD=1
结果是:
[root@secteam mod_perl-1.99_10]&#35; perl Makefile.PL EVERYTHING=1
APACHE_SRC=../httpd-2.0.47/ USE_APACI=1 PREP_HTTPD=1 DO_HTTPD=1
Reading Makefile.PL args from &#64;ARGV
!!! Unable to determine server version, aborting.
!!! Please specify MP_APXS or MP_AP_PREFIX.

不行,我猜测是版本不同导致的问题
于是按照mod_perl 的INSTALL 文件作:
% perl Makefile.PL MP_APXS=/usr/local/apache2/bin/apxs
make没有问题,make test 有很多错:
/usr/bin/perl -Iblib/arch -Iblib/lib /
t/TEST -clean
*** setting ulimit to allow core files
ulimit -c unlimited; t/TEST -clean
APACHE_USER= APACHE_GROUP= APACHE_PORT= APACHE= APXS= /
/usr/bin/perl -Iblib/arch -Iblib/lib /
t/TEST -verbose=0
*** setting ulimit to allow core files
ulimit -c unlimited; t/TEST -verbose=0
*** root mode: changing the files ownership to ';nobody'; (99:99)
*** sudo -u ';&#35;99'; /usr/bin/perl -e ';print -r "/root/mod_perl-1.99_10/t"
&& -w _ && -x _ ? "OK" : "NOK"';
*** result: NOK
!!! You are running the test suite under user ';root';.
Apache cannot spawn child processes as ';root';, therefore
we attempt to run the test suite with user ';nobody'; (99:99).
The problem is that the path:
/root/mod_perl-1.99_10/t
must be ';rwx'; by user ';nobody';, so Apache can read and write under that
path.
There several ways to resolve this issue. For example move
';/root/mod_perl-1.99_10/t'; to ';/tmp/'; and repeat the ';make test'; phase.
You can test whether the location is good by running the following test:
% sudo -u ';&#35;99'; /usr/bin/perl -e ';print -r "/root/mod_perl-1.99_10/t" &&
-w _ && -x _ ? "OK" : "NOK"';

make: *** [run_tests] Error 29
原来是解tar gz包到root路径的原因,先不理会,make install也可以安装,重启
apache,
查询警告依旧。
于是重新解到tmp下,
% perl Makefile.PL MP_APXS=/usr/local/apache2/bin/apxs
% make && make test
还是同样的错,
突然看到错误中还有: /root/mod_perl-1.99_10/t,可是我已经解到/tmp下作的
呀,很不解,(:-)没有深究)
只有删掉/root下的,重新解到/tmp,
make test的时候巨多的OK。。。
然后就一路顺风成功install。
于是启动apache:
[root@secteam apache2]&#35; ./bin/apachectl start
Syntax error on line 235 of /usr/local/apache2/conf/httpd.conf:
Invalid command ';AddModule';, perhaps mis-spelled or defined by a module
not included in the server configuration
现在注释掉下面的
[root@secteam apache2]&#35; vi /usr/local/apache2/conf/httpd.conf
&#35;AddModule mod_perl.c
启动
[root@secteam apache2]&#35; ./bin/apachectl start
[Thu Oct 09 10:00:34 2003] [error] Can';t locate Apache.pm in @INC (@INC
contains: /usr/lib/perl5/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/5.8.0
/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl/5.6.1
/usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl .
/usr/local/apache2/ /usr/local/apache2/lib/perl) at (ev&#97;l 1) line 3.
[Thu Oct 09 10:00:34 2003] [error] Can';t load Perl module Apache for
server 192.9.200.102:80, exiting...
奇怪,怎么没有Apache.pm呢,locate Apache.pm出来好几个,
因为不知道哪里修改@INC,所以我找到一个Apache.pm拷贝到@INC中的一个位置。
启动[root@secteam apache2]&#35; ./bin/apachectl start,可以,但是查询的时候
警告仍然如初
这样认为是pm问题,需要perl5.8.1,于是make,make install
启动apachectl,发现libperl.so找不到,连vim都不能用了:
vim: error while loading shared libraries: libperl.so: cannot open
shared object 文件: No such file or directory
于是从别的地方找了一个拷贝到/usr/lib,可以了。
然后去掉perl5.8.0的内容,这次启动apache,发现又有很多pm找不到,
觉的是mod_perl的配置决定了perl相关程序的位置。
于是重新把mod_perl make,make install,
此时执行lxr发现错误:
The server encountered an internal error or misconfiguration and was
unable to complete your request.
分析了一下,觉的是perl的路径问题,修改lxr的以下文件的perl路径:
diff,find,ident,search,source,
OK(或者把perl链接到/usr/bin因为大多perl脚本都是)
这样lxr的标识符索引也没有警告了,但是freetext搜索还不可以,
认为是glimpse的问题。(freetext有glimpse支持)
然后把glimpse的属性搞定,freetext搜索就好了
现在默认是Linux-2.5.72-lsm1/

其他问题
apachectl的问题:
我是ssh到server上的,执行
/usr/local/apache2/bin/apachectl restart
每次都使得我的ssh链接关闭,不得其解,
到server本机终端执行
/usr/local/apache2/bin/apachectl restart
每次都退出一层shell,奇怪。(没有仔细读apachectl script)
只好到apache 所在路径下执行。
各位可否给点指点? 而且apachectl不给出成功与否,
[root@secteam apache2]&#35; ./bin/apachectl stop
httpd (pid 20453?) not running



------------------------------------------------------------------------------------------------
Lxr设置方法介绍(2)
==========================
0. 假设你把lxr安装在你的web主目录中(也即,例如,http://oldlinux.org/lxr/),那么:
1. web目录下建立文件“.htaccess”,其内容如下:
-----------------开始(不包括本行)
&#35; Web Access script permission
<Files ~ (search|ident|diff|find|source|ident1)&#36;>
SetHandler cgi-script
</Files>
------------------结束

2. 编辑配置文件: lxr/http/lxr.conf 例如oldlinux.org的配置文件内容为:
--------------------开始
&#35; Configuration file.
&#35; Define typed variable "v", read valueset from file.
variable: v, 版本, [/var/www/oldlinux.org/lxr/source/versions], [/var/www/oldlinux.org/lxr/source/defversion]
&#35; Define typed variable "a".  First value is default.
variable: a, 体系结构, (i386)
&#35; Define the base url for the LXR files.
baseurl: http://oldlinux.org/lxr/http/
&#35; These are the templates for the HTML heading, directory listing and
&#35; footer, respectively.
htmlhead: /var/www/oldlinux.org/lxr/http/template-head
htmltail: /var/www/oldlinux.org/lxr/http/template-tail
htmldir:  /var/www/oldlinux.org/lxr/http/template-dir
&#35; The source is here.
sourceroot: /var/www/oldlinux.org/lxr/source/&#36;v/linux/
srcrootname: Linux
&#35; "&#35;include <foo.h>" is mapped to this directory (in the LXR source
&#35; tree)
incprefix: /include
&#35; The database files go here.
dbdir: /var/www/oldlinux.org/lxr/source/&#36;v
&#35; Glimpse can be found here.
glimpsebin: /usr/local/bin/glimpse
&#35; The power of regexps.  This is pretty Linux-specific, but quite
&#35; useful.  Tinker with it and see what it does.  (How';s that for
&#35; documentation?)
map: /include/asm[^//]*/ /include/asm-&#36;a/
map: /arch/[^//]+/ /arch/&#36;a/
----------------------------结束。
3. 建立源文件内容。对每一个想要浏览的内核版本,按以下步骤进行(若要使用第5,6选项步骤,你要首先安装glimpse软件):
&#35; Source install procedures
1. mkdir a subdirectory with the code version number;
2. chdir into the subdirectory;
3. tar -zxvf the compressed soucecode(this will generate a ';linux'; subdir);
4. /var/www/html/lxr/bin/genxref linux
5. [ Optional ] glimpseindex -H . linux
6. [ Optional ] chmod 644 .glim*
7. Edit the ';versions'; file to contain this new code version number;
8. done!
Example: To Install the linux kernel code version 2.1.33:
The compressed code packet is : linux-2.1.33.tar.gz
----------------------------------------------------------
1. mkdir /var/www/html/lxr/source/2.1.33
2. chdir /var/www/html/lxr/source/2.1.33
3. tar -zxvf linux-2.1.33.tar.gz
4. /var/www/html/lxr/bin/genxref linux
5. [ Optional ] glimpseindex -H . linux
6. [ Optional ] chmod 644 .glim*
7. Insert the line ';2.1.33'; into the ';versions'; file.
8. Done! 
=======================================================================
=======================================================================
最后提醒一下,从我们讨论的内核版本号(0.11)可以知道,这个内核版本并不是
一个没有错误的完善版本(当然这也不存在),其中有些代码必然不可能都是
最好或是最有效率的,但是作为了解内核工作实现原理来讲肯定已经做够了。

****** 这里是终点,更是一个新的起点 ******

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/462598.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu命令行登录

网址&#xff1a;http://hi.baidu.com/tingphoon/blog/item/9f03b41c7973a58c86d6b635.html 方法一&#xff1a; 转到kubuntu之前曾经学习了一下&#xff0c;了解到ubuntu在6.10开始用upstart替代init&#xff0c;主要脚本都在/etc/event.d下面&#xff0c;默认情况下/etc下没…

圆桌论坛对话:互联网产业革命

2019独角兽企业重金招聘Python工程师标准>>> 圆桌论坛对话&#xff1a;互联网产业革命 2012年12月18日&#xff0c;2012中国互联网经济论坛即将召开在北京万豪酒店举行。本次大会以“得势者、得天下”为主题&#xff0c;着眼于网络广告与新媒体&#xff0c;深度聚焦…

Windows PowerShell:(2)基本操作

一、启动PowerShell 2.0 打开“开始”、“所有程序”、“附件”、“Windows PowerShell”程序组&#xff0c;点击“Windows PowerShell”。 二、基本操作 1、查看可用的命令的列表 Get-Command 注&#xff1a;PowerShell有自动补齐命令的功能。例如&#xff0c;在本例中只需要输…

CMDB小计1

1.web开发&#xff08;Django&#xff0c;flask&#xff0c; tornado&#xff09;。 2.自动化运维&#xff08;CMDB项目&#xff09;。 3.爬虫 和 数据分析。 4.自动化测试。 4.人工智能&#xff0c;机械学习&#xff0c; 算法 CMDB 项目&#xff1a; 自动化运维&#xff1a; 运…

Eclipse搭建Cocos2d-x运行环境问题汇总(不含CygWin)

具体搭建方法&#xff0c;可参阅这两篇文章 http://www.cnblogs.com/ybgame/archive/2012/06/07/2540693.html http://blog.csdn.net/maojudong/article/details/7261986 首先导入Cocos2d-x下的HelloCpp项目 本文主要记录在配置的过程中遇到的问题及注意事项 问题1.jni/Android…

宋体配置JAVA j2ee (一) 轻松入门

最近使用开辟的程过中现出了一个小问题&#xff0c;顺便记录一下原因和方法--宋体配置 背景绍介我们经已学习了.NET台平环境下开辟Web目项&#xff0c;经过较长时光接触与学习&#xff0c;慢慢的对于它也熟习了&#xff0c;然而你否是对于Java熟习呢。.NET台平同Java有很多型类…

mysql数据的表分区一

当mysql中医个表的总记录数超过了1000W&#xff0c;会出现性能大幅度下降的情况&#xff0c;单性能下降的比率由系统的架构、应用程序、数据库索引、服务器硬件等多种因素而定。数据库多达上亿的数据量&#xff0c;分表之后的单个表 也已经超过了千万&#xff0c;那么单个表的更…

ZOJ-2587 Unique Attack 最小割的唯一性判定

题意&#xff1a;给定一个无向图&#xff0c;要求判定分离两个点的最小割是否唯一。 解法&#xff1a;在求出最大流的基础上&#xff0c;从源点进行一次搜索&#xff0c;搜索按照未饱和的边进行&#xff0c;得到顶点子集S的顶点个数&#xff1b;再从汇点反向搜索未饱和的边&…

dubbo与springmvc的简单使用

什么是Dubbo&#xff1f; dubbo是阿里巴巴公司开源的高性能优秀服务框架&#xff0c;通过高性能的RPC&#xff08;远程服务调用&#xff09;实现服务的输入输出功能&#xff0c;可以与spring框架无缝整合&#xff1b; 传统的架构所有的模块都在一台服务器上&#xff0c;单台服务…

Mina学习之搭建项目工程目录

为什么80%的码农都做不了架构师&#xff1f;>>> Mina核心分层分为&#xff1a;IoService,IoFilter和IoHandler 搭建项目工程目录&#xff0c;一般应用都包含如下几个部分&#xff1a; 1、server\client 创建mina连接&#xff0c;TCP/IP请求响应模式 …

HttpClient中转上传文件

原文&#xff1a;https://www.cnblogs.com/lyxy/p/5629151.html 场景&#xff1a;客户端(浏览器)A---->选择文件上传---->服务器B---->中转文件---->服务器C---->返回结果---->服务器B---->客户端A 有时候在项目中需要把上传的文件中转到第三方服务器&…

sublime text 2快捷键总结

为什么80%的码农都做不了架构师&#xff1f;>>> 以mac系统为例 一&#xff1a;编辑&#xff08;我们使用一个编辑器最频繁的事情就是编辑了。&#xff09; &#xff08;1&#xff09;基本操作&#xff1a; 【1】CommandA:全选 【2】CommandC:复制 【3】Comman…

Spring Boot 2.1.5 正式发布,1.5.x 即将结束使命!

Spring Boot 官网在 2019/03/15 这天发布了 Spring Boot 2.1.5 正式版&#xff0c;栈长表示真跟不上了。。 官宣如下 &#xff1a; https://spring.io/blog/2019/05/15/spring-boot-2-1-5-released 仓库也已经跟上&#xff1a; 那这个版本有什么新功能&#xff1f; 1、增加了 S…

Console-算法[for,if]-有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数...

ylbtech-Arithmetic:Console-算法[for,if]-有5个人坐在一起&#xff0c;问第五个人多少岁&#xff1f;他说比第4个人大2岁。问第4个人岁数1.A&#xff0c;Demo(案例)【程序28】 题目&#xff1a;有5个人坐在一起&#xff0c;问第五个人多少岁&#xff1f;他说比第4个人大2岁。问…

原来MySQl就是这样工作的

一、MySQL简单介绍MySQL是当今最流行的开源数据库管理系统&#xff0c;超过10亿的下载量足可以证明这点。MySQL以其速度、高可靠性、简单易用&#xff0c;广泛应用,一些大型企业也在逐渐应用&#xff0c;如&#xff1a;Facebook、维基百科等网站。MySQL最早由瑞典的MySQL AB公司…

Java生成二进制文件与Postman以二进制流的形式发送请求

业务描述&#xff1a; 模拟终端&#xff08;智能家居&#xff09;发送HTTP POST请求&#xff0c;请求参数为二进制流&#xff1b;而且&#xff0c;二进制流是加密后的数据&#xff0c;因此调试分两步&#xff1a; 1、Java代码生成加密后数据&#xff0c;并保存为二进制流文件 &…

电脑上面玩Android 游戏(.apk文件)

Android模拟器, 下载地址 http://files.cnblogs.com/jx270/BlueStacks-SplitInstaller_native.rar 下载完毕后解压&#xff0c;双击安装, 然后自己去下一些.apk文件&#xff0c;双击即可在电脑上面使用 ps自己配一个手柄,玩游戏不错,

JQuery最佳实践

作者&#xff1a; 阮一峰 日期&#xff1a; 2011年8月 4日 上周&#xff0c;我整理了《jQuery设计思想》。 那篇文章是一篇入门教程&#xff0c;从设计思想的角度&#xff0c;讲解"怎么使用jQuery"。今天的文章则是更进一步&#xff0c;讲解"如何用好jQuery&quo…

Excel-在整个工作簿中查找/替换

13、在整个工作簿中查找/替换 调范围为&#xff1a;工作簿&#xff0c;默认是工作表&#xff1b; 转载于:https://www.cnblogs.com/Formulate0303/p/10885194.html

WCF服务实例激活类型编程与开发(转)

【引言】&#xff1a; 在WCF分布式开发必备知识(2):.Net Remoting这 篇文章里我已经介绍过了Net Remoting相关的概念&#xff0c;其中也包括Net Remoting的激活方式&#xff1a;SingleTon模式、SingleCall模式、客户端激活方式。其实WCF服务的激活方式也与此相似。服务激活方式…