php---杂谈_mb_regex_encoding-程序员宅基地

技术标签: ”php+mysql-常见问题“  

1. 基本知识点

* HTTP协议中几个状态码的含义:503 500 401 200 301302
503:请求超时 500:内部服务错误,一般是php程序错误导致401:未受权访问  200 :正确响应 301::永久重定向 302:临时重定向
* Include require include_once require_once的区别.
include与require区别:
include包含文件可以return返回值,require不能 ;
require不能在控制结构中根据条件的不同而包含不同的文件。require()语句只会在第一次执行时调用它所包含的文件中的内容替换本身这条语句,当再次被执行时只能执行第一次所包含的语句。但是include()语句可以在循环体中来包含不同的文件,所以php解析器每次遇到include()语句时,对它进行重新处理。
在程序中只要有require,就会被包含,即使你在一个非真的if语句里,所以require一般都放在程序的最头部,
require()语句在PHP程序执行前就会将使用require引用的文件读入,如果requrie包含文件出错,程序会中止,include语句只有在被执行时才会读入要包含的文件,如果include包含文件出错,程序会跳过错误,继续执行
include_once与include(require_once与require) 区别
include_once会检查是否在其它地方导入过,有导入过则不在重复导入,这样可以避免函数或变量重复定义的错误,而include会无限数导入,
require_once同上
* PHP/Mysql中几个版本的进化史,比如mysql4.0到4.1,PHP4.x到5.1的重大改进等等。
mysql4.1 改进了子查询(MyIsam用了R-trees)5.0增加了存诸过程 视图 游标 5.1 有触发器,约束,InnoDB外键等改进
php5主要增强了oo特性,比如构造/析构函数,类中属性和方法的类型(public,private,protected)一些魔术方法(__call,__set,__get等),接口等
* HEREDOC介绍
* 写出一些php魔幻方法;
* 一些编译php时的configure 参数
prefix,with-config-file,with-mysql ,with-myqli,with-gd,with-curl,with-iconv,with-mbstr等
* 向php传入参数的两种方法。
get , post
* (mysql)请写出数据类型(int char varchar datetime text)的意思;请问varchar和char有什么区别;
int:数字型  范围:-2147483648 to 2147483647
cahr:固定长度字符串
varchar :可变长度字符串
datetime : 0000-00-00 00:00:00 时间类型
text : 超长字符串,可存2^16-1字节
varchar与char区别:一个固定,一个可变,所以char一般情况下所占空间更大,但查询更快(不需要计算字符串长度)
* error_reporting等调试函数使用
一般在生产环境上设置为:error_reporting(0)用来不显示错误,开发环境设置为:error_reporting(E_ALL)用来显示所有错误
* 您是否用过版本控制软件?如果有您用的版本控制软件的名字是?
用过,subsvn
* posix和perl标准的正则表达式区别;
  1. 正则表达式(Regular Expression,缩写为regexp,regex或regxp),又称正规表达式、正规表示式或常规表达式或正规化表示法或正规表示法,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串 。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容 。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的在正则表达式引擎。正则表达式这个概念最初是由 Unix中的工具软件(例如sed和grep)普及开的。(摘自维基百科)  
  2.   
  3. PHP同时使用两套正则表达式规则,一套是由电气和电子工程师协会(IEEE)制定的POSIX Extended 1003.2兼容正则(事实上PHP对此标准的支持并不完善),另一套来自PCRE(Perl Compatible Regular Expression)库提供PERL兼容正则,这是个开放源代码的软件,作者为 Philip Hazel。  
  4.   
  5. 使用POSIX兼容规则的函数有:  
  6. ereg_replace()  
  7. ereg()  
  8. eregi()  
  9. eregi_replace()  
  10. split()   
  11. spliti()   
  12. sql_regcase()  
  13. mb_ereg_match()  
  14. mb_ereg_replace()  
  15. mb_ereg_search_getpos()  
  16. mb_ereg_search_getregs()  
  17. mb_ereg_search_init()  
  18. mb_ereg_search_pos()  
  19. mb_ereg_search_regs()  
  20. mb_ereg_search_setpos()  
  21. mb_ereg_search()  
  22. mb_ereg()  
  23. mb_eregi_replace()  
  24. mb_eregi()  
  25. mb_regex_encoding()  
  26. mb_regex_set_options()  
  27. mb_split()  
  28.   
  29. 使用PERL兼容规则的函数有:  
  30. preg_grep()  
  31. preg_replace_callback()  
  32. preg_match_all()  
  33. preg_match()  
  34. preg_quote()  
  35. preg_split()  
  36. preg_replace()  
  37.   
  38. 定界符:   
  39.   
  40. POSIX兼容正则没有定界符,函数的相应参数会被认为是正则。  
  41.   
  42. PERL兼容正则可以使用任何不是字母、数字或反斜线(\)的字符作为定界符,如果作为定界符的字符必须被用在表达式本身中,则需要用反斜线转义。也可以使用(),{},[] 和 <> 作为定界符  
  43.   
  44. 修正符:   
  45.   
  46. POSIX兼容正则没有修正符。  
  47.   
  48. PERL兼容正则中可能使用的修正符(修正符中的空格和换行被忽略,其它字符会导致错误):  
  49.   
  50. (PCRE_CASELESS):  
  51. 匹配时忽略大小写。  
  52.   
  53. m(PCRE_MULTILINE):  
  54. 当设定了此修正符,行起始(^)和行结束($)除了匹配整个字符串开头和结束外,还分别匹配其中的换行符(\n)的之后和之前。  
  55.   
  56. s(PCRE_DOTALL):  
  57. 如果设定了此修正符,模式中的圆点元字符(.)匹配所有的字符,包括换行符。没有此设定的话,则不包括换行符。  
  58.   
  59. x(PCRE_EXTENDED):  
  60. 如果设定了此修正符,模式中的空白字符除了被转义的或在字符类中的以外完全被忽略。  
  61.   
  62. e:   
  63. 如果设定了此修正符,preg_replace() 在替换字符串中对逆向引用作正常的替换,将其作为 PHP 代码求值,并用其结果来替换所搜索的字符串。 只有 preg_replace() 使用此修正符,其它 PCRE 函数将忽略之。  
  64.   
  65. A(PCRE_ANCHORED):  
  66. 如果设定了此修正符,模式被强制为“anchored”,即强制仅从目标字符串的开头开始匹配。  
  67.   
  68. D(PCRE_DOLLAR_ENDONLY):  
  69. 如果设定了此修正符,模式中的行结束($)仅匹配目标字符串的结尾。没有此选项时,如果最后一个字符是换行符的话,也会被匹配在里面。如果设定了 修正符则忽略此选项。  
  70.   
  71. S:   
  72. 当一个模式将被使用若干次时,为加速匹配起见值得先对其进行分析。如果设定了此修正符则会进行额外的分析。目前,分析一个模式仅对没有单一固定起始字符的 non-anchored 模式有用。  
  73.   
  74. U(PCRE_UNGREEDY):  
  75. 使“?”的默认匹配成为贪婪状态的。  
  76.   
  77. X(PCRE_EXTRA):  
  78. 模式中的任何反斜线后面跟上一个没有特殊意义的字母导致一个错误,从而保留此组合以备将来扩充。默认情况下,一个反斜线后面跟一个没有特殊意义的字母被当成该字母本身。  
  79.   
  80. u(PCRE_UTF8):  
  81. 模式字符串被当成UTF-8。  
  82.   
  83. 逻辑区隔:   
  84.   
  85. POSIX兼容正则和PERL兼容正则的逻辑区隔符号作用和使用方法完全一致:  
  86. []:包含任选一操作的相关信息。  
  87. {}:包含匹配次数的相关信息。  
  88. ():包含一个逻辑区间的相关信息,可被用来进行引用操作。  
  89. |:表示“或”,[ab]和a|b是等价的。  
  90.   
  91. 元字符与“[]”相关:  
  92.   
  93. 有两组不同的元字符:一种是模式中除了方括号内都能被识别的,还有一种是在方括号“[]”内被识别的。  
  94.   
  95. POSIX兼容正则和PERL兼容正则“[]之外”“一致”的元字符:  
  96. 有数种用途的通用转义符  
  97. 匹配字符串的开头  
  98. 匹配字符串的结尾  
  99. 匹配0或者1  
  100. 匹配 个或多个前面指定类型的字符  
  101. 匹配 个或多个前面指定类型的字符  
  102.   
  103. POSIX兼容正则和PERL兼容正则“[]之外”“不一致”的元字符:  
  104. PERL兼容正则匹配除了换行符外的任意一个字符  
  105. POSIX兼容正则匹配任意一个字符  
  106.   
  107. POSIX兼容正则和PERL兼容正则“[]之内”“一致”的元字符:  
  108. 有数种用途的通用转义符  
  109. 取反字符,但仅当其为第一个字符时有效  
  110. 指定字符ASCII范围,仔细研究ASCII码,你会发现[W-c]等价于[WXYZ\\^_`abc]  
  111.   
  112. POSIX兼容正则和PERL兼容正则“[]之内”“不一致”的元字符:  
  113. POSIX兼容正则中[a-c-e]的指定会抛出错误。  
  114. PERL兼容正则中[a-c-e]的指定等价于[a-e]。  
  115.   
  116. 匹配次数与“{}”相关:  
  117.   
  118. POSIX兼容正则和PERL兼容正则在匹配次数方面完全一致:  
  119. {2}:表示匹配前面的字符2次  
  120. {2,}:表示匹配前面的字符2次或多次,默认都是贪婪(尽可能多)的匹配  
  121. {2,4}:表示匹配前面的字符2次或4次  
  122.   
  123. 逻辑区间与“()”相关:  
  124.   
  125. 使用()包含起来的区域是一个逻辑区间,逻辑区间的主要作用是体现出一些字符出现的逻辑次序,另一个用处就是可以用来引用(可以将此区间内的值引用给一个变量)。后一个作用比较奇特:  
  126.   
  127.   
  128. 在引用的时候,括号是可以嵌套的,逻辑次序是按照“(”出现的次序来标定的。  
  129.   
  130. 类型匹配:   
  131.   
  132. POSIX兼容正则:  
  133. [:upper:]:匹配所有的大写字母  
  134. [:lower:]:匹配所有的小写字母  
  135. [:alpha:]:匹配所有的字母  
  136. [:alnum:]:匹配所有的字母和数字  
  137. [:digit:]:匹配所有的数字  
  138. [:xdigit:]:匹配所有的十六进制字符,等价于[0-9A-Fa-f]  
  139. [:punct:]:匹配所有的标点符号,等价于 [.,"'?!;:]  
  140. [:blank:]:匹配空格和TAB,等价于[ \t]  
  141. [:space:]:匹配所有的空白字符,等价于[ \t\n\r\f\v]  
  142. [:cntrl:]:匹配所有ASCII 0到31之间的控制符。  
  143. [:graph:]:匹配所有的可打印字符,等价于:[^ \t\n\r\f\v]  
  144. [:print:]:匹配所有的可打印字符和空格,等价于:[^\t\n\r\f\v]  
  145. [.c.]:功能不明  
  146. [=c=]:功能不明  
  147. [:<:]:匹配单词的开始  
  148. [:>:]:匹配单词的结尾  
  149.   
  150. PERL兼容正则(这里可以看出PERL正则的强大):  
  151. \a alarm,即 BEL 字符(’0)  
  152. \cx "control-x",其中 是任意字符  
  153. \e escape(’0B)  
  154. \f 换页符 formfeed(’0C)  
  155. \n 换行符 newline(’0A)  
  156. \r 回车符 carriage return(’0D)  
  157. \t 制表符 tab(’0)  
  158. \xhh 十六进制代码为 hh 的字符  
  159. \ddd 八进制代码为 ddd 的字符,或 backreference  
  160. \d 任一十进制数字  
  161. \D 任一非十进制数的字符  
  162. \s 任一空白字符  
  163. \S 任一非空白字符  
  164. \w 任一“字”的字符  
  165. \W 任一“非字”的字符  
  166. \b 字分界线  
  167. \B 非字分界线  
  168. \A 目标的开头(独立于多行模式)  
  169. \Z 目标的结尾或位于结尾的换行符前(独立于多行模式)  
  170. \z 目标的结尾(独立于多行模式)
* Safe_mode 打开后哪些地方受限.
会影响到system,passthru,exec,shell_exec,popen,phpinfo等等大部分的文件操作函数。
* 写一段上传文件的代码。

functionuploadAllFile($file,$filename,$dir,$maxsize) {

  if($_[$file]['size']>$maxsize)

  {

   return-2;  //返回-2表示上传文件大小大于规定大小

  }

  else

  {

  if(substr($dir,-1)!='/')

   {

    $dir =$dir.'/';

   }

   else

   {

    $dir =$dir;

   }

   if($filename=='')

 {

    $tempname= @explode('.',$_FILES[$file]['name']);

    $filename= $tempname[0];

    $FileExt= $tempname[1];

   }else{

    $tempname= @explode('.',$_FILES[$file]['name']);

    $FileExt= $tempname[1];

   }

   $filepath =$dir.$filename.'.'.$FileExt;

  if(@move_uploaded_file($_FILES[$file]['tmp_name'],$dir.$filename.'.'.$FileExt))

   {

    return$filepath;   //表示上传文件成功

   }

   else

   {

    return0;  //返回0表示上传文件失败  

} }

 

* 写代码来解决多进程/线程同时读写一个文件的问题。

  1. 大家都知道,PH是没有多线程概念的,尽管如此我们仍然可以用“不完美”的方法来模拟多线程。简单的说,就是队列处理。通过对文件进行加锁和解锁,来实现。当一个文件被一个用户操作时,该文件是被锁定的,其他用户只能等待,确实不够完美,但是也可以满足一些要求不高的应用。  
  2. function T_put($filename,$string){  
  3. $fp fopen($filename,’a'); //追加方式打开  
  4. if (flock($fp, LOCK_EX)){ //加写锁  
  5. fputs($fp,$string); //写文件  
  6. flock($fp, LOCK_UN); //解锁  
  7. }   
  8. fclose($fp);  
  9. }   
  10. function T_get($filename,$length){  
  11. $fp fopen($filename,’r'); //追加方式打开  
  12. if (flock($fp, LOCK_SH)){ //加读锁  
  13. $result fgets($fp,$length); //读取文件  
  14. flock($fp, LOCK_UN); //解锁  
  15. }   
  16. fclose($fp);  
  17. return $result;  
  18.  

* Mysql 的存储引擎,myisam和innodb的区别。

  1. 简单的表达。  
  2. MyISAM 是非事务的存储引擎。  
  3. innodb是支持事务的存储引擎。  
  4.   
  5. innodb的引擎比较适合于插入和更新操作比较多的应用  
  6. 而MyISAM 则适合用于频繁查询的应用  
  7.   
  8. MyISAM --表锁。  
  9. innodb--设计合理的话是行锁。  
  10. MyISAM 不会出现死锁。  
  11.   
  12. 最大的区别就是MYISAM适合小数据,小并发;INNODB 适合大数据,大并发。最大的区别就是在锁的级别上。  
  13.   
  14. MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。 MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。综述,就可以根据数据表不同的用处是用不同的存储类型。而且MyISAM是文件存储的,可以进行直接在不同操作系统间拷贝使用。  
  15.    
  16. InnoDB:   
  17. InnoDB 给 MySQL 提供了具有事务(commit)、回滚(rollback)和崩溃修复能力(crash recovery capabilities)的事务安全(transaction-safe (ACID compliant))型表。InnoDB 提供了行锁(locking on row level),提供与 Oracle 类型一致的不加锁读取(non-locking read in SELECTs)。这些特性均提高了多用户并发操作的性能表现。在InnoDB表中不需要扩大锁定(lock escalation),因为 InnoDB 的列锁定(row level locks)适宜非常小的空间。InnoDB 是 MySQL 上第一个提供外键约束(FOREIGN KEY constraints)的表引擎。InnoDB 的设计目标是处理大容量数据库系统,它的 CPU 利用率是其它基于磁盘的关系数据库引擎所不能比的。在技术上,InnoDB 是一套放在 MySQL 后台的完整数据库系统,InnoDB 在主内存中建立其专用的缓冲池用于高速缓冲数据和索引。 InnoDB 把数据和索引存放在表空间里,可能包含多个文件,这与其它的不一样,举例来说,在 MyISAM 中,表被存放在单独的文件中。InnoDB 表的大小只受限于操作系统的文件大小,一般为 GB。InnoDB所有的表都保存在同一个数据文件 ibdata1 中(也可能是多个文件,或者是独立的表空间文件),相对来说比较不好备份,可以拷贝文件或用navicat for mysql。  
  18.    
  19. MyISAM   
  20. 每张MyISAM 表被存放在三个文件 :frm 文件存放表格定义。 数据文件是MYD (MYData) 。 索引文件是MYI (MYIndex) 引伸。  
  21. 因为MyISAM相对简单所以在效率上要优于InnoDB,小型应用使用MyISAM是不错的选择。  
  22. MyISAM表是保存成文件的形式,在跨平台的数据转移中使用MyISAM存储会省去不少的麻烦  

2. web 架构,安全,项目经验

* 介绍xdebug,apc,eAccelerator,Xcache,Zend opt的使用经验。
*使用mod_rewrite,在服务器上没有/archivers/567.html这个物理文件时,重定向到index.php?id=567,请先打开mod_rewrite.
* MySQL数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?
* 写出一种排序算法(原理),并说出优化它的方法。
* 请简单阐述您最得意的开发之作
* 对于大流量的网站,您采用什么样的方法来解决各页面访问量统计问题
* 您是否用过模板引擎? 如果有您用的模板引擎的名字是?
* 请介绍Session的原理,大型网站中Session方面应注意什么?
* 测试php性能和mysql数据库性能的工具,和找出瓶颈的方法。
* 正则提出一个网页中的所有链接.
* 介绍一下常见的SSO(单点登陆)方案(比如dedecms整合discuz的passport)的原理。
* 您写过的PHP框架的特点,主要解决什么问题,与其他框架的不同点。
* 大型的论坛/新闻文章系统/SNS网站在性能优化上有什么区别?
*相册类应用:要求在浏览器中能同时选中并上传多个文件,图片要求能剪裁,压缩包在服务器端解压。能上传单个达50M的文件。上传过程中有进度条显示。每个图片能生成四种大小缩略图,视频文件要转成flv供flash播放。叙述要涉及的各类开源软件和简单用途。
*一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去…,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n,输出最后那个大王的编号。用程序模拟该过程。

3. unix/linux 基本使用

* linux下查看当前系统负载信息的一些方法。
* vim的基本快捷键。
* ssh 安全增强方法;密码方式和rsa key 方式的配置。
* rpm/apt/yum/ports 装包,查询,删除的基本命令。
* Makefile的基本格式,gcc 编译,连接的命令,-O0 和-O3区别。
* gdb,strace,valgrind的基本使用.

4. 前端,HTML,JS

* css盒模型。
* javascript中的prototype。
* javascript中this对象的作用域。
* IE和firefox事件冒泡的不同。

http://blog.sina.com.cn/s/blog_70a32ec401014yb8.html
* 什么是怪异模式,标准模式,近标准模式。
* DTD的定义
* IE/firefox常用hack.
* firefox,IE下的前端js/css调试工具。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/jzj_xhj/article/details/38385741

智能推荐

使用nginx解决浏览器跨域问题_nginx不停的xhr-程序员宅基地

文章浏览阅读1k次。通过使用ajax方法跨域请求是浏览器所不允许的,浏览器出于安全考虑是禁止的。警告信息如下:不过jQuery对跨域问题也有解决方案,使用jsonp的方式解决,方法如下:$.ajax({ async:false, url: 'http://www.mysite.com/demo.do', // 跨域URL ty..._nginx不停的xhr

在 Oracle 中配置 extproc 以访问 ST_Geometry-程序员宅基地

文章浏览阅读2k次。关于在 Oracle 中配置 extproc 以访问 ST_Geometry,也就是我们所说的 使用空间SQL 的方法,官方文档链接如下。http://desktop.arcgis.com/zh-cn/arcmap/latest/manage-data/gdbs-in-oracle/configure-oracle-extproc.htm其实简单总结一下,主要就分为以下几个步骤。..._extproc

Linux C++ gbk转为utf-8_linux c++ gbk->utf8-程序员宅基地

文章浏览阅读1.5w次。linux下没有上面的两个函数,需要使用函数 mbstowcs和wcstombsmbstowcs将多字节编码转换为宽字节编码wcstombs将宽字节编码转换为多字节编码这两个函数,转换过程中受到系统编码类型的影响,需要通过设置来设定转换前和转换后的编码类型。通过函数setlocale进行系统编码的设置。linux下输入命名locale -a查看系统支持的编码_linux c++ gbk->utf8

IMP-00009: 导出文件异常结束-程序员宅基地

文章浏览阅读750次。今天准备从生产库向测试库进行数据导入,结果在imp导入的时候遇到“ IMP-00009:导出文件异常结束” 错误,google一下,发现可能有如下原因导致imp的数据太大,没有写buffer和commit两个数据库字符集不同从低版本exp的dmp文件,向高版本imp导出的dmp文件出错传输dmp文件时,文件损坏解决办法:imp时指定..._imp-00009导出文件异常结束

python程序员需要深入掌握的技能_Python用数据说明程序员需要掌握的技能-程序员宅基地

文章浏览阅读143次。当下是一个大数据的时代,各个行业都离不开数据的支持。因此,网络爬虫就应运而生。网络爬虫当下最为火热的是Python,Python开发爬虫相对简单,而且功能库相当完善,力压众多开发语言。本次教程我们爬取前程无忧的招聘信息来分析Python程序员需要掌握那些编程技术。首先在谷歌浏览器打开前程无忧的首页,按F12打开浏览器的开发者工具。浏览器开发者工具是用于捕捉网站的请求信息,通过分析请求信息可以了解请..._初级python程序员能力要求

Spring @Service生成bean名称的规则(当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致)_@service beanname-程序员宅基地

文章浏览阅读7.6k次,点赞2次,收藏6次。@Service标注的bean,类名:ABDemoService查看源码后发现,原来是经过一个特殊处理:当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致public class AnnotationBeanNameGenerator implements BeanNameGenerator { private static final String C..._@service beanname

随便推点

二叉树的各种创建方法_二叉树的建立-程序员宅基地

文章浏览阅读6.9w次,点赞73次,收藏463次。1.前序创建#include&lt;stdio.h&gt;#include&lt;string.h&gt;#include&lt;stdlib.h&gt;#include&lt;malloc.h&gt;#include&lt;iostream&gt;#include&lt;stack&gt;#include&lt;queue&gt;using namespace std;typed_二叉树的建立

解决asp.net导出excel时中文文件名乱码_asp.net utf8 导出中文字符乱码-程序员宅基地

文章浏览阅读7.1k次。在Asp.net上使用Excel导出功能,如果文件名出现中文,便会以乱码视之。 解决方法: fileName = HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8);_asp.net utf8 导出中文字符乱码

笔记-编译原理-实验一-词法分析器设计_对pl/0作以下修改扩充。增加单词-程序员宅基地

文章浏览阅读2.1k次,点赞4次,收藏23次。第一次实验 词法分析实验报告设计思想词法分析的主要任务是根据文法的词汇表以及对应约定的编码进行一定的识别,找出文件中所有的合法的单词,并给出一定的信息作为最后的结果,用于后续语法分析程序的使用;本实验针对 PL/0 语言 的文法、词汇表编写一个词法分析程序,对于每个单词根据词汇表输出: (单词种类, 单词的值) 二元对。词汇表:种别编码单词符号助记符0beginb..._对pl/0作以下修改扩充。增加单词

android adb shell 权限,android adb shell权限被拒绝-程序员宅基地

文章浏览阅读773次。我在使用adb.exe时遇到了麻烦.我想使用与bash相同的adb.exe shell提示符,所以我决定更改默认的bash二进制文件(当然二进制文件是交叉编译的,一切都很完美)更改bash二进制文件遵循以下顺序> adb remount> adb push bash / system / bin /> adb shell> cd / system / bin> chm..._adb shell mv 权限

投影仪-相机标定_相机-投影仪标定-程序员宅基地

文章浏览阅读6.8k次,点赞12次,收藏125次。1. 单目相机标定引言相机标定已经研究多年,标定的算法可以分为基于摄影测量的标定和自标定。其中,应用最为广泛的还是张正友标定法。这是一种简单灵活、高鲁棒性、低成本的相机标定算法。仅需要一台相机和一块平面标定板构建相机标定系统,在标定过程中,相机拍摄多个角度下(至少两个角度,推荐10~20个角度)的标定板图像(相机和标定板都可以移动),即可对相机的内外参数进行标定。下面介绍张氏标定法(以下也这么称呼)的原理。原理相机模型和单应矩阵相机标定,就是对相机的内外参数进行计算的过程,从而得到物体到图像的投影_相机-投影仪标定

Wayland架构、渲染、硬件支持-程序员宅基地

文章浏览阅读2.2k次。文章目录Wayland 架构Wayland 渲染Wayland的 硬件支持简 述: 翻译一篇关于和 wayland 有关的技术文章, 其英文标题为Wayland Architecture .Wayland 架构若是想要更好的理解 Wayland 架构及其与 X (X11 or X Window System) 结构;一种很好的方法是将事件从输入设备就开始跟踪, 查看期间所有的屏幕上出现的变化。这就是我们现在对 X 的理解。 内核是从一个输入设备中获取一个事件,并通过 evdev 输入_wayland

推荐文章

热门文章

相关标签