使用fastboot刷Galaxy Nexus官方系统

root – 系统管理员权限
bootloader – 相当于电脑上的BIOS

bootloader is code that is executed before any Operating System starts to run.

recovery – 执行底层操作的界面,相当于纯DOS界面
fastboot – 是比recovery更底层的操作界面

fastboot is a special diagnostic and engineering protocol that you can boot your Android device into.

解锁 – 就是解锁bootloader。解锁之后才可以刷ROM

分区解释:
system:系统分区,我们刷ROM一般就是刷的这个分区
userdata:数据分区
cache:缓存分区
recovery:恢复分区
boot:存放内核和ramdisk的分区
hboot: 这个是SPL所在的分区,很重要。也是fastboot所在的分区.刷错就真的变砖了.(所以一般不轻易刷这个)
splash1:这个就是开机第一屏幕了
radio:这个不是什么收音机,而是指无线通信模块,俗称基带(radio最初的意思是无线电通讯)

刷机步骤:
1. 安装adb驱动(或者在机器进入fastboot模式后安装也行)

2. 下载官方镜像,解压缩。成功解压缩后得到五个文件:
flash-all.sh
flash-base.sh
radio-maguro-i9250xxla02.img
bootloader-maguro-primela03.img
image-yakju-imm76d.zip

3. 下载Galaxy-Nexus-fastboot-v2.0.zip,解压缩。将官方固件copy到目录下重命名。规则如下:
刷基带请将radio-xxx.img重命名为radio.img
刷BL请将bootloader-xxx.img重命名为bootloader.img
刷固件请将image-xxx.img重命名为image.zip

4. 关机进入fastboot模式(在关机状态下同时按“音量+”和“音量-”和“电源”三个键,等待机器发出轻微震动即可放开)

5. 解锁(解锁是root和刷机的前提,音量键选择“YES”开头的,然后按电源键确定)

6. 高兴么就root一下。然后开始刷机,基带和BL能不刷就不刷,防止变砖头。不过我在刷的过程中就提示必须刷基带和BL。

注意事项:
刷机有风险,操作需谨慎
刷机前请备份好数据
刷机前请确保手机电量在50%以上

PS:顺带着把同事的日版机也刷到4.0.4版本。在刷的过程中出现了莫名其妙的事情。刷机一切正常,但是重启之后,就无限在第一屏重启。抠电池重新再刷,还是老样子,但多启两次后竟然进去了,到现在也搞不清是怎么回事。

刷机工具下载地址:https://github.com/dohkoos/galaxy-nexus-update-tools

改写Rails 2.x generator到Rails 3.x时的一些记录

因为有个基于Rails 2.x的项目用到了feedback插件,在把项目迁移到Rails 3.x版本后,需要让feedback也支持Rails 3.x。但是原作者早已不再更新该插件,所以只能自动动手,花了两天的时间查资料,该代码,终于改写完成,在github上做了个分支。

Rails 3.x中生成generator可用下面的命令:、

rails g generator feedback_form
      create  lib/generators/feedback_form
      create  lib/generators/feedback_form/feedback_form_generator.rb
      create  lib/generators/feedback_form/USAGE
      create  lib/generators/feedback_form/templates
class InitializerGenerator < Rails::Generators::NamedBase
  source_root File.expand_path("../templates", __FILE__)
end

Rails::Generators::NamedBase和Rails::Generators::Base的区别是NamedBase期望至少一个参数。

USAGE是打入–help参数时显示的文档:

rails generate feedback_form --help
Usage:
  rails generate feedback_form NAME [options]

Rails 2.x的generator中的manifest可以删除了,因为在3.x中每个public方法在生成过程中会被自动调用。

参考资料:
http://guides.rubyonrails.org/generators.html
http://railscasts.com/episodes/218-making-generators-in-rails-3
http://blog.loopedstrange.com/modest-rubyist-archive/rails-3-plugins-part4-more-on-generators
http://nicksda.apotomo.de/2010/09/getting-a-bloody-rails-3-generator-running-and-testing-it/

用Rails 3.2打造简单记账应用

Rails已经到3.2版本了,和以前2.3版本有了很大的不同,决定把原来老版本的记账应用重新写一遍。

我们先来定义一下什么是最简单的记账应用:
1. 可以输入花钱的记录
2. 可以修改输入了的记录
3. 可以删除输入了的记录
4. 可以显示所有的记录

下面我们就开始动手吧!

rails new qianbao
cd qianbao
rails g scaffold entry amount:decimal tags:string comment:text effective_date:date
rails g controller home index

删除public/index.html,在config/routes.rb中添加根路由:

root :to => 'home#index'

