Amp

人人代码生产

点点圈 提交于 2020-08-17 08:24:11
1. 怎样修改新增页面的输入框长度? 答:将一行一列改为1行两列 2. 怎样修改删除时的弹出框 deleteHandle (id) { var ids = id ? [id] : this.dataListSelections.map(item => { return item.id }) var names = name?[name]:this.dataListSelections.map(item => { return item.storeName }) this.$confirm(`确定对[卡名:${names.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() => { this.$http({ url: this.$http.adornUrl('/SmartPropertyCommunity/storeinfomation/delete'), method: 'post', data: this.$http.adornData(ids, false) }).then(({data}) => { if (data && data.code === "0000000") {

leetcode63(不同路径 II)--Java语言实现

一曲冷凌霜 提交于 2020-08-17 07:39:58
求: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径? 网格中的障碍物和空位置分别用 1 和 0 来表示。 说明:m 和 n 的值均不超过 100。 示例 1: 输入: [ [0,0,0], [0,1,0], [0,0,0] ] 输出: 2 解释: 3x3 网格的正中间有一个障碍物。 从左上角到右下角一共有 2 条不同的路径: 1. 向右 -> 向右 -> 向下 -> 向下 2. 向下 -> 向下 -> 向右 -> 向 题目链接: https://leetcode-cn.com/problems/unique-paths-ii/ 解: 分析题目,对每一个格子,如果对应的格子有障碍物,到达该格子的路径数一定是0。否则,如果该格子在第一行或第一列上,到达该格子的路径数取决于它的上一个元素是否有障碍。如果该格子不在第一行,且不在第一列上,到达该格子的路径数是左边格子的路径数+上方格子的路径数(因为到达一个格子只能从左边或者上边),因此想到这是一个动态规划问题。官方题解讲的很好,可以参考。 时间复杂度:O(MN) 空间复杂度:O(MN) public int

[分享] ApiPost如何使用测试校验?

て烟熏妆下的殇ゞ 提交于 2020-08-17 06:47:55
什么是测试校验? ​协作开发,版本升级,服务器升级,接口返回有可能因为一些bug,和我们预期结果不一致。为了便于开发&测试人员能够更快的发现bug,有利于整个产品质量以及进度的保证。我们推出测试校验功能。 如何使用测试校验? 1. 定义测试用例 2. 验证测试用例 例: 接口返回: { "errcode": 0, "errstr": "success", "post": [], "get": [], "request": [], "put": "", "header": { "Host": "echo.apipost.cn", "Connection": "keep-alive", "Content-Length": "0", "Accept": "application/json, text/javascript, */*; q=0.01", "Accept-Encoding": "gzip, deflate, br", "Accept-Language": "zh-CN", "Content-Type": "application/json", "Cookie": "PHPSESSID=n3k73k06o6ghnie4e9re4rbf0t", "Origin": "https://echo.apipost.cn", "User-Agent": "Mozilla/5.0

Linux 定时任务crontab

只谈情不闲聊 提交于 2020-08-17 06:39:37
安装crontab yum install vixie-cron yum install crontabs 创建定时任务 vi /etc/crontab 加入一项任务:每2分钟执行一次python脚本并写日志到knowpy.log */2 * * * * /usr/local/python3/bin/python3 /root/project/know/know.py >>/root/project/know/logs/knowpy.log 2>&1 加载crontab文件中配置的任务: crontab /etc/crontab 查看当前已有的任务: crontab -l 重启cron 服务: service crond restart 来源: oschina 链接: https://my.oschina.net/u/3734816/blog/4301041

C语言探索之旅 | 第一部分第十课:第一个C语言小游戏

十年热恋 提交于 2020-08-17 06:29:06
>作者 谢恩铭,公众号「 程序员联盟 」。 转载请注明出处。 原文: https://www.jianshu.com/p/7d03f054c2d1 > 《C语言探索之旅》 全系列 内容简介 前言 准备工作和建议 我的代码 改进方案 第一部分第十一课预告 1. 前言 上一课是 C语言探索之旅 | 第一部分第九课:循环语句 。 经过前面这么多课的努力,我们终于迎来了第一个比较正式的程序:一个 C语言小游戏。 虽然这个游戏没有图形界面,是命令行的形式,但是不论怎样,这都是一个小小的里程碑。 我们的目的是让大家看到经过之前几课的学习,你已经可以完成一些有意思的事了。 虽然我们知道理论是很好的,但是如果我们不能把所学的理论付诸实践,那也很没有意思。 信不信由你,你其实已经有水平实现自己的第一个有意思的程序了。 2. 准备工作和建议 程序的原理 在动手编程之前,得先跟大家说一下这个程序是干什么的。 我们可以称呼这个游戏为《或多或少》。 游戏的原理是这样: 每一轮电脑从 1 到 100 中随机抽一个整数。 电脑请求你猜这个数字,因此你要输入一个 1 到 100 之间的整数。 电脑将你输入的数和它抽取的数进行比较,并告知你的数比它的数大了还是小了。 然后它会再次让你输入数字,并告诉你比较的结果。 一直到你猜到这个数为止,一轮结束。 游戏的目的,当然就是用最少的次数猜到这个“神秘”数字

centos 7安装rabbitmq

狂风中的少年 提交于 2020-08-17 03:26:54
rabbitmq依赖erlang所以先安装erlang rabbitmq对erlang的版本有要求,先去官网看一下对应版本要求: https://www.rabbitmq.com/which-erlang.html 一、安装erlang 1.下载erlang安装包,去erlang官网下载 2.安装 1)安装依赖模块:yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel 2)将安装包解压 ./configure --prefix=/opt/erlang --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe报错的话执行 sudo yum install unixODBC-devel openssl-devel ncurses-devel 3)编译 make && make install 4)配置环境变量 vim /etc/profile 加一行 export PATH=$PATH: 路径/bin 保存编译source /etc/profile 5)erl 测试是否安装成功。如图 二、安装rabbitmq 1.官网下载安装包: https://github.com

unbuntu下安装cuda+cudnn(ubuntu18.04+NVIDIA-440+CUDA10.2+cuDNN7.6)

旧街凉风 提交于 2020-08-17 03:26:27
一、先查看有无安装Na卡独显驱动: 我的电脑(Ubuntu 18.04.4 LTS 5.4.0-38-generic)已通过以下步骤安装了 440.95.01版本的驱动 sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update ubuntu-drivers devices sudo ubuntu-drivers autoinstall sudo reboot 可以通过nvidia-smi来验证 二、选择合适的CUDA Toolkit 版本 可以查询: https://developer.nvidia.com/cuda-toolkit-archive 440支持的是 CUDA Version: 10.2 下面链接是ubuntu18.04下安装cuda10.2步骤: https://developer.nvidia.com/cuda-10.2-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=deblocal https://developer.nvidia.com/cuda-10.2-download-archive?target_os=Linux

优秀的程序员都有的十条特征,你中了几条?

拟墨画扇 提交于 2020-08-17 02:59:16
之前的文章给大家分享的都是DevOps、自动化测试、新技术趋势等前沿知识和技术,实际上目前能完全掌握这些新技术的开发、测试人员都是少数,毕竟大多是人还是专注于自身工作,用于提升、学习新技术的时间较少,而很多新趋势也并未成熟应用到行业。因此,不必为此焦虑,极速变化中总有一些不变,坚守那些基础的不变的能力,并以积极的心态拥抱变化,才是持续而稳定的成长路径。本期分享一些不依赖于新技术、但作为程序员都可遵循的原则,请根据自身情况取舍、实施。 及时更新任务清单 当要实现一个功能点时,最好将较大的任务分割成较小且更清晰的任务,这些任务是相对独立的逻辑单元,可以单独进行测试。列一张这样可完成的较小任务的清单,并在完成之后勾选、更新。这样会形成自我激励,并促使自己去不断完成更多的小任务。 目前主流项目管理软件中,往往内置任务分解和更新功能。如在 禅道项目管理软件 内,开发负责人进行系统分析,拆解成相对独立的任务并指派给个人,而开发人员可以在自己的页面清晰地看到任务数量及剩余工时,完成后进度将同步更新,这种持续的正向反馈会带来极大的成就感。 遵循适当的版本控制 通过创建开发、特性、主分支和设置适当的访问权限来遵循适当的版本控制策略。无论何时开始编码,都要确保先获取代码库的最新版本后再开始。在逻辑部分或功能完成后继续提交/推送代码,不要让代码库长时间处于未提交状态。在将代码提交给版本控制之前

私人服务器搭建(二)虚拟机联网

雨燕双飞 提交于 2020-08-17 02:58:28
在上一篇博客结束之后,CentOS是没办法联网的,所以我们要设置一下,让机器联网。 1.使用ipconfig /all查看本机的IP信息,这里的信息很重要。 2. 打开虚拟机,输入你的账号密码 3.输入 vi /etc/sysconf ig/network-scripts/ifcfg-ens33。把里面的设置改成你自己机子的设置。输入systemctl restart network,重启网络服务。 4.然后我们ping一下内网的机子,发现可以ping通了,但是还是ping不通百度,报了Name or service not know,这个是因为我们没有设置DNS服务器。 5.vi /etc/resolv.conf。输入nameserver 114.114.114.114,我记得这个是电信的DNS,大家可以自己选最适合自己的DNS服务器。 6.然后我们再ping http://www.baidu.com就可以ping通了 来源: oschina 链接: https://my.oschina.net/u/4109273/blog/4304446

Android平台——Binder机制

送分小仙女□ 提交于 2020-08-17 02:36:21
由代码来补充部分: int main( int argc, char ** argv) { sp<ProcessState> proc(ProcessState::self()); sp<IServiceManager> sm = defaultServiceManager(); LOGI ("ServiceManager: %p", sm.get()); AudioFlinger::instantiate(); MediaPlayerService::instantiate(); CameraService::instantiate(); ProcessState::self()->startThreadPool(); IPCThreadState::self()->joinThreadPool(); } sp<ProcessState> proc(ProcessState::self()) ,这一行代码会建立 ProcessState 对象,一个进程只有唯一的一个 ProcessState 对象,而 ProcessState 类的作用是来打开 /dev/binder 设备。这也就说明了一个问题,一个进程只不可能同时存在多个对 /dev/binder 的操作。 sp<IServiceManager> sm = defaultServiceManager()