帐前卒专栏

code, software architect, articles and novels.
代码,软件架构,博客和小说

昨天看了新泰科技的笔试题。

第一个感觉…下届的基础太差。

然后发现一个有趣的题:c++全局变量在其他的cpp文件中怎么使用?

我的第一感觉是直接使用。不过感觉加"include"和"::"这样回答更好,顺便问了下同寝的人。发现完全不同的答案,他说要使用每一个cpp里都要加exter
n…我俩僵持不下,于是开启vs2005,开始编程验证。然后发现如果是一个cpp文件,怎么做都是对的。如果两个或多个cpp文件,正确的格式是这样的

oo.h中

#ifndef OO

#define OO

extern int a;//注意这里一定不能赋值

#endif

oo.cpp中

#include

using namespace std;

int a = 10;//定义a变量

void func(){ a = 20;cout << a;}

xx.cpp中

#include

#include “oo.h”

using namespace std;

int main()

{

cout << a;//这里a打印10这说明oo.cpp中的a = 10先被执行。

func();

}

这好像是一种正确的做法,不知道还有没有其他做法

今天遇到了这个错误。Parser   Error   Message:   It   is   an   error   to   use   a
section   registered   allowDefinition=‘MachineToApplication’   beyond
application   level.   This   error   can   be   caused   by   a   virtual
directory   not   being   configured   as   an   application   in   IIS.”

发现是在web.config中多定义了一个

将其蔽掉,ok。

在msdn上的英文解释:

Q:   We   have   a   fully   patched   IIS   5   server   and   are
receiving   the   following   error   “Parser   Error   Message:   It   is
an   error   to   use   a   section   registered
allowDefinition=‘MachineToApplication’   beyond   application   level.   This
error   can   be   caused   by   a   virtual   directory   not   being
configured   as   an   application   in   IIS.”   Can   you   explain   what
this   means?

A:   I   love   these   verbose   Asp.net   error   messages!   They   often
direct   you   to   the   solution   as   well   as   describe   the
problem.   You’ll   see   this   error   when   your   Asp.net   application
is   configured   such   that   it   uses   a   feature   like
  or   <sessionState…>   that   requires   an
“Application”   be   defined   in   the   metabase,   and   that   definition
is   missing.   You   can   correct   this   by   either   removing   such
settings   from   your   web.config   files,   or   by   clicking   “Create”
on   the   Home   Directory,   Virtual   Directory,   or   Directory
properties   tab   of   a   web   site,   virtual   directory,   or
directory,   respectively.   This   location   will   require   at   least
the   Scripts   Only   permission   and   Read   permissions   as   well.

说 像   or   <sessionState…>
这样的东东需要一个Application元数据。 但是你却没有定义。解决方案是:要不你就把你web.config中的这样的东西去掉,要不你就在  Home
Directory,   Virtual   Directory,   or   Directory   properties   那里创建一个对应的web
site,虚拟目录和目录。那些东西至少要有Script访问级和Read的权限。

使用VS2005制作安装包
1.在“新建项目”对话框的左侧树状图中选择“Other Project Types”->“Setup and Deployment”节点,在右侧选择“Web
Setup Project”。

2.在Solution Explorer中在Solution上点右键,选择“Add”->“Existing Web
Site”,将存放编译好的Web网站的文件夹加入Solution中。

如果添加使用aspnet_compiler编译好的网站,有可能会出现下面的提示框,点击“是”就行。
3.再添加一个新的“Class Library”,名称“CreateDB”,用以创建数据库的操作。
删除默认生成的“class1.cs”,在这个项目上点右键,选择“Add”->“New Item”,在弹出的对话框中选择“Installer
Class”,点击OK。

在类中添加如下代码:
private void ExecuteSql(string connectionString, string databaseName, string
sql)
{
SqlConnection sqlConnection = new SqlConnection(connectionString);
SqlCommand sqlCommand = new SqlCommand(sql, sqlConnection);
try
{
sqlCommand.Connection.Open();
sqlCommand.Connection.ChangeDatabase(databaseName);
sqlCommand.ExecuteNonQuery();
}
catch (Exception exception)
{
throw exception;
}
finally
{
sqlCommand.Connection.Close();
}
}