现在要给应用加上一个认证系统(注册、激活、登录、登出),通过devise(https://github.com/plataformatec/devise)插件实现。

在Gemfile中添加:

gem 'devise'

然后执行下列命令:

bundle install
rails g devise:install
rails g devise user
rails g devise:views

创建一个migration,把user和entry关联起来:

class AddUserToEntry < ActiveRecord::Migration
  def change
    add_column :entries, :user_id, :integer

    add_index :entries, :user_id
  end
end

修改Entry和User模型:

class Entry < ActiveRecord::Base
  ...
  validates :effective_date, :presence => true
  validates :amount,         :presence => true,
                             :numericality => {:greater_than => 0.0},
                             :format => {:with => /^\d+??(?:\.\d{0,2})?$/}
  validates :tags,           :presence => true,
                             :length => { :within => 1..255 }

  belongs_to :user
class User < ActiveRecord::Base
  ...
  has_many :users

修改app/views/home/index.html.erb为如下内容:

<h1>Welcom to Qianbao!</h1>

<% if user_signed_in? %>
  <p>
    <strong><%=link_to current_user.email, edit_user_registration_path %></strong>
    <%= link_to 'Logout', destroy_user_session_path, :method => :delete %>
  </p>
  <%= link_to "All Entries", entries_path %>
<% else %>
  <p>
    <strong>You are currently not logged in.</strong>
    <%= link_to 'Login', new_user_session_path %> or
    <%= link_to 'Sign up', new_user_registration_path %>
  </p>
<% end %>

修改app/controller/entries_controller.rb:

class EntriesController < ApplicationController
  before_filter :authenticate_user!

  # GET /entries
  # GET /entries.json
  def index
    @entries = current_user.entries

    respond_to do |format|
      format.html # index.html.erb
      format.json { render json: @entries }
    end
  end

  # GET /entries/1
  # GET /entries/1.json
  def show
    @entry = current_user.entries.find(params[:id])

    respond_to do |format|
      format.html # show.html.erb
      format.json { render json: @entry }
    end
  end

  # GET /entries/new
  # GET /entries/new.json
  def new
    @entry = current_user.entries.new

    respond_to do |format|
      format.html # new.html.erb
      format.json { render json: @entry }
    end
  end

  # GET /entries/1/edit
  def edit
    @entry = current_user.entries.find(params[:id])
  end

  # POST /entries
  # POST /entries.json
  def create
    @entry = current_user.entries.new(params[:entry])
    @entry.user = current_user

    respond_to do |format|
      if @entry.save
        format.html { redirect_to @entry, notice: 'Entry was successfully created.' }
        format.json { render json: @entry, status: :created, location: @entry }
      else
        format.html { render action: "new" }
        format.json { render json: @entry.errors, status: :unprocessable_entity }
      end
    end
  end

  # PUT /entries/1
  # PUT /entries/1.json
  def update
    @entry = current_user.entries.find(params[:id])

    respond_to do |format|
      if @entry.update_attributes(params[:entry])
        format.html { redirect_to @entry, notice: 'Entry was successfully updated.' }
        format.json { head :no_content }
      else
        format.html { render action: "edit" }
        format.json { render json: @entry.errors, status: :unprocessable_entity }
      end
    end
  end

  # DELETE /entries/1
  # DELETE /entries/1.json
  def destroy
    @entry = current_user.entries.find(params[:id])
    @entry.destroy

    respond_to do |format|
      format.html { redirect_to entries_url }
      format.json { head :no_content }
    end
  end
end

执行以下命令启动应用:

rake db:migrate
rails s

以前的版本用的css框架是Blueprint,这次使用比它更方便快捷的Bootstrap。Bootstrap建立在less上,有个less-rails-bootstrap,不过在安装libv8时竟然要提示缺少Python,拜托!我用的是Ruby,要我装Python,啥意思啊!还是找个sass版的Bootstrap吧。

下载sass-twitter-bootstrap

git clone https://github.com/jlong/sass-twitter-bootstrap.git

将sass-twitter-bootstrap/lib中的文件拷贝到app/assets/stylesheets/twitter目录下。然后将app/assets/stylesheets/application.css中的

*= require_tree .

修改成

*= require twitter/bootstrap

再在文件末尾添加:

body { padding-top: 60px; }

现在就可以使用Bootstrap来布局美化应用了。

使用showDialog()创建的ProgressDialog再次打开时进度条不变化的问题解析

先来看段代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">
    <Button
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Copy Contacts"
        android:onClick="copyContacts" />
</LinearLayout>
import android.app.Activity;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;

public class DialogTestActivity extends Activity {
    private static final int COPY_CONTACTS = 0;

    private ProgressDialog mProgressDialog;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

    public void copyContacts(View target) {
        showDialog(COPY_CONTACTS);
    }

    @Override
    protected Dialog onCreateDialog(int id) {
        switch (id) {
        case COPY_CONTACTS:
            mProgressDialog = new ProgressDialog(this);
            mProgressDialog.setTitle("Copy contacts");
            mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
            mProgressDialog.setMax(100);
            new AsyncCopyContactsTask().execute();
            break;
        }
        return mProgressDialog;
    }

    private class AsyncCopyContactsTask extends AsyncTask<Void, Void, Integer> {
        @Override
        protected Integer doInBackground(Void... params) {
            for (int i = 0; i < 100; i++) {
                try {
                    Thread.sleep(100);
                } catch (InterruptedException e) {
                }
                publishProgress();
            }
            return 0;
        }

        protected void onProgressUpdate(Void... progress) {
            mProgressDialog.incrementProgressBy(1);
        }

        protected void onPostExecute(Integer result) {
            mProgressDialog.dismiss();
        }
    }
}

第一次点击按钮会显示一个进度条,上面的数字处于变动当中,到达最大值后进度条会消失不见;再次点击按钮后,就会发现进度条上的数值和消失前相同,并且不再变化,而且进度条也不会消失。这是为什么呢?如果想每次打开对话框时进度条显示的内容都有所不同,该怎么做?

Activity中有三个和对话框显示有关的方法:showDialog(),dismissDialog()和removeDialog()。其中showDialog()用于显示一个对话框;dismissDialog()使对话框消失,但仍然处于内存中,只是不显示而已,如果再次调用showDialog()方法,则缓存在内存中的对话框会重新显示,而不需要重新创建。removeDialog()使对话框消失,并从内存中将对话框清除,如果再次调用showDialog()来显示它,则在显示之前需要重新创建对话框。

在一个对话框的声明周期内,onCreateDialog()仅被调用一次,但onPrepareDialog()方法会每次被调用。比如,第一次调用 showDialog()方法显示某个对话框时,会先触发onCreateDialog()的执行,然后再触发onPrepareDialog()方法;如果将某个对话框 removeDialog()后再showDialog(),也会先触发onCreateDialog(),接着触发onPrepareDialog()方法;如果某个对话框是被dismiss()掉的,再调用 showDialog()方法来显示它时就不会触发onCreateDialog()方法的执行,只会触发onPrepareDialog()方法。

这是因为第一次调用showDialog()时,Android从你的Activity中调用onCreateDialog()方法,得到返回的Dialog对象。把当前Activity设置为该对话框的所有者,从而把对话框挂靠到Activity上,让Activity自动管理该对话框的状态。这样,下次调用showDialog()时就不用重新创建Dialog对象,而是复用旧的。

注意:如果你决定在onCreateDialog()方法之外创建一个对话框,它将不会被附着到活动上。不过,你可以通过setOwnerActivity()把它附着到一个Activity上。

所以,解决再次打开ProgressDialog时进度条不变化的最好方法就是将mProgressDialog.dismiss()改成removeDialog(COPY_CONTACTS)。

数据库设计范式阅读笔记

下面3个范式是当前网上到处流传的关于数据库范式的定义。不知道是从哪里找来的,想来应该是从国内的数据库教科书上吧。光看定义的话很难明白,即使在例子的帮助下也难以理解1NF的内容,而且所说的与实践也有很大不同。上wiki去查找相关内容,才发现完全是胡言乱语,不知所云,就是想把你搞糊涂,让你弄不懂。下面针对每个范式说说我对它们的理解。

第一范式(1NF):数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在1NF中表的每一行只包含一个实例的信息。

划线部分是纯粹的学院派做法,想要达到数据的零冗余。实际上是既没理解1NF的本质,也对实践过程中的性能问题缺乏认识。
员工信息表:
Employee  Job Title  Skill  Salary
———————————-
Peter     Developer  C#     2000
Kevin     Developer  Java   2000
Sarah     Manager    PRIN2  3000

“如果出现重复的属性,就可能需要定义一个新的实体”。上表中Job Title和Salary都出现了重复的属性,按照给出的说法,是不是要把Salary提出来变成一个单独的表呢?1NF要满足的基本条件:
1、没有重复行,就是每一行的记录都是不完全相同的;
2、每个行列(row-and-column intersection)必须包含唯一的值,空或未定义也可以;
3、所有列是基本的,不能有隐藏行ID,对象ID或时间戳等。

因此,我们只要给员工信息表加上个员工编码(emp_id)就符合1NF了,更本不需要去定义什么新的实体。

事实上,在当前所有的关系数据库管理系统中,都已经在建表的时候强制满足第一范式。通常就是加上个自增量id列作为主键。

第二范式(2NF):要满足2NF必须先满足1NF。2NF要求数据库表中的每个实例或行必须可以被惟一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。2NF要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。简而言之,2NF就是非主属性非部分依赖于主关键字。

划线部分实际上是1NF的内容,所以2NF肯定要符合这个。还有就是,所有单关键字的数据库表都符合2NF,因为不存在组合关键字。

第三范式(3NF):满足3NF必须先满足2NF。3NF要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。简而言之,第三范式就是属性不依赖于其它非主属性。

数据库表只能包含其它表中包含的主关键字信息。

HR的至高机密:公司绝对不会告诉你的20个潜规则[zt]

1、入职时的工资高低不重要,只要你努力工作你会得到相应待遇的
  我估计几乎找过工作的人都听过这句话,当我们确定被聘用跟公司谈工资时,他们都会说“如果以后你业绩突出、努力工作,你的报酬也会相应增加 的”,特别是当第一次找工作的时候大多数人会相信这些话,但是千万别相信。
  刚入职时,你的工资就是你的全部(当然有一些岗位,比如销售或弹性工资的岗位除外,而且你入职以后大部分待遇都会跟着你的工资而浮动,工资调整也是按你目前的工资乘于一定的百分比,保险、公积金也跟工资有关系),当你的基本工资低的时候你今后的报酬增长空间也不大。
  所以,找工作时千万不要心软,多争取一些基本工资,因为这是你的所有。
  我第一次找工作时就是犯了这个错误,当时心软没要求更高的工资,当时觉得基本工资比别人低几百块钱无所谓,但是后来才发现它有一个杠杆作用,尽管以后每年你工资涨幅比别人大,但是工资还是比别人低。
  比如你入职时的基本工资为4000,第二年涨幅为20%(一般的企业极少数人能涨20%),那第二年工资为4800;如果你的同事入职时基本工资为4500,第二年涨幅为10%(一般涨幅),那他第二年工资为4950。
  是不是看到差距了?请记住,入职时工资就是你的全部,一定不能心软。

2、人事部不是你的倾谈对象
  我在公司看过很多员工找人事部经理谈话,而且人事部员工可能会定期找员工谈话,问员工在工作中有没有遇到什么问题?有没有人事部需要帮员工解决的事情?
  但是请你记住,公司人事部并不是你的倾谈对象,人事部的首要任务不是去帮助雇员,而是保护公司利益不受雇员损害,这才是最为重要的。可能很多人认为人事部门是自己的朋友,有时甚至连对公司、对老板的真实态度都会告知于人事部门。(如果你经常这样的话,我可以肯定的说,你会跌得很惨,而且不会有人告知你原因的)
  无论人事部的人员表现得何等友好,你均要认清,你跟他们的谈话内容,他们必然会与决策部门分享这些信息,例如你的老板、经理、主管及首席执行官。人事部门的职责就是(有时也是合法的)告知公司决策部门你那些所谓的“ 秘密”。
  比如你不喜欢你目前的工作内容、或与老板的关系处理的不好,你千万不能找人事部抱怨,你应该直接跟你的老板沟通。可能当时谈话时人事部的员工会给予同情,说自己向自己的上司反映这个情况,但是大多数情况下人事部门会将你与他们的对话原封不动地转达给你的老板,而你的老板对此是绝对无法原谅的,出现问题首先不去找老板解决,而是直接找到人事部门,这样你的处境就很被动了,有可能被迫离开公司了。

3、你的能力并不能确保你的安全
  很多公司在招聘员工或对外宣传时说我们公司注重员工的能力,提倡员工能发挥自己的主观能动性(确实有一些公司是提倡创新的,但是极少数,大部分都只是打打口号而已)。对于刚入职的员工来说可能都会有一种心理,那就是向同事或领导展示你的才华、展 示你的能力,但是请注意:公司或你的领导倒希望先看到你的忠诚,而不是显摆自己的能力。不管你的目的是什么,这个并不重要,如果你一贯展示你的能力,很有可能上司觉得你卖弄小聪明、是一个不值得信赖的人,或他会感受到威胁,如果他认为你在威胁他的位置,他才不管你有多聪明,他宁愿要一个愚笨但对自己忠诚的人。
  所以,当你刚入职或刚调到一个新部门的时候,千万不能先自作聪明,你首先要做的是熟悉环境熟悉上司同事的性格,即使你是一个专家也要先摆低姿态,当然必要的是关键时刻也需要显示自己的能力,让别人觉得你是深藏不露。
  韩国有一个俗语说“要想让婚姻生活幸福,就要当3年聋子,3年哑巴,3年盲人”,因为以前在韩国婆婆对媳妇很是虐待,你必须是装聋作哑才能熬过去(当然现在已经不是这种情况了),我说这个的目的是新来乍到,你应该学会作哑装聋,刚开始多听、多学,听到闲言碎语要装聋。

4、报销单是公司测试你的一个工具
  看到这个题目或许你会纳闷?报销单也能测试员工?是的,我们平时不以为常的报销单也是公司或领导测试你的一个工具。
  大部分公司都会有月底报销(餐费、交通费、电话费等)或出差报销吧?
  你让你的领导在你的报销单上签字的时候,他有没有说过什么?或他有没有做过什么表情?请注意,其实大部分情况下领导们都会看你报销的金额,而且如果他们愿意的话财务部门可以随时提供每个人的报销明细。
  以前看过一些在公司里面贪小便宜的人,餐费、交通费里总是放着一些自己私人用的(而不是为了公司业务)费用,或许这些费用只有100元,但正是这些小钱会坏了你的前程。
  我认识的一个老板跟我说过这样一句话:“某某员工哪天报了业务餐费,但是那天明明是我付款了。”或许这位员工太大意了。
  但是我认识的老板当中也有一些人,他连你打的票上面的时间也核对,然后把属下每个员工的每月费用都记录下来,或许你报销的时候他可能不会说什么,但是到时候你丢掉的并不仅仅是金钱。

5、在工作场合中透露私事很危险
  现在我们大部分人有太多时间跟同事一起过,我们跟同事在一起的时间有时甚至超过跟家人在一起的时间,这种情况使我们有时分不清公事和私事,有时候觉得跟同事的关系像亲人一样,跟同事分享自己的私事,孩子养育问题,个人健康问题,经济上遇到的一些困难等,但是请记住,职场就是职场,你这样做很危险。
  我的一位同事经常在工作场合说他儿子现在是青春期,跟我们描述怎么怎么叛逆,由于儿子的叛逆,每天回家以后家里的氛围都很紧张,有可能他是想通过倾述减少来自家庭的压力,但是最近公司开始了一个重大的项目,他一直以为自己是最佳候选人负责这个项目,但是结果令人意外,公司领导层选了其他人选,为什么呢?因为公司领导层觉得“他家里的事情已经够多了,估计他没有余力做这么重要的项目”或讲得更冷静一点就是“你连自己家里的事情都解决不了,你还能负责这么重要的项目吗?”
  如果你自己身体不太好,不需要把自己的健康情况告诉同事或上司,因为对上司来说你不健康说明你不能百分之百投入或有可能影响工作,这样你的上司会不安,他甚至会提前想对策或再额外招人,这样的话到时候即使你的身体恢复了,你有可能会面临失去自己位置的尴尬局面。

6、如果你与老板作对,必然会被逐出公司大门
  在公司里有一个对你产生很大影响的人,如果没有他的支持你不能得到公司的认可,晋升也很难甚至有可能丢掉你的工作,他就是你的顶头上司。
  或许你的上司没有你聪明、没有你能干,你或许对他并不服气,但是请记住,他就像是一个守门人一样,你想绕开守门人,但最终的结果是你也失去了给你敞开的一扇机会门。或许你觉得如果你自己足够有能力,公司领导层会让你绕开你的上司直接让你晋升或给你另外的机会,但是不要做白日梦了,公司往往会站在你上司的角度想一个组织的稳定性,跟自己的上司斗99%受伤的都是你自己。
  或许你的上司能力没有你强,但是既然他能上升到那个位置就说明他必然有一些其他方面的能力,领导力或组织管理能力或对公司的忠诚,当上司和你产生冲突时公司会站在你上司这一边,请你记住这一点。
  我的一个同事很有能力,当他调到一个新部门的时候发现上司根本没有能力而且往往做不了决定,所以很多情况下他绕开自己的上司直接跟总经理沟通,而且在业务上总经理也认可了他,这让他很得意以为自己能力强上司不能拿他怎么样,但是有一次,上司说他工作太辛苦了,让他去马尔代夫休假(公司出钱),当他从马尔代夫回来以后发现,他不在的时候公司发了一个人事调令,把他调到一个无关紧要的部门。
  所以,不管碰到什么样的上司,如果你还想呆在这个部门,呆在这个公司,你需要配合你的上司,这样他会帮你打开一扇机会的门。

7、按了发送键?STOP公司邮件很危险
  如果我说你用公司邮箱收发的邮件都被你的上司所看到,你是不是觉得天要塌下来了?如果不是的话,那就说明你很光明正大。其实很多人都不知道公司或上司能看到你的邮件,而且公司也绝不会给员工发个警告,说要注意互相往来的E-mail,如果你用公司邮箱给朋友发私人邮件,或跟同事用邮件谈论上司或公司的政策,一定要睁大眼睛看一下:公司邮箱很危险。  
  (1)你利用公司邮箱收发邮件时,你一定要想着有可能公司某人正在看这封邮件,因为真的有些公司会定期检查一下邮件内容(当然是不告知于员工的情况下),我不知道之前我任职的公司是不是也这样,但是我听过一些国际知名公司会定期查员工的邮件。
  (2)邮件会永远留在公司服务器:你或许不知道,就算有些邮件发完了你后悔了马上删除了,可能在你的邮箱里面是已经没有了,公司服务器永远记录这封邮件的。
  (3)按发送键的时候一定要三思:你或许通过邮件给人事部或你的上司提一些建议或者对公司制度做一些评论,一定要注意,这些邮件在一些重要时刻 会成为呈堂证供,很多情况下往往对你不利。
  在公司里面我经常收到一些群发的搞笑邮件,如果以前你给同事群发过这些邮件,我建议你以后不要再发了。因为你经常发这些会让别人觉得你整天没事做,所以才发这种邮件。或许收到这些邮件的他(或她)把这个邮件转发给一些领导了,或许他也是为了让领导搞笑、高兴,但是领导们可不会这么想,你在领导的 眼里会变成整天无所事事的人的。

8、我努力工作公司会给我加薪?No,你必须要求!
  对于工资,公司和员工之间永远都不能达到双赢,很多人对自己目前的工资并不满意。那么怎么办呢?等着公司给你加薪?很多人认为如果我做好自己的事情,我出业绩了,公司肯定会给我加薪,是的,公司会给你加薪,但是~~加薪的幅度肯定不能满足你的期望。  我在公司里看过很多案例,很多人都幻想“到时候”公司会给我加薪,或害怕自己提要求以后老板有什么想法所以不敢提出来,但是如果你不敢提出加薪,公司给你的可能就是一个平均值或略高于平均值的薪水,它不是你所期待的。
  当然你想要求加薪,首先你要弄清楚你的“价值”,而且必须是站在公司的角度想,如果公司认为你没有“加薪的价值”还提出要求,那你很有可能会被裁掉的。
  (1)证明你的“价值”:如果你在公司整天无所事事,那公司肯定不会给你加薪的,在要求之前你必须要证明你的“价值”,让你成为公司不可缺少的人才。
  (2)提要求:像前面所说的一样,公司每天都想着怎么削减成本,如果你不要求公司觉得这是一件好事情,除非你要求了,公司绝不会自愿给你涨很多工资的。不要想着哪天会出现奇迹,如果你觉得你有价值,就要求吧,如果上司认可你,他会倾听你的话语的,并且千万不能让你老板成为你的敌人,交流的最后一定要强调我还是尊重你的决定,因为有些时候由于客观的原因老板也有身不由己的时候。
  (3)不要威胁上司:如果你还想待在公司,在要求加薪时,千万不要威胁上司,比如不加薪就离开公司或跟上司说谎说已经拿了别的公司的OFFER等,你的立场必须是“我很喜欢这个公司还有目前的业务,但是我觉得目前的工资跟我实际做的工作有差距,我希望工资能体现我的价值”等,你威胁的结果很有可能是得打包走人。
  (4)不要抱怨:即使最后的结果不是很好,比如不给你加薪或加了很少一部分,通过主动出击你可能明白了自己的短处或老板对你的看法,也让老板明白了你不满足于现状。如果你没有打算离开这个公司,你就要现在开始弥补自己的短处或提高自己的业绩,下次再用更强烈的事实来证明,可能这次没有成功,但是你离下次成功就不远了。
  我知道跟老板提加薪要求很难,因为你害怕“如果我要求提工资,老板会炒我或以后他对我不给好脸色怎么办呢?”,但是大多数情况下那些你想像的最坏的情况并没有发生,大多数是happy ending。而且即使有一些副作用,公司或老板很健忘的,因为如果这个公司的OWNER不是你上司的话,钱不是从他口袋里出来,过一两个月他就会忘掉这件事情的。
  这个我可以很肯定的告诉你,因为我曾试过。

9、加薪必须要求,那晋升呢? NO,千万要管好自己的嘴巴~~
  既然说加薪必须要求,那晋升呢?这个千万不能要求,一旦你申请或要求晋升机会,它就会与你失之交臂,晋升不是要求的,而是上司通过认真考虑之后给予你的。
  上司还没有确信你能不能成为管理人员之前你先要求,这就像是你不从大门进,而是要跳过墙进到内部。因为如果上司还没有确信你是一个当领导的料,但你先提出来,他会觉得你还没有成熟或认为你比起公司的利益更在意自己的私利。
  领导们在决定晋升人选时除了业绩、工作能力之外,还会考察很多其他能力,比如领导能力,组织能力,对公司的忠诚度等,而且作为管理人员应该要沉得住气、该谦虚的时候需要谦虚,你事先提出来会破坏你的形象的。
  难道要坐等吗?当然不是,你可以主动负责一些重要的项目、要提出帮助其他部门面临的棘手的项目等,一定要抓住机会让上司看到你的能力,看到你的热情。

10、如果遇到新上司要积极配合他
  现在的公司经常会发生人事变动,一般来说遇到新上司属下的员工都会有一点被别人侵入的感觉,特别是当你和前任上司关系非常好的时候这种感觉更强烈。但是如果你想在公司继续混下去,你要尽快配合新上司,熟悉他的工作作风。
  很多时候新上司赴任以后下属员工都期望新来的上司适应部门原来的工作方式,但是这种事情不会发生的,大部分新上司都会对目前的工作方式进行变更,这种时候千万不要带头抵触或提意见,所谓新官上任三把火,这时候你要做的是积极配合他,如果别的员工有不满情绪,你应该要中间周旋一下,这样新上司会觉得你是站在他这一边的,这个第一印象特别重要。同时,新上司刚来时,你觉得新上司还不懂部门的情况,所以就出面给他一些忠告或建议,就算你是为了新上司好,千万不要提忠告或建议,这是一个禁忌。如果他主动问你,你可以说,但是~~这种时候也尽量说事实,不要涉及到你个人的意见或负面的信息,你要让你的上司根据这些事实自己做出决定。况且新上司问你的意见或建议,是想测试你们的忠诚,想知道你们对公司或同事的真实想法,这很有可能是一个圈套。
  在这里你要记住一点的是,新上司来了熟悉业务的时候对你来说是一个很好的表现自己的机会,记住,少说,默默配合新上司的工作,他会把这些都会记 在心里的。

11、想成为公司中最有价值的员工?那你就必须停止说“我做不了”而主动请缨
  是不是想成为公司的MVP? 那你必须要停止说“我做不了”而主动请缨,每次上司给你分配任务的时候你是不是说“我没做过这个,我做不了这个”或“我现在没时间这个”。
  就算是你觉得这个任务对你来说有点难,你觉得你有可能完成不了,这种时候很多人可能条件反射地说“这个我做不来”,千万不要这样说。其实领导给你分配这个任务,他肯定是考虑过你的能力,而且可能这件事情即使没做好他也有后路的。(一般领导不会给你安排很重要而且如果搞砸了没有后路的事情)这种时候即使你完成的不够好可能也不会损失什么,这种时候你的态度应该是“这个我做起来有些难,但是我会试试的”。然后就得通宵加班或使上你全身力气把问题给解决。如果你做的过程中发现按你现在的能力完成不了,你一定要在deadline之前提交给领导(不要在最后一天提交完成度不高的答案,领导最讨厌这种人),让他有更多时间来修改。
  如果你习惯性的说“我做不了”,过一段时间以后他会觉得“给你任务你肯定说做不了”,所以干脆不给你指派任务。
  如果你们部门里有所有人都不想做的项目或任务,如果你主动请缨接收这个“烫山芋”,那领导会对你刮目相看,给予你很好的评价的,当然这种烫山芋不需要太多,只要一个就可以。

12、想要脱颖而出?让领导感到150%满足感
  在职场成功的一个秘诀, 不要只干领导让你做的事情。如果你只是按照领导说的话100%执行,那你永远也无法脱颖而出。在公司做领导给你分配的任务的时候,一定要多长一个心眼,除了他布置的任务以外,你可以提出你的建议或者是一些改善意见,而且完成度不能是100%,而是要达到150%。
  “做女人要像希拉里一样”中希拉里用的战略中一个很重要的战略就是:“让雇佣我的人或者是接受我提供的服务的人感到200%的满足感”,这样看希拉里的目标更高。
  很多人都觉得你只要做好领导分配的任务让你的领导满足100%,做好自己分内的事情就可以了,但是如果这样做,你在职场永远不能混好。

13、你们公司允许言论自由吗?职场没有言论自由
  或许当你第一天上班的时候人事部的人会对你我们公司很OPEN,而且在很多时候开会的时候总经理会说“大家畅所欲言吧,我会尽力满足你们的要求、尽量解决你们所提的意见”,千万不要陷进这个陷阱。大多数时候公司是没有言论自由的,特别是当你对公司的政策,环境或制度说出了真实的想法,在公开场合上反对公司的政策制度,公司会视你为影响公司氛围的反动派,他们觉得你很危险所以通过一些方法让你打包走人的。
  我不知道有些真的开放的公司是不是有言论自由,但是我看到的版本是每当总经理跟员工面谈时都会让他们畅所欲言,但是等他们真正说出了真实想法,马上他就失去了公司的信任。
  还有一点,我经常看到一些人在电梯里跟同事或朋友说公司里面的事情,这个是一个很不专业的行为,因为不管你是在你办公室的电梯还是在客户公司电梯,跟你一起乘坐电梯的人有可能是你上司的朋友,重要的客户,你称赞公司可以,但是反对或不满的话语千万不要在电梯里面说,不然到时候你都不知道自己为什么死得这么快了。

14、你的办公桌专业化吗?
  现在大部分外企的办公桌都是一格一格的小格子,或许你认为办公桌是我私人的地方,我想放什么就放什么,但是请注意,办公桌也是体现你价值的地方,所以要让你的办公桌也变得专业化。
  那怎么样的办公桌才是专业化的呢?
  (1)不能太乱,我在公司里看到很多人的办公桌都是乱七八糟的,各种各样的文件摆在那里,太乱的话很容易给别人这个人工作没有条理的印象。
  (2)不能太整洁,如果你办公桌上什么都没有太整洁了,那别人会觉得你根本没事做。
  (3)不能有太多装饰品。现在80后追求个性,办公桌上面放着各种各样的东西,曾经我的同事中有一个人的办公桌可以看作是一个礼品店,各种各样的娃娃还有各种小东西,可能自己觉得这样很有创意,但是别人都在背后说她。
  (4)跟业务无关或跟你的调不符的书籍千万不要放在让人看到的地方。
  总的来说,我觉得白天你可以把你的文件或资料放在桌上,但是下班的时候一定要整理,那些重要的资料一定要放在抽屉里(最好是锁着),这样可以显示出你做事很专业。而且现实生活中有些上司习惯下班以后转一圈看看下属的办公桌,一是看看你的桌上有没有公司重要的资料敞开着,二是通过你办公桌上的东西看看你最近的动向(如果你桌上有“8个方法教你找好工作”之类的书,那你应该是有跳槽的打算了吧?)

15、业绩考核结果跟你的业绩不相符?业绩也需要进行宣传
  大部分公司每年都会进行1到2次(或4次)的业绩考核,业绩考核结果会影响到你的奖金/晋升等,但是很多员工发现业绩考核结果跟自己想象的完全不一样,这是为什么呢?因为业绩考核中你主观性的判断根本不重要,重要的是你的上司怎么判断你的业绩。如果你做的工作是拿数据说话的,像销售等,可能还好一点,但是我们很多人做的工作可能没有具体的数据来支持,这种时候你平时也要对自己的业绩进行宣传了。
  我看过很多人平时都不怎么跟上司沟通,但是一到年底对考核结果不满,就找上司透漏不满,这种做法无法改变什么,你需要做的是
  (1)要跟上司做定期的沟通:跟自己的顶头上司定期沟通是很重要,因为通过这种沟通你可以让上司知道你正在做的工作,同时你也可以了解上司到底想什么,对你期待什么。按自己的标准来做事在公司里是站不住脚的,如果想要获得好的绩效评价,你必须要满足上司的期待和标准。
  (2)对自己的业绩进行宣传:大家肯定会问这个怎么宣传啊?上司不都在看着吗?但是很多时候你做的一些事情上司还真不知道,不管你多么努力工 作,如果上司不知道的话就没用,所以必要的时候一定要把一些工作进展的情况CC给上司,我一般是采取定期把自己正在做的工作列个目录,详细描述进行情况发给上司,上司在进行绩效考核的时候可以参照这些书面的东西。
  (3)即使上司给了你一个不好的评价,你不能透漏不满。因为上司这样做肯定是有他的理由的,而且他有权力给你不好的评价。你需要做的是让上司说出来他的意见,你要根据上司的意见来进行改正,因为你有义务迎合上司的工作方式、工作作风,谁让他是你的上司呢?

16、你是不是公司里的“好好人”?如果一味地讨好他人,你便会失去他人的尊重
  每个公司都会有好好人,他们对于所有人都笑眯眯,对于所有人的要求都不会说“NO”。如果你是新进入公司的员工,可能刚开始要得到其他同事的信任,需要讨好别人,当然这个是需要的,但是请你不要搞混“谦虚、摆正态度”和“没有自己主见的好好人”。如果你一味地讨好他人没有一点自己的主见,你会失去他人对你的尊重,在工作中别人也会把你看作是没有真学问的空瓶。
  我知道这个说起来简单做起来难,有些时候是需要讨好人,但是面对重要的事情或重要的业务时,如果你认为你的想法是正确的,你应该坚持,不能一味同意别人的观点,要有自己的主见。
  以前听朋友说他们公司有一个人,对于任何人拜托他的事情他都说好,结果到后来公司里的所有杂事都摊到他那里去了,他自己是为了这些琐事而整天忙碌,但是别人在后面则会笑话他。当时听的时候我想,他的同事们怎么这样啊?但是一想,估计这些事情都是他咎由自取的。对于不合适的工作或拜托,或对工作的正确的意见,如果你认为正确的话,你都应该要提出来,不能做个“好好人”,这两者的度怎么掌握,那还是看个人所处的环境或性格了。

17、不要隐藏自己的失误
  我们在工作中难免会犯一些失误,所有人都有一种心理,那就是想在别人不知道的情况下隐藏自己的失误。但是有一点请注意,如果你所犯的失误涉及到你们部门或你的上司,你一定不能隐藏,因为很多时候隐藏自己的失误带来的是更大的失误,正所谓越遮越丑,就算你犯的是一个很低级的错误,你也要告知部门负责人或相关人员。
  我刚开始工作的时候犯了这个错误,刚开始写企划案的时候修改的次数会比较多,因为上司和我之间来来回回的版本比较多,所以最后把最终版本发给上司以后自己发现有一些数字错了,因为是刚开始负责企划案,不想让别人知道我的疏忽,我就偷偷改了这些数字,因为第二天上司跟老总开会时我会把资料打印出来给他们。第二天当我把打印出来的资料递给上司,上司瞅了几眼,正好看到了那些数字,他就大发雷霆。他发火不是因为我出现了失误,因为每个人都难免会失误,问题是我想偷偷隐藏这个失误,并没有考虑上司的立场。如果当时他没发现这个,到时候给老总报告时发现了,老总正好也对这个数据有印象(因为资料是提前发给老总的),而他自己不能自圆其说的话会有什么样的后果。
  这件事情对我的启示很大。我并不是说所有的失误都要公开,如果这个事情不涉及到别人,你自己一个人就解决的话你就不用公开。但是如果这个失误会波及到你的上司或组织,一定要提前告知他们,并想办法解决。所有人都会失误,如果你非常负责地处理你所犯的失误,它不会让你难堪,反而会给你加分的,因为领导们觉得你很诚实而且有责任心。但是请注意,事情过去以后同样的错误你不能再犯一次。

18、休了病假或产假吗?你需要注意了
  病假和产假是一个很好的福利制度,最近发现公司里怀孕的人比较多,大多数人认为法定的“病假或产假”是严格受法律保护的权利,但是你一定要注意,这有可能会把你陷入两难境地。当然,当你休长期病假(法定的)或产假还有哺乳期间公司是不能解雇你,但是如果这段期间你处理不好的话,一旦过了这个时期你就会上“黑名单”上。因为公司的员工数基本上是固定的,一旦你休几个月的假,这段期间你的工作会分到别人的头上或公司要额外的招人,过了几个月以后当你回来很可能已经没有你的位置或让你做的工作了。
  那么怎么样才能防止这种情况呢?
  (1)假期期间,持续跟公司的联系,特别是跟你上司的联系:我知道对于刚生孩子休产假的人来说这个应该很难,因为有太多事情让你操心,但是我还是希望你能定期抽时间跟上司或同事联系,聊一下工作的事情,或有重要的项目时如果可以的话你也可以给一些建议,但是这些,必须要让你的上司知道。
  (2)一定要与时俱进,不能丢“业务感觉”。我们学外语的时候语感很重要,但是一旦你放了很久,你就没有语感了,这样你整个外语水平就会下降。工作也是一样的,你必须对你的业务保持那种“业务感觉”,如果可以的话在家里也看一下相关资料(当然是在你的身体允许的情况下),因为你一旦上班,公司或上司会有一段时间“观察”你,看你的工作能力或效率是不是跟以前一样。
  我朋友的一个同事就是刚生完孩子上班之后状态特别不好,其实这个是情有可原的,因为小孩晚上闹精神状态就不太好,肯定会影响白天上班。但是公司不能接受她不能集中精力工作,休完产假以后过了1个月后,上司就慢慢不给她工作,而且把她手头上的工作也慢慢分给别人,最后是那个同事自己受不了无所事事就提出辞职了,这个可能就是公司所愿意的。如果她没有主动提出辞职,估计过了哺乳期以后公司也会用各种理由裁她的。

19、劳动法并不能保护你
  可能很多人会觉得现在随着法律的完善,特别是随着劳动合同法的修订等,劳动法会保护我们,但是不要对劳动法抱有幻想,它并不能保护我们。因为正所谓“上有政策下有对策”,公司的人事部或外部的人事机构会巧妙的绕过法律,保护公司的利益。
  举一个例子,从新劳动合同法第39条中明确规定劳动者有下列情形之一的,用人单位可以解除劳动合同,如“严重违反用人单位的规章制度的”,用人单位的规章制度很多样化,我们公司以前制定一个“公司员工手册”时,我们看到光是工作纪律这块就列了100多条,几乎你所想到的或没想到的都列了出来,到时候如果公司真的要辞掉你,很简单,在这么多条当中肯定适用于你的。
  而且一般公司想裁你会通过一些措施来让你“主动辞职”,比如上司经常给你分配你无法完成的任务,或上司对你的态度很冷淡让你无法忍受,你的办公桌移到非常不好的位置,给你一个很短的期限完成一个根本不可能完成的任务,给你很低的评价等,如果有这种征兆的话,你应该好好考虑自己的职业规划并做打算才行。

20、赢才是硬道理
  说了这么多,或许给一些即将进入社会或刚进入社会的师弟师妹们一种恐惧的心理,想着公司怎么都这样啊。或许这个不是适用于所有的公司,因为我也碰到过好的公司,好的上司。
  但是不怕一万就怕万一,我希望大家都提前准备能保护自己的武器,可以绕过这些陷阱。如果你有才能,你必须要充分发挥出来并让别人知道,并让他们给你打开一扇机会之门。
  我们的人生就像是一场赌博,职场更是一场赌博,你可以选择你出的牌,从而决定自己的输赢。
  在职场无望的等待天上掉馅饼不是明智之举,你应该积极地占据主动位置,学会“赌博”,学会扭转局势,因为赢才是硬道理!

《货币战争》这本书是如何混淆读者视听的

这是早就写好了的。《货币战争》刚发行就买了读了,看到三分之一的时候就看不下去了,准备写篇文章驳斥书中的观点,就列出了下面的提纲,不想文笔太差,一直没能把内容扩充起来,到现在也没了这个心思,这里把已经写的贴出来给大家看看吧。

1、读者们喜欢阴谋论;

2、美联储是私有的从来不是什么秘密。因为金融机构和公有私有无关,而是和财力及信用有关;

3、偷换概念,将金融家的被动行为说成是主动行为,造成一种金融家无所不能的环境;

4、放大作者想说的,缩小作者不想说的。只要是美国总统遇刺身亡就说是不符合金融家们的利益导致,那为什么不说别的国家呢?而且还忘了军队掌握在谁的手中,是人就知道给你个叛国罪啊什么的就能叫你金融家玩完,而且国家还有那么多秘密机构。其实这一招也是朝廷糊弄我们的方式。

货币战争真实存在:亚洲金融风暴,索罗斯狙击英镑这些都是货币战争,但是不应该把金融家的能力无限放大。

参考:
http://wenyidaobk.blog.163.com/blog/static/1243789052009712928966/

工作日志:从拒绝到接受再到喜欢

刚毕业,在苏州一家公司工作,需要写工作日志,心里不喜欢,但不得不写,每天应付了事。现在想来大概是因为不知道写什么,怎么写的缘故(自觉语言贫乏,感觉好多话要说,但写出来却是干巴巴的几句,所以对一切需要动笔的如思想汇报,工作小结,年终总结等都特别不乐意,更别提上学时候的写作文了)。

到第二家公司,刚开始不要写,后来公司作了调整就要写了,这时是不再拒绝,以一种无所谓的态度接受了。

在第三家后,也是开始不要写,后来调整要写,不过由于有具体的日志格式,所以对这个还是非常接受的。

今天凌晨醒来后睡不着,在床上胡思乱想,突然想到工作日志的事。从管理人员的角度思考了工作日志的问题,有了一些新的想法,发现工作日志是管理人员了解工作进度的这么一个东西。在一个项目组里,项目经理可以通过你每天的工作日志对你今天的工作有一个大致的了解,综合所有小组成员的工作日志就可以对项目所处的状态有个大概。否则,每天只见你上班下班,坐在那里做事,但不知道你做了什么,做的怎么样,这样子怎么可能对项目的状态有所了解,项目就非常容易失控。

工作日志格式:

[main content]
今天做了什么,完成度怎么样
明天的计划又是什么

[questions]

[suggestions]

上面是我想的工作日志格式,我觉得明天的计划这一项非常重要,通过明天的计划以及当天工作完成的情况我们就可以了解我们制定的计划是否合理、有效。如果每天制定的计划都不能按时完成,那么说明对自己的能力估计过高,需要降低期望值,而项目经理可以通过某个组员一段时间内工作计划的完成度来了解组员的工作状态,如果组员一直处于计划不能按时完成状态,那么就要考虑是否要与组员沟通这个情况,帮助组员解决情况。

为什么要有个工作日志系统,而不是采用邮件的方式
1、有文字记录(这个邮件也可以做到);
2、日志集中放置(这个邮件无法做到);
3、可以通过分析日志得出一些有用的统计(这个邮件无法做到)。

华为HG526电信猫破解教程

把宜兴家里的电信从旧的4M套餐改为新的4M套餐,每月费用省了40多块,还送了个华为的HG526电信猫和iTV。拿到HG526后发现它带有无线路由功能,想着是不是可以让它自动拨号,以替换原来的ADSL猫和无线路由器。网上搜索一下,发现有很多教程,参考着资料经过一番实践,终于把ADSL猫和无线路由器换下来了。

这里做个笔记,把实践中碰到的问题和疑惑记录下来,分享给大家。

破解HG526的核心是获得超级用户telecomadmin的密码。

1、准备U盘,在根目录下建立一个文件夹e8_Config_backup,插入华为HG526;

2、用HG526的默认帐号(用户名useradmin)登录路由器192.168.1.1;

3、在浏览器地址栏里输入http://192.168.1.1/html/ehomeclient/cfgUSBRestore.cgi?coverusbpath=usb1_1,提示备份成功!注意大小写;

4、把U盘插入电脑,e8_Config_backup文件夹下多了一个文件ctce8_HG526.cfg;

5、用附件中的工具把配置文件解密,找到telecomadmin帐号的密码。

6、用超级用户telecomadmin登录,把远程管理关闭(不然密码就会被电信更改的)。

路由拨号配置

登录后,进入“网络”->“宽带设置”,在“连接名称”右边,选择“INTERNET_R_8_35”,按照下图配置,修改自己的上网账号和密码。

这里有个问题,某些地方的VPI/VCI值是不一样的,宜兴市区是0/100,所以上面应该选“INTERNET_B_0_100”。其它地方如果刷了不能用建议咨询下电信维护人员是多少。

将破解的配置文件恢复到HG526中

在U盘的e8_Config_backup文件夹里放入破解修改后的ctce8_HG526.cfg文件,插入HG526。

用超级用户登录,在“管理”->“设备管理”页面中,在“启用USB自动恢复配置文件”后面打上钩。然后点击“设备重启”。注意观察HG526以及U盘的指示灯,等HG526上所有的灯稳定了,配置也就刷进去了。

如何删除TR069协议,修改远程管理网址和域名

正常情况下“TR069_R_8_46”连接项在WEB配置页面中无法删除,但我们可以使用Web Developer插件来做到。在安装了Web Developer插件的Firefox中打开http://192.168.1.1,用telecomadmin登录,进入“网络”—>“宽带设置”,在页面中点击右键,在Web Developer工具栏中选择“表单”->“开启 被禁用的表单”。然后你就可以删除TR069协议了。远程管理的修改与之类似。

关于TR069的解释:TR-069是由DSL论坛所开发的技术规范之一,其全称为“CPE广域网管理协议”。它提供了对下一代网络中家庭网络设备进行管理配置的通用框架和协议,用于从网络侧对家庭网络中的网关、路由器、机顶盒等设备进行远程集中管理。电信通过TR069协议修改我们的无线猫的配置,比如超级用户名密码,用户权限等,所以我们的配置文件里要关闭TR069,大家注意不要自己打开,否则一旦被改了超级用户名密码就惨了!

HG526配置文件加/解密软件:hg526-tool