python 信用卡系统+购物商城见解
通过完成信用卡系统+购物商城 使自己在利用 字典和列表方面有了较大的提升,感悟很深,
下面将我对此次作业所展示的重点列表如下:
#!/usr/bin/env python3.5
# -*-coding:utf8-*-
import pickle,os,datetime,sys BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR)
# 加载用户信息
if os.path.exists(r'%s/config/user_acc.txt'% BASE_DIR):
f = open("%s/config/user_acc.txt" % BASE_DIR, "rb")
data = pickle.loads(f.read())
f.close()
else:
data = []
# 加载ATM操作日志信息
if os.path.exists(r'%s/config/user_log.txt'% BASE_DIR):
fl = open("%s/config/user_log.txt" % BASE_DIR, "rb")
data_log = pickle.loads(fl.read())
fl.close()
else:
data_log = []
# ATM 操作日志增加函数
def User_Action(cz_usercard,cz_flage,usercard,user_action,money=0):
global data_log
data_log_add = {}
data_log_add["cz_usercard"] = cz_usercard
data_log_add["cz_flage"] = cz_flage
data_log_add["cz_action"] = user_action
data_log_add["cz_adduser"] = usercard
data_log_add["cz_time"] = datetime.datetime.now()
data_log_add["cz_money"] = money
data_log.append(data_log_add)
fl = open("%s/config/user_log.txt" % BASE_DIR, "wb")
pickle.dump(data_log, fl)
fl.close()
# 增加用户
def User_Add(cz_usercard,cz_flage,usercard,password,total_money,Repayment_Date,flage):
global data
data_list = []
for user_data in data:
data_list.append(user_data["usercard"])
if usercard not in data_list:
# 增加用户
user_dic ={}
user_dic["usercard"] = usercard
user_dic["password"] = password
user_dic["new_money"] = total_money
user_dic["total_money"] = total_money
user_dic["Repayment_Date"] = Repayment_Date
user_dic["flage"] = flage
user_dic["state"] = "on"
data.append(user_dic)
f = open("%s/config/user_acc.txt" % BASE_DIR, "wb")
pickle.dump(data, f)
f.close()
User_Action(cz_usercard,cz_flage,usercard,"增加用户")
print("增加卡号[%s],成功!"%(usercard))
else:
print("增加信用卡卡号失败,原因:[“已存在”]")
# 解冻信用卡
def User_thaw(usercard,cz_usercard,cz_flage):
global data
# 判断是否为管理员账号
if cz_flage =="":
for x_name in data:
if x_name["usercard"] == usercard:
x_name["state"] = "on"
f = open("%s/config/user_acc.txt" % BASE_DIR, "wb")
pickle.dump(data, f)
f.close()
# 写日志
User_Action(cz_usercard,cz_flage,usercard,"解冻用户")
print("解冻用户[%s],成功!"%(usercard)) # 用户冻结
def User_Frozen(usercard,cz_usercard,cz_flage):
global data
# 判断是否为管理员账号
if cz_flage =="":
for x_name in data:
if x_name["usercard"] == usercard:
x_name["state"] = "off"
f = open("%s/config/user_acc.txt" % BASE_DIR, "wb")
pickle.dump(data, f)
f.close()
# 写日志
User_Action(cz_usercard,cz_flage,usercard,"冻结用户")
print("冻结用户[%s],成功!"%(usercard))
# 用户删除
def User_del(usercard,cz_usercard,cz_flage):
global data
# 判断是否为管理员账号
if cz_flage =="":
for index,x_name in enumerate(data):
if x_name["usercard"] == usercard:
del data[index]
f = open("%s/config/user_acc.txt" % BASE_DIR, "wb")
pickle.dump(data, f)
f.close()
# 写日志
User_Action(cz_usercard,cz_flage,usercard,"删除用户")
print("删除用户[%s],成功!"%(usercard)) #用户查询
def Select_User():
for x_name in data:
if x_name["flage"] =="":
user_type ="管理员"
else:
user_type= "信用卡用户"
print("-"*100)
print("用户类型:[%s],卡号:[%s],信用授予额度:[%s]元,信用卡当前余额:[%s]元,账单日:[%s]号"
%(user_type,x_name["usercard"],x_name["total_money"],x_name["new_money"],x_name["Repayment_Date"]))
# 信用卡额度调整
def card_limit(usercard,money,cz_usercard,cz_flage):
global data
for x_name in data:
if x_name["usercard"] == usercard:
if x_name["total_money"] + money >= 0:
x_name["total_money"] += money
x_name["new_money"] += money
User_Action(cz_usercard,cz_flage,usercard,"调整信用卡额度",money)
print("调整信用卡[%s],额度成功!"%(usercard))
else:
print("信用卡可用额度不能为负数!")
f = open("%s/config/user_acc.txt" % BASE_DIR, "wb")
pickle.dump(data, f)
f.close()
#!/usr/bin/env python3.5
# -*-coding:utf8-*-
import os,pickle,sys,datetime BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR)
from contrl.management import User_Action
#加载ATM用户数据库
if os.path.exists(r'%s/config/user_acc.txt'% BASE_DIR):
f = open("%s/config/user_acc.txt" % BASE_DIR, "rb")
data_user = pickle.loads(f.read())
f.close()
# 加载ATM操作日志信息
if os.path.exists(r'%s/config/user_log.txt'% BASE_DIR):
fl = open("%s/config/user_log.txt" % BASE_DIR, "rb")
data_log = pickle.loads(fl.read())
fl.close() # 消费明细
if os.path.exists(r'%s/config/user_list.txt'% BASE_DIR):
f_list = open("%s/config/user_list.txt" % BASE_DIR, "rb")
data_list = pickle.loads(f_list.read())
f_list.close()
else:
data_list = [] # 消费明细增加
def sale_add(usercard,usermoney_input,action,state,bills,remarks,Counter=0,interest=0):
global data_user
today =datetime.date.today()
for x_data in data_user:
if x_data["usercard"] == usercard:
date = x_data["Repayment_Date"]
# 计算账单日
Statement_Date = today.replace(day=date)
if today > Statement_Date:
Statement_Date = Statement_Date + datetime.timedelta(days=+30) # 如果今天消费的日期 大于系统计算出来的账单日,则此笔消费的出账单为下个月
data_list_dic = {}
data_list_dic["usercard"] = usercard
data_list_dic["date"] = datetime.datetime.now()
data_list_dic["money"] = usermoney_input
data_list_dic["action"] = action # 1、信用卡取现 2、转账 3、消费 4、还款
data_list_dic["state"] = state # 1、已欠款 2、已还清
data_list_dic["bills"] = bills # 1、已出账单 2、未出账单
data_list_dic["Counter"] = Counter # 手续费
data_list_dic["interest"] = interest # 利息
data_list_dic["Statement_Date"] = Statement_Date # 出账单日
data_list_dic["remarks"] = remarks
data_list.append(data_list_dic)
f_list = open("%s/config/user_list.txt" % BASE_DIR, "wb")
pickle.dump(data_list,f_list)
f_list.close() # 查询余额函数
def select_balance(usercard,flage):
# 定义全局变量
global data_user
if flage =="":
for x_name in data_user:
# 匹配用户信息
if x_name["usercard"] == usercard:
if x_name["new_money"] - x_name["total_money"] >=0:
print("""
您当前可用余额为:%s元,当前信用卡授权额度为%s元,出账单日为每月%s号,当前没有欠款,谢谢!
"""%(x_name["new_money"],x_name["total_money"],x_name["Repayment_Date"]))
else:
print("""
您当前可用余额为:%s元,当前信用卡授权额度为%s元,出账单日为每月%s号,当前总欠款%s元,请按时还款!
"""%(x_name["new_money"],x_name["total_money"],x_name["Repayment_Date"],(x_name["total_money"]-x_name["new_money"]) )) else:
print("请求参数出错,请检查后在试!")
# 查询ATM操作日志
def select_log():
print("ATM操作日志:")
for index,x_log in enumerate(data_log):
x_date = x_log["cz_time"]
cz_user = x_log["cz_usercard"]
x_action = x_log["cz_action"]
x_money = x_log["cz_money"]
x_user = x_log["cz_adduser"]
print("-" *200)
print("序号:[%s]|操作日期:[%s]|操作用户:[%s]|动作:[%s]|涉及金额:%s元|对象用户:[%s]" %(index+1,x_date,cz_user,x_action,x_money,x_user)) # ATM 取现:
def Take_Money(usercard,usermoney_input,flage):
global data_user,data_list
for x_name in data_user:
if x_name["usercard"] == usercard:
# 判断可用额度是否满足取现的金额
if x_name["new_money"] - usermoney_input >= 0:
Counter = usermoney_input*0.05 # 取现手续费
x_name["new_money"] -= (usermoney_input + Counter)
# 写日志
User_Action(usercard,flage,usercard,"信用卡取款",usermoney_input)
# 写消费明细
if x_name["new_money"] >= x_name["total_money"]:
sale_add(usercard,usermoney_input,"","","","取现",Counter)
else:
sale_add(usercard,usermoney_input,"","","","取现",Counter)
print("取现[%s],成功!"%(usermoney_input))
else:
print("您当前取现额度超过你信用卡的可用额度,不能取现!")
f = open("%s/config/user_acc.txt" % BASE_DIR, "wb")
pickle.dump(data_user, f)
f.close() # 信用卡还款
def Card_Payment(usercard,money,flage=""):
global data_user,data_list
for x_name in data_user:
if x_name["usercard"] == usercard:
x_name["new_money"] += money
if flage != "":
print("还款入账成功")
sale_add(usercard,money,"","","","还款入账")
# 提前全额还款处理
if x_name["new_money"] >= x_name["total_money"]:
for list_name in data_list:
if list_name ["usercard"] == usercard:
if list_name ["state"] != "":
list_name ["state"] = ""
f_list = open("%s/config/user_list.txt" % BASE_DIR, "wb")
pickle.dump(data_list,f_list)
f_list.close()
# 提前部分还款处理
else:
for list_name in data_list:
if list_name ["usercard"] == usercard:
if list_name ["state"] != "":
if list_name["money"] < money:
money -= list_name["money"]
list_name["state"] = ""
f_list = open("%s/config/user_list.txt" % BASE_DIR, "wb")
pickle.dump(data_list,f_list)
f_list.close()
# 写还款日志
User_Action(usercard,flage,usercard,"信用卡还款",money)
f = open("%s/config/user_acc.txt" % BASE_DIR, "wb")
pickle.dump(data_user, f)
f.close()
# 账户转账
def Transfer(usercard,flage,usercard_input,usermoney_input):
global data_user
for input_name in data_user:
if input_name["usercard"] == usercard:
input_name["new_money"] -= usermoney_input
# 写消费明细
if input_name["new_money"] >= input_name["total_money"]:
sale_add(usercard,usermoney_input,"","","","转账")
else:
sale_add(usercard,usermoney_input,"","","","转账")
# 写日志
User_Action(usercard,flage,usercard_input,"信用卡转账",usermoney_input)
# 调用转账还款入账函数
Card_Payment(usercard_input,usermoney_input)
print("转账成功!")
f = open("%s/config/user_acc.txt" % BASE_DIR, "wb")
pickle.dump(data_user, f)
f.close()
# 账单明细查询
def select_bill(usercard,bill_date):
global data_list
# 已出账单明细
have_bill = []
# 未出账单明细
No_bills = []
# 未出账单还款入账
repayment = []
# 未出账单已还清
Already = []
for index,x_name in enumerate(data_list):
if x_name["usercard"] == usercard:
# 欠款未出账单消费明细
if x_name["state"] == "" and x_name["bills"] == "":
No_bills.append(data_list[index])
# 欠款已出账单消费明细
elif x_name["state"] == "" and x_name["bills"] == "":
have_bill.append(data_list[index])
# 转账还款入账明细
elif x_name["bills"] == "" and x_name["action"] == "":
repayment.append(data_list[index])
# 已还清未出账单明细
elif x_name["bills"] == "" and x_name["state"] == "":
Already.append(data_list[index]) if len(have_bill) != 0:
print("以下消费为已出账单未还清明细:")
for index,have_bill_list in enumerate(have_bill):
x_date = have_bill_list["date"]
x_action = have_bill_list["remarks"]
x_money = have_bill_list["money"]
x_Counter = have_bill_list["Counter"]
x_Statement_Date = have_bill_list["Statement_Date"]
x_state = "未还清"
x_interest = have_bill_list["interest"]
print("-" *150)
print("序号:[%s]|日期:[%s]|类型:[%s]|金额:[%s]元|手续费:%s元|状态:[%s]|此笔交易出账单日[%s]|累计利息为:%s元" %(index+1,x_date,x_action,x_money,x_Counter,x_state,x_Statement_Date,x_interest))
if len(No_bills) != 0:
print("以下消费为未出账单未还清明细:")
for index,No_bills_list in enumerate(No_bills):
x_date = No_bills_list["date"]
x_action = No_bills_list["remarks"]
x_money = No_bills_list["money"]
x_Counter =No_bills_list["Counter"]
x_Statement_Date = No_bills_list["Statement_Date"]
x_state = "未还清"
print("-" *100)
print("序号:[%s]|日期:[%s]|类型:[%s]|金额:[%s]元|手续费:%s元|状态:[%s]|此笔交易出账单日[%s]" %(index+1,x_date,x_action,x_money,x_Counter,x_state,x_Statement_Date))
if len(repayment) != 0:
print("以下为未出账单还款明细:")
for index,repayment_list in enumerate(repayment):
x_date = repayment_list["date"]
x_action = repayment_list["remarks"]
x_money = repayment_list["money"]
x_Counter = repayment_list["Counter"]
x_state = "还款入账"
print("-" *100)
print("序号:[%s]|日期:[%s]|类型:[%s]|金额:[%s]元|手续费:%s元|状态:[%s]" %(index+1,x_date,x_action,x_money,x_Counter,x_state))
if len(Already) != 0:
print("以下为未出账单已还款或无需还款消费明细:")
for index,Already_repayment_list in enumerate(Already):
x_date = Already_repayment_list["date"]
x_action = Already_repayment_list["remarks"]
x_money = Already_repayment_list["money"]
x_Counter = Already_repayment_list["Counter"]
x_state = "正常"
print("-" *100)
print("序号:[%s]|日期:[%s]|类型:[%s]|金额:[%s]元|手续费:%s元|状态:[%s]" %(index+1,x_date,x_action,x_money,x_Counter,x_state))
在处理利息计算方面,这是我想到的方法:
#!/usr/bin/env python3.5
# -*-coding:utf8-*-
import datetime,pickle,os,sys
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR)
# 加载利息计算日志文件
if os.path.exists(r'%s/config/calculation_log.txt'% BASE_DIR):
f_calculation = open("%s/config/calculation_log.txt" % BASE_DIR, "rb")
data_calculation = pickle.loads(f_calculation.read())
# 利息初始化文件
# print(data_calculation)
f_calculation.close()
else:
data_calculation = []
# 加载用户信息
if os.path.exists(r'%s/config/user_acc.txt'% BASE_DIR):
f = open("%s/config/user_acc.txt" % BASE_DIR, "rb")
data = pickle.loads(f.read())
f.close()
else:
data = []
# 加载消费明细
if os.path.exists(r'%s/config/user_list.txt'% BASE_DIR):
f_list = open("%s/config/user_list.txt" % BASE_DIR, "rb")
data_list = pickle.loads(f_list.read())
f_list.close()
else:
data_list = []
# 初始化利息计算文件列表
def calculation_computer():
global data, data_calculation, data_list
# 获取今天时间
today = datetime.date.today()
# 取昨天的时间
yesterday = datetime.date.today()+datetime.timedelta(days=-1)
for user_data in data:
if user_data["flage"] == "":
# 获取 账单日
x_data_date = user_data["Repayment_Date"]
# 生成账单日期
x_data_time = today.replace(day=x_data_date)
# 如果文件内容不为空
if len(data_calculation) != 0:
for y_data in data_calculation:
# 如果信用卡卡号在文件字典里存在关键字
if user_data["usercard"] in y_data.keys():
for x in y_data[user_data["usercard"]]:
# 如果该字典里存在今天新加的记录则跳出
if x["date"] == today:
break
# 如果字典里的日期与昨天有误差则进行增加
elif yesterday > y_data[user_data["usercard"]][-1]["date"]:
date = y_data[user_data["usercard"]][-1]["date"] + datetime.timedelta(days=1)
y_data[user_data["usercard"]].append({"date":date,"money":0,"computer":""})
continue
else:
y_data[user_data["usercard"]].append({"date":today,"money":0,"computer":""})
break
# 如果全部循环后找不到key 则新增
else:
# 重复数据判断
list_data = []
for y_data in data_calculation:
for k in y_data:
list_data.append(k)
# 如果要添加的数据在利息初始化文件中不存大
if user_data["usercard"] not in list_data:
if today > x_data_time:
new_dic = {user_data["usercard"]:[{"date":x_data_time,"money":0,"computer":""}]}
data_calculation.append(new_dic)
elif today < x_data_time:
new_dic = {user_data["usercard"]:[{"date":today,"money":0,"computer":""}]}
data_calculation.append(new_dic)
# 将所有利息数据写入文件中
fl = open("%s/config/calculation_log.txt" % BASE_DIR, "wb")
pickle.dump(data_calculation, fl)
fl.close()
# 如果文件内容为空
else:
# 时间按账单日开始记录
if today > x_data_time:
new_dic = {user_data["usercard"]:[{"date":x_data_time,"money":0,"computer":""}]}
data_calculation.append(new_dic)
elif today < x_data_time:
new_dic = {user_data["usercard"]:[{"date":today,"money":0,"computer":""}]}
data_calculation.append(new_dic)
fl = open("%s/config/calculation_log.txt" % BASE_DIR, "wb")
pickle.dump(data_calculation, fl)
fl.close()
calculation_computer()
# 出账单及利息计算
def computer():
global data, data_calculation, data_list
# 调用利息初始化文件
calculation_computer()
# 获取今天时间
today = datetime.date.today()
for x_data in data:
if x_data["flage"] == "":
x_usercard = x_data["usercard"] # 获取计算信用卡卡号
# 获取账单还款到期日,每月10号
due_date = today.replace(day=10)
# 如果到期还款日小于账单日,当前利息计算日 = 当月计算利息日-30天
xx_time = due_date + datetime.timedelta(days=-30)
# 加载消费明细账单
for z_data in data_list:
# 定位当前用户所有没有出账单的明细,如果今天大于或等于该笔消费出账单日
if z_data["usercard"] == x_usercard and z_data["bills"] == "" and today >= z_data["Statement_Date"]:
# 则更改当前该笔消费为已出账单
z_data["bills"] = ""
f_list_computer = open("%s/config/user_list.txt" % BASE_DIR, "wb")
pickle.dump(data_list, f_list_computer)
f_list_computer.close()
# 调用利息计算初始化文件
for xy_data in data_calculation:
# 定位到当前用户下所有记账日
if x_usercard in xy_data.keys():
for date in xy_data[x_usercard]:
if date["computer"] == "":
# 定位到当前用户下所有出账单的未还清的消费记录
# 初始化记账日所有利息
counter = 0
for z1_data in data_list:
# 如果记账日没有清算
if z1_data["usercard"] == x_usercard and z1_data["bills"] == "":
# 如果记账日大于最后还款日大于账单日
if date["date"] > due_date > z1_data["Statement_Date"] and z1_data["state"] == "":
z1_data["interest"] += (z1_data["money"]+z1_data["Counter"])*0.0005
counter += (z1_data["money"]+z1_data["Counter"])*0.0005
# 如果记账日小于出账单日或小于最后还款日
elif date["date"] > xx_time > z1_data["Statement_Date"] and z1_data["state"] == "":
z1_data["interest"] += (z1_data["money"]+z1_data["Counter"])*0.0005
counter += (z1_data["money"]+z1_data["Counter"])*0.0005
x_data["new_money"] -= counter # 更新当前用户的余额
f_list_computer = open("%s/config/user_list.txt" % BASE_DIR, "wb")
pickle.dump(data_list,f_list_computer)
f_list_computer.close()
date["computer"] = ""
continue
break
fl = open("%s/config/calculation_log.txt" % BASE_DIR, "wb")
pickle.dump(data_calculation, fl)
fl.close()
fx = open("%s/config/user_acc.txt" % BASE_DIR, "wb")
pickle.dump(data, fx)
fx.close()
python 信用卡系统+购物商城见解的更多相关文章
- Python实现ATM+购物商城
需求: 模拟实现一个ATM + 购物商城程序 额度 15000或自定义 实现购物商城,买东西加入 购物车,调用信用卡接口结账 可以提现,手续费5% 每月22号出账单,每月10号为还款日,过期未还,按欠 ...
- python采用sqlachmy购物商城
一.流程图: 二.目录结构: C:\USERS\DAISY\PYCHARMPROJECTS\S12\MARKET │ __init__.py │ __init__.pyc │ ├─backend │ ...
- Python作业之购物商城
作业:购物商场 1.商品展示,价格 2.银行卡余额 3.付账 程序流程图如下: 代码如下: ShopDisplay = {'} print(ShopDisplay) ShoppingCartPrice ...
- Python小练习-购物商城(一部分代码,基于python2.7.5)
新手写作,用来练习与提高python编写.思考能力,有错误的地方请指正,谢谢! 第一次写博客,课题是一位大神的博客,本着练习的目的,就自己重写了一遍,有很多不足的地方,希望借博客记录下自己的成长: ...
- Python开发程序:ATM+购物商城
一.程序要求 模拟实现一个ATM + 购物商城程序 额度 15000或自定义 实现购物商城,买东西加入 购物车,调用信用卡接口结账 可以提现,手续费5% 每月22号出账单,每月10号为还款日,过期未还 ...
- Python实战之网上银行及购物商城
前言:这是初学时写的小项目,觉得有意思就写来玩玩,也当是巩固刚学习的知识.现在看来很不成熟,但还是记录一下做个纪念好了~ 1.名称:网上网上银行及购物商城 2.项目结构: 当时刚接触python啦,哪 ...
- python day19 : 购物商城作业,进程与多线程
目录 python day 19 1. 购物商城作业要求 2. 多进程 2.1 简述多进程 2.2 multiprocessing模块,创建多进程程序 2.3 if name=='main'的说明 2 ...
- 微信小程序购物商城系统开发系列-目录结构
上一篇我们简单介绍了一下微信小程序的IDE(微信小程序购物商城系统开发系列-工具篇),相信大家都已经蠢蠢欲试建立一个自己的小程序,去完成一个独立的商城网站. 先别着急我们一步步来,先尝试下写一个自己的 ...
- 微信小程序购物商城系统开发系列
微信小程序购物商城系统开发系列 微信小程序开放公测以来,一夜之间在各种技术社区中就火起来啦.对于它 估计大家都不陌生了,对于它未来的价值就不再赘述,简单一句话:可以把小程序简单理解为一个新的操作系统. ...
随机推荐
- Scala Singleton对象
Scala Object: scala没有静态的修饰符,例如Java中的static.但是Scala提供了Object类型,object下的成员都是静态的,比较像Java的静态类.不同在于Scala的 ...
- xml动态修改 dom4j修改
xml的动态修改需要传入的参数 xml的位置(tomcat中的发布位置).修改后的xml需要保存的位置(因为动态修改,所以建议和xml未修改前的位置相同).添加的节点的信息.或者修改的节点的信息 SA ...
- HDU 4403 A very hard Aoshu problem
暴力$dfs$. 先看数据范围,字符串最长只有$15$,也就是说枚举每个字符后面是否放置“$+$”号的复杂度为${2^{15}}$. 每次枚举到一种情况,看哪些位置能放“$=$”号,每个位置都试一下, ...
- HC-05与HC-06的AT指令的区别
蓝牙HC-05与HC-06对比指令集 高电平->AT命令响应工作状态 低电平->蓝牙常规工作状态 <重新上电表示完成复位> HC-05 可以主从切换模式,但是HC-06 ...
- JDK版本问题 发展史
jdk是 Java 语言的软件开发工具包,主要用于移动设备.嵌入式设备上的java应用程序.JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK).SE(J2 ...
- Android Studio新手
目标:Android Studio新手–>下载安装配置–>零基础入门–>基本使用–>调试技能–>构建项目基础–>使用AS应对常规应用开发 AS简介 经过2年时间的研 ...
- Ajax中参数带有html格式的 传入后台保存【二】
KindEditor.ready(function (K) { //编辑器插件 window.editor1 = K.create('#ctjs', { uploadJson: '/Hotelgl/U ...
- JDBC:四步完成MySQL数据库的连接
->首先,将MySQL的jar包引入 ->然后创建一个.properties的文件(例:connection.properties),在该文件中写入如下代码: jdbc.driver.cl ...
- Lua: 给 Redis 用户的入门指导
转自:http://www.oschina.net/translate/intro-to-lua-for-redis-programmers 可能你已经听说过Redis 中嵌入了脚本语言,但是你还没有 ...
- HTTPS详解
HTTPS(Hypertext Transfer Protocol over Secure Socket Layer,基于SSL的HTTP协议)使用了HTTP协议,但HTTPS使用不同于HTTP协议的 ...