public override void Install(System.Collections.IDictionary stateSaver)
{
string server = this.Context.Parameters[“server”];
string database = this.Context.Parameters[“dbname”];
string user = this.Context.Parameters[“user”];
string password = this.Context.Parameters[“pwd”];
string targetDir = this.Context.Parameters[“targetdir”];

try
{
string connectionString = String.Format(“data source={0};user
id={1};password={2};persist security info=false;packet size=4096”,
server, user, password);

//create db
ExecuteSql(connectionString, “master”, "CREATE DATABASE " + database);

//set user
string setUserString = “sp_addlogin ‘PrinteryERP’, ‘PrinteryERP’,
‘PrinteryERP’”;
string setAccessString = “sp_grantdbaccess ‘PrinteryERP’”;
string setRole = “sp_addrolemember ‘db_owner’, ‘PrinteryERP’”;

//create new user login
try
{
ExecuteSql(connectionString, “master”, setUserString);
}
catch { }

//set default database
try
{
ExecuteSql(connectionString, “PrinteryERP”, setAccessString);
}
catch { }

//set read role
try
{
ExecuteSql(connectionString, “PrinteryERP”, setRole);
}
catch { }

//create table,store produce…
Process osqlProcess = new Process();
osqlProcess.StartInfo.FileName = targetDir + “osql.exe”;
osqlProcess.StartInfo.Arguments = String.Format(" -U {0} -P {1} -S {2} -d {3}
-i {4}createdb.sql",
user, password, server, database, targetDir);
osqlProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
osqlProcess.Start();
osqlProcess.WaitForExit();
osqlProcess.Close();

//add data
osqlProcess.StartInfo.Arguments = String.Format(" -U {0} -P {1} -S {2} -d {3}
-i {4}insertdata.sql",
user, password, server, database, targetDir);
osqlProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
osqlProcess.Start();
osqlProcess.WaitForExit();
osqlProcess.Close();
}
catch (Exception exception)
{
throw exception;
}

try
{
string configFile = targetDir + “/Web.config”;
if (!File.Exists(configFile))
{
throw new InstallException(“没有找到配置文件。”);
}

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(configFile);

GC.Collect();
File.Delete(configFile);
GC.Collect();

foreach (XmlNode xmlNode in
xmlDoc[“configuration”][“connectionStrings”].ChildNodes)
{
if (xmlNode.Name == “add”)
{
if (xmlNode.Attributes[“name”].Value == “DBConnection”)
{
xmlNode.Attributes[“connectionString”].Value = String.Format(“Data
Source={0};Initial Catalog={1};Persist Security Info=True;User
ID=PrinteryERP;Password=PrinteryERP”,
server, database);
}
if (xmlNode.Attributes[“name”].Value == “UserManageServicesConnection”)
{
xmlNode.Attributes[“connectionString”].Value = String.Format(“Data
Source={0};Initial Catalog={1};Persist Security Info=True;User
ID=PrinteryERP;Password=PrinteryERP”,
server, database);
}
}
}
xmlDoc.Save(configFile);
}
catch (Exception exception)
{
throw exception;
}
}
4.在“Web Setup Project”项目上点右键,选择“Add”->“Project
Output”,选择Project“CreateDB”,选择“Primary Output”,点击OK。重复上述动作,将选择刚才添加的Web
Site,选择“Content Files”,点击OK。
5.在“Web Setup Project”项目上点右键,选择“Add”->“File”,将创建数据库表、存储过程和视图的脚本createdb.sql加入。
重复,将向数据表中添加基础数据的脚本insertdata.sql加入。重复,将程序osql.exe加入。
6.在“Web Setup Project”项目上点右键,选择“Add”->“Merge Module”,在弹出的对话框中选择“VC_User_CRT71_
RTL_X86_—.msm”,点击OK。添加这个VC运行库是因为在一台干净的机器上测试的时候发现osql.exe这个程序需要这个库。
7.在“Web Setup Project”项目上点右键,选择“Properties”,在弹出的对话框中可以设置一些安装程序的属性。点击按钮“Prerequ
isites”,在弹出的对话框中选中“.NET Framework 2.0”和“Windows Installer 3.1”,选中“Download
prerequisites from the same location as my application”。这样就可以把这些组件和应用程序打包在一起,安
装的时候自动检测并安装了。如果需要部署的计算机如果没有打过最新的补丁的话,是没有“Windows Installer
3.1”的,如果没有这个组件,“.NET Framework 2.0”是不能安装的。

