关于谷歌Adsense广告

2017/07/30生活/旅行 标签:0

其实我已经很久没有做adsense广告了,也没有做站长了。这个只是个小小的博客,很多朋友问我为什么我的小博客上还挂adsense广告,其实原因很简单,那是因为我的google账号中几年前还留下了60美元,我只是想通过博客投放的方式,让它凑足100美元,然后可以通过西联快汇的方式获得这100美元而已,之后就会撤下adsense广告。
做adsense到底赚不赚钱?这个问题困扰了很多站长,其实很久以前谷歌还未退出中国大陆的时候,谷歌adsense确实是个非常不错的赚钱方式,那时候的佣金足够高,很容易赚钱,但是自从谷歌退出中国大陆后,adsense的发展好像在大陆没有体现出来,因为我们在国内直接都无法访问到谷歌adsense的页面,从而导致了adsense在大陆的业务,因此佣金也是一而再的降低了很多。这个小博客从放广告到现在也就才为我赚到几美元。可见当年一直响当当的adsense的市场已经被百度占领了,其实有时候还是挺怀念当年跟着《月与灯依旧》博主一起到中国邮政提取adsense广告费的生活。那时我们都还很年轻,刚踏入社会,拿到的第一笔收入就是adsense广告费,两人经常欣喜若狂。而如今大势早已过去,我也早就不再做站长,如今百度排名广告充斥了整个市场,百度广告业务也大增。很多人问我为什么不用百度广告,原因很简单,我的网站都未备案,在百度哪里是申请不到广告的。因此也从未做过百度广告。
如今站长行业已经倒下了,其实很简单,我们看一下当年最流行的dedecms和帝国cms的版本更新都不再那么勤了,砸门祖国对网络的监管越来越完善了,这就说明了很多站长已经丢了饭碗了,php也被很多程序员抛弃了。因此谁也搞不清楚以后的网络该如何才能再得到一个稳定的饭碗!
网络的发展太快,让我吃到一点点甜头,我就跟不上了步伐。为那些深夜里依然在努力的站长们致敬,虽然我已经退出了,但是我能体会到站长的苦累!不过我的退出也让我正式踏入了前端开发的大军中,感谢那些无数个夜里让我不断研究代码的cms系统们,感谢那些无数个周末让我不断学习seo技巧的搜索引擎们,感谢那些无数的站长在我群里不断讨论各种优化与学习的站长们。
此致
敬礼!

原生JavaScript模拟事件点击

在某些功能上可能我们会使用到模拟用户点击,当然在jQuery中的模拟事件已经很强大了,但是我们再使用其他库或者使用原生JavaScript的时候,不可能使用jQuery的美元号去实现这个功能了,因此只能通过原生JavaScript去实现,下面我们就来看看代码该如何写。
原生js中可以通过dispatch方法来模拟用户行为,如点击(click),触屏(touchStart)操作等,我们都可以进行模拟。

1、自动触发内置事件

自动触发事件有两种方法,目前支持IE内核以及Firefox内核浏览器,但是并不支持chrome

//自动触发内置事件
function commonTrigger(el, type) {
    var evt = document.createEvent("MouseEvents");
    evt.initEvent(type, true, true);
    el.dispatchEvent(evt);
}
//自动触发内置事件
function trigger(el, type) {
    var event = new MouseEvent(type, {
        'view': window,
        'bubbles': true,
        'cancelable': true
    });
    el.dispatchEvent(event);
}

2、触发自定义事件

以上的内置事件,在chrome中无法执行,我们只能通过触发自定义事件的方法进行触发,相关代码如下:

function customTrigger(el, type) {
    var event = new Event(type);
    el.addEventListener(type, function (e) {
        alert('ok');
    }, false);
    el.dispatchEvent(event);
}

3、使用方法

一看上面的函数,就知道使用方法很简单了,使用如下

var el = document.getElementById('element');
var type = 'click';
commonTrigger(el, type);
trigger(el, type);
customTrigger(el, type);

