移动端之Android开发的几种方式的初步体验

目录 头条资讯

目前越来越多的移动端混合开发方式,下面列举的大多数我都略微的尝试过,就初步的认识写个简单的心得:

开发方式 开发环境 是否需要AndroidSDK 支持跨平台 开发语言&技能
MUI Win+HBuilder Html5+Css3 Javascript
DeviceOne Win+DeviceOne JavaScript
ReactNative Win+AndroidSDK+Node 需要 React
Xamarin Win+AndroidSDK+VisualStudio 需要 C# Xaml
Qt Win+Qt 需要 C++ Qt

1、MUI我想这个应该是很多会Html的人的首选,上手速度极快,但是也是我个人最不推荐的一个,打包出来的APP就是webView,通过Bridge调用原生接口,App启动慢,吃内存,特别是配合Chrome调试,翻~~墙是必须的,而且特吃内存,一个页面修改,调试,修改,几次内存就吃到好几百MB了,地图SDK封装太死,接口太少,简单的打个mark什么的还行,做map更多功能的app不推荐

2、DeviceOne 这个我只是刚开始用的时候体验了一把,后来就没玩了,需要下载他们基于Eclipse开发的IDE,DeviceOne,通过服务器端打包,调试需在app设置调试服务器IP跟Port,纯Javascript���原生写法)开发,知名度不如MUI,除了官方文档甚少,不过官方用户群里面响应跟支持很及时,也算是前期在培养用户群体吧。

继续阅读 “移动端之Android开发的几种方式的初步体验”

[C#] async 的三大返回类型回眸 C# 的前世今生 – 见证 C# 6.0 的新语法特性

目录 头条资讯

async 的三大返回类型

  博主简单数了下自己发布过的异步文章,已经断断续续 8 篇了,这次我想以 async 的返回类型为例,单独谈谈。

  异步方法具有三个可让开发人员选择的返回类型:Task<TResult>、Task 和 void。 

继续阅读 “[C#] async 的三大返回类型回眸 C# 的前世今生 – 见证 C# 6.0 的新语法特性”

python模拟登陆之下载

目录 头条资讯

好长时间没有更新博客了,哈哈。

今天公司给了这么一个需求,现在我们需要去淘宝获取上一天的订单号,然后再根据订单号去另一个接口去获取订单详情,然后再给我展示到web!

中间涉及到的技术点有:

  • 模拟登陆
  • 模拟下载
  • 解析exal文件数据流
  • 读取exal文件,拿出订单号
  • 还有最后一点请求接口

继续阅读 “python模拟登陆之下载”

trace与代码跟踪服务

目录 头条资讯

首先开篇引用《MVC2 2 in action》里面一段关于这个跟踪服务的话

When you called Trace.Write() in Web Forms, you were interacting with the Trace- Context class. This exists on your ViewPage in ASP.NET MVC, but this isnt where you would want to write tracing statements. By the time youve passed the baton over to the view, theres no logic there that youd need to trace. Instead, youd like to trace the logic embedded in your controllers. You might try to leverage the TraceContext class in your controller, but these statements wont ever make their way to the list of messages in the trace log (on your page or on Trace.axd). Instead, you can use System.Diagnostics.Trace and set up your own TraceListeners to inspect the activity in your controllers. Alternatively, you can leverage a more mature logging framework such as log4net or NLog:

You debug ASP.NET MVC applications just as you would any .NET application. Tracing, however, doesnt offer as much for MVC. Instead, you can lean on the built-in TraceListeners in .NET, or utilize a good logging library like those mentioned earlier. Another aspect of error logging is health monitoring.

来自 <http://stackoverflow.com/questions/3328678/asp-net-mvc-tracing-issues>

继续阅读 “trace与代码跟踪服务”

不同浏览器下兼容文本两端对齐

目录 头条资讯

在form表单的前端布局中,我们经常需要将文本框的提示文本两端对齐,例如:

比较粗暴的做法是在需要隔离边距的文本中加标签,然后分别控制每个文字的边距,这种方法比直接加空格或者占位符更精准,我之前也都是这么做的。但是写的多了之后开始思考能不能抽象出来用于更多的场景?让代码更好看一些?维护成本更低一些?


继续阅读 “不同浏览器下兼容文本两端对齐”

缓存在大型网站架构中的应用

目录 头条资讯

缓存的基本知识

在整个计算机体系构造中(无论是硬件层面还是软件层面),缓存都是无处不在的。

在计算机硬件构造中,由于两种介质的速度不匹配,高速介质在和低速介质交互时速度趋向低速方,这就导致了高速介质的资源闲置。而通过引入第三种介质(速度和成本介于两者中间),将低速方读写的部分内容数据保存在该介质中,高速方大多数情况下则无需和低速方直接交互,这样就能整体提升了交互的性能。这就是计算机体系中缓存的由来。比较典型的就是CPU缓存(CPU寄存器=>L1 cahce =>L2 cache =>内存=>硬盘),如图:

 

继续阅读 “缓存在大型网站架构中的应用”

Linux多线程学习总结

目录 头条资讯

  线程是程序中完成一个独立任务的完整执行序列,即一个可调度的实体;进程相当于运行中程序的一种抽象。根据运行环境的调度者的身份,线程可分为内核线程和用户线程。内核线程,在有的系统上称为LWP(Light Weight Process,轻量级线程),运行在内核空间,由内核调度;用户线程运行在用户空间,由线程库来调度。当进程的一个内核线程获得CPU的使用权时,它就加载并运行一个用户线程。可见,内核线程相当于用户线程运行的‘容器’,一个进程可以拥有M个内核线程和N个用户线程,其中M<=N,并且一个系统的所有进程中,M和N的比值是固定的。

线程控制函数

pthread_create

#include <pthread.h>
int pthread_create(pthread_t * tidp, const pthread_attr_t *attr, void *(*start_rtn)(void *), void *arg);
    // 返回:成功返回0,出错返回错误编号

继续阅读 “Linux多线程学习总结”