linux常用命令50个

  categories:资料  author:

下面是从网络上搜索到一个介绍linux中最常用的命令的 文章,

并且我在这里面挑选了一些非常重要且常用的, 做了标记

其中红色区域的 **号的多少代表本人的认为的重要程度, *多重要度提升

另外, 特别注意  就是里面双引号都要是英文才行, 文章里面在编写时,经常被编辑软件替换为中文的双引号,因此当您拷贝代码到linux中时要特别考虑, 英文双引号才行。

 

*****1. find 基本语法参数如下:

find [PATH] [option] [action]

# 与时间有关的参数:
-mtime n : n为数字,意思为在n天之前的“一天内”被更改过的文件;
-mtime +n : 列出在n天之前(不含n天本身)被更改过的文件名;
-mtime -n : 列出在n天之内(含n天本身)被更改过的文件名;
-newer file : 列出比file还要新的文件名
# 例如:
阅读全文

CodeBlock使用技巧

  categories:资料  author:

CodeBlock是一款采用C++编写的完全开源、功能强大的IDE,工欲善其事必先利其器,为了更加方便后期的开发调试,下面先就网上的一些

官方主页地址为:    http://www.codeblocks.org/

Cppcheck下载地址:http://cppcheck.sourceforge.net/

安装要点

1. 下载安装CodeBlock时,安装路径绝对不能含有中文字符或者空格字符,否则调试工具就无法使用。

安装时候务必选择 custom安装,选中全部插件进行安装。

2. CodeBlock组织项目是分层次的,最高层为一个Workspace,这个工作空间下面,可以多有个工程,但一次只能有一个活动工程,

每个工程下面是具体的文件组织,按照文件结构基本组织的话,分为Sources目录和Headers目录。

 

对于每个新建工程,例如工程名字为C++_test, CB会自动生成对于名称的目录(C++_test),该目录下面,有如下的文件排布

image

bin目录为最终生成的可执行文件路径

obj目录为编译过程中的临时文件路径

cbp文件为CB的工程项目文件

layout文件为CB的工程配置文件

depend文件为CB的项目头文件依赖文件

最终编译生成的有Debug版和Release版,

 

日常编辑

  •     1. 按住Ctrl+滚轮,可以随时调整代码的文字大小

2. Ctrl+Shift+C  注释掉当前行或者选中快 Ctrl+Shift+x 解除注释

3. Tab 缩进当前行,Shift+Tab 减小缩进

4. F2 显示和隐藏下方的 Logs & others    … 阅读全文

如何实战开发一款小游戏

  categories:资料  author:

如何快速开发一款火爆的小游戏?“火爆”是一个偏运营的词,今天介绍的内容可能更倾向于技术方面,即如何利用微信的开放能力开发一款小游戏。小游戏上线120天时发布了几个重要的消息,其中有几个数字可以用来描述“火爆”这个词。微信小游戏正式允许第三方开发者发布的时间是在3月3日,而现在几款小游戏的用户已经过亿,安卓月流水过千万的也有数款小游戏,大家应该已经体会到了微信小游戏的火爆程度。

与火爆相关的两个知识,一个就是如何开发?首先要利用好微信的社交相关性,微信去中心化的情景下社交分享互动是非常重要的,因为没有传统流量分发的总入口。第二个是操作的简便性,我们根据游戏成为爆款游戏后的数据才能推出这两个结论,并不是说具备这两个特性就一定能开发出一款火爆的游戏。

什么是小游戏?

首先为大家介绍一下什么是小游戏:小游戏特指微信小游戏,是小程序的一个子类目,可在微信内被便捷地获取和传播,即点即玩,具备出色的用户体验。在开发的视角来看,小游戏是一个基于Canvas/WebGL + 微信社交开放能力的新平台。在框架上看分为三层,是一个典型的分层架构。微信中有一个小游戏的Runtime去运行小游戏,而OS本身可能会涉及到不同类的设备。

什么是小游戏

