首页 文章 精选 留言 我的

精选列表

搜索[私有网络],共10000篇文章
优秀的个人博客,低调大师

ERD Online 4.0.5 在线数据库建模、元数据管理(免费、私有部署)

fix(erd): 增加数据库数据查询功能,支持多数据源切换查询,查看sql执行计划 fix(erd): 数据查询功能,保留历史查询记录,格式化sql,多级树结构保存历史查询 fix(erd): 依赖ERD加密手段,导出保留数据库信息(密文) fix(erd): 解析PDman,ERD,bug修复 fix(erd): 导出不再删除数据库连接信息 fix(erd): 去除未使用引用 fix(erd): 多数据源查询功能开发 fix(erd): 查询功能关联项目 fix(erd): 增加自动保存编辑的sql语句 fix(erd): 调整最短字符显示个数为14个 fix(erd): 调整查询页树结构图标 fix(erd): 增加数据查询功能 fix(erd): 调整发送请求方式 fix(erd): 调整ACE主题为白底 fix(erd): 调整数据查询功能、模型功能易用性 fix(erd): 增加数据查询功能 fix(erd): 增加字符超量组件 fix(erd): 解决首页无限刷新bug fix(erd): 为string添加模板渲染方法 fix(erd): 修复不同项目间切换,tab缓存问题 fix(erd): 表设计增加快捷操作说明 fix(erd): 完善默认字段 fix(erd): 修复差异化脚本为空bug fix(erd): 支持Mysql时间类型字段设置默认值 fix(erd): 修复重建基线版本同步数据源之后状态不会更新 fix(erd): 修复sql执行失败没有回滚 fix(erd): 升级message.warn用法 变化一览 数据查询功能 数据查询: 快速查询数据库中数据,自动分页,有了这功能,基本就可以放弃navicate等收费软件了 支持树结构多级保存查询,方便自定义查询结构 在线保存全部查询记录,查询记录留档(公共财产),避免某些业务只有个别人了解,人走茶凉 执行计划:有助于分析sql的执行效率,快速定位解决生产慢sql 历史查询记录:可以追溯历史全部使用人执行的sql 调整模板框底色为白色 调整原来的深色背景为白色,整体风格更加协调 调整默认值设置方式 调整默认值设置方式: 字符型的默认值用单引号包起来 整数直接写number型数据 同时支持设置时间类型的默认值:CURRENT_TIMESTAMP 基本满足了开发周期中大部分设置场景 解决ERD、PDman导入数据异常问题 ERD、PDman导入数据后,数字类型丢失问题解决! 手动添加的表没有这个问题! 修复「版本」功能bug 修复完的版本功能更加完善,更加健全 交流渠道 官方论坛:https://www.zerocode.net.cn/ ERD Online文档:https://portal.zerocode.net.cn/ ERD Online体验:https://erd.zerocode.net.cn/ 低代码LOCO体验:https://loco.zerocode.net.cn/

优秀的个人博客,低调大师

私有云如何运行深度学习?看ZStack+Docker支撑GPU业务实践

