- 博客(56)
- 资源 (16)
- 问答 (1)
- 收藏
- 关注
原创 如何部署python + flask应用
一、介绍 最近开发要用一个测试环境,是这样的Nginx+uwsgi+flask 的一个结构。下面是一些记录,在Centos 系统上使用Flask 架构部署一个简单的Python应用。然后使用Nginx作为前端反向代理,设置uWSGI应用网关处理web应用程序。二、条件1) 环境要求Server OS:最小化安装 Centos 6.8 Nginx :反向代理 P...
2017-09-05 14:07:03 15588 2
原创 iOS 垂直方向跑马灯 循环滚动 多处高亮显示
由于业务需求,需要实现一个垂直滚动文本的跑马灯,没有办法只有自己去写一个动画效果,下面直接贴出代码。MTAVerticalLoopView.h文件的代码如下: //// UIVerticalLoopView.h// Jovi//// Created by yuzhuo on 2016/11/23.// Copyright © 2016年 dianping.com. ...
2016-11-23 11:31:30 12715 6
原创 iOS app瘦身优化之路
缩减iOS安装包大小是很多中大型APP都要做的事,一般首先会对资源文件下手,压缩图片/音频,去除不必要的资源。这些资源优化做完后,我们还可以尝试对可执行文件进行瘦身,项目越大,可执行文件占用的体积越大,又因为AppStore会对可执行文件加密,导致可执行文件的压缩率低,压缩后可执行文件占整个APP安装包的体积比例大约有80%~90%,还是挺值得优化的。瘦身的第一步对于app瘦身之前
2016-10-26 16:18:34 10746 4
原创 使用android studio将eclipse项目改造成gradle项目中踩过的坑
其实android studio使用起来和之前习惯用eclipse开发区别并不大,只是一些快捷键发生了变化,这个是需要你去熟悉和设置的,区别比较大之处,之前eclipse开发是通过adt来进行项目编译、打包的,只是现在android studio中把adt这块彻底抛弃了,引入了gradle这个自动化构建工作。而恰恰上手难点之处便在于
2016-10-19 15:46:21 10469
原创 android点击屏幕上EditText区域以外的任何地方隐藏键盘的方法
隐藏软键盘的方法:public static Boolean hideInputMethod(Context context, View v) { InputMethodManager imm = (InputMethodManager) context .getSystemService(Context.INPUT_METHOD_SERVICE
2016-09-09 17:46:53 13310 1
原创 android自定义view控件之一圆角背景TextView
继昨天写了一个同事一个TextView可以包括两种不同的风格字体,而保证可以换行的情况下的自定义View。今天的正文还是写一个自定义的TextView。一惯风格首先亮出实现效果,这最是直接不过的了。看下图:其实不通过写一个自定义view的方式也可以实现这个效果,但是就需你在你class文件中堆更多的代码了,这从软件工程的思想是不可取的。所以还是为了不省事,去写一个自定义的TextV
2016-09-04 14:57:24 12129
原创 一个类似MIUI中原生短信编辑功能
首先描述下需求:1、新增短信时,进来收件人是为空,显示一行文字(提醒)2、从通讯录选择联系人后,回到短信编辑界面,收件栏显示一行,内容为“收件人:XXX、XXX、XXX、XXX.....”3、当点击收件栏时,收件栏内容变化,变成可删除,最多显示四行,多余四行有上下滑动轮,不足四行,是几行显示几行4、填写短信内容,即时计算短信条算,并有文本提示下面是实现后效果图
2016-04-22 09:29:12 6697
原创 从通讯录中导入联系人并去重
首先给出实现完的界面图上面是给出来的实现结果图。从本地联系人中导出联系人,需要使用ContentProvider来获取通讯录中的联系人。从通讯录中获取联系人方法如下:/** 得到手机通讯录联系人信息 **/ private void getPhoneContacts() { ContentResolver resolver = ContactsAct
2016-04-21 16:27:56 9329
原创 AppMock 工具设计及原理
目录一、目前现状二、为什么不用Charles三、如何实现1、实现方案:2、实现成本:3、基本流程四、实现结果5、如何使用一、目前现状开发过程中和QA测试过程中遇到下列情况:1、想快速看到当前app api接口请求情况,以及打点请求情况,目标:帮助快速定位和排查问题;2、制造数据和场景比较复杂时,不能够给自己手机或者模拟器上 的app去 mock某个指定接口(1~n个)的数据返回并且不影响其他人;3、对于新业务需求,接口的入参和返回定义完后,客户端会被.
2020-07-27 14:51:53 2358 5
原创 Carthage命令学习笔录
Carthage和Cocoapods都是库的管理工具,属于第三方非苹果官方。具体介绍可以查看传送门查看Carthage help可以看到常见的一级命令有:update —— 更新并重新build项目的依赖build —— build项目的依赖bootstrap —— 直接根据.resolved文件来checkout 并且build项目依赖checkout —— checkout...
2020-01-14 14:12:16 462
原创 iOS中popwind简单例子
首先看下实现效果图:话不多说直接看代码,首先是头文件:////// Created by yuzhuo on 2017/12/15.//#import <UIKit/UIKit.h>@protocol YZPopwindowViewDelegate <NSObject>@optional- (void)popViewClick;@end...
2019-06-18 15:20:57 475
原创 自定义view之——根据手势来绘图DrawView
看代码实现如下: import android.content.Context;import android.graphics.Bitmap;import android.graphics.Bitmap.Config;import android.graphics.Canvas;import android.graphics.Color;import android.graphic...
2019-01-28 14:43:29 693
原创 android 安装包大小优化
一、如何优化?1:确定需要优化哪些内容 使用android APK Analyze分析APK各个部分的大小,5.1.1版本apk大小分布如下: 分析的结果是需要优化三个地方res(app资源包括图片和xml资源) classes.dex(javac编译后的文件) 引入的第三方lib库1.1:res优...
2018-09-28 11:07:46 13212
原创 写给人生的十封信
《第一封》 写给你 假如人生不曾相遇,我还是那个我,偶尔做做梦,然后,开始日复一日的奔波,淹没在这喧嚣的城市里。 我不会了解,这个世界还有这样的一个你,让人回味,令我心醉。假如人生不曾相遇, 我不会相信,有一种人一认识就觉得温馨,有一种人可以百看不厌。 《第二封》 写给幸福 一直以为幸福在远方,在可以追逐的未来。后来才发现,那些拥抱过...
2018-09-21 11:08:13 5948
转载 写给工程师的几条精进原则
声明:转载自美团技术博客!!!原文请查看此链接https://tech.meituan.com/10_principles_for_engineers.html我们大多数同学在工作中缺乏原则的指导。原则,犹如指引行动的“灯塔”,它连接着我们的价值观与行动。不久前,桥水基金创始人雷·达里奥在《原则》一书中所传达的理念,引爆了朋友圈。每个人都应该有自己的原则,当我们需要作出选择时,一定要坚持以原则...
2018-09-21 11:02:18 379
原创 机器学习和tensorflow学习研究笔记之数学基础知识
偏导数定义:对于一个多变量的函数,求其中一个变量的偏导数就是保持其他变量恒定,然后对这个变量进行求导所得的结果即为该函数在该变量上的偏导数。x方向的偏导设有二元函数 z=f(x,y) ,点(x0,y0)是其定义域D 内一点。把 y 固定在 y0而让 x 在 x0 有增量 △x ,相应地函数 z=f(x,y) 有增量(称为对 x 的偏增量)△z=f(x0+△x,y0)-f(x0,y0)。...
2018-09-07 11:00:05 5526
原创 一个用python实现的app 质量保障系统Newton
一、Newton是什么?一个将Cat上抓取到的crash作为数据源,为tapd上创建缺陷、持续提供crash数据分析、监控以及报表生成功能的工具集。系统流程图: newton项目的剖析与说明 > 未命名文件.png" height="250" src="https://wiki.sankuai.com/download/attachments/986225144/%E6%9
2018-01-09 16:59:37 6414
原创 python学习总结与分享
python可以做什么呢?1、桌面应用我们一键生成app的脚手架就是例子常用做界面的库有wx2、游戏应用不到300行的代码完成一个简易的飞机大战游戏:3、web应用作为一个脚本语言web应用是必须支持的,常见的web框架有django,flask4、server当然不在话下,作为一个月活超过5亿的app instagram 就是用python作se...
2017-12-16 13:24:35 7583
原创 iOS中录屏库ReplayKit的详尽使用总结
一、ReplayKit库的介绍: 1.1简介 在使用应用或者游戏的过程中录制回放,一直是iOS开发者绞尽脑汁想要实现的功能。但由于移动设备性能的限制,这一功能往往较难实现或者效果难以满足用户的需要。终于,随着iOS9的发布,苹果提供了ReplayKit框架来帮助开发者实现录制回放的功能。 在iOS 9中,ReplayKit 是一款全...
2017-11-02 14:21:16 24687 9
原创 在MAC使用Nginx+uWSGI部署Flask项目
之前用Flask框架开发了一个Python的restful api服务器项目,使用Nginx和uWSGI部署起来感觉挺麻烦,过程中还因为对Flask框架和uwsgi的不熟悉,花了好长时间才把应用完全部署起来。下面分享部署成功的相关配置以及部署Flask项目时极可能犯的一个小错误。一、配置1.Flask 项目源码Nginx使用的版本是1.12.1,uWSGI是2.
2017-10-12 11:22:38 8280
原创 iOS支持富文本Label控件
写在前面都说需求才是技术的最好驱动力,一点也没有错~由于在业务开发的过程中经常碰到一些文案需要高亮显示或者是加粗等需求;android 的TextView源生控件是自动支持的,但是对于iOS却没有,所以非常有必要的写一个自定义控件对此功能进行支持;以便于后续用到此功能,大大可以减少开发时间和重复代码。直接上图,最直观:首先来个简单一点的,只有一处高亮显示:
2017-09-14 13:19:00 7680
原创 Python2.7环境部署和pip安装以及模块安装
2.7环境部署分为两大类第一大类,从未安装过python 2.71.下载python并解压wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgztar -zxvf Python-2.7.10.tgz2.安装cd Python-2
2017-07-20 16:41:41 8831
原创 iOS图片迁移脚本重构
为什么需要进行重构?之前脚本的不合理之处在哪里? 1、 之前app的项目工程是一个整体,大部分的业务全部在主工程项目中,对于pod的依赖也比较复杂和多样化。其实,这是不太利于项目管理和优化的,而且之前的图片脚本太过于死板,很多地址的配置直接是写死的,这就造成了,如果pods库稍有变动就需要进行与之对应的修改,这样给维护带来很大的麻烦,造成不必要的资源浪费。 2、由于...
2017-07-18 11:39:06 4195 2
原创 如何使用Python递归遍历项目找出重复的图片资源
由于项目越来越庞大,里面的图片资源也越来越多,需要找出项目里面是否存在图片重名的资源,下面采用python脚本找出重复的图片资源并打印出来:import oslist1 = []def scandir(startdir): os.chdir(startdir) for obj in os.listdir(os.curdir): if obj.endsw
2017-06-28 15:48:45 6986
原创 iOS中如何用纯代码绘制比较复杂图表UI
首先给出产品需求的视觉效果图,如下:下面是实现的效果图,如下:看了两者的效果图,基本上满足产品的要求。需要再次说明下:档位是不固定的,可能是三档、四档、五档,但超过五档,也可以没有,也可以是一档。如果是固定的档位,其实实现起来还简单些,如果是全动态的布局的话,那考虑的东西和难度是会增加的。所以简单的也不用说,直接上动态布局后实现的代码。头文件如下,里面基
2017-06-16 16:59:38 5880
原创 Android Developer的 RxJava 详解
前言我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有人说『RxJava 真是太好用了』,有人说『RxJava 真是太难用了』,另外更多的人表示:我真的百度了也谷歌了,但我还是想问: R
2017-04-26 15:58:32 5272
原创 接入ShareSDK第三方登录和分享遇到的问题以及解决方法
在出现这些问题前你已经完成了以下工作任务: 1、在微信开放平台注册帐号,并且创建了应用并审核通过了;2、下载了ShareSDK并且接入到了自己的项目中;3、已经按官方文档填写了功能代码。运行起来的时候发现出现了问题,问题有如下: 1、提示appID和appsecret找不到 出现这个原因是由于你的ShareSDK.xml文件放置的包路径不对导致无法
2017-04-19 14:58:13 8920
原创 AppThinning之AppSlicing
App Thinning介绍 iOS9开始,Apple推出了一项新功能称为App Thinning,字面理解就是App瘦身。简单说来就是开发者将整个App包传到App Store,当不同用户设备下载App的时候,App Store通过根据不同设备特性分发经过剪裁的App,从而减少了用户包大小。 关于App Thinning有三种特性:slicing, bitcode, on-d
2017-04-11 13:41:23 7482
原创 Android App包瘦身优化实践
随着业务的快速迭代增长,美团App里不断引入新的业务逻辑代码、图片资源和第三方SDK,直接导致APK体积不断增长。包体积增长带来的问题越来越多,如CDN流量费用增加、用户安装成功率降低,甚至可能会影响用户的留存率。APK的瘦身已经是不得不考虑的事情。在尝试瘦身的过程中,我们借鉴了很多业界其他公司提供的方案,同时也针对自身特点,发现了一些新的技巧。本文将对其中的一些做详细介绍。在开始讲瘦身技
2017-04-10 14:11:24 5386
原创 一招教你最简易的自定义Dialog
之前在网上也找到类似的代码,但是不是很好用,好多都是使用静态方法去创建,这样会带来一些坏处,那就是造成内存泄漏,而且代码对于初学者来说复杂难懂,所以自己就稍加修改,然后解决了上述问题。首先看下效果图:上面的这几个弹框我只举了一部分,还有很多,全是共用这一个类,达到很高的可复用性,大大节省了开发和维护成本。可以根据传不同的参数显示相应的
2017-03-23 16:33:25 5866 1
转载 Android APP终极瘦身指南
转载于:点击打开链接前言 之前写了一篇《APK瘦身实践》侧重于实践和效果对比,后来受徐川兄点拨,建议改写成一篇更全面的瘦身终极杀招大全,深以为然,思考良久,新开一篇。指南条例第1条:使用一套资源这是最基本的一条规则,但非常重要。对于绝大对数APP来说,只需要取一套设计图就足够了。鉴于现在分辨率的趋势,建议取720p的资源,放到xhdpi目录。
2017-03-22 14:38:54 5721
原创 关于Android中多线程中异常捕获出现的问题和解决办法
最近有个同学问我这样一段代码,代码如下:第一段代码是这样的,try catch是将整个线程都放在try代码块中。第二块代码是将线程里面的run方法代码块进行try catch。大家可能第一反应都是觉得只是try的代码块不一样,范围不一样了而已。但是可曾想过就是这个try的地方不一样导致了不同的结果。第一种try方式当里面的run()方法执行时报了异常是捕获不到的
2017-02-27 18:10:13 7540
原创 如何升级CocoPods和xcodeproj 版本
一、升级CocoPods1、 更新 gem$ sudo gem update --system2、 安装 CocoPods$ sudo gem install cocoapods$ pod setup3、查看 CocoPods版本 pod --version 二、升级xcodeproj1、更新bundle 最新版本b
2017-01-09 17:27:26 7435
转载 Android性能优化的总结之一
说到性能优化主要以Android的渲染机制、UI优化、多线程的处理、缓存处理、电量优化以及代码规范等几方面来进行性能优化,其实还要一种优化,虽然没有直接的对这些性能进行优化,但是确起到巨大作用的。二、渲染机制的优化:大多数用户感知到的卡顿等性能问题的最主要根源都是因为渲染性能。Android系统每隔16ms发出VSYNC信号,触发对UI进行渲染,
2016-11-16 17:00:15 5427
原创 一招教你在android中玩转sqlite
对于sqlite的使用仅仅封装成一个类,目的就是为了那些对于sqlite使用不太熟悉的人准备的,有此代码在手,再也不怕玩不转sqlite了。话不多说直接看代码:import android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android.
2016-10-24 15:21:34 5643
原创 android源码中单例模式学习笔记与分享之一
单例模式是应用最广的模式之一,也可能是很多初级工程师唯一会使用的设计模式。但是真的会使用吗?使用过程中遇到哪些坑了?单例模式最简单,的确是,它的概念只有二十多个字,不够一行。单例模式定义:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。单例模式的使用场景其实很简单,就是避免一个类产生多个对象,造成过多的消耗资源而导致性能降低,比如访问IO和数据库时,就要考虑使用单例模式。
2016-10-20 18:10:58 5492
原创 可以高亮显示关键字并设置不同字体大小的自定义TextView
在写业务的时候,经常会碰到一些这样的需求,一个TextView中需要你高亮显示部分重要的关键字,并且需要字体变的更大些,类似于下图。像这种需求,如果不用一个TextView来实现,来就得多个TextView控件,这样对于性能是有些伤害的,所以才想去写一个满足这种需求的TextView控件。
2016-09-28 15:04:57 5635
转载 Xcode8更新后快捷键不能使用了
打开终端然后输入:sudo /usr/libexec/xpccachectl 再输入开机密码 最后重启电脑后即可生效
2016-09-22 12:45:12 5372
原创 NSDateFormatter的格式
G: 公元时代,例如AD公元yy: 年的后2位yyyy: 完整年MM: 月,显示为1-12MMM: 月,显示为英文月份简写,如 JanMMMM: 月,显示为英文月份全称,如 Janualydd: 日,2位数表示,如02d: 日,1-2位显示,如 2EEE: 简写星期几,如SunEEEE: 全写星期几,如Sundayaa: 上下午,AM/PMH: 时,24
2016-09-14 15:32:01 5325
原创 自定义view控件之TextView可以包含两种不同的字体风格
写下这篇文章是不为更好的去理解自定义view机制和原理。有时候会遇到这种需求,就是一个textview有多行(大于两行),但是只是title和同容不一致,而第二行又需要顶格来,遇到这种情况怎么处理呢?下面是给出实现效果图:很好,这个效果图你已经看到了,后面话不多说,直接给出重要代码。自定义view的 TwoStyleTextView类代码如下:import an
2016-09-03 16:48:43 5936
仿新版本的网易新闻
2014-06-17
视频播放器
2014-05-26
重写的一个Listview Adapter
2014-04-18
百度地图API调用Demo
2014-02-28
android通过json数据访问服务器
2014-02-20
java web spring配置问题
2015-06-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人