??xml version="1.0" encoding="utf-8" standalone="yes"?>日韩十八禁一区二区久久,久久人人爽人人爽人人片AV麻烦,国内精品伊人久久久久妇http://www.shnenglu.com/huangjianfu/archive/2012/01/04/163552.html黄剑?/dc:creator>黄剑?/author>Wed, 04 Jan 2012 08:06:00 GMThttp://www.shnenglu.com/huangjianfu/archive/2012/01/04/163552.htmlhttp://www.shnenglu.com/huangjianfu/comments/163552.htmlhttp://www.shnenglu.com/huangjianfu/archive/2012/01/04/163552.html#Feedback0http://www.shnenglu.com/huangjianfu/comments/commentRss/163552.htmlhttp://www.shnenglu.com/huangjianfu/services/trackbacks/163552.htmlthe formulation of a problem is often more essential than its solution,which may be merely a matter of mathematical or experimental skill.
爱因斯坦Q提Z个问题往往比解决一个问题更重要?/div>

]]>
mysql~译安装http://www.shnenglu.com/huangjianfu/archive/2011/11/22/160672.html黄剑?/dc:creator>黄剑?/author>Tue, 22 Nov 2011 00:52:00 GMThttp://www.shnenglu.com/huangjianfu/archive/2011/11/22/160672.htmlhttp://www.shnenglu.com/huangjianfu/comments/160672.htmlhttp://www.shnenglu.com/huangjianfu/archive/2011/11/22/160672.html#Feedback0http://www.shnenglu.com/huangjianfu/comments/commentRss/160672.htmlhttp://www.shnenglu.com/huangjianfu/services/trackbacks/160672.html1、tcmalloc是什?
2、安装tcmalloc

二、mysql
1、mysql的编?br />
2、把tcmalloc~译到mysql?br />
三、memcache
1、memcache是什么?
2、安装memcache

]]>
像堆U木一样学习电脑编E,scratch来自ȝ理工http://www.shnenglu.com/huangjianfu/archive/2011/10/24/158980.html黄剑?/dc:creator>黄剑?/author>Mon, 24 Oct 2011 06:54:00 GMThttp://www.shnenglu.com/huangjianfu/archive/2011/10/24/158980.htmlhttp://www.shnenglu.com/huangjianfu/comments/158980.htmlhttp://www.shnenglu.com/huangjianfu/archive/2011/10/24/158980.html#Feedback1http://www.shnenglu.com/huangjianfu/comments/commentRss/158980.htmlhttp://www.shnenglu.com/huangjianfu/services/trackbacks/158980.html官网地址Qhttp://scratch.mit.edu
Scratch是一U计机~程语言Q利用它可轻村֜创徏自己的互动故事,动画Q游戏,音乐和艺? 和在|络上分享你的作品?当学生创建和׃n自己的Scratch动画Ӟ他们能学习到重要的数学和计算知识Q同时也得到创造性的思考,pȝ推理Q和协同工作的机会?br />
Z么要用Scratch学习~程Q?br />1、Scratch上手非常ҎQ适于8岁以上孩子,成h也可以玩。积木,我想大多Ch应该有玩q吧Q没实际玩过臛_也听说过吧。用Scratch~程像玩积木一P非常单,把像一个个U木一L脚本命oQ按照一定的逻辑堆积hQ就可以做出自己的动L游戏了。有图才有真相,各位看官请先看图?br />

2、Scratch单,但能做很多事。你可以到官|看看一些优U的作品,q道Scratch能做些什么呢?br />3、Scratch虽然不用你去敲代码,但它同其它计机语言的编E思想是完全一LQ和CQC++QJava的编E思想没什么两栗如果你懂C、C++或JavaQ那些堆Uv来的脚本Q也是可以翻译成C、C++、Java代码的,q且非常单,l对要比p译单很多很多?br />
4、Scratch是免费的Q可以在MacQWindows和Linux上运行,q且软g的语a是可以设|,不懂英文也不要怕,可以把Y件界面语a讄为简体中文。官|的站点也有中文的版面?/div>5、网站的用户参与度非帔RQ用户可以上传自q作品到该|站Q可以欣赏其他用L作品Q看到喜Ƣ的也可以下载下来研I研IӞ当然也可以用到自q作品中哦?br />
Scratch的一些统计数据,从其中你可以看出此软g有多优秀Q看q之后是否选择此编E语a做ؓ自己的入门语aQ那q你的了?br />W一q图Qscratch|站的访问者都来自哪些城市
scratch|站的访问者都来自哪些城市