虽然这个代码能够在浏览器中,特别是chrome中实现点击事件,但是总是无法真实的模拟用户点击,大家慎用,jQuery中的方法,我没有尝试过,不知道是否能够真实模拟用户点击。如果你要模拟真实用户点击事件,得通过其他类库实现!

一些常用的cordova插件推荐

2017/07/26前端开发 标签:0

在做混合(Hybrid)APP开发的时候,我们经常需要使用到很多的插件去调用android或者iOS的原生功能,目前已经有了很多的相关插件了,我们可以使用插件很容易的实现很多我们想要的功能!但是现今插件纵横的时代,我们该如何去选择一些可用而且不错的插件呢?下面我把一些常用的插件总结出来!方便大家在开发过程中进行选择性使用。
选择图片文件插件:
cordova plugin add https://github.com/wymsee/cordova-imagePicker.git
cordova plugin add https://github.com/B-Sides/ELCImagePickerController (just for iOS)
SQLite数据库:
cordova plugin add https://github.com/brodysoft/Cordova-SQLitePlugin.git
基本设备咨询: 阅读更多

深入:ionic中使用热更新插件cordova-hot-code-push

2017/07/11ionic 标签:0

之前两篇文章中,《续:ionic中使用热更新插件cordova-hot-code-push》以及《ionic中使用热更新插件cordova-hot-code-push》我都分别叙述了app内容更新以及外壳更新的相关配置与实现,今天我们则深入使用内外更新的功能,并且完成一个启动app后,如果检测有更新,则执行loading,并显示“正在下载更新”、“正在更新中”等字样,如果没有检测到更新,则不显示loading。

1、准备工作

由于ionic中的LoadingController仅能显示一次数据,LoadingController中无法使用变量进行随时更新显示,因此我们得自己编写一个loading样式。我们需要的功能是当用户打开app后就提示有更新,如果是内容更新,那么则自动下载,并提示一个loading,loading中显示“正在下载更新文件”,“下载完成后,准备更新”等等,就有点像12306打开app时的升级提醒吧!

2、相关代码

为了你能快速的入手,请先查看之前的两篇文章后再来进行相应的操作。否则可能会尝试无效!废话不多说,下面直接看代码: 阅读更多

解决git合并冲突

2017/07/11生活/旅行 标签:0

发生冲突后,直接使用以下命令
git rebase origin/develop
注意这里的origin/develop中,develop为将要合并过去的分支。
这样一来你就可以打开你的vs code或者eclipse等支持git的编辑器查看发生冲突的文件,接着删除那些多余的代码或者合并那些有冲突的代码。
完成后,直接使用下面的命令
git rebase --continue
完成后,直接push即可
git push -f

那些苦逼的日子

今天夜晚听歌的时候,一不小心歌声把我带回了刚毕业出来找工作那时的心酸,我也应该在此鄙视一下原来那些垃圾透彻的HR以及那些素质低下的管理者。记得我2010年毕业之前,为了能给家里减少负担,我跟同学一起到昆明百老汇手机卖场做兼职,当时的工作很简单,就是站在店门口大声吆喝广告词,虽然说工作简单,但是一天下来还是很累的,早上8点一直站到下午6点,中午有30分钟的吃饭时间,当时一天就是40元的薪资。
虽然工作很累,但是我都坚持下来了,我连续坚持了几周后,有一个周我有点急事,向当时的昆明百老汇的主管人员请假,那个主管就一个垃圾,一听说我要请假,立马就说不想干就走,我当时很气愤,真想给他一耳光,对于这种狗眼看人低的人,我当时为了挽回面子,直接走人,而且放下狠话“想你这样的管理人员,百老汇迟早就倒”,这么多年过去了,手机行业发生了天翻地覆的变化,再我看来,百老汇今天应该也不会好过到哪里吧!
这个事情,我只想说,作为一个管理者,你应该具备体会员工、理解员工的基本能力,并且在管理过程中不得带有个人情绪,像百老汇的这一位主管,我鄙视他。 阅读更多

ionic2使用ThemeableBrowser插件实现app内打开外部链接

2017/07/08ionic 标签:0