8.在“Web Setup Project”项目上点右键,选择“View”->“Custom
Actions”,在出现的树状图的节点“Install”上点右键,选择“Add Custom Actions”。在弹出的对话框中“Look
in”中选择“Web Application Folders”,在下面选择“Primary output from CreateDB
(Active)”,点击OK。
9.在“Web Setup Project”项目上点右键,选择“View”->“User
Interface”,在出现的树状图节点“Install”的子节点“Start”上点击右键,选择“Add
Dialog”,在弹出的对话框中选择“TextBoxes(A)”。

在新添加的节点“TextBoxes (A)”上点击右键,选择“Properites Window”,依次设置Edit*Property属性为“CUSTOMT
EXTA1”,“CUSTOMTEXTA2”,“CUSTOMTEXTA3”和“CUSTOMTEXTA4”。

10.在刚刚建立的“Primary output from CreateDB (Active)”节点上点右键,选择“Properties
Window”,设置“CustomActionData”属性为“/dbname=[CUSTOMTEXTA1] /server=[CUSTOMTEXTA2]
/user=[CUSTOMTEXTA3] /pwd=[CUSTOMTEXTA4] /targetdir=“[TARGETDIR]/””。

接下来对整个解决方案进行编译,会在输出目录下生成两个文件夹和两个文件。
两个文件夹中分别包含了.NET Framework 2.0和Windows
Installer3.1的安装包。另外的两个文件分别是(项目名称).msi和setup.exe。如果要进行安装,请执行setup.exe。
如果你想在“干净”的机器上成功安装和使用水晶报表,请按照下列步骤:

1)新建“安装和部署项目”–>“安装向导”
(2)选择项目类型(这里选“创建用于windows应用程序的安装程序”)–>下一步
(3)选择要包含的文件:要部署使用 Crystal Reports for Visual Studio .NET 2003
的程序,需要添加合并模块(在解决方案资源管理器中tree的顶端节点右键–>添加).
Crystal_Database_Access2003.msm
Crystal_Database_Access2003_enu.msm
Crystal_Managed2003.msm
Crystal_regwiz2003.msm
VC_User_CRT71_RTL_X86_—.msm
VC_User_STL71_RTL_X86_—.msm
你可以 ‘C:/Program Files/Common Files/Merge Modules’ 文件夹下找到替换的合并模块。
(4)打开解决方案–>右键点击Crystal_regwiz2003.msm 的属性,在“MergeMouduleProperties”里的“License
Key”填入:**************************(这个是你生成Crystal Report是用到的注册号的密码!)
(5)生成解决方案
如果没有第四步,会产生在执行打印报表时提示keycodev2.dll或者无效密码的错误。
以上的步骤,如果你的“干净”的机器上装有水晶报表,那么到这里完全就可以了。
如果你不希望在“干净”的机器上装水晶报表,继续以下的步骤:
在“添加项目输出组”中,选择“主输出”,然后单击“确定”。
将自动添加所有依赖项,如 dotnetfxredist_x86_enu.msm和dotnetcrystalreports.msm。
2.需要将dotnetcrystalreports.msm排除在项目之外,在解决方案资源管理器中右击这个模块的右键,选择“排除”。
3.在解决方案资源管理器中,右击安装项目,指向“添加”,然后单击“合并模块”。
4.在“添加模块”对话框中,选择下列要添加到安装项目的合并模块,然后单击“打开”:
reportengine.msm,
crnetruntime.msm
license.msm
mapping.msm (可选,当在报表中使用了geographic maps时)
5.在解决方案资源管理器中,右击 license.msm 文件,然后选择“属性”。
6.在“属性”窗口中,展开 MergeModuleProperties,然后在“许可证密钥”属性框中输入一个有效的许可证密钥。
注意 :  每当部署 Crystal Reports 应用程序时,必须提供许可证密钥。
7.从“生成”菜单中,选择“生成解决方案”以生成应用程序
如果以上步骤没有的化,会提示“load crpe32.dll failed”的错误。
用到的模块下载地址: [ http://support.businessobjects.com/communityCS/FilesAndUpdates/cr
9netmergemodules_chs.zip.asp ](http://support.businessobjects.com/communityCS
/FilesAndUpdates/cr9netmergemodules_chs.zip.asp)
[ http://support.businessobjects.com/communityCS/FilesAndUpdates/cr9netredist_
chs.zip.asp ](http://support.businessobjects.com/communityCS/FilesAndUpdates/
cr9netredist_chs.zip.asp)
[ http://support.businessobjects.com/communityCS/FilesAndUpdates/cr9rdcmergemo
dules_chs.zip.asp ](http://support.businessobjects.com/communityCS/FilesAndUp
dates/cr9rdcmergemodules_chs.zip.asp)
如果你的机器上装的是windows 98,不继续以下的步骤会产生"Load Report Failed" (CRQE.dll)的错误。
报表在部分Win98的客户端可以载入,在部分Win98的客户端载入报表时却提示"Load Report Failed"是因为水晶报表运行时所需的
CRQE.dll 在客户端的系统注册不正确,而原因又是ATL.dll 的版本不对(Windows 98/ME下的正确版本号应为3.0.8449)。
解决办法有两条:
1.在客户端安装 IE6.0,难怪有的客户端运行正常。
2.将 ATL.msm 模块添加到安装工程,ATL.msm 是 Visual Studio installer 1.1 的一部分,可以去微软的网站
http://msdn.microsoft.com/vstudio/downloads/tools/vsi11/download.aspx
下载,
添加办法同上。
至此,可以说打包基本完成。不过还要注意:
如果你用的是水晶报表的推模式,一般不用设置登陆信息,但是要这样写:obj.SetDataSource(this.ds.Tables[“tablename”]
);如果你写成了obj.SetDataSource(this.ds)就会有登陆框的。
如果你用的是水晶报表的拉模式,你就一定要写上登陆信息:
crReportDocument = new OracleReport();
//Set the crConnectionInfo with the current values stored in the report
crConnectionInfo =
crReportDocument.Database.Tables[0].LogOnInfo.ConnectionInfo;
/
Populate the ConnectionInfo Objects Properties with the appropriate values
for
the ServerName, User ID, Password and DatabaseName. However, since Oracle
works on Schemas, Crystal Reports does not recognize or store a DatabaseName.
Therefore, the DatabaseName property must be set to a BLANK string. */
crConnectionInfo.DatabaseName = “”;
crConnectionInfo.ServerName = “Your Server Name”;
crConnectionInfo.UserID = “Your User ID”;
crConnectionInfo.Password = “Your Password”;
//Set the CrDatabase Object to the Report’s Database
crDatabase = crReportDocument.Database;
//Set the CrTables object to the Tables collection of the Report’s dDtabase
crTables = crDatabase.Tables;
//Loop through each Table object in the Tables collection and apply the logon
info
//specified ealier. Note this sample only has one table so the loop will only
execute once
foreach (Table crTable in crTables)
{
crTableLogOnInfo = crTable.LogOnInfo;
crTableLogOnInfo.ConnectionInfo = crConnectionInfo;
crTable.ApplyLogOnInfo (crTableLogOnInfo);

// if you wish to change the schema name as well, you will need to set
Location property as follows:
// crTable.Location = “.” + crTable.Name;
}
//Set the ReportSource of the CrystalReportViewer to the strongly typed Report
included in the project
crystalReportViewer1.ReportSource = crReportDocument;
还有一点要注意:
如果你用到了子报表,一定要处理:
//Go through each sections in the main report and identify the subreport by
name
crSections = crReportDocument.ReportDefinition.Sections;

foreach(Section crSection in crSections)
{
crReportObjects = crSection.ReportObjects;
//loop through all the report objects to find all the subreports
foreach(ReportObject crReportObject in crReportObjects)
{
if (crReportObject.Kind == ReportObjectKind.SubreportObject)
{
//you will need to typecast the reportobject to a subreport
//object once you find it
crSubreportObject = (SubreportObject)crReportObject;

//open the subreport object
crSubReportDoc =
crSubreportObject.OpenSubreport(crSubreportObject.SubreportName);
//Once the correct subreport has been located pass it the
//appropriate dataset
if(crSubReportDoc.Name == “FirstSub”)
{
//crSubReportDoc.Database.Tables[0].SetDataSource(ds);
crSubReportDoc.SetDataSource(ds);
}
}
}
}
crystalReportViewer1.ReportSource = crReportDocument;