W二q图Qscratch|站的注册用户年龄分布图Q蓝色代表男性,U色代表x)
scratch|站的注册用户年龄分布图


]]>
Z么学习Chttp://www.shnenglu.com/huangjianfu/archive/2011/10/20/158764.html黄剑?/dc:creator>黄剑?/author>Thu, 20 Oct 2011 09:07:00 GMThttp://www.shnenglu.com/huangjianfu/archive/2011/10/20/158764.htmlhttp://www.shnenglu.com/huangjianfu/comments/158764.htmlhttp://www.shnenglu.com/huangjianfu/archive/2011/10/20/158764.html#Feedback1http://www.shnenglu.com/huangjianfu/comments/commentRss/158764.htmlhttp://www.shnenglu.com/huangjianfu/services/trackbacks/158764.html

原文地址Qhttp://www.cprogramming.com/whyc.html

Z么学习C

Why Learn C?

现在大家在用的计机语言的数量多得可怕。从高语言Q比如VBQ到低语言Q有非常多的选择QPerlQRuby和Python语言Q对于很多Q务的实现都是不错的选择Q。Java已经成ؓ了一些项目非常受Ƣ迎的语aQ某U程度上也是因ؓ它拥有大量的API和虚拟机机制提供了比较好的安全性。(内存垃圾攉器也是一个非怸错的功能Q可以得程序员更有效率。)
There are an awful lot of programming languages available right now -- everything from the extremely high level (such as Visual Basic) to the low level power of assembly, and a good variety of specialized options in between (Perl, Ruby, and Python are good choices for many tasks). Java has also become quite the hot programming language for some tasks, in part because of its large API and in part because the virtual machine provides some elements of security. (Garbage collection is another nice feature and can make programmers much more efficient.)
然而,学习c语言~程Q也有很多很好的理由。第一Q历史悠久:C语言已有30多年的历史了Q译者注Q到现在已有q?0q了Q,能找到大量的有效的源代码。这也意味着有很多可以学习的例子Q也有很多是可以直接拿来用的代码。而且Q语a的很多问题都已经说明的很清楚--它可以更好的理解Qƈ且你可以扑ֈ很多很不错的教程。另外,对于CQ你可以获得很多你能理解的看法和见解?/div>
Nevertheless, there are some good reasons to learn to program in C. First, age has its advantages: C has been around for 30 years, and there is a ton of source code available. This means there's a lot to learn from, and a lot to use. Moreover, many of the issues with the language have been clearly elucidated -- it's well understood, and you can find a lot of tutorials available. Plus, with C, you get lots of strong opinions mixed with insights that you can understand.

׃历史的原因,C做ؓUnix的一个系l编E语aQC已经成ؓ了一门通用的编E语a。有时候用C语言来表达一些编E上的想法,大部分h都会感觉到比较舒服?br /> As a result of its age and its use as the language of system programming for Unix, C has become something of the lingua franca of programming. C is a great language for expressing common ideas in programming in a way that most people are comfortable with. Moreover, a lot of the principles used in C -- for instance, argc and argv for command line parameters, as well as loop constructs and variable types -- will show up in a lot of other languages you learn so you'll be able to talk to people even if they don't know C in a way that's common to both of you.

W三QC是比较接q机器语a?br /> Third, C is reasonably close to the machine. When you're working with pointers, bytes, and individual bits, things like optimization techniques start to make a lot more sense. There's also utility in knowing exactly how something works underneath the hood -- this helps a great deal when something you're trying to do in a higher level language seems way slower than expected, or just doesn't work at all. You also tend to get a better picture of advanced topics like exactly how networking works. A higher level language will make it a little bit simpler, but it'll be harder to understand what's going on, and when things stop working, it's much better to know exactly what's going on so you can fix it. Additionally, if you like computer science as a discipline, or just like knowing how things work learning the details of the system is great fun.

