RED

科普帖:Linux操作系统

两盒软妹~` 提交于 2021-01-04 15:04:52
使用计算机必然会接触操作系统,现代操作系统已经发展的十分成熟,一般用户都可以很轻松的使用计算机。然而,对于要利用计算机进行专业开发和应用的用户来说,需要更加深入地理解操作系统的原理和运行机制,这样才能更加有效地利用计算机为自己的专业服务。 计算机操作系统由硬件和软件两部分组成。硬件是组成一台计算机的各个部件,包括中央处理器、内存和输入/输出设备。软件包括系统软件和应用软件。操作系统是计算机系统中最基本的软件,它直接管理和控制计算机的资源,合理调度资源,使之得到充分的利用,并为用户使用这些资源提供一个方便的操作系统环境和良好的用户界面。 Linux 是一个优秀的操作系统,它支持多用户、多进程,具有强大的功能、出色的性能以及良好的兼容性和可移植性,应用前景十分广阔。 Linux的优秀品质来源于Unix系统,不同的是,它是一个源代码开放的操作系统,并且可以在简单且硬件成本低廉的环境下运行,因此,Linux正越来越多地取代Unix而成为操作系统的分析实例,这给操作系统的学习带来了一种新的途径,结合Linux学习操作系统,不仅可以通过其源代码了解操作系统的实现技术,使抽象的理论和概念具体化,还可同时掌握一门实用操作系统的应用技术。 Linux是一个遵循POSIX标准的,多用户的、多任务的自由操作系统。与其他操作系统相比,它有以下显著特点: 基于Unix设计,性能出色

python, ImageFont

情到浓时终转凉″ 提交于 2021-01-04 08:36:44
ImageFont模块定义了相同名称的类,即ImageFont类。这个类的实例存储bitmap字体,用于ImageDraw类的text()方法。 PIL可以配置是否支持TrueType和OpenType字体 一、ImageFont模块的函数 1、 Load 定义:ImageFont.load(file)⇒ Font instance 含义:从指定的文件中加载一种字体,该函数返回对应的字体对象。如果该函数失败,将产生IOError异常。 2、 Load_path 定义:ImageFont.load_path(file)⇒ Font instance 含义:和函数load()一样,但是如果没有指定当前路径的话,会从sys.path开始查找指定的字体文件。 3、 Truetype 定义1:ImageFont.truetype(file,size) ⇒ Font instance 含义1:加载一个TrueType或者OpenType字体文件,并且创建一个字体对象。这个函数从指定的文件加载了一个字体对象,并且为指定大小的字体创建了字体对象。 在windows系统中,如果指定的文件不存在,加载器会顺便看看windows的字体目录下是否存在。 这个函数需要_imagingft服务。 定义2:ImageFont.truetype(file,size, encoding=value) ⇒ Font

for in 和 for of 的区别

左心房为你撑大大i 提交于 2021-01-04 07:31:25
1、for...in 循环:只能获得对象的键名,不能获得键值 for...of 循环:允许遍历获得键值 var arr = ['red', 'green', 'blue'] for(let item in arr) { console.log('for in item', item) } /* for in item 0 for in item 1 for in item 2 */ for(let item of arr) { console.log('for of item', item) } /* for of item red for of item green for of item blue */ 2、对于普通对象,没有部署原生的 iterator 接口,直接使用 for...of 会报错 var obj = { 'name': 'Jim Green', 'age': 12 } for(let key of obj) { console.log('for of obj', key) } // Uncaught TypeError: obj is not iterable 可以使用 for...in 循环遍历键名 for(let key in obj) { console.log('for in key', key) } /* for in key name for in

c/c++ 数组和指针

情到浓时终转凉″ 提交于 2021-01-04 02:58:07
c/c++ 数组和指针 <font color="green"> 知识点 </font> 1,数组就是指针,对应代码里的test1 2,用auto声明,得到的是指针,对应代码里的test2 3,用decltype声明,得到的不是指针 ,对应代码里的test3 <font color="pink">4,用指针模拟end ,对应代码里的test4</font> 5,标准库函数std::begin,std::end,对应代码里的test5 6,ptrdiff_t和size_t,ptrdiff是数组下标相加减的值的类型,size_t是数组下标的类型,对应代码里的test6 <font color="red"> 7,数组的下标可以是负值,标准库的string,vector的下标也可以是负值,对应代码里的test7 8,用数组初始化vector,注意生成的vector里的元素不包括第二个参数,对应代码里的test8</font> #include <iostream> #include <vector> using namespace std; int main(){ //test1 数组就是指针 /* string ar[] = {"aa","bb"}; string* p = ar; *p = "cc"; string* p1 = &ar[1]; *p1 = "dd"; for(auto

练手WPF(四)——贪吃蛇小游戏的简易实现(上)

不打扰是莪最后的温柔 提交于 2021-01-03 23:42:24
原文: 练手WPF(四)——贪吃蛇小游戏的简易实现(上) 一. 游戏界面 首先,按照惯例,编辑MainWindow.xaml,先将游戏界面制作好。非常简单: (1)主游戏区依然使用我们熟悉的Canvas控件,大小为640X480像素,设定每小格子为20px,所以横坚坐标的格子数为32x24。见源代码的最后位置。 (2)定位控件我们使用DockPanel,方便放置主菜单。 (3)将按键事件PreviewKeyDown放在Window内。 < Window x:Class ="MoonSnake.MainWindow" xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x ="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d ="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc ="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local ="clr-namespace:MoonSnake" mc:Ignorable ="d" PreviewKeyDown ="MyCanvas

概率与期望

╄→гoц情女王★ 提交于 2021-01-03 07:43:34
<font color=blue>概率与期望</font> 期望 概率这一个词语在生活中实际上是经常会碰见的,所以说这里我就来说一说相对而言遇到的要少一些的期望。这个期望啊,可以理解为<font color=red> 某些事件大量发生以后的平均的结果 </font>。这就好比一个六面的色子扔了很多很多次以后,色子平均值会趋近于 3.5 。<s>这个原因啊,是显而易见,毫无疑问的,就不需要再多解释了</s>。 例题 好的,有一道例题可以看看 洛谷P4316 这一道题啊,读完了我就想到了拓扑排序,,同时用两个变长数组来存就可以了<s>最开始我想用边集,可是我不知道怎么用边集来拓扑排序啊,于是ZhuFN大佬提醒我用两个变长数组</s>。因此,我们只需要用两个变长数组,一个<font color=red>用来存点</font>,一个用来<font color=red>存权值</font>就OK了。 而这一个拓扑排序的过程中,相对与普通的拓扑排序,增加上对于期望长度的累加就可以了这是因为期望具有可加性 probab(u) 来的那一个点的期望长度, w 为这一条边的权值, outdgr(v) 为有几条路进来,那么可以得到 $$ probab(v)=[probab(u)+w]/outdgr(v) $$ 我们这里可采用正着来或反着来(应该是吧),就像是USACO的数字金字塔一样吧 #include

百度地图/高德地图大批量坐标转换结果返回顺序问题

烈酒焚心 提交于 2021-01-02 22:59:45
转载请注明出处: https://www.cnblogs.com/Joanna-Yan/p/9894712.html   项目需求:设备采集到的GPS坐标信息,需提供实时、历史轨迹的查看功能。这些点坐标除经纬度信息外还携带了其它的信息,比如:速度、方向、解状态等。原始的GPS坐标需要转换成百度地图/高德地图坐标后才能在相应的地图上显示,否则存在较大的位置偏差。   前端人员在高德地图上显示多个点坐标信息时,发现转换后回来的坐标点没法与该坐标点的其它信息对应。一直得不到解决。 帮忙查看,调试代码。发现高德/百度地图坐标转换方法是异步的,包括js api和http请求的uri方式。 https://lbs.amap.com/api/javascript-api/reference/lnglat-to-address#t2 http://lbsyun.baidu.com/index.php?title=webapi/guide/changeposition 可以看到该方法不支持传参的扩展和属性附带。所以通过将坐标的其它属性附带到坐标的异步转换方法,再通过结果一起带回来的办法是行不通了。 方法是异步的,回调函数回调就会有时间延迟。如果按照for循环顺序去提交转换,其回调函数也不是顺序执行的。 也就是说,你连续提交了1、2、3、4、5,5个GPS坐标,其回调函数的回调顺序有可能是43521

18-超链接导航栏案例

爷,独闯天下 提交于 2021-01-02 19:14:01
【转】18-超链接导航栏案例 直接上代码了 html结构 < div class ="nav" > < ul > < li > < a href ="" > 路飞学城 </ a > </ li > < li > < a href ="" > 老男孩 </ a > </ li > < li > < a href ="" > 网站导航 </ a > </ li > < li > < a href ="" > 网站导航 </ a > </ li > < li > < a href ="" > 网站导航 </ a > </ li > < li > < a href ="" > 网站导航 </ a > </ li > </ ul > </ div > 写好上面的结构代码之后,也就是将我们页面展示的内容显示了,但是我们此时要利用我们学过的知识点来布局页面 首先我们要做导航栏,并排显示元素,第一想 浮动,想到使用浮动之后,一定记得清除浮动元素。 css代码如下: * { padding : 0 ; margin : 0 ; } ul { list-style : none ; } .nav { width : 960px ; /* height: 40px; */ overflow : hidden ; margin : 100px auto ; background-color :

learning armbian steps(8) ----- armbian 源码分析(三)

怎甘沉沦 提交于 2021-01-02 15:18:51
在lib/main.sh当中 13 if [[ $(basename $ 0 ) == main.sh ]]; then 14 echo " Please use compile.sh to start the build process " 15 exit - 1 16 fi 17 18 # default umask for root is 022 so parent directories won ' t be group writeable without this 19 # this is used instead of making the chmod in prepare_host() recursive 20 umask 002 21 22 # destination 23 DEST=$SRC/ output 24 25 TTY_X=$(($(stty size | awk ' {print $2} ' )- 6 )) # determine terminal width 26 TTY_Y=$(($(stty size | awk ' {print $1} ' )- 6 )) # determine terminal height 27 13-16行,由于 main.sh脚本的执行需要在compile.sh内 被调用,不可以直接通过lib/main.sh

CentOS和Ubuntu哪个好?

懵懂的女人 提交于 2021-01-02 12:10:23
CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。 Ubuntu是一个以桌面应用为主系统,Ubuntu基于Debian发行版和GNOME桌面环境。Ubuntu的主要是为一般用户提供最新且相当稳定的操作系统。 (虽然Ubuntu桌面做的好,但是对于服务器操作系统开始,一般都是远程操作,所以Ubuntu的桌面优点在做云端服务器上就无法显现了,因为一般都是命令行远程操作) 由于CentOS和Ubuntu都是使用bash作为基础shell,所以在很多命令都相差不大。都是目前个人和小团队常用的服务级操作系统,在线提供的软件库中可以很方便的安装到很多开源的软件及库。 1.centos中新建的非root用户是没有sudo的权限的,如果需要使用sudo权限必须在/etc/sudoers 中加入账户和权限,所以切换到root账号的时候只需要输入:su,加入root账号的密码即可。在Ubuntu中,一般使用sudo+命令,如果是第一次使用会提示输入当前用户的密码(而不是root的密码) 2. 软件管理