首页 文章 精选 留言 我的

精选列表

搜索[环境],共10000篇文章
优秀的个人博客,低调大师

为 Node.js 应用建立一个更安全的沙箱环境

有哪些动态执行脚本的场景? 在一些应用中,我们希望给用户提供插入自定义逻辑的能力,比如 Microsoft 的 Office 中的 VBA,比如一些游戏中的 lua 脚本,FireFox 的「油猴脚本」,能够让用户发在可控的范围和权限内发挥想象做一些好玩、有用的事情,扩展了能力,满足用户的个性化需求。 大多数都是一些客户端程序,在一些在线的系统和产品中也常常也有类似的需求,事实上,在线的应用中也有不少提供了自定义脚本的能力,比如 Google Docs 中的 Apps Script,它可以让你使用 JavaScript 做一些非常有用的事情,比如运行代码来响应文档打开事件或单元格更改事件,为公式制作自定义电子表格函数等等。 与运行在「用户电脑中」的客户端应用不同,用户的自定义脚本通常只能影响用户自已,而对于在线的应用或服务来讲,有一些情

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

30分钟学会iOS 11开发环境xcode 9图文教程

Xcode是一款功能全面的应用程序,通过此工具可以轻松输入、编译、调试并执行Objective-C程序。如果想在Mac上快速开发iOS应用程序,则必须学会使用这个强大的工具的方法。在本文容中,将详细讲解Xcode 9开发工具的基本知识,为读者步入本书后面知识的学习打下基础。 1.1 基本面板介绍 使用Xcode 9打开一个iOS 11项目后的效果如图1-1所示。图1-1 打开一个iOS 11项目后的效果(1)调试区域:左上角的这部分功能是控制程序编译调试或者终止调试,还有选择Scheme目标的地方。单击三角形图标会启动模拟器运行这个iOS程序,单击正方形图标会停止运行。 (2)资源管理器:左边这一部分是资源管理器,上方可以设置选择显示的视图,有Class视图、搜索视图、错误视图等。 (3)工程面板:这部分是最重要的,也是整个窗口中占用面积最大的区域。通常显示当前工程的总体信息,例如编译信息、版本信息和团队信息等。当在“资源管理器”中用鼠标选择一个源代码文件时,此时这个区域将变为“编码面板”,在面板中将显示这个文件的具体源代码。 (4)属性面板:在进行Storyboard或者xib设计时十分有用,可以设置每个控件的属性。和Visual C++、Vsiual Studio.NET中的属性面板类似。 1.1.1 调试工具栏 调试工具栏界面效果如图1-2所示。从左面开始我们来看看常用的工具栏项目,首先是run运行按钮,单击它可以打开模拟器来运行我们的项目。停止运行按钮是。另外,当单击并按住片刻后可以看到下面的弹出菜单,为我们提供了更多的运行选项。 ![这里写图片描述](http://upload-images.jianshu.io/upload_images/2414212-3e59f4dadfa7bb1d?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 图1-2 调试工具栏界面 在停止运行按钮的旁边,可以看到图1-3所示这样的一个下拉列表,这里让我们可以选择虚拟器的属性,是iPad还是iPhone。iOS Device是指真机测试,如图1-3所示。 工具栏最右侧有3个关闭视图控制器工具,可以让我们关闭一些不需要的视图,如图1-4所示。图1-3 选择虚拟器的属性 图1-4 关闭视图控制器工具1.1.2 导航面板介绍 在导航区域包含了多个导航类型,例如选中第一个图标后会显示项目导航面板,即显示当前项目的构成文件,如图1-5所示。 单击第2个图标后会来到符号导航面板界面,将显示当前项目中包含的类、方法和属性,如图1-6所示。图1-5 项目导航面板界面图1-6 符号导航面板界面单击第3个图标后会来到搜索导航面板界面,在此可以输入将要搜索的关键字,按下回车键后将会显示搜索结果。例如输入关键字“first”后的效果如图1-7所示。 单击第4个图标后会来到问题导航面板界面,如果当前项目存在错误或警告,则会在此面板中显示出来,如图1-8所示。图1-7 搜索导航面板界面图1-8 显示错误信息单击第5个图标后会来到测试导航面板界面,将会显示当前项目包含的测试用例和测试方法等,如图1-9所示。 单击第6个图标后会来到调试导航面板界面,在默认情况下将会显示一片空白,如图1-10所示。只有进行项目调试时,才会在这个面板中显示内容。图1-9 测试导航面板界面图1-10 调试导航面板界面在Xcode 9中使用断点调试的基本流程如下所示。 打开某一个文件,在编码窗口中找到想要添加断点的行号位置,然后单击鼠标左键,此时这行代码前面将会出现图标,如图1-11所示。如果想删除断点,只需用按住鼠标左键将断点拖向旁边,此时断点会消失。图1-11 设置的断点图1-12检查值在添加断点并运行项目后,程序会进入调试状态,并且会执行到断点处停下来,此面板中将会显示执行这个断点时的所有变量以及变量的值,如图1-12所示。此时的测试导航界面如图1-13所示。 断点测试导航界面的功能非常强大,甚至可以查看程序对CPU的使用情况,如图1-14所示。图1-13 断点测试导航界面图1-14 CPU的使用情况单击第7个图标后会来到断点导航面板界面,在此界面中将会显示当前项目中的所有断点。右键单击断点后,可以在弹出的命令中设置禁用断点或删除断点,如图1-15所示。 单击第8个图标后会来到日志导航面板界面,在此界面中将会显示在开发整个项目的过程中所发生过的所有信息,如图1-16所示。图1-15 禁用断点或删除断点图1-16 日志导航面板 1.1.3 检查器面板 单击属性窗口中的图标后会来到文件检查器面板界面,此面板用于显示该文件存储的相关信息,例如文件名、文件类型、文件存储路径和文件编码等信息,如图1-17所示。 单击属性窗口中的图标后会来到快速帮助面板界面,当将鼠标停留在某个源码文件中的声明代码片段部分时,会在快速帮助面板界面中显示帮助信息。图1-18的右上方显示了鼠标所在位置的帮助信息。\图1-17 文件检查器面板1.2 Xcode 9的基本操作 经过本文前面内容的介绍,已经了解了Xcode 9中面板的基本知识。在本节的内容中,将详细讲解在Xcode 9中进行基本操作的知识。 1.2.1 改变公司名称 通过xcode编写代码,代码的头部会有类似于图1-19所示的内容。图1-19 头部内容图1-20 Xcode的浏览器窗口 在图1-20的搜索框中可以输入关键字,这样浏览器窗口里只显示带关键字的文件了,比如只想看Book相关的类,如图1-21所示。图1-21 输入关键字 1.2.3 格式化代码 例如在图1-22所示的界面中,有很多行都顶格了,此时需要进行格式化处理。 选中需要格式化的代码,然后在上下文菜单中进行查找,这是比较规矩的办法,如图1-23所示。图1-22 多行都顶格图1-23 在上下文菜单中进行查找 Xcode没有提供快捷键,当然自己可以设置,此时可以用快捷键实现,例如Ctrl+A(全选文字)、Ctrl+X(剪切文字)、Ctrl+V(粘贴文字)。Xcode会对粘贴的文字格式化。 1.2.4 代码缩进和自动完成 有的时候代码需要缩进,有的时候又要做相反的操作。单行缩进和其他编辑器类似,只需使用Tab键即可。如果选中多行则需要使用快捷键,其中Command+]表示缩进,Command+[表示反向缩进。 使用IDE工具的一大好处是,工具能够帮助我们自动完成冗长的类型名称。Xcode提供了这方面的功能。比如下面的输出日志。 NSLog(@"book author: %@",book.author); 如果都自己输入会很麻烦的,可以先输入ns,然后使用快捷键“Ctrl+.”,会自动出现如下代码。 NSLog(NSString * format) 然后填写参数即可。快捷键“Ctrl+.”的功能是自动给出第一个匹配ns关键字的函数或类型,而NSLog是第一个。如果继续使用“Ctrl+.”,则会出现比如NSString的形式。以此类推,会显示所有ns开头的类型或函数,并循环往复。或者,也可以用“Ctrl+,”快捷键,比如还是ns,那么会显示全部ns开头的类型、函数、常量等的列表。可以在这里选择。其实,Xcode也可以在你输入代码的过程中自动给出建议。比如要输入NSString。当输入到NSStr的时候。 NSString 此时后面的ing会自动出现,如果和我预想的一样,只需直接按Tab键确认即可。也许你想输入的是NSStream,那么可以继续输入。另外也可按Esc键,这时就会出现结果列表供选择了,如图1-24所示。 如果是正在输入方法,那么会自动完成图1-25所示的样子。图1-24 出现结果列表图1-25 自动完成的结果 我们可以使用Tab键确认方法中的内容,或者通过快捷键“Ctrl+/”在方法中的参数来回切换。 1.2.5 文件内查找和替代 在编辑代码的过程中经常会做查找和替代的操作,如果只是查找则直接按“Command+F”即可,在代码的右上角会出现图1-26所示的对话框。只需在里面输入关键字,不论大小写,代码中所有命中的文字都高亮显示。 也可以实现更复杂的查找,比如是否大小写敏感,是否使用正则表达式等。设置界面如图1-27所示。图1-26 查找界面图1-27 复杂查找设置 通过图1-28中的“Find & Replace”可以切换到替代界面。 如图1-29所示的界面将查找设置为大小写敏感,然后替代为myBook。 另外,也可以单击按钮是否全部替代,还是查找一个替代一个等。如果需要在整个项目内查找和替代,则依次单击“Find”->“Find in Project…”命令,如图1-30所示。 还是以找关键字book为例,则实现界面如图1-31所示。图1-28 “Find & Replace”替换图1-29 替代为myBook图1-30 “Find in Project…”命令‘’图1-31 在整个项目内查找“book”关键字 替代操作的过程也与之类似,在此不再进行详细讲解。 1.2.6 快速定位到代码行 如果想定位光标到选中文件的行上,可以使用快捷键“Command+L”来实现,也可以依次单击“Navigate”->“Jump to Line…”命令实现,如图1-32所示。 在使用菜单或者快捷键时都会出现下面的对话框,输入行号和回车后就会来到该文件的指定行,如图1-33所示。图1-32 “Jump to Line”命令图1-33 输入行号 1.2.7 快速打开文件 有时候需要快速打开头文件,如图1-34所示的界面。要想知道这里的文件ViewController.h到底是什么内容,可以鼠标选中文件ViewController.h来实现。图1-34 一个头文件 依次单击“File”->“Open Quickly…”命令,如图1-35所示。 此时会弹出图1-36所示的对话框。图1-35 “Open Quickly…”命令 图1-36 “Open Quickly…”对话框 此时双击文件ViewController.h的条目就可以看到图1-37所示的界面。图1-37 文件ViewController.h的内容1.2.8 自定义导航条 在代码窗口上边有一个工具条,此工具条提供了很多方便的导航功能,如图1-38所示的功能。图1-38 一个导航条 也可以用来实现上面TODO的需求。这里有两种自定义导航条的写法,其中下面是标准写法。 pragma mark 而下面是Xcode兼容的格式。 // TODO: xxx // FIXME: xxx 完整的代码如图1-39所示。 此时会产生如图1-40所示的导航条效果。图1-39 完整的代码图1-40 产生的导航条效果 1.2.9 使用Xcode帮助 如果想快速地查看官方API文档,可以在源代码中按下“Option”键并鼠标双击该类型(函数、变量等),如图1-41所示的是“didReceiveMemoryWarning”的API文档对话框。 如果单击图1-41中标识的按钮,会弹出完整文档的窗口,如图1-42所示。图1-41 didReceiveMemoryWarning的API文档对话框图1-42 完整文档的窗口 1.2.10 调试代码 最简单的调试方法是通过NSLog打印出程序运行中的结果,然后根据这些结果判断程序运行的流程和结果值是否符合预期。对于简单的项目,通常使用这种方式就足够了。但是,如果开发的是商业项目,需要借助Xcode提供的专门调试工具。所有的编程工具的调试思路都是一样的。首先要在代码中设置断点,此时可以想象一下,程序的执行是顺序的,可能怀疑某个地方的代码出了问题(引发bug),那么就在这段代码开始的地方,比如是这个方法的第一行,或者循环的开始部分,设置一个断点。那么程序在调试时会在运行到断点时终止,接下来可以一行一行地执行代码,判断执行顺序是否是自己预期的,或者变量的值是否和自己想的一样。 设置断点的方法非常简单,比如想对框中(运行到)表示的行设置断点,就单击该行左侧圈的位置,如图1-43所示。图1-43 单击该行左侧圈的位置单击后会出现断点标志,如图1-44所示。 然后运行代码,比如使用“Command+Enter”命令,这时将运行代码,并且停止在断点处,如图1-45所示。图1-44 出现断点标志 图1-45 停止在断点处 可以通过“Shift+Command+Y”命令调出调试对话框,如图1-46所示。 图1-46 调试对话框 这和其他语言IDE工具的界面大同小异,因为都具有类似的功能。下面是主要命令的具体说明。通过调试工具,可以对应用做全面和细致的调试。 1.3 使用Xcode 9帮助系统 在Mac中使用Xcode 9进行iOS开发时,难免会遇到很多API、类和函数等资料的查询操作,此时可以利用Xcode自带的帮助文档系统进行学习并解决我们的问题。使用Xcode 9帮助系统的方式有如下3种。 (1)使用“快速帮助面板” 在本文1.2中已经介绍了使用“快速帮助面板”的方法,只需将鼠标放在源代码中的某个类或函数上,即可在“快速帮助面板”中弹出帮助信息,如图1-47所示。图1-47 “快速帮助面板”界面 此时单击右下角中的“View Controller Catalog for iOSView Controller”后会在新界面中显示详细信息,如图1-48所示。 (2)使用搜索功能 在图1-48中的帮助系统中,我们可以在顶部文本框中输入一个关键字,即可在下方展示对应的知识点信息。例如输入关键字“NSString”后的效果如图1-49所示。图1-48 详细帮助信息图1-49 输入关键字“NSString”后的效果 (3)使用编辑区的快速帮助 在某个程序文件的代码编辑界面,按下Option键后,当将鼠标光标移动到某个类上时,光标会变为问号,此时单击鼠标左键就会弹出悬浮样式的快速帮助信息,显示对应的接口文件和参考文档。 当单击打开文档名时,会弹出帮助界面显示相关的帮助信息。 本文摘自《iOS 11 开发指南》 《iOS 11开发指南》管蕾 著 点击封面购买纸书 基于全新的iOS 11进行讲解,演示iOS11的新特性 ;Objective-C和Swift双语讲解,全新的Swift 4.0实例演示 ;9小时的视频讲解,230多个典型实例和两个综合性实例,帮助读者尽快上手开发 。 本书内容全面,本书循序渐进地讲解了iOS 11应用开发的知识。几乎涵盖了iOS 11应用开发所需要的主要内容,适合iOS开发初学者和iOS程序员学习,也可以作为相关培训学校和高校相关专业的教学用书。 延伸推荐今日话题你看过的最有意思的科技类app是哪个?截止时间3月5日17时,留言+转发本活动到朋友圈,小编将选出1名读者赠送异步新书一本。 点击关键词阅读更多新书:Python|机器学习|Kotlin|Java|移动开发|机器人|有奖活动|Web前端|书单 在“异步图书”后台回复“关注”,即可免费获得2000门在线视频课程;推荐朋友关注根据提示获取赠书链接,免费得异步图书一本。赶紧来参加哦!点击阅读原文,查看本书更多信息扫一扫上方二维码,回复“关注”参与活动!点击下方阅读原文,直接参与活动 阅读原文

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

水晶报表技术(9)——.NET环境下水晶报表使用总结(上)

水晶报表是一个优秀的报表开发工具,本人在开发通用管理系统的时候,所有报表都使用水晶报表,其简单、易用和强大的功能令笔者倍加喜爱,现将水晶报表使用手记呈现给大家。 一、在使用自带的水晶报表时,请注册,否则只能使用 30 次 水晶报表注册码 注册号 :6707437608 密码 :AAP5GKS0000GDE100DS 二、使用 CrystalReportViewer 进行预览 CrystalReportViewer 控件允许在应用程序中查看 Crystal Report 。 ReportSource 属性用于设置要查看哪个报表。该属性设置之后,报表显示在查看器中。报表源可以是 ReportDocument 、报表文件的路径,也可以是强类型报表。 1. 打开 “ 工具箱 ” ,并将一个 CrystalReportViewer 拖到窗体上,我们命名为 rptVew 。 2. 通过拖放操作将 Windows 窗体查看器调整到希望的大小并将其移动到所需位置。 3. 当运行应用程序时,报表将显示在查看器中。 三、创建新报表 1. 指向 “ 添加 ” ,单击 “ 添加新项 ” 。 2. 在 “ 添加新项 ” 对话框中,从 “ 模板 ” 区域选择 Crystal Report ,将报表命名为 rptClient ,单击 “ 打开 ” 。 3. 在 Crystal Report 库中,选择下列选项之一: · 使用报表专家 — 指导您完成报表的创建过程,并将您的选择添加到 Crystal Report Designer 。 · 作为空白报表 — 打开 Crystal Report Designer 。 · 来自于现有的报表 — 创建新报表,它与指定的另一报表设计相同。 注意 Crystal Report 库包含许多专家,可以指导您完成数个特定类型报表的创建工作。您可能希望使用专家来创建最初的报表,以确定哪种报表构造方法适合您的需要。 4. 单击 “ 确定 ” 按钮。 如果选择使用 “ 报表专家 ” ,便会出现 “ 报表专家 ” 对话框,并带有数据资源管理器。为每个文件夹选择所需数据,完成 “ 报表专家 ” 选项卡界面上的操作,然后单击 “ 完成 ” 来访问 Crystal Report Designer 和您的报表 四、是否需要动态设置数据源? Crystal Reports 通过数据库驱动程序与数据库连接。每个驱动程序都被编写为可处理特定数据库类型或数据库访问技术。 拉和推模型 为了向开发人员提供最灵活的数据访问方法, Crystal Reports 数据库驱动程序被设计为可同时提供数据访问的拉模型和推模型。 拉模型 在拉模型中,驱动程序将连接到数据库并根据需要将数据 “ 拉 ” 进来。使用这种模型时,与数据库的连接和为了获取数据而执行的 SQL 命令都同时由 Crystal Reports 本身处理,不需要开发人员编写代码。如果在运行时无须编写任何特殊代码,则使用拉模型。 推模型 相反,推模型需要开发人员编写代码以连接到数据库,执行 SQL 命令以创建与报表中的字段匹配的记录集或数据集,并且将该对象传递给报表。该方法使您可以将连接共享置入应用程序中,并在 Crystal Reports 收到数据之前先将数据筛选出来。 五、从 ADO.NET 数据集制作报表 从数据库创建数据集对象 1. 在项目中新建一个架构文件: a. 在解决方案资源管理器中,右击项目名,指向 “ 添加 ” ,然后单击 “ 添加新项 ” 。 b. 在 “ 添加新项 ” 对话框的 “ 类别 ” 区域,展开文件夹,然后选择 “ 数据 ” 。 c. 在 “ 模板 ” 区域选择 “ 数据集 ” 。 d. 接受默认名称 Dataset1.xsd 。 这就创建了一个新的架构文件 (Dataset1.xsd) ,以后将用它来生成强类型数据集。该架构文件将显示在 ADO.NET 数据集设计器中。 2. 指定数据库位置: a. 在服务器资源管理器中,右击 “ 数据连接 ” 并选择 “ 添加连接 ” 。 b. 在 “ 数据链接属性 ” 对话框中,单击 “ 提供程序 ” 选项卡,然后选择一个提供程序 ( 例如 Microsoft OLE DB Provider for SQL Server) 。 c. 单击 “ 连接 ” 选项卡,然后指定您的数据库所在位置。在所需位置输入服务器和登录信息。 d. 单击 “ 确定 ” 按钮。 此时,您的数据库及其表和字段就出现在服务器资源管理器的 “ 数据连接 ” 节点下面。 3. 在解决方案资源管理器中,双击 Dataset1.xsd ( 如果它尚不是活动视图 ) 。 Dataset1.xsd 现在应显示在 “ 数据集 ” 选项卡中。 4. 若要为数据集建立架构,请将需要的表从服务器资源管理器中拖动到 Dataset1.xsd 的 “ 数据集 ” 选项卡上。 5. 单击 “ 保存 Dataset1.xsd” 来保存 “Dataset1.xsd” 文件。 6. 在 “ 生成 ” 菜单上,单击 “ 生成 ” 为项目生成数据集对象。 ADO.NET 数据集对象提供数据的描述,从它可以向 Crystal report 添加表。使用 Crystal Report Designer 中的 “ 数据库专家 ” 从 ADO.NET 数据集对象添加表。 请在使用 “ 报表专家 ” 创建新报表时调用 “ 数据库专家 ” 。或者,要从一个已经使用 ADO.NET 建立好的报表中访问 “ 数据库专家 ” ,请在 Report Designer 中右击,指向 “ 数据库 ” ,然后单击 “ 添加 / 删除数据库 ” 。 将报表连接到 ADO.NET 数据集对象 1. 在 “ 数据库专家 ” 中,展开 “ 项目数据 ” 文件夹。 2. 展开 “ADO.NET 数据集 ” 文件夹。 3. 选择所需数据集对象。 例如,如果当时使用的是从项目 “WindowsApplication1” 的架构文件 “Dataset1.xsd” 中生成的数据集对象,则应该选择 “WindowsApplication1.Dataset1” 。 4. 选择要向报表中添加的表,和使用其他数据源一样。 六 、动态改变数据源的代码 Dim dsdataSet As New DataSet() Dim oRpt As New rptClient() ' 已建立的报表 rptClient 请读者自行填充数据集 dsdataSet ' 使用 “ 报表引擎 ” 对象模型将填充的数据集 , 传递给报表 oRpt.SetDataSource(dsdataSet.Tables(0)) ' 将带有数据的报表对象绑定到 Windows 窗体查看器, rptVew(CrystalReportViewer 控件 ) rptVew.ReportSource = oRpt 注意 FillDataSet 方法可连接到指定的数据库,提取数据,然后断开数据库连接。如果您希望将数据库中的多个表添加到报表中,请使用 SQL JOIN 语句将这些表联接在一起;然后在 FillDataSet 方法中指定一个结果表。 本文转自 qianshao 51CTO博客,原文链接:http://blog.51cto.com/qianshao/203454,如需转载请自行联系原作者

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

Kotlin学习(一)—— IDEAIntelliJ IDEA的安装配置及Kotlin的环境部署

一.概括 从这篇博客开始,我们就正式的开始学习Kotlin了,首先我们来了解下他的几个重点 Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发。 Kotlin可以编译成Java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行。 JetBrains,作为目前广受欢迎的Java IDE IntelliJ 的提供商,在 Apache 许可下已经开源其Kotlin 编程语言。 Kotlin已正式成为Android官方支持开发语言 JetBrains 的另一个代表作:IDEA,我相信大家都不陌生,所以我们在前期学习的时候依旧会以IDEA作为编译器,后期讲到Android这一块的时候,再用Android Studio 那我们首先先安装一下IntelliJ IDEA 点击直接下载就好了 IntelliJ IDEA下载地址 二.安装 安装的话,一路Next下去就好了,然后启动 这里是提示你是否有配置好的setting.jar,我们作为一次全新的安装,就选下面的没有就好了 这是认证,想要破解的话自行搜索就好了,推荐使用注册码 这里是选择的主题,白的黑的随便你 OK,到这里安装步骤算是完成了 三.创建Kotlin项目 我们成功安装完了之后,就可以创建项目了 点击Create New Project 然后我们选中Kotlin一栏,这里就有两种类型了,一种JVM还有一种JS,我们选择JVM,然后Next 这里就要说明一下了,首先,name就是工程的名字,然后location的话,随便你放哪,紧接着SDK,这里你一开始安装的时候会提示没有,所以你需要指定你的JDK安装地址,也就是JAVA_HOME给他就好了,Library的话是默认自带的KotlinJavaRuntime,然后点击Finish就好了 到这里算是成功创建了,我们从下节课开始就会开始学习了 四.IDEA配置 其实IDEA的配置和Android Studio基本上一样,所以大家可以直接看我的这篇博客 Android Studio重构之路,我们重新来了解一下Google官方的Android开发工具 如果有兴趣的话,可以来Github参与一下 Kotlin 我的公众号,期待你的关注

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

Android开发环境搭建--完美解决eclipse安装Genymotion插件找不到图标问题

使用eclipse安装Genymotion插件的时候官方网站会提供一个Jar包,但是复制到D:\Green\eclipse\dropins和D:\Green\eclipse\features发现无效。重启eclipse也不生效,有的教程说多次重启几次就能出现,真是可笑! 废话不多说,上图:(dropins目录结构) 小编用的是Windows10的内置Bash Shell(Ubuntu)。 折腾前请先下载附件哦! 附件:http://down.51cto.com/data/2367043 本文转自 棋帅小七 51CTO博客,原文链接:http://blog.51cto.com/xvjunjie/1972219

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

Centos7.2下Jumpserver V4.0环境安装部署记录

之前介绍了Jumpserver在Centos6系统下的安装部署,下面说说在Centos7.2下安装最新版的Jumpserver4.0的操作记录(使用Docker一键安装): 参考:https://github.com/jumpserver/jumpserver jumpserver的git目录也可以去百度云盘上下载:https://pan.baidu.com/s/1nvE9wnv (提取密码:9g5w) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 安装依赖 [root@qd-vpc-inf-sre01 app] # yum -y install git python-pip gcc automake autoconf python-devel vim sshpass lrzsz 安装docker [root@qd-vpc-inf-sre01 app] # yum install -y docker [root@qd-vpc-inf-sre01 app] # service docker start 安装docker compose (安装时间比较长,需要耐心等待~) [root@qd-vpc-inf-sre01 app] # pip install docker-compose [root@qd-vpc-inf-sre01 app] # docker-compose --version docker-compose version 1.16.1, build 6d1ac219 -------------------------------------------------------------------------------------------------------------- 如果出现下面报错: Traceback (most recent call last): File "/usr/bin/docker-compose" , line 5, in <module> from pkg_resources import load_entry_point File "/usr/lib/python2.7/site-packages/pkg_resources.py" , line 3011, in <module> parse_requirements(__requires__), Environment() File "/usr/lib/python2.7/site-packages/pkg_resources.py" , line 626, in resolve raise DistributionNotFound(req) pkg_resources.DistributionNotFound: backports.ssl-match- hostname >=3.5 解决办法: [root@qd-vpc-inf-sre01 app] # pip install --upgrade backports.ssl_match_hostname -------------------------------------------------------------------------------------------------------------- 下载jumpserver,并执行 "docker-compose up" 命令安装jumpserver [root@qd-vpc-inf-sre01 app] # git clone https://github.com/jumpserver/jumpserver.git [root@qd-vpc-inf-sre01 app] # cd jumpserver [root@qd-vpc-inf-sre01 jumpserver] # ls //发现有docker-compose.yml文件,就可以通过docker-compose up命令进行安装了 apps config_docker.py config_example.py data docker-compose.yml Dockerfile Dockerfile-py3 docs install LICENSE logs README.md requirements run_server.py tmp utils [root@qd-vpc-inf-sre01 jumpserver] # docker-compose up 上面安装过程有点长,需耐心等待一段时间。当出现下面信息,莫慌!这是正常现象!这是因为coco账号还没有注册的原因! ........ jumpserver | 2017-09-17 01:03:50 [basehttp WARNING] "POST /api/applications/v1/terminal/heatbeat/ HTTP/1.1" 403 27 jumpserver | 2017-09-17 01:03:50 [basehttp WARNING] "POST /api/applications/v1/terminal/heatbeat/ HTTP/1.1" 403 27 luna | WARNING:luna.service:App auth failed, Access key error or need admin active it coco | WARNING: /opt/coco/coco/service .py:App auth failed, Access key error or need admin active it jumpserver | 2017-09-17 01:03:55 [basehttp WARNING] "POST /api/applications/v1/terminal/heatbeat/ HTTP/1.1" 403 27 jumpserver | 2017-09-17 01:03:55 [basehttp WARNING] "POST /api/applications/v1/terminal/heatbeat/ HTTP/1.1" 403 27 打开另一个终端窗口,查看docker的启动情况: [root@qd-vpc-inf-sre01 jumpserver] # docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io /redis latest 9813a7e8fcc0 3 days ago 106.6 MB docker.io /jumpserver/coco v0.4.0-beta1 cbdae341d7fa 7 weeks ago 692.9 MB docker.io /jumpserver/jumpserver v0.4.0-beta1 0765db2ac1d2 8 weeks ago 1.074 GB docker.io /jumpserver/luna v0.4.0-beta1 f08d127343ba 12 weeks ago 887.4 MB [root@qd-vpc-inf-sre01 jumpserver] # docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 79f0a50838a1 jumpserver /coco :v0.4.0-beta1 "/bin/sh -c 'python r" 46 minutes ago Up 9 minutes 0.0.0.0:2222->2222 /tcp coco 79b4435f2c80 jumpserver /luna :v0.4.0-beta1 "/bin/sh -c 'python r" 46 minutes ago Up 9 minutes 0.0.0.0:5000->5000 /tcp luna 4151e748b04c jumpserver /jumpserver :v0.4.0-beta1 "/bin/sh -c 'cd utils" 46 minutes ago Up 9 minutes 0.0.0.0:8080->8080 /tcp jumpserver 528306f0c573 redis:latest "docker-entrypoint.sh" 46 minutes ago Up 9 minutes 6379 /tcp redis [root@qd-vpc-inf-sre01 jumpserver] # cat docker-compose.yml version: '2' services: redis: image: redis:latest container_name: redis restart: always jumpserver: image: jumpserver /jumpserver :v0.4.0-beta1 container_name: jumpserver restart: always ports: - 8080:8080 depends_on: - redis coco: // 这个是程序账号,映射 ssh 的2222端口的docker容器。通过 ssh terminal方式来远程连接用的。 image: jumpserver /coco :v0.4.0-beta1 container_name: coco restart: always ports: - 2222:2222 depends_on: - jumpserver luna: // 这个也是程序账号,是通过web terminal方式来远程连接用的 image: jumpserver /luna :v0.4.0-beta1 container_name: luna restart: always ports: - 5000:5000 depends_on: - jumpserver 由上面信息可以看出,jumpserver的docker镜像已经启动起来了!这个是有就可以访问jumpserver了。 访问地址:http: //10 .111.232.96:8080 (10.111.232.92是jumpserver部署机的ip地址) 默认用户名和密码是:admin /admin ---------------------------------------------------注意几点---------------------------------------------------- 登陆jumpserver后,会发现除了administration管理员账号外,还有其他两个程序账号coco和luna,这是安装的时候在docker-compose.yml文件里定义好的。 需要登陆jumpserver的web界面后在左边栏的"应用程序"->"终端"里注册这两个程序账号(或者访问http://10.111.232.96:8080/applications/terminal/打开注册界面)。 coco是ssh terminal方式(登陆地址: ssh://10.111.232.96:2222),luna是web terminal方式( http://10.111.232.96:5000)。注册好后,就不会出现上面安装过程中的"WARNING"的提示了! "docker-compose up"命令后的信息,这个命令会一直在刷,可以看到连接情况。需要安装后,放在后台执行,即"nohup docker-compose up &" 如果要想重新安装jumpserver,那么就将上面启动起来的几个docker容器删除。即:docker kill $(docker ps -a -q) && docker rm $(docker ps -a -q) 用户是指给运维和开发人员创建的远程ssh方式登陆堡垒机的账号,这个不需要真实存在服务器上。有多少人员需要登陆堡垒机就创建多少个这样的账号。比如 ssh -p2222 wangshibo@10.111.232.96 管理用户是指客户端上的如root等高权限账号(或普通用户拥有NOPASSWD: ALL sudo权限), 作用用于推送系统用户。也就是说这个管理用户最好使用root,如果是非root账号,那么它必须拥有NOPASSWD: ALL sudo权限 系统用户是真实存在于服务器上的。就是说远程ssh登陆堡垒机后,会选择进入哪个系统用户下。 ------------------------------------------------------------------------------------------------------------ 下面说下配置使用: 1)登陆jumpserver(默认登陆权限是admin/admin。登陆后可以点击左上角的"管理员"->"个人信息配置"->"密码"来重置管理员密码) 2)登陆后,第一时间点击左边栏的"应用程序"->"终端",注册coco和luna程序账号 注册后,点击"用户管理"->"用户",就会发现coco和luna程序用户已经激活了 ***************当你发现自己的才华撑不起野心时,就请安静下来学习吧*************** 分类: Jumpserver 本文转自散尽浮华博客园博客,原文链接:http://www.cnblogs.com/kevingrace/p/5950472.html ,如需转载请自行联系原作者

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

腾讯云软件源

腾讯云软件源

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

Spring

Spring

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

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册