实际上,很多有趣的编E都可以用C来做--比如Q系lY件和数据理pȝQBerkeley DBQ。如果你惛_一个比较复杂的webE序QC也是一个很不错的选择。如果你惛_一个非常好的,快的QC也是很好的选择。你可以用C来写整个操作pȝQ想用Java来做q个事情是非帔R的,对于脚本语言来说是几乎不可能的。而且C是一门非常简z精炼的语言Q它使得非常有趣的编E看h更优雅,你的~程之旅会有一个很好的开始?br /> In fact, a lot of fun programming is done in C -- for instance, system software and data managers such as Berkeley DB. If you want to be able to do more than write a simple web app, C is a great language. If you want to write a great, fast game, C is again a great choice. You can write an entire OS in C. It'll be much harder to do so in Java, and nearly impossible in a scripting language. And the language, being succinct as C is, will probably make your fun program more elegant looking to boot.


我对于这文章所谈的话题Q想补充几点?br />
1、学好CQ可以帮助理解其他语a中的一些概c?br />比如Java中的引用的概念,如果理解了C语言中的指针的概念,p很好的理?#8220;引用”q个概念了,而不理解指针的概忉|把引用的概念理解的很透彻Q是比较隄?/div>
2、学会了C语言Q再学习其他语言会感觉到更轻松?br />
Object-CQJavaQC++{等很多高语言的语法都与C是相似的。学会了C后,基本上只要花上一周的旉了解一下其他语a的特性,基本上可以看懂其他语言的源代码了?/div>
3、从现实角度来考虑Q学好CQ找C份好工作的可能性也是大大增强,特别是对于刚毕业的大学生Q或工作l验比较的E序员。现在需要有C语言基础Q擅长于C语言的,工作岗位也是比较多。比如拿现在非常行的iPhoneQiPad{设备的应用E序Q开发语a是Objective-C语言。Objective-C是苹果Mac OS X、iOSq_的开发语aQObjective-C是基于C语言的,增加面向对象的相关特性。你可以认ؓObjective-C是另一个版本的C++Q也是采用了与C++不同的语法,但也实现了面向对象。你有了C语言的基Q再学ObjectiveQ难度就不大了?br />你可以到那些招聘|站ȝ看,查查iPhone相关的开发工E师的要求,是不是很多都要求有C/C++的基和经验?br />q有一些系l开发和底层比较相关的,很多都是需要用C语言开发的。拿信息安全行业来讲Q很多安全品都是用C语言来开发的。还有游戏行业很多都是用C或C++?br />
q有一点,很多初学者认为学习C很难。其实我惌的是隑ƈ不是计算a的问题,隄是因Z用计机解问题的思维q没建立h。因Zq入的是一个新的领域,以前没有接触q计机~程Q对于怎么用计机来解决现实中的问题的q种思维你还没有建立hQ毕竟用计算题的思维Q和用数学解题的思维q是有些不一LQ所以你会觉得学习C语言很难?br />如果你在学习C语言的同Ӟ再进行一些程序员的思维训练Q我觉得情况׃大有改善?/div>

]]>初学者指南:How To Think Like A Programmerhttp://www.shnenglu.com/huangjianfu/archive/2011/10/19/158717.html黄剑?/dc:creator>黄剑?/author>Wed, 19 Oct 2011 15:03:00 GMThttp://www.shnenglu.com/huangjianfu/archive/2011/10/19/158717.htmlhttp://www.shnenglu.com/huangjianfu/comments/158717.htmlhttp://www.shnenglu.com/huangjianfu/archive/2011/10/19/158717.html#Feedback0http://www.shnenglu.com/huangjianfu/comments/commentRss/158717.htmlhttp://www.shnenglu.com/huangjianfu/services/trackbacks/158717.htmlOver the past decade-and-a-half of teaching introductory computer programming I have noticed increasingly that students have difficulty with solving problems. It is common to see learners read a programming problem description  and immediately try to write the programming language source code (usually whilst sitting at a PC typing straight into the editing window of the compiler environment). When they ask for help it is often the case that their difficulty lies not with manipulating the programming language syntax (C, Pascal, Java, or whatever) but in understanding what it is they're trying to solve. In fact, many times they confuse their syntax-handling difficulties with their problem-solving difficulties and blame their frustration on programming itself or on the chosen programming language. Some of them then become so downhearted that they decide they cannot do computer programming and transfer to a course that doesn't require them to study it.

