精华内容
下载资源
问答
  • Tomcat修改80端口的一系列问题

    千次阅读 2017-01-05 15:22:41
    本菜开源的个自己写的Demo,希望能给Androider们有所帮助,水平有限,见谅见谅… https://github.com/zhiaixinyang/PersonalCollect (拆解GitHub上的优秀框架于一体,全部拆离不含任何额外的库导入) ...

    转载请注意:http://blog.csdn.net/wjzj000/article/details/54093576


    我和一帮应届生同学维护了一个公众号:IT面试填坑小分队。旨在帮助应届生从学生过度到开发者,并且每周树立学习目标,一同进步!
    这里写图片描述


    写在开头

    今天我的域名刚刚备案完毕,然后简单整了整域名映射这些东西。然后牵扯了一大串的小问题。
    本人使用的是阿里云的服务器CentOS+Tomcat+MySQL

    时隔很久后上服务器看看,发现一些问题有忘了该怎么处理。如果Tomcat开始正常,先看看机器的防火墙关没关(关了的话,端口肯定都是开放的),然后在看一看自己开放的端口。
    可以直接这个命令:cat /etc/sysconfig/iptables

    开放端口:
    vi /etc/sysconfig/iptables
    我们可以看到当前电脑开放的端口,这个时候我们,按已有的格式写上我们想要开放的端口就行。
    然后保存,重启防火墙(当然如果关闭了,端口肯定默认都是开的)


    No.1

    之前访问Tomcat都是通过IP+Tomcat的端口,然后访问对应的Tomcat的目录,然后是项目。
    既然有了域名那就要替代IP地址。
    打开Tomcat下的conf下的server.xml
    定位到到后部Host标签中:

    • 正常是这样的:
      这里写图片描述

    • 比较好理解就是,访问我们的IP时映射到webapps目录下,这也是为什么我们要把项目放在webapp下的原因。

    • 我们要干的就是在加一个Host,当然也可以直接在这个基础上改,但是那样的话,我们就不能再通过IP访问了。加一个Host:
      这里写图片描述

    但是,万万没想到,没有用!访问域名的时候是没有这个网页….
    为什么?因为域名代替的是IP,我们的端口号没人代替啊!,我们的Tomcat默认是8080,所以我们要修改端口号至80,这样我们就可以不用通过不写端口号的形式访问到我们的进程。因此我们的域名就可以使用了。


    !!俩种对端口处理的方式:1,
    修改Tomcat的默认端口:

    这里写图片描述

    把这里的8080改为80既可。
    !!注意需要重启Tomcat
    方法2,端口映射:CentOS下敲这个命令就哦

    • iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

    额外拓展:

    在搞这个的过程中收获了一个有趣的东西。
    网络提供商可能会通过你购买的服务,选择打开或是关闭80端口的使用权。
    所以可能有时修改端口,端口映射不生效。


    No.2

    我们经过了上述No.1的的过程,仅仅是域名映射到自己的IP+80端口而已,因此我们在访问域名会仅仅是对应Tomcat的首页。
    而我们想要对应特定的页面,怎么办?
    这里我们需要在Host中再添一条标签:

    这里写图片描述

    Context中包含俩个标签即可。一个path这里为空的意思就是访问链接为Host中name的那个即跳转到ddocBase对应的路径下。
    也就是说访问www.ohonor.xyz实际对应的是docBase的内容。
    这里对应的是一个项目。我这里是一个JavaWeb项目。所以默认会直接启动JavaWeb中设置的首页。
    因此我们就能做到通过域名直接访问一个页面。


    尾声

    OK,这就是我在修改Tomcat80端口的时候遇到的一些问题。希望可以让各位看官跳过这个坑。

    最后希望各位看官可以star我的GitHub,三叩九拜,满地打滚求star:
    https://github.com/zhiaixinyang/PersonalCollect
    https://github.com/zhiaixinyang/MyFirstApp


    这是一个主推面试踩坑的公众号!

    因为身边的同学从事互联网相关职业的比较多,并且大家闲时聊天时总会吐槽找工作有很多坑,所以打算把身边同学找工作的经验,统统收集起来。提供给想从事这方面同学,希望圈内好友可以共同进步,共同少踩坑。

    个人公众号

    展开全文
  • 这篇文章主要介绍了Python中dictionary items()系列函数的用法,很实用的函数,需要的朋友可以参考下本文实例讲述了Python中dictionary items()系列函数的用法,对Python程序设计有很好的参考借鉴价值。具体分析如下:...

    这篇文章主要介绍了Python中dictionary items()系列函数的用法,很实用的函数,需要的朋友可以参考下

    本文实例讲述了Python中dictionary items()系列函数的用法,对Python程序设计有很好的参考借鉴价值。具体分析如下:

    先来看一个示例:import html # available only in Python 3.x

    def make_elements(name, value, **attrs):

    keyvals = [' %s="%s"' % item for item in attrs.items()]

    attr_str = ''.join(keyvals)

    element = '<{name}{attrs}>{value}{name}>'.format(

    name = name,

    attrs = attr_str,

    value = html.escape(value))

    return element

    make_elements('item', 'Albatross', size='large', quantity=6)

    make_elements('p', '')

    该程序的作用很简单,就是生成HTML标签,注意html这个模块只能在Python 3.x才有。

    起初我只是注意到,生成标签属性列表的keyvals这个dictionary类型变量构建的方式很有意思,两个%s对应一个item,所以就查阅了相关的资料,结果扯出了挺多的东西,在此一并总结。

    注:下面所有Python解释器使用的版本,2.x 对应的是2.7.3,3.x 对应的是3.4.1

    在 Python 2.x 里,官方文档里items的方法是这么说明:生成一个 (key, value) 对的list,就像下面这样:>>> d = {'size': 'large', 'quantity': 6}

    >>> d.items()

    [('quantity', 6), ('size', 'large')]

    在搜索的过程中,无意看到stackoverflow上这样一个问题:dict.items()和dict.iteritems()有什么区别? ,第一个答案大致的意思是这样的:

    "起初 items() 就是返回一个像上面那样的包含dict所有元素的list,但是由于这样太浪费内存,所以后来就加入了(注:在Python 2.2开始出现的)iteritems(), iterkeys(), itervalues()这一组函数,用于返回一个 iterator 来节省内存,但是在 3.x 里items() 本身就返回这样的 iterator,所以在 3.x 里items() 的行为和 2.x 的 iteritems() 行为一致,iteritems()这一组函数就废除了。”

    不过更加有意思的是,这个答案虽然被采纳,下面的评论却指出,这种说法并不准确,在 3.x 里 items() 的行为和 2.x 的 iteritems() 不一样,它实际上返回的是一个"full sequence-protocol object",这个对象能够反映出 dict 的变化,后来在 Python 2.7 里面也加入了另外一个函数 viewitems() 和 3.x 的这种行为保持一致

    为了证实评论中的说法,我做了下面的测试,注意观察测试中使用的Python版本:

    测试1(Python 2.7.3):Python 2.7.3 (default, Feb 27 2014, 19:58:35)

    [GCC 4.6.3] on linux2

    Type "help", "copyright", "credits" or "license" for more information.

    >>> d = {'size': 'large', 'quantity': 6}

    >>> il = d.items()

    >>> it = d.iteritems()

    >>> vi = d.viewitems()

    >>> il

    [('quantity', 6), ('size', 'large')]

    >>> it

    >>> vi

    dict_items([('quantity', 6), ('size', 'large')])

    测试2(Python 3.4.1):Python 3.4.1 (default, Aug 12 2014, 16:43:01)

    [GCC 4.9.0] on linux

    Type "help", "copyright", "credits" or "license" for more information.

    >>> d = {'size': 'large', 'quantity': 6}

    >>> il = d.items()

    >>> it = d.iteritems()

    Traceback (most recent call last):

    File "", line 1, in

    AttributeError: 'dict' object has no attribute 'iteritems'

    >>> vi = d.viewitems()

    Traceback (most recent call last):

    File "", line 1, in

    AttributeError: 'dict' object has no attribute 'viewitems'

    >>> il

    dict_items([('size', 'large'), ('quantity', 6)])

    可以看到在 Python 3.x 里面,iteritems() 和 viewitems() 这两个方法都已经废除了,而 item() 得到的结果是和 2.x 里面 viewitems() 一致的。

    2.x 里 iteritems() 和 viewitems() 返回的内容都是可以用 for 来遍历的,像下面这样>>> for k, v in it:

    ... print k, v

    ...

    quantity 6

    size large

    >>> for k, v in vi:

    ... print k, v

    ...

    quantity 6

    size large

    这两者的区别体现在哪里呢?viewitems() 返回的是view object,它可以反映出 dictionary 的变化,比如上面的例子,假如在使用 it 和 vi 这两个变量之前,向 d 里面添加一个key-value组合,区别就很容易看出来了。>>> it = d.iteritems()

    >>> vi = d.viewitems()

    >>> d['newkey'] = 'newvalue'

    >>> d

    {'newkey': 'newvalue', 'quantity': 6, 'size': 'large'}

    >>> vi

    dict_items([('newkey', 'newvalue'), ('quantity', 6), ('size', 'large')])

    >>> it

    >>> for k, v in vi:

    ... print k, v

    ...

    newkey newvalue

    quantity 6

    size large

    >>> for k, v in it:

    ... print k, v

    ...

    Traceback (most recent call last):

    File "", line 1, in

    RuntimeError: dictionary changed size during iteration

    在第三行中,我们像 d 里面插入了一个新的元素,vi 可以继续遍历,而且新的遍历能够反映出 d 的变化,但是在遍历 it 的时候,报错提示 dictionary 在遍历的时候大小发生了变化,遍历失败。

    总结起来,在 2.x 里面,最初是 items() 这个方法,但是由于太浪费内存,所以加入了 iteritems() 方法,用于返回一个 iterator,在 3.x 里面将 items() 的行为修改成返回一个 view object,让它返回的对象同样也可以反映出原 dictionary 的变化,同时在 2.7 里面又加入了 viewitems() 向下兼容这个特性。

    所以在 3.x 里面不需要再去纠结于三者的不同之处,因为只保留了一个 items() 方法。

    相信本文所述示例对大家的Python程序设计有一定的借鉴价值。

    【相关推荐】

    以上就是Python中items()系列函数的用法详解的详细内容,更多请关注php中文网其它相关文章!

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!

    展开全文
  • 什么是SDK? SDK是什么意思

    万次阅读 多人点赞 2018-07-04 10:18:51
    其实很简单,SDK 就是 Software Development Kit ...具体到我们这个系列教程,我们后面只讨论广义 SDK 的个子集——即开发 Windows 平台下的应用程序所使用的 SDK。 呵呵,其实上面只是说了个 SDK 大概的概念而...
    其实很简单,SDK 就是 Software Development Kit 的缩写,中文意思就是“软件开发工具包”。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。具体到我们这个系列教程,我们后面只讨论广义 SDK 的一个子集——即开发 Windows 平台下的应用程序所使用的 SDK。 
    
    呵呵,其实上面只是说了一个 SDK 大概的概念而已,理解什么是 SDK 真有这么容易吗?恐怕没这么简单!为了解释什么是 SDK 我们不得不引入 API、动态链接库、导入库等等概念。^_^,不要怕,也就是几个新的名词而已,我也是到了大学快结束的时候才体会到其实学习新知识就是在学习新名词、新概念和新术语。
    首先要接触的是“API”,也就是 Application Programming Interface,其实就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的 API 而使操作系统去执行应用程序的命令(动作)。其实早在 DOS 时代就有 API 的概念,只不过那个时候的 API 是以中断调用的形式(INT 21h)提供的,在 DOS 下跑的应用程序都直接或间接的通过中断调用来使用操作系统功能,比如将 AH 置为 30h 后调用 INT 21h 就可以得到 DOS 操作系统的版本号。而在 Windows 中,系统 API 是以函数调用的方式提供的。同样是取得操作系统的版本号,在 Windows 中你所要做的就是调用 GetVersionEx() 函数。可以这么说,DOS API 是“Thinking in 汇编语言”的,而 Windows API 则是“Thinking in 高级语言”的。DOS API 是系统程序的一部分,他们与系统一同被载入内存并且可以通过中断矢量表找到他们的入口,那么 Windows API 呢?要说明白这个问题就不得不引入我们下面要介绍得这个概念——DLL。
    DLL(又是一个缩写,感觉 IT 这个行业里三字头缩写特别多),即 Dynamic Link Library(动态链接库)。我们经常会看到一些 .dll 格式的文件,这些文件就是动态链接库文件,其实也是一种可执行文件格式。跟 .exe 文件不同的是,.dll 文件不能直接执行,他们通常由 .exe 在执行时装入,内含有一些资源以及可执行代码等。其实 Windows 的三大模块就是以 DLL 的形式提供的(Kernel32.dll,User32.dll,GDI32.dll),里面就含有了 API 函数的执行代码。为了使用 DLL 中的 API 函数,我们必须要有 API 函数的声明(.H)和其导入库(.LIB),函数的原型声明不难理解,那么导入库又是做什么用的呢?我们暂时先这样理解:导入库是为了在 DLL 中找到 API 的入口点而使用的。
    所以,为了使用 API 函数,我们就要有跟 API 所对应的 .H 和 .LIB 文件,而 SDK 正是提供了一整套开发 Windows 应用程序所需的相关文件、范例和工具的“工具包”。到此为止,我们才真正的解释清楚了 SDK 的含义。
    由于 SDK 包含了使用 API 的必需资料,所以人们也常把仅使用 API 来编写 Windows 应用程序的开发方式叫做“SDK 编程”。而 API 和 SDK 是开发 Windows 应用程序所必需的东西,所以其它编程框架和类库都是建立在它们之上的,比如 VCL 和 MFC,虽然他们比起“SDK 编程”来有着更高的抽象度,但这丝毫不妨碍它们在需要的时候随时直接调用 API 函数。
    展开全文
  • Pycharm ”Cannot Run Git “等一系列Git问题解决方法

    万次阅读 多人点赞 2018-08-08 15:23:35
    使用Pycharm时右下角提示错误信息“Cannot Run Git”如下图所示 请检查下面步骤: 下载 Github For Windows 客户端并安装。 ... 然后设置你的环境变量,参考path比如:D:\Git\bin 不设置Git环境变量也可以,下面...

    使用Pycharm时右下角提示错误信息“Cannot Run Git”如下图所示

    请检查下面步骤:

    1. 下载 Github For Windows 客户端并安装。
    2. 成功安装之后,连接你的账户。
    3. 然后设置你的环境变量,参考path比如:D:\Git\bin

    不设置Git环境变量也可以,下面是Pycharm手动设置Git路径详细图解。

    实验环境:

    Windows10

    Pycharm2018.2

    Git-2.18.0-64-bit

    详细图解

    打开File->settings...

    Version Control -> Git 

    Path to Git executable:

     找到Git的安装目录

    然后Test一下 ,弹出下图所示,然后Apply一下就ok了

    展开全文
  • 软件签名不一致是什么意思

    千次阅读 2020-11-28 10:42:29
    导读:很多人都可能遇见游戏下载好了安装的时候,说的是签名不一致,是什么意思,型号s850t 或者说软件签名冲突,不能升级怎么办,软件签名异常手机如何能安装等等问题: 软件签名不一致是什么意思 签名不一致是说你...
  • 内卷到底是什么意思

    千次阅读 2020-11-18 14:09:25
    、内卷到底是什么意思? 由青塔发的微信推文,清北硕博生,也难逃「内卷」,这一文让我意思到最近听到的很多遍的“内卷”,思考“内卷”到底是什么意思? 我觉得知乎上说的很好,内卷。 通俗易懂的解释内卷,并...
  • 1.前序 对于网关,从专业角度,一般运维和网络管理员会比较了解一下。...2.1 什么是网关? 网关英文名称为Gateway,又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是最复杂的网络互连设备...
  • 我之前一直都把Gradle理解为个android studio工程的依赖管理和打包工具。 这么理解其实也没什么问题。但是这么理解不够全面和系统,会给我之后系统的使用gradle... 那什么是项目构建工具呢,我们又为什么要用项目构
  • Linux 中 bashrc 中的 rc 是什么意思

    千次阅读 多人点赞 2016-09-21 19:45:16
    刚刚配置 .bashrc 文件时,突然想,这里面的 rc 是什么意思? 使用了这么长时间,这个都不知道,这是醉了。Google 之,还真有不少... 相关文献曾记载这一段话: 具有从档案中取出一系列命令来执行的功能;这称为 run c
  • 加壳,是一种通过一系列数学运算,将可执行程序文件或动态链接库文件的编码进行改变(目前还有一些加壳软件可以压缩、加密驱动程序),以达到缩小文件体积或加密程序编码的目的。加壳一般是指保护程序资源的方法。 ...
  • 数据库中事务是什么意思

    千次阅读 2018-01-22 09:42:53
    什么是事务?我们知道,数据库是个面向多用户的共享机制,因此数据库管理系统应当具备并发控制和封锁机制,保证数据库系统的正常运行。但是当多个用户访问数据库的时候,如果每个用户程序个的串行执行,则...
  • 代码参数里的 payload 是什么意思???

    万次阅读 2017-05-24 16:39:53
    对于程序员来说,有效载重究竟是个什么玩意儿,又是个新的问题!!! 要解释什么是有效载重,用货运行业打个比方: 比如有位客户需要支付笔费用委托货车司机运送车石油,石油本身的重量、车子的重量、司机...
  • 什么是widget?widget是什么意思

    万次阅读 2010-04-07 09:52:00
    在过去几年,个新术语进入了营销词汇的行列。这个词当然就是“widget”了。虽然已经有很多人开始谈论widgets的2.0版本,但是大部分的人才刚刚开始注意到它。你可能会觉得widgets是最烦人的时尚,或者是社会互动中...
  • 这是简化功能点系列的第篇。目标功能点的目标,是估算工作量,进而估算成本和造价。俗话说:“店大欺客,客大欺店”,银行这么大的客遇上IBM这么大的店,会发生什么呢?那就是功能点。大约在1979年左右,IBM发布了...
  • 手游ip是什么意思

    千次阅读 2014-12-03 10:51:13
    吴军:首先我觉得主持人的问题问得确实也有点问题,因为所谓的年度IP最成功,这个说法不太准确,因为IP在我看来分为两类,类所谓的叫经典IP,这个IP持续时间比较长,像金庸系列,它随时可以变为个产品。还有类...
  • IC卡是什么意思?ID卡区别是?

    千次阅读 2010-03-23 16:48:00
    IC卡是什么意思? ic卡是集成电路卡的意思,ic卡是种内藏大规模集成电路的塑料卡片,其大小和原来的磁卡电话的磁卡大小相同。 ic卡通常可分为存储卡、加密卡和智能卡三类,存储卡是可以直接对其进行读、写操作的...
  • 【C# 教程系列第 4 篇】什么是 c# 中的 ref 参数?

    千次阅读 多人点赞 2018-12-20 14:39:23
    什么是 ref 参数、 二:使用 ref 的注意事项。
  • 一系列我们来讲讲CTP开发中常见的一些问题,主要参考QQ群里面常被问到的一些。这些问题经常出现,有的甚至是“日经”问题。每次反复解释不胜其烦,于是干脆就总结成这个系列。 程序化交易接入CTP首先需要登录, ...
  • 代码里的payload究竟是什么东西。 随便在 Github 搜 payload,就能获得成千上万的代码(https://github.com/search?p=1&q=payload&type=Code&utf8=✓),其中以C和C++语言居多。 根据词典里的解释,...
  • CS和BS具体是什么意思?

    万次阅读 2017-09-18 19:14:08
    C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过... B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的种变化或者改进的结构。在这种结构下
  • Jenkins入门系列之——01第章 Jenkins是什么

    万次阅读 多人点赞 2014-04-04 11:54:46
    章 Jenkins是什么? Jenkins 是个可扩展的持续集成引擎。 主要用于: l 持续、自动地构建/测试软件项目。 l 监控一些定时执行的任务。 Jenkins拥有的特性包括: l ...
  • 名合格的程序员应该是什么样子

    万次阅读 多人点赞 2019-06-28 10:01:05
    我听完随口扔了句,“在我的意料之中。”因为她平时的成绩也就在二本线上下徘徊。 这句话挺伤人的,尤其是对于高考失利的妹妹来说,她听完我的话,立马就哭了起来,情绪非常激动,质问母亲为什么要打电话告诉我...
  • i386和X86_64各是什么意思

    千次阅读 2013-05-28 12:03:30
    i386和X86各是什么意思 IA32 : 32 bits Intel Architecture (32位带宽Intel构架) IA64 : 64 bits Intel Architecture (64位带宽Intel构架) i386 : Intel 386 ( 老的386机器,也泛指IA32体系的CPU) i486 : ...
  • 编程中常见的Foo,是什么意思。。

    万次阅读 多人点赞 2014-07-28 13:08:34
    不管是java,C++,还是PHP,每次都能看到 foo = bar 的例子,这两个单词很恶心,foo查不到字典,bar的解释又让人跟编程联系不上,更弄不清楚这个神秘的foo是个什么关系。 语意不清,学起来心里老是有疙疙瘩...
  • VCC VDD, VEE, VSS是什么意思

    万次阅读 2010-01-08 10:30:00
    今天画板子想要标注个东西,突然发现天天用的符号不知道到底是什么缩写,网上搜了段给大家分享一下在电子电路中,常可以看到VCC、VDD和VSS三种不同的符号,它们有什么区别呢? 、解释 VCC:C=circuit 表示电路...
  • slam是什么意思?一文带你读懂SLAM

    万次阅读 2018-09-17 14:11:10
    SLAM是Simultaneous localization and mapping缩写,意为“同步定位与建图”,主要用于解决机器人在未知环境运动时的定位与地图构建问题,为了让大家更多的了解SLAM,以下将从SLAM的应用领域、SLAM框架、SLAM分类...
  • 一旦某个单位拥有了个域名,它就可以自己决定是否要进一步划分其下属的子域而不需要上级结构批准。所以,当个单位申请到个域名后,如腾讯申请了个qq.com,他就可以自己划分子域。这里就出现了个命名习惯,...
  • 什么是跨域?如何解决跨域问题

    万次阅读 多人点赞 2017-07-31 20:29:48
    什么是跨域? 浏览器从个域名的网页去请求另个域名的资源时,域名、端口、协议任一不同,都是跨域 域名: 主域名不同 http://www.baidu.com/index.html –&amp;gt;http://www.sina.com/test.js 子域名...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 236,979
精华内容 94,791
关键字:

一系列问题是什么意思