如果放大小游戏的Runtime可以看到很多的细节,第一就是游戏逻辑,也就是与平台无关的游戏逻辑的开发。第二部分是游戏引擎,大部分会用到一些引擎的工作流、一些各种系统封装好的高层的API。第三部分是weapp,小游戏的框架是参考了webview的框架,但其实它的底层不是webview,而是webview精简优化过的平台,小游戏有的只是与核心相关的一些渲染的API。这里的weapp-adaper是把小游戏的能力适配到与webview更接近的环境,让更上层的游戏或引擎本身能够更快速地集入到平台中。

小游戏Runtime

微信的Runtime对外暴露的都是微信的API,所有的能力都是通过微信API发布出去的。底层最基本的能力是渲染相关的,即Canvas 2d和WebGL。其他一些微信相关的能力是另外一部,所以小游戏在架构上和小程序是有差别的,但用户体验起来没有太大的区别。小游戏是没有页面概念的,在实现上也不完全是webview,其中不必要的部分已经被去掉了。

总的来说小游戏的入口为game.js,游戏可以利用底层的一些能力将游戏的整个界面绘制出来。配置文件为game.json主要用来配置小游戏是横屏还是竖屏,小游戏的全局对象game Gobal类似于webview中的window对象,同时支持javascript语言。但是小游戏有一个重要的一个限制是禁止动态执行代码,开发者必须先提交审核,在审核通过后才可以上架给普通用户。另外,小游戏包括引擎的代码量比较大,所以限制大小比小程序要大,首包限制大小为4M。

下面来说一下Webview Adapter,它的初衷是为了让游戏开发者更好地熟悉我们的平台,所以我们的平台在能力上会尽可能地与webview做一些适配,其实这个适配也是很简单的一层。比如说我们在浏览器里面使用image对象创建一个图片,而在小游戏里是通过wx.createimage来创建的,在代码中需要做一个简单的适配。比如说Canvas、Document都是在Adapter中实现的,大家可以研究链接中的代码。其中有一些优化的版本,之后官方不会继续维系这个Adapter,因为我们会更专注于底层能力的建设。如果大家已经比较熟悉这个平台的话,就会比较容易地开发游戏。比如Document这个对象在小游戏框架本身中跟普通对象是没有区别的,它是Adapter做的一个简单的适配。

Webview Adapter

下图是小游戏能力的概览,最近小游戏能力的迭代比较快,部分能力还没有罗列出来。比如最近刚发布的游戏圈、健康系统相关的一些接口,都还没有列进去。我们先看一下基础能力,在渲染这部分WebGL1.0和Canvas 2D都是支持的,这里的Canvas更接近于浏览器里面的标准。同时,这里提到的可控帧率的概念,如果小游戏在后台运行的话,可以尽量将帧率降低。在多媒体部分,小游戏还不能像小程序一样实现实时的音频视频流,这是我们在后续要进一步支持的。网络IO的部分与小程序也是类似的,我们也提供了一些UI的组件,比如说拉起键盘,模态对话框等。

小游戏能力概览

小游戏的社交开放能力现在已经对外开放了。其中最重要的一个能力是开放域,将微信的好友关系列开放出去,给开发者一起使用,但也存在着一些限制。因为小游戏去中心化的特点,分享这一部分也是非常重要的,开发者要考虑如何将这个能力利用起来。在代码方面,因为首包限制是4兆,但部分小游戏的代码量可能比较大。我们最近也在规划一个分包的能力,异步加载代码,但这个代码是一定要经过我们审核的。

如何开发一款小游戏?

那么如何开发一款小游戏?因为我本人也只是开发过一些简单的游戏,并不是专业进行游戏开发,所以接下来我会更多地介绍一下如何利用微信的能力来开发小游戏。

选择小游戏引擎

首先在开发游戏时要选择引擎,我们与引擎商也有着比较密切的合作,开发小游戏的引擎一定要是适配的。比如在底层,一开始引擎可能只支持原生的游戏,在微信小游戏上就要做一些适配,依赖浏览器特有的能力。Cocos Creator、Egret Engine、LayaAir Engine这三个引擎已经支持了小游戏的开发,网上也有相应的文章介绍如何发布到微信小游戏的平台。