q个话题挺有意思,我看了他的练习题Q还真不错,有时候觉得。算法和计算机的语言的学习应该是有另外一U方式?br />换句话说Q在深入学习语言和算法,可以先来一开胃菜?br />|站地址Q?div>http://www.howtothinklikeaprogrammer.com/forum/index.php
书名?《How to Think Like a Programmer: Program Design Solutions for the Bewildered》By Paul Vickers?/div>

]]>初学者指南:如何像程序员一h?/title><link>http://www.shnenglu.com/huangjianfu/archive/2011/10/19/158670.html</link><dc:creator>黄剑?/dc:creator><author>黄剑?/author><pubDate>Wed, 19 Oct 2011 03:00:00 GMT</pubDate><guid>http://www.shnenglu.com/huangjianfu/archive/2011/10/19/158670.html</guid><wfw:comment>http://www.shnenglu.com/huangjianfu/comments/158670.html</wfw:comment><comments>http://www.shnenglu.com/huangjianfu/archive/2011/10/19/158670.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/huangjianfu/comments/commentRss/158670.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/huangjianfu/services/trackbacks/158670.html</trackback:ping><description><![CDATA[<div>原文Qhttp://www.cprogramming.com/tutorial/thinking.html<br /> <div>很多人通过Email问我Q怎样开始写一个程序。也许最好的非常单,把程序的步骤写下来:一旦你开始把x或者代码写下来后,你就会对你的目有一些感觉了。通常E序设计有两U通用的做法:从上C的方式和从下C的方式?br /> A lot of people email me asking the way to start some program or another. Perhaps the best advice is simply to start writing down a layout for the program: once you start writing down ideas or code you'll start to get a feel for your project. There are two standard methods of program design: the top-down approach and the bottom-up approach. Top-down programming involves writing code that calls functions you haven't defined and working through the general algorithm before writing the functions that do the processing. Top-down programming is, to a good degree, a very abstract way of writing code because it starts out by using functions you haven't designed, and that you perhaps do not know how to design. The bottom-up approach to programming is the opposite: the programmer writes the basic functions she realizes will be necessary at some point in the programming and then work up to the more complex parts of the program.<br /> <br /> 比较有意思的是,那两U方法都是关注程序中要执行的动作或方法,而不是关注程序要处理的数据。很多时候,写程序最好的Ҏ是,写出你将要用到或处理的数据,然后再从上到下的x么样去处理q些数据Q最后才能得C需要的l果。首先定义数据,然后再写出那些要处理q些数据的相关的函数。,q样你才会得C的程序应该怎样写的基本思\Q?br /> <div>It's interesting that both of these approaches focus on the actions of the program rather than the objects the program manipulates - variables. Many times, the best way to write a program is to figure out the variables you need to work with and then progress with a top-down approach to the program that manipulates those variables. By defining variables first and then working with functions that work on them, you will always maintain a basic foundation of what your program should be doing. Once you have an idea of what variables you will be using, then you can write functions to perform the operations you need to perform on the variables while maintaining sight of the goal. Finally you can write the code for each individual function.<br /> <p>Another value to defining variables before writing code is that many times you can accomplish an entire program without many functions; this fact is especially true when you are a beginner making simple programs. The variables give you the raw materials you need to begin working with the tools: loops, if statements, library functions, and perhaps user defined functions.</p> <p><br /> </p> <p>现在让我们来看一个关于怎样开始写一个完整程序的例子。假设你要写的程序是要模拟一个DVD商店的租售系l,q个pȝ需要计出出租DVD的L入。你的程序有可能要求Q需要输入一个代码,告诉你这个DVDU售的h格是2元一天还是是3元一天,然后q需要它出租了多天Q最后如果这个输入的代码?Q整个程序就l束了。你应该要分别计出U金??天和2?天的DVD的出U的d数。拿q个E序来说Q思考设计程序的最好的方式是,惌Z计算出租金的收入Q你需要存储哪些信息:</p> <p> </p> <div> <ul> <li>你需要一个变量用来存储L入,当程序结束时;<br /> </li> <li>你需要一个时变量用来存储代表DVD的租金的代号;<br /> </li> <li>你需要一个时变量用来存储某个DVD出租的天? </li> <li>你需要一个变量来存储U金??天的所有DVD出租了多天的L;<br /> </li> <li>最后,你还需要一个变量来存储U金??天的所有DVD出租了多天的L;</li> </ul> </div> <p> </p> <p>Let's take a look at an example of how to go about thinking about a program. If you were to write a program to simulate a video store rental system that calculates the gross revenue from rentals, you might be asked to write a program that accepts a code telling you whether a certain video was rented at $2.00 (input as 2) a day or $3.00 (input as 3) a day and then asks for how many days it was rented out for; finally, if the code for the cost of rental is 0 the program should terminate. You should also count the number of days videos were rented at $3.00 per day and $2.00 per day. The best way to think about the design for a program such as this one is to imagine what information you need to store in order to calculate the revenue:<br /> </p> <ul> <li>you need a variable to store the total dollar amount at the end of the program;<br /> </li> <li>you need a temporary variable to store the code for the cost of a transaction;<br /> </li> <li>you need a temporary variable to store the number of days a specific video was rented;<br /> </li> <li>you need a variable to store the number of days each video was rented;<br /> </li> <li>you need a variable to count the total number of days $3.00 videos were rented;<br /> </li> <li>finally, you need a variable to count the total number of days $2.00 videos were rented.</li> </ul> <p>一旦你认识C需要这些数据,那么你就很容易想出如何处理这些数?比如Q你知道U金2?天的DVD的L?所有租金ؓ2?天DVD的出U天C?2Q类似的也可以计出U金3?天的DVD的L入。你也会理解q个“代表DVD的租金的代号”Q这个变量的用处是,当用戯入某个DVD出租的天数时Q决定哪个变量会被操作。在你的E序中你需要一个@环结构?/p> <p><br /> </p> <p>Once you realize you need these variables, you can easily imagine how to translate them in terms of each other: for example, you know the total amount of revenue is the number of days videos at $2.00 were rented times $2.00; in similar fashion, you know the relationship for $3.00 a day videos. You should understand that the transaction 'code' determines which variables are manipulated when the user inputs the number of days a specific video was rented (for example, whether to add to the count of days for $2.00 videos or $3.00 videos). You'll probably need a loop in your program (although you can't necessarily infer this from the variables).</p> <p> </p> <p>E序的代码有可能会像下面那样Q?br /> </p> <div> <p>The code might look as follows:</p> <div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #008080; "> 1</span> <span style="color: #000000; "></span><span style="color: #008080; "></span> <span style="color: #000000; "><br /> </span><span style="color: #008080; "> 3</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> main()<br /> </span><span style="color: #008080; "> 4</span> <span style="color: #000000; ">{<br /> </span><span style="color: #008080; "> 5</span> <span style="color: #000000; ">  </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> total_dollars </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /> </span><span style="color: #008080; "> 6</span> <span style="color: #000000; ">  </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> total_days_at_3_dollars </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /> </span><span style="color: #008080; "> 7</span> <span style="color: #000000; ">  </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> total_days_at_2_dollars </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /> </span><span style="color: #008080; "> 8</span> <span style="color: #000000; ">  </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> transaction_code </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /> </span><span style="color: #008080; "> 9</span> <span style="color: #000000; ">  </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> days_for_one_video </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /> </span><span style="color: #008080; ">10</span> <span style="color: #000000; ">  </span><span style="color: #0000FF; ">do</span><span style="color: #000000; "><br /> </span><span style="color: #008080; ">11</span> <span style="color: #000000; ">  {<br /> </span><span style="color: #008080; ">12</span> <span style="color: #000000; ">    </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(transaction_code</span><span style="color: #000000; ">==</span><span style="color: #000000; ">2</span><span style="color: #000000; ">)<br /> </span><span style="color: #008080; ">13</span> <span style="color: #000000; ">      total_days_at_2_dollars</span><span style="color: #000000; ">+=</span><span style="color: #000000; ">days_for_one_video;<br /> </span><span style="color: #008080; ">14</span> <span style="color: #000000; ">    </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(transaction_code</span><span style="color: #000000; ">==</span><span style="color: #000000; ">3</span><span style="color: #000000; ">)<br /> </span><span style="color: #008080; ">15</span> <span style="color: #000000; ">      total_days_at_3_dollars</span><span style="color: #000000; ">+=</span><span style="color: #000000; ">days_for_one_video;<br /> </span><span style="color: #008080; ">16</span> <span style="color: #000000; ">    cout</span><span style="color: #000000; "><<</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Please enter a transaction code and number of days a video was rented: </span><span style="color: #000000; ">"</span><span style="color: #000000; ">;<br /> </span><span style="color: #008080; ">17</span> <span style="color: #000000; ">    cin</span><span style="color: #000000; ">>></span><span style="color: #000000; ">transaction_code</span><span style="color: #000000; ">>></span><span style="color: #000000; ">days_for_one_video;<br /> </span><span style="color: #008080; ">18</span> <span style="color: #000000; ">  }</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">(transaction_code</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">)<br /> </span><span style="color: #008080; ">19</span> <span style="color: #000000; ">  </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">Q?br /> </span><span style="color: #008080; ">20</span> <span style="color: #000000; ">} <br /> </span></div> <p>我希望,你现在已l有了一个基本的思\Q在写代码之前,应该如何安排你的E序的结构?br /> </p> <p>Hopefully, you now have a basic idea of how to lay out your program structure in your mind before you begin to write code.</p> </div> <p> </p> </div> </div> </div><img src ="http://www.shnenglu.com/huangjianfu/aggbug/158670.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/huangjianfu/" target="_blank">黄剑?/a> 2011-10-19 11:00 <a href="http://www.shnenglu.com/huangjianfu/archive/2011/10/19/158670.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在yii目中用ext js 4(一Q?/title><link>http://www.shnenglu.com/huangjianfu/archive/2011/07/27/151933.html</link><dc:creator>黄剑?/dc:creator><author>黄剑?/author><pubDate>Wed, 27 Jul 2011 06:50:00 GMT</pubDate><guid>http://www.shnenglu.com/huangjianfu/archive/2011/07/27/151933.html</guid><wfw:comment>http://www.shnenglu.com/huangjianfu/comments/151933.html</wfw:comment><comments>http://www.shnenglu.com/huangjianfu/archive/2011/07/27/151933.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/huangjianfu/comments/commentRss/151933.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/huangjianfu/services/trackbacks/151933.html</trackback:ping><description><![CDATA[<img src="data:image/png;base64,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" alt="" /><br />application文g夹ؓext js4的应用程序目录,<br />ext文g夹ؓext js 4资源的目录,<br />其他文g或文件夹则ؓyii框架所涉及到的?img src ="http://www.shnenglu.com/huangjianfu/aggbug/151933.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/huangjianfu/" target="_blank">黄剑?/a> 2011-07-27 14:50 <a href="http://www.shnenglu.com/huangjianfu/archive/2011/07/27/151933.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>yii的urlManager讄http://www.shnenglu.com/huangjianfu/archive/2011/07/26/151865.html黄剑?/dc:creator>黄剑?/author>Tue, 26 Jul 2011 06:20:00 GMThttp://www.shnenglu.com/huangjianfu/archive/2011/07/26/151865.htmlhttp://www.shnenglu.com/huangjianfu/comments/151865.htmlhttp://www.shnenglu.com/huangjianfu/archive/2011/07/26/151865.html#Feedback0http://www.shnenglu.com/huangjianfu/comments/commentRss/151865.htmlhttp://www.shnenglu.com/huangjianfu/services/trackbacks/151865.htmlstep1QYii的配|文件config/main.php?div>'components'下增?div>
 1 'urlManager'=>array(
 2     'urlFormat'=>'path',
 3     'showScriptName' => false,
 4     'rules'=>array(
 5         'urls.js' => 'workspace/urls',
 6         'env.js' => 'workspace/env',
 7                 '<controller:\w+>/<id:\d+>'=>'<controller>/view',
 8                 '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
 9                 '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
10             ),
11         ),
step2Q开启Apache的配|文件httpd.conf中LoadModule rewrite_module modules/mod_rewrite.so和AllowOverride属性设|ؓAll
step3Q编写一?htaccess文g攑֜app的根目录Q添加以下几行到文g?br />
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php
RewriteRule . index.php


]]>
extjs学习http://www.shnenglu.com/huangjianfu/archive/2011/07/18/151288.html黄剑?/dc:creator>黄剑?/author>Mon, 18 Jul 2011 03:03:00 GMThttp://www.shnenglu.com/huangjianfu/archive/2011/07/18/151288.htmlhttp://www.shnenglu.com/huangjianfu/comments/151288.htmlhttp://www.shnenglu.com/huangjianfu/archive/2011/07/18/151288.html#Feedback0http://www.shnenglu.com/huangjianfu/comments/commentRss/151288.htmlhttp://www.shnenglu.com/huangjianfu/services/trackbacks/151288.htmlhttp://www.sencha.com/products/extjs/

]]>
printf格式控制W的完整格式http://www.shnenglu.com/huangjianfu/archive/2011/04/26/145063.html黄剑?/dc:creator>黄剑?/author>Tue, 26 Apr 2011 08:18:00 GMThttp://www.shnenglu.com/huangjianfu/archive/2011/04/26/145063.htmlhttp://www.shnenglu.com/huangjianfu/comments/145063.htmlhttp://www.shnenglu.com/huangjianfu/archive/2011/04/26/145063.html#Feedback0http://www.shnenglu.com/huangjianfu/comments/commentRss/145063.htmlhttp://www.shnenglu.com/huangjianfu/services/trackbacks/145063.htmlprintf的格式控制的完整格式Q?br>%  -  0  m.n  l或h  格式字符
下面对组成格式说明的各项加以说明Q?br>?Q表C格式说明的起始W号Q不可缺?br>?Q有-表示左对齐输出,如省略表C右寚w输出?br>?Q有0表示指定IZ?,如省略表C指定空位不填?br>④m.nQm指域宽,卛_应的输出在输出讑֤上所占的字符数。N指精度。用于说明输出的实型数的数位数。ؓ指定nӞ隐含的精度ؓn=6位?br>⑤l或h:lҎ型指long型,对实型指double型。h用于整型的格式字符修正为short型?br>
Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q?br>格式字符
格式字符用以指定输出的数据cd和输出格式?br> ①d格式Q用来输出十q制整数。有以下几种用法Q?br>%dQ按整型数据的实际长度输出?br>%mdQm为指定的输出字段的宽度。如果数据的位数于mQ则左端补以I格Q若大于mQ则按实际位数输出?br>%ldQ输出长整型数据?br>②o格式Q以无符号八q制形式输出整数。对长整型可以用"%lo"格式输出。同样也可以指定字段宽度?#8220;%mo”格式输出?br>例:
   main()
   { int a = -1;
     printf("%d, %o", a, a);
   }
  q行l果Q?1,177777
  E序解析Q?1在内存单元中Q以补码形式存放Qؓ(1111111111111111)2Q{换ؓ八进制数?177777)8?br>③x格式Q以无符号十六进制Ş式输出整数。对长整型可以用"%lx"格式输出。同样也可以指定字段宽度?%mx"格式输出?br>④u格式Q以无符号十q制形式输出整数。对长整型可以用"%lu"格式输出。同样也可以指定字段宽度?#8220;%mu”格式输出?br>⑤c格式Q输Z个字W?br>⑥s格式Q用来输Z个串。有几中用法
