欢迎各位兄弟 发布技术文章

这里的技术是共享的

小白如何重装系统

可以 百度 "
普通分类: 

白云一键重装系统使用教程 有大用

百度 "白云一键重装系统" 可以下载到安装文件
普通分类: 

unicode 统一码 变成纯汉字 转换 有大用

下面这个是自己亲自做的测试过的  有大用
$str = '{"operator":"\u79fb\u52a8","area":"\u6c5f\u82cf","area_operator":"\u6c5f\u82cf\u79fb\u52a8"}';

普通分类: 

淘宝手机号归属地api

http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=15850781443

直接用file_get_contents 返回结果是这样的

普通分类: 

.NET framework 4.0安装失败怎么办 安装未完成 Windows6.1-KB958488-v6001-x64.msu) failed with 0x2 - 系统找不到指定的文件。 .

每次我安装AUTO cad2012都会提示我必须要更新安装.NET framework 4.0,但总是提示安装失败。经过反复的学习与测试,我终于知道如何处理了。
普通分类: 

Win2008 R2安装.NET Framework 4的windows6.1-KB958488-V6001-x64出现灾难性故障解决方法

Windows 2008 R2安装.NET Framework 4时提示原因是:灾难性故障 

普通分类: 

drupal限制只有特定的ip才能访问用户登录和管理页面 不指定

Login Security功能:它向登录功能添加了很多限制,包括限制登录失败的次数,时间等等,以及自动限制特定IP,账号

Login Security
普通分类: 

ip地址查询精确的位置方法

我们知道,QQ能够查询到ip地址对于的用户的位置,但是有时候因为运营商等原因导致并不能精确地查询到ip地址对应的精确位置。
普通分类: 

优酷下载的视频不清晰 解决优酷不能下载高清视频问题

电脑上安装了优酷视频软件但是不能下载高清视频,郁闷死,哈哈,不过问题么总是应该解决的不应是去抱怨不是,后来一查,还真简单,不过还是给大家说说吧,省大家一点时间!!!就是下面这个如图,不能下载高清视频。
普通分类: 

如何在网页中通过js代码将内容分享到朋友圈?

普通分类: 

怎么使用微信浏览网页

大家都知道微信占用手机的空间比较大。那是因为微信里集成了很多强大的功能,其中之一就是集成了浏览器功能。下面就讲一下怎么使用微信浏览网页。
普通分类: 

怎么在电脑上打开微信里的网页链接

有时候在手机微信朋友圈里看到的文章很喜欢,但是屏幕小看起来累得慌,想把链接在电脑里打开看、图片也可以看得更清楚并直接保存到电脑里,那么我们要怎么在电脑上打开微信里的网页链接呢?我的方法是自己摸索的笨人办法,只求解决问题,达人勿喷!

普通分类: 

微信公众号加粉丝的方法

自从微信公众号诞生以来,越来越多的企业开通了自己的微信公众账号,可是开通简单,运营就没那么容易了,王金友(也就是小编本人了)自己也开通了微信公众号,一开始我对于微信公众号一窍不通,但是经过长期的研究发现,运营微信公众号是有一定技巧的,越来越多微信粉丝私信让我公开我加粉丝的方法,我其实也在很多平台分享过我的经验,只不过,没有进行详细的整理,今天我就把我个人感觉加粉丝行得通的方法告诉大家,这些方法许多网站也都有我的转载,希望对大家有所帮助。你们也不要把加粉丝想的那么难。
普通分类: 

PHP支持简写

在我们写PHP程序的时候经常会用到一些简单的语法缩写,比如:
普通分类: 

微信提示,操作过于频繁,怎么回事?

这个功能你在短时间内多次的操作,导致显示操作过于频繁。
普通分类: 

期末总结

终于到了期末总结的时刻了!

经过一段时间的学习,相信你对Python已经初步掌握。一开始,可能觉得Python上手很容易,可是越往后学,会越困难,有的时候,发现理解不了代码,这时,不妨停下来思考一下,先把概念搞清楚,代码自然就明白了。

