Hello,Django!
1.关于Django,你需要知道Django是基于python的网络架构,可以快速开发安全可维护的网站,功能简洁完整,学习门槛低,可以在短时间内开发出一个完备的管理系统。
2.初识django,小可有三头六臂
使用场景:企业管理系统,内容的管理,运维的管理。
优点:安全框架,复用度高,简洁高效,快速开发。
缺点:不易并行开发(例如京东,淘宝等高并行的软件——比如抢手机的时候),不适合简单项目。
设计思想:DRY(don’t repeat youself),MVT架构。
简洁,简洁,还是**的简洁。
3.安装构建第一个项目Django的安装需要先安装如下几个软件:Anaconda包管理工具,Pycharm IDE,然后使用conda安装django(社区版本的pycharm没有自带django需要自行安装)使用anaconda创建一个新的环境,安装所需要的django包。
1conda isntall django # 若长时间加载中需要更换安装源
安装好之后便可以直接在命令行完成项目的创建
1(Django) E:\Pycharm\Django> django-admi ...
Linux入门学习
安装文件Linux的安装文件通常有两种.deb 和.rpm,根据自己内核版本选择不同的安装文件 ,通常情况下ubuntu可以选择deb版本的文件,直接双击变会自动打开商店安装。(有点类似exe执行文件)
Deb: Debian 系统及其派生发行版(如Ubuntu)使用 Deb 格式的软件包。Deb 包通常有 .deb 文件扩展名。
RPM: Red Hat 系统及其派生发行版(如Fedora、CentOS、openSUSE)使用 RPM 格式的软件包。RPM 包通常有 .rpm 文件扩展名。
创建软连接创建软连接有点类似于window下的“快捷方式”,它创建了一个指向目标文件或目录的一个“指针”。你可以这么去理解,他并不是实际文件的copy,而提供了一个类似“任意门”的功能可以让你去使用链接到的文件或目录。
在 Linux 中,可以使用 ln -s 命令来创建软链接,-s 选项表示创建符号链接。例如如下创建案例:
1ln -s /path/to/original/file /path/to/link
应用需要在
1/usr/local/bin
目录下才可以全局访问,因此需要创建软连 ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment哈哈: ![tupian]
CMake学习
基本介绍CMake是一个跨平台的编译工具,可以用简单的语句来描述所有平台的编译过程。 CMake能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性。 CMake的配置文件叫做CMakeLists.txt。 CMake不直接生成最终的软件,而是生成标准的构建文件,然后再用一般的构建方式使用。 CMake可以帮助开发者在复杂的项目中管理编译关系,简化二次开发的过程。
BOLT学习笔记
背景:数据中心应用程序通常非常庞大和复杂,因此代码布局成为提高性能的重要优化手段。BOLT是一个链接后优化工具,它可以对已经编译和链接的二进制文件进行重新代码布局和优化,以提高程序的性能。文章证明了,虽然在早期注入配置文件可以通过更多的优化使用,但稍后注入可以更准确的使用信息,以获得更好的代码布局。
主要贡献:
描述了基于LLVM架构的优化
后链接优化可更好的利用分析数据
编译时、链接时、后链接 FDO 之间互补而非互相替代。
BOLT工具介绍:BOLT是一个后链接二进制优化工具,通过重新布局应用程序的二进制代码,从而减少指令缓存(ICache)不命中率。因为ICache不命中会对性能产生重大影响,特别是对于那些指令密集型的应用程序。
执行流程:1.BOLT首先分析程序的执行,收集关于分支和基于性能的信息。2.它利用这些信息来重新布局二进制文件的函数和基本块,以减少ICache的不命中。3.通过调整代码以利用现代硬件上的其他特性。
优点:与其他优化技术相比,BOLT具有更好的性能提升,尤其是对于大型、长时间运行的应用程序。BOLT不需要源代码进行优化,可以直接在二进制文件上操作。
工 ...
布尔逻辑和逻辑门
1 简介计算机是由二进制表示的,起初人们试过3进制和5进制,但是当状态存在的越多的时候,我们越难以区分不同状态之间的界限。你的手机显示电量不足很可能是因为周围微波炉信号的干扰,想想看那样是不是很糟糕。
二进制代表两个状态:true or false ,仅仅靠着这两个状态我们就可以实现控制晶体管,执行相应的程序,不夸张的说,有了二进制,你就拥有了全世界。
2 布尔代数和通常我们所学的代数不同,逻辑代数的值只有 True ,false和逻辑操作,当然由他的名字我们很容易知道,他是由英国数学家布尔发明的。布尔代数又称作逻辑代数。
3 逻辑门对于逻辑运算 ,我们可以通过简单的晶体管实现:
not:
or:
and:
xor:
编译器概述
编译器的定义与分类Q:平常软件的输入输出是什么?A:举例:美图秀秀输入原始照片,输出修图调节后的照片;语音识别:输入语音输出识别后的文本。
定义:
把高级编写的程序转换为源程序、目标代码、中间语言程序这几种类型。
中间语言->可执行代码
一种汇编->另一种汇编
一种二进制->另外一种二进制
Q:静态编译和动态编译的区别?A:静态编译运行在编译之后,动态编译编译和运行同时发生。
程序的中间表示
符号表
程序运行时的内存组织
程序分析和优化
交叉编译用编译器优化程序的迭代循环
研读用于识别编译器关键优化的热点驱动半自动竞争分析框架
相关知识1.热点代码: 意指在程序运行时频繁执行的部分代码,这些代码可能会成为性能瓶颈,因此通过识别热点代码可以实现程序运行时的性能优化。
2.动态二进制检测: 一种用于分析和测试计算机程序的方法,它在程序执行时,对程序的二进制代码进行分析。与静态分析不同,动态二进制检测是在程序运行时获取和分析信息,这使得它能够捕获程序的实际行为和状态。
3.热点的指令表征: 是指在程序执行期间特定代码段(通常是循环或频繁执行的代码块)的指令序列的特性或表示。这些特性用于分析和优化程序的性能。
4.二进制文件热点检测的一般过程:
二进制文件的热点检测过程是指在分析程序的二进制可执行文件时,识别和定位程序中的热点代码段的过程。热点代码段通常是程序中频繁执行的部分,可能会对程序的性能产生显著影响。以下是一般的二进制文件热点检测过程的关键步骤:
(1) 二进制反汇编:首先,将二进制可执行文件反汇编为汇编代码,以便进一步分析。这一步通常由反汇编工具执行。
(2)指令计数:对反汇编后的代码进行指令计数,以确定哪些指令或代码块在程序执行期间被频繁执行。这可以通过跟踪指令的执行次数或执行路径来实现。
(3)性能分析 ...
麻麻花的春天
我出生于山西的一个小村庄。
小的时候,最喜欢和爷爷在繁华似锦的季节,带着小篮子,去采一种叫做“麻麻花”的植物。那种花很小,但很香,那种沁人心脾的感觉,就好像整个人置身于花海之中游趟。这种花开的很小,开的很少,采的时候也很有讲究。要采那种含苞待放的花骨朵,在它的香气没有蔓延出来时,保存起来。待到做饭时,捏一两朵,趁着油刚热和葱花一起在锅里翻涌。这样炒出来的面有着春天的味道。每当这个时节,那便是我最开心的时候,我们会给自己留下一点,剩下的全部,拿到市场上去卖。城里人很看好这种花,因为很罕见,所以我们都能卖个大价钱。
图1 我和爷爷
这份动力,便是支撑着我,在柳絮纷飞的季节邂逅春天。每当我们采累了的时候,都会在那高高的山上,望向那一座座的城,那一幢幢的高楼大厦,是我记忆中最大的风景。我爱这山,爱她庇护着我们一代代的人,爱她在春天时开着漫山遍野的野花,爱她在夏天时山脚处的幽凉,爱她在秋天时捧着满眼金黄的稻穗,爱她在冬天时裹着皑皑的白雪。但我又讨厌她,她拉开了了我们与城市的距离。
这个时候的爷爷总会对我说,人要望的远,不能活在当下。就像这一座座的山,你只有在高处才能看到山 ...