ThemeableBrowser插件主要是用于app内打开新浏览器或者说嵌入一个浏览器到app内,这个插件很好用,不过有个缺点,就是在android下无法控制状态栏的颜色,ios下可以控制,其他的都非常不错,很适合用于在app内打开外部链接,这个插件延续了InAppBrowser插件
为什么要使用这个插件,主要原因是ionic2官方也很好的支持了这款插件。
1、在ionic中使用
先安装以下ionic插件

ionic cordova plugin add cordova-plugin-themeablebrowser
npm install --save @ionic-native/themeable-browser

2、首先在app.module.ts引入此插件 阅读更多

Mac上打包cordova混合app出现platform error

2017/07/05Android 标签:0

今天在mac上开发的app,要打包成apk文件,打包过程中就出现了问题,错误显示如下:
Error: Could not find gradle wrapper within Android SDK. Might need to update your Android SDK.
Looked here: /Users/tony/Library/Android/sdk/tools/templates/gradle/wrapper
看到这个错误大概的意思是让我升级我的android SDK,但是我看了下我的已经是目前最新版本的androidSDK了,为什么还要我再进行升级?越想越不对劲,最终删除了androidSDK,然后又再次到官网下载安装,但是问题依然存在,始终无法解决问题,最终在google上找到了解决办法,google确实很强大,要什么都能搜索到,因此,希望大家作为一个程序员,最基本的搜索引擎工具使用google,不会翻墙的童鞋,请自行到网上查看各种翻墙工具以及各种翻墙环境的搭建以及hosts文件的修改,可以助你一臂之力。 阅读更多

ionic2本地真机调试出现net::ERR_CACHE_MISS

2017/07/05ionic 标签:0

在ionic2的app开发中,在本地电脑上测试一点问题都没有,而且获取数据没有任何问题,但是使用在真机上却出现了net::ERR_CACHE_MISS,这个错误是我通过chrome://inspect/进行调试的时候看到的,如果你不知道什么是chrome://inspect/,可以阅读我的另一篇文章《app开发之在chrome中进行真机调试》。出现这个问题就是无法连接网络,但是我的服务器就是本地搭建的,而且手机与电脑在同一个局域网,不可能发生这样的事情啊,刚开始以为是防火墙出现了问题,关闭了防火墙后,问题依旧,网上百度了半天没有找到结果,这里请允许我鄙视下百度,我在google一搜就找到相关的问题解决办法了。
首先,出现这个错误主要的原因是因为我们的app没有网络权限,因此我们得给app增加网络权限。
其次,增加权限涉及到我们的platform,下面就跟我一起增加相关代码来实现局域网app访问本地服务器。
1、打开项目根目录platform目录下的AndroidManifest.xml
2、在文件之间增加以下代码来开启app网络权限

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

在增加前,请先看下是否已经包含了以上某段代码,如果已经存在的就无需在进行增加。
3、重新build你的app到你的手机,访问即可正常!

Mac系统使用中的各种吐槽

2017/07/04生活/旅行 标签:0

很久以前,一直听别人说mac有多好多好,mac多牛多牛,但是使用过后,我沸腾了,我愤怒了!mac让我变成了个傻逼,让我手足无措,让我改变对mac的看法!
首先,本人很喜欢mac的外观设计,但是本人超级不喜欢mac的文件管理系统,并且在mac中搭建各种开发环境也是超级的麻烦,经常也会错问题,简单说,我使用mac已经很久了,但是我还是不喜欢它。首先mac中没有像Windows一样方便的文件管理系统,也就是说没有分开C盘D盘E盘之类的,在mac中仅有文件夹,如果文件过多,每天都要找遍各种文件夹,实在感觉妨碍了开发。如果能像Windows一样方便,我就可以将重要的资料存储于D盘或者E盘,分别给他们创建一个文件夹,方便寻找,而mac则不行,mac中只能让你产生越来越多的文件夹,而很难对其进行分类,虽然mac可以使用颜色进行分类等等功能,但是我觉得我根本用不着这样的功能。 阅读更多

share

AD