Python非常适合初学者用来进入计算机编程领域。Python属于非常高级的语言,掌握了这门高级语言,就对计算机编程的核心思想——抽象有了初步理解。如果希望继续深入学习计算机编程,可以学习Java、C、JavaScript、Lisp等不同类型的语言,只有多掌握不同领域的语言,有比较才更有收获。

普通分类: 

FAQ

常见问题

本节列出常见的一些问题。

如何获取当前路径

当前路径可以用'.'表示,再用os.path.abspath()将其转换为绝对路径:

# -*- coding:utf-8 -*-
# test.py

import os

print(os.path.abspath('.'))

运行结果:

$ python3 test.py 
/Users/michael/workspace/testing

如何获取当前模块的文件名

可以通过特殊变量__file__获取:

# -*- coding:utf-8 -*-
# test.py

print(__file__)

输出:

普通分类: 

Day 16 - 编写移动App

网站部署上线后,还缺点啥呢?

在移动互联网浪潮席卷而来的今天,一个网站没有上线移动App,出门根本不好意思跟人打招呼。

所以,awesome-python3-webapp必须得有一个移动App版本!

开发iPhone版本

我们首先来看看如何开发iPhone App。前置条件:一台Mac电脑,安装XCode和最新的iOS SDK。

在使用MVVM编写前端页面时,我们就能感受到,用REST API封装网站后台的功能,不但能清晰地分离前端页面和后台逻辑,现在这个好处更加明显,移动App也可以通过REST API从后端拿到数据。

我们来设计一个简化版的iPhone App,包含两个屏幕:列出最新日志和阅读日志的详细内容:

只需要调用API:/api/blogs

普通分类: 

Day 15 - 部署Web App

作为一个合格的开发者,在本地环境下完成开发还远远不够,我们需要把Web App部署到远程服务器上,这样,广大用户才能访问到网站。

很多做开发的同学把部署这件事情看成是运维同学的工作,这种看法是完全错误的。首先,最近流行DevOps理念,就是说,开发和运维要变成一个整体。其次,运维的难度,其实跟开发质量有很大的关系。代码写得垃圾,运维再好也架不住天天挂掉。最后,DevOps理念需要把运维、监控等功能融入到开发中。你想服务器升级时不中断用户服务?那就得在开发时考虑到这一点。

下面,我们就来把awesome-python3-webapp部署到Linux服务器。

普通分类: 

Day 14 - 完成Web App

在Web App框架和基本流程跑通后,剩下的工作全部是体力活了:在Debug开发模式下完成后端所有API、前端所有页面。我们需要做的事情包括:

把当前用户绑定到request上,并对URL/manage/进行拦截,检查当前用户是否是管理员身份:

普通分类: 

Day 13 - 提升开发效率

现在,我们已经把一个Web App的框架完全搭建好了,从后端的API到前端的MVVM,流程已经跑通了。

在继续工作前,注意到每次修改Python代码,都必须在命令行先Ctrl-C停止服务器,再重启,改动才能生效。

在开发阶段,每天都要修改、保存几十次代码,每次保存都手动来这么一下非常麻烦,严重地降低了我们的开发效率。有没有办法让服务器检测到代码修改后自动重新加载呢?

Django的开发环境在Debug模式下就可以做到自动重新加载,如果我们编写的服务器也能实现这个功能,就能大大提升开发效率。

可惜的是,Django没把这个功能独立出来,不用Django就享受不到,怎么办?

其实Python本身提供了重新载入模块的功能,但不是所有模块都能被重新载入。另一种思路是检测www目录下的代码改动,一旦有改动,就自动重启服务器。

按照这个思路,我们可以编写一个辅助程序pymonitor.py,让它启动wsgiapp.py,并时刻监控www目录下的代码改动,有改动时,先把当前wsgiapp.py进程杀掉,再重启,就完成了服务器进程的自动重启。

普通分类: 

Day 12 - 编写日志列表页

MVVM模式不但可用于Form表单,在复杂的管理页面中也能大显身手。例如,分页显示Blog的功能,我们先把后端代码写出来:

apis.py中定义一个Page类用于存储分页信息:

普通分类: 

Day 11 - 编写日志创建页

在Web开发中,后端代码写起来其实是相当容易的。

例如,我们编写一个REST API,用于创建一个Blog:

普通分类: 

Day 10 - 用户注册和登录

用户管理是绝大部分Web网站都需要解决的问题。用户管理涉及到用户注册和登录。

用户注册相对简单,我们可以先通过API把用户注册这个功能实现了:

普通分类: 

Day 9 - 编写API

自从Roy Fielding博士在2000年他的博士论文中提出REST(Representational State Transfer)风格的软件架构模式后,REST就基本上迅速取代了复杂而笨重的SOAP,成为Web API的标准了。

什么是Web API呢?

如果我们想要获取一篇Blog,输入http://localhost:9000/blog/123,就可以看到id为123的Blog页面,但这个结果是HTML页面,它同时混合包含了Blog的数据和Blog的展示两个部分。对于用户来说,阅读起来没有问题,但是,如果机器读取,就很难从HTML中解析出Blog的数据。

如果一个URL返回的不是HTML,而是机器能直接解析的数据,这个URL就可以看成是一个Web API。比如,读取http://localhost:9000/api/blogs/123,如果能直接返回Blog的数据,那么机器就可以直接读取。

普通分类: 

Day 8 - 构建前端

虽然我们跑通了一个最简单的MVC,但是页面效果肯定不会让人满意。

对于复杂的HTML前端页面来说,我们需要一套基础的CSS框架来完成页面布局和基本样式。另外,jQuery作为操作DOM的JavaScript库也必不可少。

从零开始写CSS不如直接从一个已有的功能完善的CSS框架开始。有很多CSS框架可供选择。我们这次选择uikit这个强大的CSS框架。它具备完善的响应式布局,漂亮的UI,以及丰富的HTML组件,让我们能轻松设计出美观而简洁的页面。

可以从uikit首页下载打包的资源文件。

所有的静态资源文件我们统一放到www/static目录下,并按照类别归类:

普通分类: 

Day 7 - 编写MVC

现在,ORM框架、Web框架和配置都已就绪,我们可以开始编写一个最简单的MVC,把它们全部启动起来。

通过Web框架的@get和ORM框架的Model支持,可以很容易地编写一个处理首页URL的函数:

@get('/')
def index(request):
    users = yield from User.findAll()
    return {
        '__template__': 'test.html',
        'users': users
    }

'__template__'指定的模板文件是test.html,其他参数是传递给模板的数据,所以我们在模板的根目录templates下创建test.html

普通分类: 

Day 6 - 编写配置文件

有了Web框架和ORM框架,我们就可以开始装配App了。

通常,一个Web App在运行时都需要读取配置文件,比如数据库的用户名、口令等,在不同的环境中运行时,Web App可以通过读取不同的配置文件来获得正确的配置。

由于Python本身语法简单,完全可以直接用Python源代码来实现配置,而不需要再解析一个单独的.properties或者.yaml等配置文件。

默认的配置文件应该完全符合本地开发环境,这样,无需任何设置,就可以立刻启动服务器。

我们把默认的配置文件命名为config_default.py

普通分类: 

Day 5 - 编写Web框架

在正式开始Web开发前,我们需要编写一个Web框架。

aiohttp已经是一个Web框架了,为什么我们还需要自己封装一个?

原因是从使用者的角度来说,aiohttp相对比较底层,编写一个URL的处理函数需要这么几步:

第一步,编写一个用@asyncio.coroutine装饰的函数:

@asyncio.coroutine
def handle_url_xxx(request):
    pass

第二步,传入的参数需要自己从request中获取:

url_param = request.match_info['key']
query_params = parse_qs(request.query_string)

最后,需要自己构造Response对象:

普通分类: 

Day 4 - 编写Model

有了ORM,我们就可以把Web App需要的3个表用Model表示出来:

普通分类: 

页面

Subscribe to 个人技术网_前端_后台_php_div_css_linux_javascript_seo RSS