前言: 因朋友的PHP小项目, 而去帮忙解决了一个小问题, 现在来总结概括一下. 也不知道大家在使用和开发的过程中有没有遇到类似的场景, IPhone手机上传照片后, 发现图片方向颠倒了, 甚至各种姿势(90, 180, 270度旋转)都有, T_T. php和nginx文章的相关列表: • nginx服务配置---php服务接入  • nginx+tomcat集群配置(1)---根目录设定和多后端分发配置  • nginx+tomcat集群配置(2)---静态和动态资源的分离 • nginx+…
前言: 前几天, 写了一篇关于IOS手机上传照片颠倒的技术分析文章: IOS照片颠倒分析及PHP服务端的处理. 不过其思路是从服务器来进行处理的, 这种做法相当普遍. 今天来讲述下, 如何从移动端/页面端, 来解决这个问题, 侧重于讲讲思路. 意义: 但移动互联网有它独特的背景, 至今降耗电和省流量, 是很多移动端产品孜孜努力的方向. 再者移动端手机的照片大小, 普遍较大, 因此直接往服务器传, 往往会消耗很多流量, 在弱网环境下, 用户等待的时间也长, 时常会失败, 体验非常不好. 因此移动端…
1.前言 本文要分享的消息推送指的是当iOS端APP被关闭或者处于后台时,还能收到消息/信息/指令的能力. 这种在APP处于后台或关闭情况下的消息推送能力,通常在以下场景下非常有用: 1)IM即时通讯聊天应用:聊天消息通知.音视频聊天呼叫等,典型代表有:微信.QQ.易信.米聊.钉钉.Whatsup.Line: 2)新闻资讯应用:最新资讯通知等,典型代码有:网易新闻客户端.腾讯新闻客户端: 3)SNS社交应用:转发/关注/赞等通知,典型代表有:微博.知乎: 4)邮箱客户端:新邮件通知等,典型代表有…
IOS IAP APP内支付 Java服务端代码   场景:作为后台需要为app提供服务,在ios中,app内进行支付购买时需要进行二次验证. 基础:可以参考上一篇转载的博文In-App Purchase(iap)快速指南了解原理. 直接先上服务端测试通过的代码: import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net…
java.net.SocketException:Software caused connection abort: recv failed 异常分析 分类: 很多的技术 2012-01-04 12:54 8004人阅读 评论(6) 收藏 举报 socket服务器bufferstring网络java 第 1个异常是java.net.BindException:Address already in use: JVM_Bind.该异常发生在服务器端进行new ServerSocket(port)(p…
4.3 服务端的处理 备注: 因为是分析,而不是设计,所以很多知识我们类似于插叙的方式叙述,就是用到了哪个知识点,我们再提及相关的知识点,如果分析到了最后,我想想是不是应该将这个架构按照设计的方式,重新梳理一下(套用一句话,现在安卓的应用其实很多都像是快餐,至今面试了应该有40多位的安卓程序员,知道框架的很多,会用的也很多,会总结和整理的却没有几个,想到安卓程序员薪资超过20K的并不多,个人感觉因为很多都只是会简单的UI层的处理,稍微设计到业务逻辑层,即设计一套机制的时候,便卡顿了,这应该算是瓶…
使用 nginx 搭建一个 http2 的站点,准备所需: 1,域名 .com .net 均可(国内域名需要 icp 备案) 2,云主机一个,可以自由的安装配置软件的服务器 3,https 证书 http2 基于 https ,所以先配置好 https 访问 本文以 CentOS 6.5 (以下教程针对有 linux 使用基础的人,本文不会介绍 ,安装 编译环境,yum 软件包,这种基础的东西) 购买 https 证书,淘宝上就可以买,价格几十到几千不等. 使用源码编译安装  nginx htt…
这一篇博客我们介绍一下Netty服务端绑定端口的过程,我们通过跟踪代码一直到NIO原生绑定端口的操作. 绑定端口操作 ChannelFuture future = serverBootstrap.bind(8080).sync(); AbstractBootstrap中bind操作 public ChannelFuture bind(int inetPort) { return bind(new InetSocketAddress(inetPort)); } public ChannelFutu…
我们以mProducerFactory.newNetworkFetchProducer()为例,因为这些创建新的producer的方式类似,区别在于是否有包装的处理器,即如果当前处理器中没有正在处理的数据或者等待处理的数据,便交给包装的处理器来处理 在查看NetworkFetchProducer的源码之前,先来看看producer的接口 Producer的源码 这个接口的功能其实看看类和方法的注释就知道了,就是用于产生结果的,这个使用与网络数据的获取,磁盘缓存,内存缓存,解码,编码和图片的变性处…
4.3.1.2.1 Producer和DataSource之间适配器处理的逻辑 还是从程序的入口开始说吧 CloseableProducerToDataSourceAdapter.create() 源码 此处看到无非是创建了一个新的数据适配器而已CloseableProducerToDataSourceAdapter public static <T> DataSource<CloseableReference<T>> create( Producer<Close…