前景 ZStack所聚焦的IaaS,作为云计算里的底座基石,能够更好的实现物理资源隔离,以及服务器等硬件资源的统一管理,为上层大数据、深度学习Tensorflow等业务提供了稳定可靠的基础环境。 近年来,云计算发展探索出了有别于传统虚拟化、更贴近于业务的PaaS型服务,该类型依赖于docker实现,如K8S等典型的容器云,可以直接从镜像商店下载封装好业务软件的镜像,更加快捷地实现业务部署。 此外,GPU场景也是客户业务的典型场景,相比于CPU的运算特点,在数据分析、深度学习有着明显的优势。 ZStack是如何与容器结合,以IaaS+PaaS的组合拳,为上层业务提供支撑的呢?本篇文章带大家了解一下,如何在ZStack上部署centos7.6虚拟机,在虚拟机里部署docker,以及如何使用nvidia-docker实现在容器里调用GPU的业务场景。 环境 虚机系统:Centos 7.6 虚机内核:Linux 172-18-47-133 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux docker版本:docker-ce 19.03 nvidia-docker版本:nvidia-docker-1.0.11.x86_64 显卡:RTX6000 Cuda版本:10.1 显卡驱动:418 如下图所示: Part 01 显卡驱动安装 1、下载对应版本的CUDA,并以此安装驱动。CUDA已经紧密结合了NVIDIA,以下驱动在centos、ubuntu上面均可执行,并自带绝大部分NVIDIA型号的显卡驱动,实用性非常强。 wgethttp://plan.zstack.io/storage/iso/nvidia/cuda_10.1.168_418.67_linux.run chmod+xhttp://plan.zstack.io/storage/iso/nvidia/cuda_10.1.168_418.67_linux.run GPU透传给虚拟机的操作步骤,详见在zstack.io官网可搜索到的《GPU实践手册》。 特别提醒:平台CPU模式一定要设置成passthrough!否则后续无法正常调用GPU做任何操作。 2、安装驱动,会自动禁止使用默认显卡驱动。特殊情况如需手动禁用,可使用如下操作: echo “blacklist nouveau” >>/usr/lib/modprobe.d/dist-blacklist.conf echo “options nouveau modeset=0” >>/usr/lib/modprobe.d/dist-blacklist.conf mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak dracut /boot/initramfs-$(uname -r).img $(uname -r) reboot lsmod|grep nouveau(为空则不加载默认显卡驱动) 3、./cuda_10.1.168_418.67_linux.run(安装时除了最后一项外,其他均需选择) 4、安装完成就表示驱动已安装完毕,可以执行nvidia-smi命令查看 5、驱动安装完毕后,建议采用CUDA自带的测试工具来测试,如果测试结果显示PASS,表示CUDA安装成功。 yum install gcc-c++ yum install cpp cd /root/NVIDIA_CUDA-10.1_Samples/1_Utilities/bandwidthTest/ make ./bandwidthTest Part 02 DOCKER-CE安装: 1、如果安装docker,需先卸载,再安装docker-ce yum remove docker docker-common docker selinux docker-engine 2、配置docker-ce repo源: yum-config-manager --add-repohttps://download.docker.com/linux/centos/docker-ce.repo 3、列出可以安装的版本: yum list docker-ce --showduplicates | sort -r 4、默认安装即可,当前为19.03版本: yum install docker-ce(默认安装的是Docker version 19.03.13, build 4484c46d9d) 5、启动服务及开机自启配置: systemctl start docker systemctl enable docker 6、从镜像商店搜索一个带有GPU驱动的镜像: docker search nvidia(镜像商店可以搜索带nvidia驱动的镜像,用第一个即可) 7、修改配置文件: cat >> /etc/docker/daemon.json <<EOF { "runtimes": { "nvidia": { "path": "/usr/bin/nvidia-container-runtime", "runtimeArgs": [] } } } EOF Part 03 nividia-docker安装 1、配置nvidia-docker相关源: curl -s -L https://nvidia.github.io/nvidia-docker/centos7/x86_64/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo 2、搜索nvidia-docker包的版本: yum search --showduplicates nvidia-docker 3、安装nvidia-docker: yum install nvidia-docker-1.0.1-1.x86_64 4、启动服务,和配置开机自启动: systemctl start nvidia-docker; systemctl enable nvidia-docker; systemctl status nvidia-docker (需确保nvidia-docker状态一直正常运行,否则无正常使用) 5、检查相关依赖软件包是否已安装,如果缺失,可执行以下命令安装: yum install libnvidia-container1 yum install nvidia-container-toolkit yum install libnvidia-container-tools 6、重启一下docker服务: systemctl restart docker 完成测试 nvidia-docker run --rm --gpus all nvidia/cuda:10.1 -base nvidia-smi (如下图所示,即为安装成功。此处必须加gpus all参数 如此才可调用GPU) 使用备注(躺坑日记) a、如果需要向容器里传文件,参考一下方式传CUDA软件进容器,前面是本地文件,后面是容器id以及内部目录位置。反过来就是从容器里传文件出来。 docker cp /root/cuda_10.1.168_418.67_linux.run ffb6138f3299:/mnt/1.run b、排除容器问题,一次性清理所有容器,则使用如下命令: docker rm -f $(docker ps -aq) c、重装驱动步骤: yum remove nvidia-container-runtime yum remove nvidia-container-toolkit yum remove libnvidia-container-tools yum remove nvidia-docker ./cuda_10.1.168_418.67_linux.run yum install nvidia-docker-1.0.1-1.x86_64 systemctl start nvidia-docker; systemctl enable nvidia-docker; systemctl status nvidia-docker yum install libnvidia-container1 yum install nvidia-container-toolkit yum install libnvidia-container-tools nvidia-docker run --rm --gpus all nvidia/cuda:10.1-base nvidia-smi再跑就可以了 d、进入容器内部,执行操作使用如下命令: docker -it nvidia/cuda:10.1-base /bin/bash e、nvidia-docker服务异常systemctl status nvidia-docker,报错error cuda all cuda-capable device are busy 此时问题为,平台CPU模式没有改成直通,修改后需要重启虚拟机才能生效。通过lscpu,查看并确认虚拟机CPU必须为物理CPU型号,而非QEMU型号CPU。 f、nvidia-docker服务异常systemctl status nvidia-docker, 服务启动后自己停止,原因可能是GPU驱动没有装好。一定要经过CUDA自带脚本测试,测试通过才能认为显卡状态可用。 2、nvidia-docker run时报错:如果显示no options [gpus] , --gpu all,这个参数无效,报错原因是docker版本过低,建议使用19.03。低版本如17.03的docker-ce,因为调用GPU参数不同,所以可能被识别无效。 3、报错提示为缺少nvidia-container-runtime-hook,如下图,需要执行安装:yum install libnvidia-container1; yum install nvidia-container-toolkit-1.3.0-2.x86_64; yum install libnvidia-container-tools-1.3.0-1.x86_64 结语 历经一天时间,完成了ubuntu下和centos下的docker+ GPU +nvidia-docker的实践安装使用,中间简单的安装了一个Rancher PaaS平台,进行容器管理。 IaaS和PaaS都有着各自鲜明的优势,很多人总有这么一个疑问:到底该选择IaaS的资源隔离,来更好的管控硬件、迎合未来的混合云市场?还是选择PaaS,让应用更轻便、以释放人力到自己的核心业务上呢?最佳答案是:为何不全都要呢。ZStack IaaS结合PaaS实现IT改造,增加对IT的每一个细节掌控,共同撑起云计算的未来。 ZStack的愿景就是:“让每一家企业都拥有自己的云。”