设备/环境适配

有关设备管理的适配,小游戏会有API提供获取屏幕的宽高、设备像素比等能力。在小游戏开发完成后,在开发者工具也可以发起真机测试的请求,微信提供了不同设备的测试集群,帮助开发者提前去发现问题。基础库提供的wx API本身是一个不断迭代更新的过程,对于使用了新能力的小游戏,需要做低版本兼容。比如在检测到不支持新 API的低版本允许有损服务用户。同时,如果某个低版本的用户占比较少,可以考虑在管理后台直接配置小游戏要求的基础库最低版本,当然也意味着这一部分用户在接触到这个小游戏时,微信客户端会弹出一个要求用户更新到微信新版本才可使用该小游戏的提示,如果不更新可能就会失去这个用户。

设备/环境适配

微信登录

小游戏的登陆过程与小程序类似,需要用户自定义登录状态。appsecret/session_key代表的是小游戏开发者和微信平台之间的一种信任约定,比如支付、上报托管数据,平台方需要验证 access_token,和用户相关的还要验证session_key的签名,才能保证请求来自于小游戏开发者或用户。access_token是一种应用态的 access_token,与用户无关,需要保证全局维护一份,应该有一个中控的模块去保证 access_token有效,同时在有效期内直接使用本地 cache的 access_token,而不是每次使用都去生成新的 … 阅读全文

十大开源游戏引擎深入比较

  categories:资料  author:

在国内外,业界盛传有十大开源游戏引擎,分别是OGRE、Irrlicht、Panda3D、Crystal Space、jME、Blender Game Engine、Reality Factory、The Nebula Device 2、RealmForge、OpenScene- Graph。我们对这十款开源游戏引擎深入进行分析。

(1) OGRE是面向对象图形渲染引擎(Object-Oriented Graphics Rendering Engine)的缩写,采用C++开发,以MIT许可证发布,可以在Windows、Linux、Mac上运行。OGRE自己也说明本身不是游戏引擎。

其主要特征如下:

面向对象,插件扩展架构,具有文档支持。

支持脚本。可以通过脚本管理材质资产并进行多路渲染。

支持物理碰撞检测。

支持顶点灯光、像素灯光、灯光映射。

支持阴影映射、三维阴影。

支持多纹理、凹凸贴图、多重材质贴图、立体投影。

支持顶点、像素、高级着色。

支持场景管理,具有多种数据结构。

支持逆向运动动画、骨架动画、变形动画、混合动画及姿态动画。

支持网格加载、皮肤、渐进网格。

支持环境映射、镜头眩光、公告牌、粒子、运动模糊、天空、水、雾、丝带轨迹、透明对象。

支持XML文件转换。

引擎特性全面( ),稳定性好( ),支持全面( ),不容易上手和使用( )。

(2) Irrlicht采用C++开发,以zlib/libpng许可证发布,可以在Windows、Linux、Mac、Solaris、FreeBSD、Xbox上运行。Irrlicht自己也说明本身不是游戏引擎。

其主要特征如下:

面向对象,插件扩展架构,具有文档支持。

支持内建场景、灯光、GUI编辑器。

支持物理碰撞检测。

阅读全文

从锦囊妙计想到的31–让您的图形上下动起来

  categories:资料  author:

前面30中, 我们做到了让程序动起来, 但是他仅仅是动了, 我们了解了动的原理, 今天我们让程序更进一步动起来, 先从上下移, 移动到最下面后, 在像是移动, 彼此往返

一。 创建一个项目, 输出一个三角形, 如下图

完整参考代码如下:

#include <stdio.h>
#include <stdlib.h>
// 演示程序中三角形上下移动

#include <windows.h>