%sQ例?printf("%s", "CHINA")输出"CHINA"字符Ԍ不包括双引号Q?br>%msQ输出的字符串占m列,如字W串本n长度大于mQ则H破获m的限?字W串全部输出。若串长于mQ则左补I格?br>%-msQ如果串长小于mQ则在m列范围内Q字W串向左靠,双I格?br>%m.nsQ输出占m列,但只取字W串中左端n个字W。这n个字W输出在m列的右侧Q左补空根{?br>%-m.nsQ其中m、n含义同上Qn个字W输出在m列范围的左侧Q右补空根{如果n>mQ则自动取n|即保证n个字W正常输出?br>⑦f格式Q用来输出实敎ͼ包括单、双_ֺQ,以小数Ş式输出。有以下几种用法Q?br>%fQ不指定宽度Q整数部分全部输出ƈ输出6位小数?br>%m.nfQ输出共占m列,其中有n位小敎ͼ如数值宽度小于m左端补空根{?nbsp;
%-m.nfQ输出共占n列,其中有n位小敎ͼ如数值宽度小于m右端补空根{?br>⑧e格式Q以指数形式输出实数。可用以下Ş式:
%eQ数字部分(又称数Q输?位小敎ͼ指数部分?位或4位?br>%m.ne?-m.neQm、n?#8221;-”字符含义与前相同。此处n指数据的数字部分的小C敎ͼm表示整个输出数据所占的宽度?br>⑨g格式Q自动选f格式或e格式中较短的一U输出,且不输出无意义的零?br>
Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q?br>关于printf函数的进一步说明:
如果惌出字W?%",则应该在“格式控制”字符串中用连l两?表示Q如:
printf("%f%%", 1.0/3);
输出0.333333%?br>
Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q?br>对于单精度数Q?f格式W输出时Q仅?位是有效数字Q小?位.
对于双精度数Q?lf格式W输出时Q前16位是有效数字Q小?位.

######################################N########################################
由高手指?br>对于m.n的格式还可以用如下方法表C(例)
char ch[20];
printf("%*.*s\n",m,n,ch);
前边?定义的是ȝ宽度Q后边的定义的是输出的个数。分别对应外面的参数m和n 。我惌U方法的好处是可以在语句之外对参数m和n赋|从而控制输出格式?


今天(06.6.9)又看CU输出格?%n 可以所输出字符串的长度Dl一个变? 见下?

int slen;

printf("hello world%n", &slen);

执行后变量被赋gؓ11?br>
又查了一? 看到一文?查看)说这U格式输出已l确认ؓ一个安全隐患,q且已禁用。再搜搜果然q种用法都被用来搞什么溢出、漏z之cȝQ随便找了一个:格式化字W串dW记?/font>

]]>
ŷ˾þƬ| þ˾Ʒԭձ| Ժձһձþ | Ʒþùһ㽶| ŷ鶹þþþþ| ˾þô߽AVɫɫ| 88þþƷһëƬ | 99þó˹Ʒ| ùþþۺ| AVþ| ٸþ| ˺ݺۺϾþ88| 99þù뾫Ʒ| þŮcc98cm| þ޾Ʒϵַ | Vþþ | Ļһþ| þۺϺݺۺϾþ| av˾þۺɫ | 鶹þ| þۺɫһ| ŷһþþƷ޾Ʒþþþ | þþƷĻ| ƷþþþþþĻ| ݺۺϾþۺ88| Ʒպҹþ| þþþþþþþѾƷ| ƷþþþĻձ| ޹СƵƷþþ| þùƷ-þþƷ| ƷŮþþm| þﶼǾƷ| ٸþþþþñŪ߳ | һĻþ| ŮHҳþþ| ˾þô߽ۺ5g| þѴƬ| þëƬһ| һŮȫƾþƬ| þþþþϸ| þӰԺһ|