优秀的个人博客,低调大师

iOS使用锁屏监听的私有API被拒 com.apple.springboard.lockcomplete

最近公司有个项目需要对锁屏进行监控以便进行一些操作,然后在更新新版本的时候,审核竟然被拒绝了。原因竟然是调用了 Apple 不允许使用的 锁屏API ,如下方法一;后来改成方法二,终于审核通过了。 如果不确定是哪个第三方使用了,这个可以cd 到项目根目录: grep -R 'com.apple.springboard.lockcomplete' * 他会检索出来,哪使用了 锁屏监听 方法一: 导入头文件和宏定义 // AppDelegate.m #import <notify.h> #define NotificationLock CFSTR("com.apple.springboard.lockcomplete") #define NotificationChange CFSTR("com.apple.springboard.lockstate") #define NotificationPwdUI CFSTR("com.apple.springboard.hasBlankedScreen") #define LOCK_SCREEN_NOTIFY @"LockScreenNotify" 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 定义监听锁屏函数 // AppDelegate.m static void screenLockStateChanged(CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object, CFDictionaryRef userInfo) { NSString *lockstate = (__bridge NSString *)name; if ([lockstate isEqualToString:(__bridge NSString *)NotificationLock]) { // 发送锁屏通知 [[NSNotificationCenter defaultCenter] postNotificationName:LOCK_SCREEN_NOTIFY object:nil]; NSLog(@"Lock screen."); } else { // 此处监听到屏幕解锁事件(锁屏也会掉用此处一次,所有锁屏事件要在上面实现) NSLog(@"Lock state changed."); } } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 添加监听函数 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, screenLockStateChanged, NotificationLock, NULL, CFNotificationSuspensionBehaviorDeliverImmediately); CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, screenLockStateChanged, NotificationChange, NULL, CFNotificationSuspensionBehaviorDeliverImmediately); } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 注意:该方法已被 Apple 禁止使用,上传的 App 审核会被拒绝! 方法二: 实现applicationProtectedDataWillBecomeUnavailable:方法监听锁屏 // AppDelegate.m #define LOCK_SCREEN_NOTIFY @"LockScreenNotify" - (void)applicationProtectedDataWillBecomeUnavailable:(UIApplication *)application { [[NSNotificationCenter defaultCenter] postNotificationName:LOCK_SCREEN_NOTIFY object:nil]; NSLog(@"Lock screen."); } 1 2 3 4 5 6 7 8 9 10 11 12 实现applicationProtectedDataDidBecomeAvailable:方法监听解锁 // AppDelegate.m #define UN_LOCK_SCREEN_NOTIFY @"UnLockScreenNotify" - (void) applicationProtectedDataDidBecomeAvailable:(UIApplication *)application { [[NSNotificationCenter defaultCenter] postNotificationName:UN_LOCK_SCREEN_NOTIFY object:nil]; NSLog(@"UnLock screen."); } 1 2 3 4 5 6 7 8 9 10 11 12 官网API 说明如下: When the user locks the device, the system calls the app delegate’sapplicationProtectedDataWillBecomeUnavailable:method. Data protection prevents unauthorized access to files while the device is locked. If your app references a protected file, you must remove that file reference and release any objects associated with the file when this method is called. When the user subsequently unlocks the device, you can reestablish your references to the data in the app delegate’sapplicationProtectedDataDidBecomeAvailable:method.

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册