postal

如何写出无法维护的代码

帅比萌擦擦* 提交于 2021-02-17 10:57:54
对,你没看错,本文就是教你怎么写无法维护的代码。 一、程序命名 容易输入的变量名 。 比如:Fred,asdf 单字母的变量名 。比如:a,b,c, x,y,z(如果不够用,可以考虑a1,a2,a3,a4,….) 有创意地拼写错误 。比如:SetPintleOpening, SetPintalClosing。这样可以让人很难搜索代码。 抽象 。比如:ProcessData, DoIt, GetData… 抽象到就跟什么都没说一样。 缩写 。比如:WTF,RTFSC …… (使用拼音缩写也同样给力,比如:BT,TMD,TJJTDS) 随机大写字母 。比如:gEtnuMbER.. 重用命名 。在内嵌的语句块中使用相同的变量名有奇效。 使用重音字母 。比如:int ínt(第二个 ínt不是int) 使用下划线 。比如:_, __, ___。 使用不同的语言 。比如混用英语,德语,或是中文拼音。 使用字符命名 。比如:slash, asterix, comma… 使用无关的单词 。比如:god, superman, iloveu…. 混淆l和1 。字母l和数字1有时候是看不出来的。 二、伪装欺诈 把注释和代码交织在一起。 for(j=0; j < array_len; j + = 8) { total += array[j+0 ]; total += array[j+1 ]; total

CFA报名付款方式及支付失败解决方法

自作多情 提交于 2020-12-31 11:45:34
参加CFA考试的考生都知道CFA报名分为三个阶段,每一阶段的报名费用各不相同,CFA报名的付款方式有哪些? CFA协会接受以下付款方式 1.Visa,万事达卡,美国运通,大来卡,JCB和Discover 2.个人支票,公司支票或银行支票(如支票,银行本票)* 3.汇票或邮政汇票(包括西联汇款)* 4.电线或ACH(联系info@cfainstitute.org说明) 这是CFA协会支持的四种付费方式,所有费用必须以美元支付。 如果您没有在网上用信用卡支付,必须使用在结帐过程中的“打印发票”选项,并随着所接受的支付方式之一提交发票。 CFA考生自己完成CFA报名考试必须使用可在线支付的国际信用卡缴纳考试费。这里需要明确一点,不一定非得用固定银行的信用卡,只要该信用卡的卡片类型属于VISA、MASTER、JCB或美国运通卡等即可。CFA报名是填写信用卡信息,需要有卡片卡号,持卡人的姓名(填写格式要求姓名的全拼,中间不能有空格),另外就是信用卡的有效截止日期,这三项信息即可。 而部分CFA考生发现明明已经持有了国际双币信用卡却不能支付,主要原因可能有两个: 一个是信用卡没有开通美元支付功能;另一个就是在线支付没有开通。建议考生给信用卡发卡行打个电话,开通下这两个功能。 CFA协会接受以下付款方式(英文原文): Visa, MasterCard, American Express,

使用python根据ip获取目标地理位置信息

眉间皱痕 提交于 2020-10-27 18:57:32
信息安全很重要,你的地理位置可能暴露了!!! 使用python和GeoLite2获取目标的地理位置 1 # ! /usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 ''' 5 Created on 2019年12月8日 6 7 @author: Admin 8 ''' 9 10 from copy import copy 11 import optparse 12 import re 13 14 import geoip2.database 15 16 17 reader = geoip2.database.Reader( ' GeoLite2-City.mmdb ' ) 18 19 # 查询IP地址对应的物理地址 20 def ip_get_location(ip_address): 21 # 载入指定IP相关数据 22 response = reader.city(ip_address) 23 24 # 读取国家代码 25 Country_IsoCode = response.country.iso_code 26 # 读取国家名称 27 Country_Name = response.country.name 28 # 读取国家名称(中文显示) 29 Country_NameCN = response.country.names[

第十节:IdentityServer4隐式模式介绍和代码实操演练

左心房为你撑大大i 提交于 2020-07-27 08:40:29
一. 前言 1.简介   简化模式(implicit grant type)不通过第三方应用程序的服务器,直接在浏览器中向认证服务器申请令牌,步骤在浏览器中完成,令牌对访问者是可见的,且客户端不需要认证。 注:该模式也有很大的弊端,就是请求令牌在浏览器中能被看到。 2. 流程图 流程 (A)客户端将用户导向认证服务器。 (B)用户决定是否给于客户端授权。 (C)假设用户给予授权,认证服务器将用户导向客户端指定的"重定向URI",并在URI的Hash部分包含了访问令牌。 (D)浏览器向资源服务器发出请求,其中不包括上一步收到的Hash值(#号的部分)。 (E)资源服务器返回一个网页,其中包含的代码可以获取Hash值中的令牌。 (F)浏览器执行上一步获得的脚本,提取出令牌。 (G)浏览器将令牌发给客户端。 (H)客户端拿到令牌以后,就可以去请求资源服务器获取资源了。 3. 流程剖析 步骤A: 导向认证服务器,如下请求,进而再导向认证服务器的登录页面。 GET /authorize?response_type=token&client_id=s6BhdRkqt3&state=xyz&redirect_uri=https%3A%2F%2Fclient%2Eexample%2Ecom%2Fcb 参数包括:   response_type:表示授权类型,此处的值固定为"token",必选项。

第五节:IdentityServer4的Pkce机制、令牌刷新机制、混合授权模式

独自空忆成欢 提交于 2020-07-26 23:59:31
一. PKCE机制 1. 准备 (1). IDS4_Server1:认证授权服务器 (2). MvcClient1:web客户端  然后将上述两个项目配置成授权码模式(如何配置见上一节 IdentityServer4授权码模式介绍和代码实操演练 ) PS: PKCE机制是在授权码模式的基础上,增加了几个验证参数,使其更加安全。 2. 代码配置 (1).IDS4_Server1中的Config1,新增 RequirePkce = true, 开启Pkce授权校验。 (2).MvcClient1中的ConfigureServices中, 新增options.UsePkce = true;开启Pkce. (默认就是true,所以可以省略) PS:实际上在上一节的授权码模式中已经开启了pkce,只是没有单独点明增加的参数的含义。 3. 剖析测试 (1).在导向认证服务器的请求和确认授权页面的请求中,新增两个参数:code_challenge 和 code_challenge_method. (2).客户端携带授权码请求认证服务器的时候,携带的参数中新增: code_verifier 二. 令牌刷新机制 1. 准备 (1). IDS4_Server1:认证授权服务器 (2). MvcClient1:web客户端  然后将上述两个项目配置成授权码模式(如何配置见上一节

Select records based zipcode, it's radius, lat and lon in MySQL

浪尽此生 提交于 2019-12-22 13:47:17
问题 Below is my company table with it's postalcode , lat , lon and the radius in kilometers where each company is able to provide his services. id company_name city postalcode radiu latitude longitude 1 A Drogteropslagen 7705 PA 10 52.61666700 6.50000000 2 B Coevorden 7740 AA 15 52.66666700 6.75000000 3 C Emmen 7812 TN 5 52.78333300 6.9000000 4 D Emmer-Compascuum 7881 PZ 25 52.81666700 7.05000000 5 E Nieuw-Dordrecht 7885 AA 60 52.75000000 6.96666700 I would like to select the companies which a

Select records based on the postal code and it's radius in MySQL

元气小坏坏 提交于 2019-12-13 02:08:44
问题 Below is my postal table with a few records. In fact this table contains all cities and all postal codes. id city postalcode latitude longitude 1 Drogteropslagen 7705 PA 52.61666700 6.50000000 2 Coevorden 7740 AA 52.66666700 6.75000000 3 Emmen 7812 TN 52.78333300 6.90000000 4 Emmer-Compascuum 7881 PZ 52.81666700 7.05000000 5 Nieuw-Dordrecht 7885 AA 52.75000000 6.96666700 Below is my company table with it's postal code and the radius in kilometers where each company is able to provide his

general System.Web.Razor error (also Postal project)

心已入冬 提交于 2019-12-11 18:11:01
问题 VS 2012, MVC4 app using Postal 0.8.0 When I NuGet install Andrew’s Davey’s Postal 0.8.0 it works on my development machine but when I deploy it I get this error message: Could not load file or assembly 'System.Web.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. I have spent several days trying to get this to work. What is the cause of this problem and how do you fix it? 回答1: When you install

Exception thrown when using Glimpse and Postal

不打扰是莪最后的温柔 提交于 2019-12-11 12:43:20
问题 I'm just starting to use Glimpse with my MVC5 project and have run into an issue when I use Postal to send an email without disabling Glimpse. I've been able to narrow it down to an issue with both packages - it doesn't occur if the Glimpse cookie has not been turned on. In Fiddler, I checked the difference between the two. When it threw the exception, the cookie was glimpsePolicy=On when it worked (Glimpse was off) there were two cookies glimpseId=FBar; glimpsePolicy= The exception I get is

How to Set SMTP Client in POSTAL MVC not in WEB.Config

二次信任 提交于 2019-12-11 12:40:33
问题 i have a problem when using POSTAL MVC in my Project. My hosting services company requires me to set smtp client config in code not in web config. How to do that ? I hope someone can give me a solution Thank you. 回答1: I had the same problem. There is no reference on the official Postal documentation, nor an How-to. So here goes one: Create the SmtpClient instance with the custom configuration Create an Postal.EmailService instance using the constructor which takes 2 arguments