同样crSubReportDoc.SetDataSource(ds);改为:crSubReportDoc.SetDataSource(ds.Tables["
tablename"]);


按前面的方法打包后,运行生成的安装程序出现以下错误提示:
在建立与服务器连接时出错。在连接到SQL Server 2005 时,在默认的设置下SQL
Server不允许进行远程连接可能会导致此失败。(provider:命名管道提供程序,error:40 - 无法打开SQL Server的连接)

是什么原因?

在“Web Setup Project”项目上点右键,选择“Properties”,在弹出的对话框中可以设置一些安装程序的属性。点击按钮“Prerequis
ites”,在弹出的对话框中有“Crystal Reports for .Net Framework2.0”和“SQL Server 2005
Express Edittion”,选上这两个是不是就不用另外添加水晶报表和MSDE了呢?


一在现有的WEB项目里新建一个安装部署项目,安装项目
二将需要 打包的文件按照特定的目录打包
如"项目名.dll"文件放到debug目录下
其他文件同样按照相应的目录放置,不要乱了
三/如果是发布程序则,把页面文件的aspx后缀的文件打包即可
如果只是打包源程序,则建议添加所有文件
四/最后生成,
五/运行新生成的,安装文件进行安装测试,看看是不是漏掉了什么文件

首先要感谢自己的父母。没有父母的关心与支持,也没有现在的我。 感谢老姐,过去曾经是我的指路人。现在我要走自己的路了。也希望老姐一路顺风。
感谢关心支持自己的各位亲戚,因为人数众多,所以不再一一列举。 感谢视我同亲戚一样的刘爷爷,张叔,蒋老师。

下面要感谢各位老师。

我毕业设计的导师:李睿老师。感谢他对自己论文的悉心指导,同我一起讨论研究本论文中各种算法,让我 懂得什么才叫编程的高手,还有请我吃的那 n 顿饭。

C 程老师,同时是我的专业启蒙老师:杨柳老师。让自己明确了目标,也让自己知道本专业要学些什么。她看到这里一定会很开心。 J

感谢前任张院长的“软件无处不在”;感谢现任林院长对我工作的支持。

感谢秦拯、王如龙、杨贯中三位教授级的人物为我写的研究生推免介绍信以及给我上过的信息安全, CMM 和计算机网络三门重要的专业课。

J2EE/Java 老师:老边。 没有老边这个伯乐,我根本去不了微软实习。现在还不知道我是不是千里马,继续努力吧。还记得老边那句经典的话:“不要指望一门
课能是你成为编程的高手,或者软件工程的人才。”

小宁哥,主持创新课。每每与之交谈,感慨颇多。另外也感谢他推荐我去微软实习。当然也要感谢他请我吃的 n 顿饭,我至今尚未回请。他的“ Simple is
beauty! ”成为我最好的偷懒理由。

c++ 老师:戴牡红老师。我曾请他来当 One 编程小组的导师。玩转 Oracle 数据库的人。

感谢锦哥让我加入他的 SIT 人脸识别项目,并且以第二作者的名义出了篇论文。然后我可以在各种简历和申请中加上这一项。论文很难写,我现在终于有所领悟。

感谢征征姐的“只要有想法就好”,教给我的编译原理也让我在老大面前炫了一次。编译原理并不像别人所说的那样在工程中一无是处,其实可以在不懂的人面前显得自己“内力
”深厚。

感谢陈浩老师所教授的 UML 相关知识,让我可以在论文中清楚的表现类之间的关系。

感谢陶勇老师教授的网络知识,另外听他讲课也是种享受。

感谢陆邵飞老师的让我在大二暑假就接触了 J2EE 以及热门的 Ajax 技术,并让我在凉爽的网络实验室度过了长沙的炎炎夏日。

感谢周军海老师所讲的软件体系结构。依稀记得他的“三大战役”。还有他让我明白一个道理“ Smile is very important !”。

感谢波哥请我吃的那顿饭,还有那晚的 KTV
。虽然他没有给我讲过课。但是我授权他可以到处喊我是他的弟子。一个很风趣的人。在我做系统的时候曾与我讨论过选中曲线等问题。

感谢范年柏老师的传授的离散数学知识,和欧阳柳波老师讲授的数据库相关知识。

感谢李玮老师讲授的嵌入式和测试技术。他似乎是第一个能在早晨第一节课比我早到教室的老师。

感谢柳杨、尹庚、敏哥当过助教指导过我实验。特别是尹庚老师,他讲得中国式开发经验对我很有启发。但是我至今没有太多的时间来填充系统中那些所谓的枝枝叶叶。

感谢江海老师所带的多媒体实验。我知道做页面美工很重要。但也坚持认为自己成不了美工,虽然在这个系统中写了几千行的 JavaScript 页面代码。

感谢肖雄仁老师讲授的 Linux ,虽然这些知识对我的这篇论文没有起多少作用,也感谢他让我顺利 pass 了中期检查。

感谢申煜湘、田兴彦、王雷三位老师让我顺利 pass 了测试检查。

感谢即将让我顺利 pass 论文答辩的老师们。

下面感谢下和我四年如一日在一起生活学习的同学们:

感谢阿咪,在本论文写成前,在本系统实现前,他立下汗马功劳。感谢他的各种解决方案,多种算法设计,以及大呼小叫似的讨论。

感谢小可、波波、小刚,四个人组成一个快乐但几乎没有人的寝室。这四个人意见从来都没有一致的时候,每次都是两两一边,感觉力量很均衡。特别感谢波波和我一起讨论集中
点问题的算法,并滔滔不绝的为我讲述蚁群算法。

感谢李晨、小花、江果曾我的室友,他们让我清醒地意识到不要去堕落。

感谢郭军、林福勇、后圆圆,咱们共同做的那个系统,可以放在各种申请材料和简历上。那是一个不光名字吓人,连功能都很吓人的系统。

感谢小李子、疯子,让我学习上有了两个界限。虽然我考不到疯子那么高的分,但是决不能堕落得比小李子还低。为了防止误解,顺便一提,小李子成绩也不低。另外我的算法灵
感经常出现在与小李子讨论之后,但我坚持认为小李子的话纯属废话。

感谢明明提点我的英语。无论是英译汉还是汉译英。

感谢 nuonuo ,童梓对我中文论文的修订。

感谢阿咪、疯子、小李子、才子、波波、剑哥、小强、老万、武大姐、小谢加入我大一创立的 One
编程组。促使我在大一读了很多的书,这也奠定了我日后发展的基础,不管在管理还是编程上。另外特别感谢 06 级 6 位学弟学妹,和 07 级 12
位学弟学妹加入 One 编程组。因人数众多,不再点名。

感谢众多学弟学妹加入了我创建的院刊编辑部。希望你们能在部内得到锻炼,成为学生会的骨干。出去后说是我编辑部的人,总会有人罩着你们。不过不知道那人是不是我。

此为感谢我在 ATC (微软亚洲工程院)实习时的导师 Shu ,最后一天的 One-One
给我的感觉竟是相见恨晚。感谢宇涛虽远在天边,却也能在紧急关头施以援手。此外他做人做事态度都值得自己去学习。另外感谢 ATC 的饭团众人。特别是老大
ruijunx ,让我知道技术其实没有什么,关键是会做人。值得一提的是,幽默的饭团众人在数据结构和算法上使用的依旧是 Hash&
穷举。不知道他们现在是否还顶礼膜拜着这两个东西。

感谢所有教过我知识、给过我帮助和传授给我做人道理的各位老师和朋友。在我离开湖大之际,再次在心中深深的感谢。

最后:

不知道我导师会让我最后留多少。但是不管怎样,我还是可以写在自己的blog上。所有最后再感谢下CSDN。

毕业后将毕设的web版的电子地图开源好了…虽然做的很烂…但是想到现在备份还要用u盘,而且过几年后也不一定记得,那么还不如发布到网上。一步一步的教自己如何
做电子地图划算些。

另外还有可以算法表达式、数字签名工具。

其实还想开源更到的系统。但是估计时间有限。估计暂时只有这么多了。

暂时记下…希望日后记的。

1.钢铁侠

1.1那不应该叫钢铁侠,应该叫智力侠

1.2道不同不相为谋。警惕身边不和你志同道合的人。

1.3很难想象那个武器公司只生产了无坚不摧的矛,却没有造出固若金汤的盾

2.太阳浩劫

2.1看后想到一个词:mission complete

3.霍顿与无名氏

3.1a person is a person, no matter how
small。生命就是生命,不管多么微乎其微。但是我依旧对实验室的蚊子赶尽杀绝。想来有些残忍。

4.达芬奇密码

4.1the only thing that matters is what you
believe.不管结果是什么,最重要的是自己相信什么。上帝有还是无,人是否可以永生。有无天堂地狱。科学证明也没有意义,全乎内心。

5.宝葫芦的秘密

5.1想到一句话:凡事都要靠自己

5.2想到另一句话:如果你还没有成功,那是因为你还没有找到适合自己的路

做毕业设计一定要选好题目。毕设想简单,其实很简单。这里给几点建议:

1.绝对不要选算法类题目。因为很难思考出好的算法,思考出好的算法也没有更多的时间去实现这个算法。如果没有实现这个算法,那么你根本不能过测试那一关,因为老师是
要给你的程序评分的。所以你的程序代码行一定不能少。虽然代码行不能算什么重要的信息。比如说写了9000行printf().但是你说写了9000行代码,一定会被
检查的老师们另眼相看。(管他是多少行注释,打印语句,和机器生成码)但是写算法,算法都是经典的。如果写了一个9000行的算法,估计要不你是个天才,要不就是疯了

2.假设你不幸选上了算法类题目,那就想想如何把界面做的炫。

3.一定要选好做简单,功能多的系统。那样老师好打分。因为一个登陆1分,注销1分,添加用户1分…你应该知道怎么要分了吧?

4.写了程序后,一定要写大量的文档。程序可能写了1行,文档要10行。这样你毕设论文就有东西写了。

5.其实最简单是不要在校内做。在校内做麻烦多。所以一定要在校外做。这样只要你和你的校外导师关系好,你只要写一篇论文。其他的什么系统呀,测试呀,只要你导师签个
字就行了。而且保证能打高分。而且在校外做的东西是不会检查的。一旦检查你就说是公司机密。这样就不了了之。

6.中英文论文翻译.其实老师们似乎只看题目,摘要,和第一段。其他的好像不看…不清楚是否真的这样。但不管如何,把题目,摘要,和第一段一定要高质量的翻译。

7.论文…其实老师看的最多的也是题目,摘要,和第一段。当然最后的结论和小结要写好一点。

8.其实老师真的很少看你的技术。除非你不幸撞在了技术老师手里。不过不怕,只要你使用的不是他熟悉的技术就可以了。比如说汇编。这年头似乎很少有人会了。如果你今年
学了pathon,那恭喜你…你可以畅通无阻了。所以选题是尽量选最新的技术。但是对于技术差一点的人来说,还是算了。

9.如果你真的什么都没有做。那一定要及时通知你的导师。或许导师有现成的东西。如果你导师也没有。如果你运气好,碰到了不懂你技术的导师。那么恭喜你,只要你口才好
就可以了。

10.Maybe 你是软件学院的牛人。但是请不要不屑以上几点。如果你不加注意的话,你的分数很可能比只做一个登陆框的人分数还低。毕竟俺是过来人。看到得这种事情
多了。所以如果给你打低分,那你不是第一个也不是最后一个。

诸行无常,诸法无我,涅槃寂静

世间万事万物变化无常,内心的想法也时时不同。看清一切并非绝对,便能从爱欲的执着中解脱出来,获得心灵的自由

有存在就有变化,不变化的也就不存在

正确的看待世间的变化,心也就不会受世间变化所影响

不背负过去的经验,不活在想象的将来,坦然面对现在

因为自己的私欲,而产生了贪欲,嗔忿,自以为是,无能为力,狐疑无知等五种烦恼

要经过自己证实才相信

智者只是仔细的看,仔细的听,悟出统一的方法

最好的功德莫过于大悲心,最甜蜜的快乐莫过于心的平静,最清净的真理莫过于无常的存在,最高的宗教莫过于道德智慧的开展,最伟大的哲理莫过于当下就能验证的真理

因为无常,所以痛苦

不随欲望而行,不要去追逐外在的事物

与自己喜欢的人物事相分离是苦,想拥有但是不能如人意是苦,放弃不了执着的人一生皆也是苦

以自我为中心考虑事物,苦就会产生

苦来自于烦恼,烦恼来自于欲望

遇上好的有利于自己的就想拥有之念,是产生痛苦的根源

消除自我,也就没有所谓的痛苦

渴望得到现在还未有的是贪念,珍惜现在已经拥有的就是惜福

忍辱:不激动,不愤怒,不伤害任何人,也不执着

有必要的话说,没有必要的话不说。必须要断绝就要当下断绝,必须要修学的要全力以赴的修学

什么是自己最重要的事,什么是最优先的事。

用自己的力量去实践而达到平静安详的心

远离世间一切外在的价值标准,将欲望灭尽,让心灵得到解脱

佛教弟子的三皈依:皈依佛,皈依法,皈依僧

一切因缘生此有故彼有,此起故彼起,此无故彼无,此灭故彼灭

起皆因缘,果乃己行。

追逐世间的一切价值,跟随世间节奏的人必有苦恼

追逐身心的净化,才得大安乐

不刑害众生

一切皆苦

切断因缘,达到安静祥和的涅槃寂静之境

不必执着什么,即使是觉悟。

世间有两个极端都不可接近:一个是享乐,一个是苦行

毁誉不能改变事实

净化身、语、意

不杀生、不偷盗、不邪淫、不妄言、不两舌、不恶口、不绮语、不贪欲、不瞋恚、不邪见

人生而孤独,死而孤独

本想着不出去玩,好好在寝室呆着。结果这三天似乎都没有闲着。去刘爷爷家耗了两天,去海底世界耗了一天。结果这个五一就这样“充实”的度过了。

海底世界里有很多鱼。但是自己经常吃的草鱼、鲫鱼、鲤鱼都看不到。或许这里养的都是海里的鱼。有的鱼真的很大,和自己一般大。听了解说员的解说就恐怖了:因为玻璃的缘
故所有的鱼都缩小了1/4。那么它们到底多大??看海狮海豹表演要排队。很有耐心的等了一个多小时,幸好自己带了本本,看了会动画片。在里面逛了三四个小时,人都逛得
虚脱了。接下来,被童梓和诺诺拉去“傣妹”吃火锅。全部过程中自己得出一条定律:所有重大事情都不要交给童梓去做。因为她总是会出差错。诺诺相对较好,因为她永远不做
重大的事情。套用最近看过的格言里的一句话。我的唯一缺点就是有钱。现在因为被她俩宰了一顿,所以自己就完美了。

第三天跑去刘爷爷家修机器。为啥那该死的瑞星升级后杀毒都蓝屏。这软件做的真是太强大了。试过了卸载瑞星、测试内存、清洁内存条、拔插内存条、系统还原。结果再瑞星再
次升级后,系统再次陷入崩溃。我就想这个瑞星是不是就是个病毒?

听说明天还有半天假…不知道放与不放对我有什么意义没有。因为每天都是假期。

又给童梓过了一次生日。又一年了。想来只记别人的阳历生日,结果他们都过阴历的。所以我有了做一个生日提醒的软件,但是想想只能在6月份以后才能开始动手做。但是想想
阳历和阴历的转换是非常非常麻烦的事情,有点头晕了。很快就要离开这个地方了。诺诺问我是否很兴奋。我说当然兴奋了,终于要离开这里了。睿哥发信要我和阿咪参加什么长
沙的创新大赛。系统…似乎根本不能在那天搞定。况且现在还没有任何文档。看起来有点疯狂。但是大家从来都是在疯狂中度过…今天搜到一首歌陈伟联的《小人物的心
声》不错的旋律。建议大家听听。

下面是歌词:

也许我一个人
不能成就一番大事业
但我尽力贡献一份微薄的力量

也许我自己
不能发出万丈光和亮
但我能为斗室带来足够的光芒

我从来都不在乎
自己不是一个大人物
因为平凡也是一种幸福

看到名人总是忙忙碌碌
我的时间由我控制
平凡日子一样会充实

也许我一个人
不能成就一番大事业
但我尽力贡献一份微薄的力量

也许我自己
不能发出万丈光和亮
但我能为斗室带来足够的光芒

我从来都不在乎
自己不是一个大人物
因为平凡也是一种幸福

看到名人总是忙忙碌碌
我的时间由我控制
平凡日子一样会充实

我从来都不在乎
自己不是一个大人物
因为平凡也是一种幸福

看到名人总是忙忙碌碌
我的时间由我控制
平凡日子一样会充实

我从来都不在乎
自己不是一个大人物
因为平凡也是一种幸福

看到名人总是忙忙碌碌
我的时间由我控制
平凡日子一样会充实

我从来都不在乎
自己不是一个大人物
因为平凡也是一种幸福

看到名人总是忙忙碌碌
我的时间由我控制
平凡日子一样会充实

我从来都不在乎
自己不是一个大人物
因为平凡也是一种幸福

0%