// 定义一个输出三角形的函数, lineCount为三角形具有的行数
int shuSanJiaoXing(int lineCount)
{
for(int i = 0; i < lineCount; i++){
shuChuHang(i);
}

// … 阅读全文

用 Go 写一个轻量级的 ssh 批量操作工具

  categories:资料  author:

前言

这是一个轮子。

大家都知道 Ansible 是功能超级强大的自动化运维工具,十分的高大上。太高大上了以至于在低端运维有点水土不服,在于三点:

  1. Ansible 是基于 Python 的,而 Python 下的安装是有一堆依赖的。。。不要笑!对于很多使用 Win 的用户而言,光是装 Python, 装 pip 就够喝一壶的了。
  2. Ansible 的 paybook 所使用的 yaml 语法当然非常强大了。然而对于新人而言,刚入手是玩不转的,需要学习。虽然 Ansible 相比其他的自动化运维工具,它的学习曲线已经非常平易近人了,但毕竟还是要学一下的不是么
  3. Ansible 自动化运维 Linux 服务器得益于 Linux 上 python 的默认支持,功能非常强大。然而如果拿来跑交换机的话,因为交换机上通常没有 python 环境,功能就要打很多折扣了。基本上也就是执行一系列的命令组合。而我们这种有大片园区网的传统单位,运维的大头正式是交换机~

所以造这个轮子的出发点是基于以下考虑的:

  1. 要跨平台,木有依赖,开箱即用。用 Go 来撸一个就能很好的满足这个需求。你看 Open-Falcon
阅读全文

如何绘制金属反射

  categories:儿童画教程  author:

当光线照射到金属物体上时,它可以以不寻常的方式反射回任何附近的物体。通常情况下,照射主要和次要物体的光会产生不同程度的光线,阴影和投射阴影,但在这些情况下也会发生反射光 – 我会告诉你如何绘制这在你的作品中。

为了证明绘画技巧为了完成这项工作,我制作了上面的图像,使用了黑暗炭笔和橡皮擦。

01.将物体放在光线下

定位对象以充分利用高亮度和阴影区域

选择有趣的物体 – 例如这种高度抛光的金属茶壶和陶瓷花瓶 – 并将它们放在一边轻轻捕捉,这样你就可以仔细观察高光和阴影区域。然后使用炭笔绘制基本形状,尝试合理准确地表示这些形状,尽管可以在以后进行调整。

02.得到阴影

遮蔽金属物体是乐趣开始的地方

首先在直射光下遮挡物体 – 这里是左边的陶瓷罐 – 观察更深更轻的值。然后继续遮挡阴影中的物体 – 这里是金属物体。重要的是要真正专注于陶瓷罐的铸造阴影的深度,因为它击中了金属罐的左侧,这里。金属罐右侧阴影的加深遵循传统的光影规则。

03.添加一些阴影

添加地面阴影以将对象拖到地球上

在这个阶段,物体似乎几乎漂浮在太空中,因此需要接地。遮挡物体在桌面上向右倾斜时投射的阴影,从而将物体放置在坚固的基座上。

04.混合和软化

使用橡皮擦突出显示金属物体反射光线的区域

用一个木炭橡皮擦擦掉反射部分 – 在这里我们从已经阴影的花瓶右侧擦出,光线从茶壶反射回来。与其他突出显示的区域相比,您可以看到这是次要的。

最后,用手指混合一些区域,以柔化花瓶上色调变化的过渡效果。

————

素描金属质感应该怎么画?看这里,教你怎么画

素描金属质感怎样画?素描怎样默示出金属物体的光泽感?我们在素描静物写生的时辰若是碰着金属物体改怎样绘画呢?良多小伙伴不晓得怎样去默示金属质感的物体。今天给大师分享的素描静物教程就是教大师绘制金属物体,感乐趣的小伙伴一起来看看今天的素描静物绘画轨范图吧。

素描绘金属水壶和生果组合成品图:

今天要连续绘画的画面是有一个金属的水壶,光泽感是非常强的,并且反光局部也是必要加强默示的。除了金属水壶以外还有生果梨子和橘子,固然背景的衬布也是必要绘制的。大师必要把握好各物体之间的空间关系,然后就是分清楚明暗关系,光源在哪里。

素描金属质感物体绘制轨范:

第一步:察算作品图,然后按照成品图停止构图。先打形画出各物体的大抵轮廓,然后再停止细化,画出详细详细的轮廓线条来。把各个物体的暗部略微用线条铺一下,高光和反光局部的位置确定好,画出概略的位置来。

第二步:起头加深暗部,把各物体的暗部和投影都默示出来。然后可以给灰的局部铺底,素描中口角灰是很重要的,非论是画什么,老是存在口角灰的关系,灰口角之间过渡的局部。

第三步:再次加深暗部,画暗部的时辰不要一次就画太重,渐渐加深,如许便于调解整个画面。给衬布和背景排线铺上色彩。金属水壶的局部高光留白,反光局部颜色浅一些,反光局部衬布的构造要有所默示。让各个物体的立体感默示出来。

第四步:继续深切描绘,再次加强各个物体的质感。尤其要注意金属水壶的质感默示,水壶反光局部的衬布的质感也必要停止描绘。

第五步:从局部到团体,必要调解整个画面,排线加倍精致一些。像金属质感的物体不仅仅是有很强的光泽感,并且概况有滑腻的质感,所以不能有很生硬的笔触。可以借助纸笔柔和一下画面,加强金属质感。

阅读全文

从锦囊妙计想到的30–让您程序输出动起来

  categories:儿童计算机  author:

前面程序在输出三角形, 今天我们说明一下程序如何运动起来,探究运动的原理是什么

为了达到程序运动起来, 我们首先要让程序能输出一个三角形, 否则没办法看清问题。

一。 创建新项目输出三角形

1. 如下图启动一个codeblocks集成开发环境, 参照如下创建项目, 默认输出hello world

2. 在上面项目的基础上添加代码输出三角形,输出结果如下

参考代码如下

#include <stdio.h>
#include <stdlib.h>

// 定义一个输出三角形的函数, lineCount为三角形具有的行数
int shuSanJiaoXing(int lineCount);

// 输出一行的星号
int shuChuHang(int xingCount);

// 系统默认项目, 输出一个字符串
int main()
{
printf(“Hello world!\n”);
shuSanJiaoXing(5);
return … 阅读全文

C语言编程——控制台程序光标控制

  categories:资料  author:

对于C语言的初学者,基本上只能写一些控制台程序。然而有时候会涉及一些对光标的简单操作,现在一般都是用的VC++6.0,不再支持以前TC中的wherex、wherey、gotoxy等函数了,那么在VC中该怎样做呢?接下来,我就简单讲讲如何在VC中实现以上三个函数。

【以下x、y分别代表列数和行数】
//获取光标的位置x

int wherex()

{

CONSOLE_SCREEN_BUFFER_INFO pBuffer;

GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &pBuffer);

return (pBuffer.dwCursorPosition.X+1);

}

//获取光标的位置y

int wherey()

{

CONSOLE_SCREEN_BUFFER_INFO pBuffer;

GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &pBuffer);

return (pBuffer.dwCursorPosition.Y+1);

}

//设置光标的位置

void gotoxy(int x,int y)

{

COORD c;

c.X=x-1;

c.Y=y-1;

SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);

}
###注意:在用这些函数的时候要引用头文件#includ<windows.h>###

下面来看一个具体应用的例子:
#include<stdio.h>

#include<windows.h>

阅读全文

Samba服务的配置总结

  categories:资料  author:

为了方便访问树莓派的存储设备,有必要为其添加文件共享,下面为给出三种文件访问方法:samba, ftp, web file serve

 

Samba

安装samba所需软件
sudo apt-get install samba samba-common-bin –y

先备份,然后编辑/etc/samba/smb.conf文件

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.orig
sudo vim /etc/samba/smb.conf

创建shares文件夹

mkdir /home/pi/nas-data/DLNA/shares

需要修改添加的内容如下,

[global]
security = user
encrypt passwords = true
guest account = nobody
map to 
阅读全文


快乐成长 每天进步一点点      京ICP备18032580号-1