澳门太阳娱乐集团官网-太阳集团太阳娱乐登录

李敖那种高效的读书方法又贵又费时间?两款软
分类:服务器

ITSM只是一个方法论,想要把ITSM落到实处,还需要相关的软件来配套实施。目前,市场上出现了很多不同品牌的ITSM系统,广通信达的Broadview COSS 3.0是这些产品中比较出色的一款。

{

李敖的读书方法——按自己的需求或者资料特点分类细化然后把书籍裁剪

很多网管员可以体会到,网络管理工作中有很多工作是重复的,程式化的工作。这些重复工作耗费了大量的时间和精力,但是又不得不去做。针对这方面,广通信达Broadview COSS 3.0对日常运行维护工作进行管理,将一些周期性的、相对固定的日常维护作业统一管理起来,由系统来代替人工,自动将这些重复工作按时完成。

mIndicator.setTitles(mTitles);

图片 1

同时,Broadview COSS 3.0为网络管理部门提供了一个运维管理门户——服务台。通过这个服务台,管理人员可以把运行值班、故障监控、接受请求、工单派发、问题解决过程中的监测等相关的工作进行梳理,并且形成相关的流程。这样一来,当网络出现了故障,网络管理部门便可以按部就班的进行处理。可以说,“服务台”功能为为所有请求提供了一个中心联络点(SPOC),有了这个联络点,网络的使用者和管理者便可以进行有效的联动起来,换句话说,“服务台”功能使得网路管理者和网络使用者不在相互独立,他们可以通过“服务台”进行有效的沟通交流。

privateScrollView mInnerScrollView;

2.PDF或者实体书
文字不能复制但是可以截图,或者拍照,标题、标签、“伪标签”的方法同样适用。如果开个高级会员还可以检索图标,有钱的朋友可以试试,没钱的朋友只要把其他定位关键词处理好就好了。

其实作为网络管理者,我们的要求很简单,网络不断,系统不瘫,数据不丢,这三点是我们的基本工作要求。但是,理想与现实之间的差距通常情况下是比较大的。在实际的网络管理工作中,不明确的管理工作流程导致的周期性的中断工作、缺乏流程连接导致的重复劳动浪费、流程不清导致的服务提供不一致、责任划分不清导致的错误百出……。这些问题无时不刻在困扰着网络管理者。为解决这类问题,ITSM的理念应运而生。

}

比如整个的笔记内容如下图:

综合报道】用户的困惑 其实作为网络管理者,我们的要求很简单,网络不断,系统不瘫,数据不丢,这三点是我们的基本工作要求...

{

李敖的读书方法用八个字概括就是——心狠手辣,碎书万断!具体方法就是:将买来的书,进行裁剪和分割。把需要的书籍片段进行裁剪和分类。

此外,Broadview COSS 3.0相当的人性化,他采用了类似Web2.0的技术,使用者可以自己订制自己所习惯的管理界面,以方便使用者的管理。

floatdy = y - mLastY;

我是马上就,知止读书的作者。

通过Broadview COSS 3.0,网络管理者可以把系统监测,网络监测、应用监测以及业务视图集中统一的展现在自己的眼前,实现了底层网络与上层应用业务的挂钩。当应用系统出现了问题的时候,网管员可以有效得知该问题是由于什么网络故障造成的。

importandroid.support.v4.app.FragmentActivity;

如何高效的使用云笔记记读书笔记,既可以像李敖那么高效又可以省钱省时间呢?

BKJIA.com 综合报道】用户的困惑

result = size;

假定一个情景,我需要重新温习一下阅读方法,我只要在印象笔记里搜索标签“读书方法”,就会有十几二十条跟阅读方法有关的笔记呈现在我的面前,我通过再阅读和整理,然后加上我自己的经验和教训,我就又加上了关于对阅读方法的认识,如果遇到笔记了不清楚的我只要找到对应的那本书,比如《把时间当做朋友》,第339页关于李敖读书方法的书,我打开电子书阅读软件就可以轻松查找并且温习。

以前,网络管理是一个非常依托个人的工作,在一个单位中,如果网络管理方面发生了人员变动,新的网管员将会有一个很长的“工作适应阶段”。因为对于网管工作来说,网络架构、网络的应用对应关系、相关的故障成因等很多方面是要依托管理经验的。Broadview COSS 3.0的“知识库”功能可以把这些管理方面的经验自动进行总结,形成一套完备的“工作日制”。通过“知识库”,Broadview COSS 3.0帮助各级支持人员提高技能水平,简化IT服务任务、降低对具体个人依赖的手段。对于一些简单的网络故障,“知识库”甚至可以自动进行相关的故障排除,大大简化的网管员的工作量。

@Override

如何分类呢?

Broadview COSS 3.0采用ITIL理论,将人、技术、流程三者统一在了一起。从功能度的角度来看,Broadview COSS 3.0涵盖了统一运行展现、服务台、事件管理、问题管理、变更管理与发布管理、日常运行作业和外包服务管理、配置和资产管理、服务水平管理、知识库等ITSM中所涉及的功能,而且这套系统购买和部署灵活,它支持复杂工作流和高层次集成、满足法规和遵循性要求。

privateintmTopViewHeight;

读书之前就已经初步养成了用云笔记记录笔记的习惯,于是两者一结合就可以完美的实现边读书边高效的记笔记。

总结

publicvoidonCreate(Bundle savedInstanceState)

图片 2

当然,Broadview COSS 3.0中的“事件管理”、“问题管理”、“配置管理”、“变更管理”等ITSM系统的基础功能也非常的完备,在这里就不过多的介绍了。感兴趣的朋友可以到他们的网站浏览一下。

xmlns:android=""

再比如我通过查找“#经验 ”这里面就会有很多关于读书方法和其他方面的“经验”,我在时间允许的话可以温习其他的“经验”,如果我想精准的查找“有关李敖读书方法的经验”,我只要筛选出符合这三个标准的笔记是哪一个就OK了!

ITSM落到实处

@Override

这些素材被分门别类后,李敖有需求的时候就会根据这个需求对应的类目进行查找,要是再碰到与这个分类相关的就研究整合到文件夹里。这些分类李敖会根据字母或者拼音进行记忆,只要记住这个字母的顺序,下面对应着什么标题,到时候一查找就可以了。

android:textSize="30sp"

这个就是上面说的,起一个你能想的起来或者干脆解决问题的笔记标题,“读书笔记”、“-读书方法”就是——能记住的标签,蓝色部分是关键词、涉及的书名,在多看里显示的页数,绿色字“#经验 把标题弄的更系统、更精细”。

scrollTo(0, mScroller.getCurrY());

他弄了很多夹子,这种类别会非常的细致。比如按照图书馆的分类,哲学类,宗教类;宗教类再分佛教类、道教类、天主教类。天主教还可以分,神父算一类,神父还可以分,神父还俗算一类,神父同性恋又算一类。修女同性恋算一类,修女还俗又是一类。

{

李敖的读书方法:

}

这是今天在地铁上做的一个简单的笔记

贴一下我们的Fragment代码:

1.文字版(epub、txt格式)读到有兴趣或者产生启发的地方,划线做批注记笔记,多看的读书笔记可以直接同步到印象笔记里。或者直接打开印象笔记,起一个你能想的起来或者干脆解决问题的笔记标题,把你受启发的部分粘贴到印象笔记里。然后加上你能记住的标签,如果你有其他的感悟,也可以在正文里加入“伪标签”。比如—— #行动 我要分享读书方法 (正文)我李敖看书很少会忘掉……

好了,接下来我们要处理拦截,对于拦截,我们要清楚的知道什么时候应该拦截,什么时候不需要,当前我们的例子:

图片 3

导读:今天从李笑来老师的《把时间当做朋友》里读到了台湾学者李敖的一种比较高效的读书方法,结合自己一年多的云笔记记读书笔记的经验简单的和大家分享一下。

setOrientation(LinearLayout.VERTICAL);

这种方法虽然很有效,但是成本很高。时间成本和金钱成本都很高。

mMaximumVelocity = ViewConfiguration.get(context)

我也很喜欢读纸质书,但是拿着纸质书在地铁里实在不方便,后来慢慢就用上了电子书(主要用多看阅读,记笔记加书签的逻辑比百度和网易都高效,其次会用百度,打折比较给力,很省米)。

我们的Vp中每个页面为一个Fragment,Fragment的代码我们就不贴了,布局就是ScrollView为根布局,内部随意填充,具体可参考源码。

mViewPager.setCurrentItem(0);

1、构造

android:orientation="vertical"

}

@Override

}

privateSimpleViewPagerIndicator mIndicator;

mDragging =true;

y = mTopViewHeight;

if(Math.abs(velocityY) > mMinimumVelocity)

intpositionOffsetPixels)

2、还有个需要拦截的地方,就是当顶部的view彻底隐藏了,我们现在内部的sc应该可以上下滑动了,但是如果sc滑动到顶部再往下的时候,此时又该拦截了,我们需要把顶部view可以下滑出来。

importandroid.view.LayoutInflater;

}

importandroid.support.v4.app.Fragment;

[java]view plaincopy

android:layout_width="match_parent"

initDatas();

}

caseMotionEvent.ACTION_UP:

returnsuper.onInterceptTouchEvent(ev);

{

mVelocityTracker.addMovement(event);

@Override

{

android:orientation="vertical">

我们的效果图:

介绍完了用法有木有一点小激动,基本按照常规去写布局就ok,效果自动实现。

android:padding="5dp">

privateintmTouchSlop;

2、将做外层的ScrollView改为了自定义的一个控件,继承自LinearLayout,叫做StickyNavLayout,这里感谢小七的命名,同时本方式感谢二群暖暖提供的源码。

}

mDragging =true;

super(context, attrs);

publicView onCreateView(LayoutInflater inflater, ViewGroup container,

importcom.zhy.view.SimpleViewPagerIndicator;

}

[java]view plaincopy

View view = findViewById(R.id.id_stickynavlayout_viewpager);

[java]view plaincopy

android:scrollbars="none">

@Override

privatevoidinitViews()

mScroller.abortAnimation();

android:layout_width="match_parent"

privateView mNav;

}

@Override

caseMotionEvent.ACTION_MOVE:

android:layout_height="wrap_content"

caseMeasureSpec.AT_MOST:

"id_stickynavlayout_viewpager show used by ViewPager !");

intspecMode = MeasureSpec.getMode(measureSpec);

privateString mTitle ="Defaut Value";

可以看到,对于AT_MOST和EXACTLY两种模式,都是直接读取父类的传入的测量值,也就是说,他不会去测量自己孩子的高度。然后如果模式是:UNSPECIFIED,那么高度直接为0呢。这里大家如果做过这个例子,应该能遇到这种情况,ScrollView中放ViewPager时,测量模式就是UNSPECIFIED,那么Vp直接不显示,原因就在这里。

[html]view plaincopy

{

mIndicator = (SimpleViewPagerIndicator) findViewById(R.id.id_stickynavlayout_indicator);

super.scrollTo(x, y);

[html]view plaincopy

}

// For simple implementation, our internal size is always 0.

xmlns:tools=""

break;

Bundle savedInstanceState)

@Override

});

break;

super.onCreate(savedInstanceState);

3、StickyNavLayout源码剖析

privatebooleanisTopHidden =false;

android:layout_height="match_parent"

我们设置为Vp的值以后,理论上来说,我们的显示已经正常了,控件都按照我们的预期显示了,但是,但是什么呢?我们现在在自定义的LinearLayout,那么移动是不是应该我们自己去写。

break;

android:gravity="center"

privateViewPager mViewPager;

mScroller.abortAnimation();

图片 4

importandroid.support.v4.view.ViewPager.OnPageChangeListener;

[html]view plaincopy

publicFragment getItem(intposition)

.getScaledMaximumFlingVelocity();

publicbooleanonInterceptTouchEvent(MotionEvent ev)

{

isTopHidden = getScrollY() == mTopViewHeight;

protectedvoidonCreate(Bundle savedInstanceState)

privateOverScroller mScroller;

mVelocityTracker.clear();

{

mIndicator.scroll(position, positionOffset);

android:layout_width="match_parent"

}

2、布局文件

主要是去设置ViewPager的高度,给它一个固定值,ViewPager自己在测量自己的时候,你要是不给它固定值,可能测量结果与你的预期会差距很大。比如你给它设置个WRAP_CONTENT,你希望他去计算孩子的高度去设置自己的,那么你就想多了。大家可以看下ViewPager测量的源码:

扯远了,回来,我们继续。

{

caseMotionEvent.ACTION_DOWN:

{

[java]view plaincopy

super.onSizeChanged(w, h, oldw, oldh);

android:gravity="center">

initEvents();

privatefloatmLastY;

caseMotionEvent.ACTION_MOVE:

}

protectedvoidonMeasure(intwidthMeasureSpec,intheightMeasureSpec)

}

}

switch(specMode) {

break;

// We depend on the container to specify the layout size of

mNav = findViewById(R.id.id_stickynavlayout_indicator);

mLastY = y;

{

}

android:id="@id/id_stickynavlayout_innerscrollview"

publicStickyNavLayout(Context context, AttributeSet attrs)

importandroid.os.Bundle;

if(y <0)

android:layout_height="wrap_content"

android:layout_height="match_parent"

最近有不少朋友私聊问应用宝、360软件助手之类的软件详情页怎么做,刚好,最近有时间就模仿360软件助手详情页给大家做个Demo,供大家参考。嗯,关于实现呢,我写了两种方式:

getCurrentScrollView();

1、如果我们的顶部view只要没有完全隐藏,那么直接拦截上下的拖动;

initViews();

{

privateintmMaximumVelocity, mMinimumVelocity;

定义了几个id资源,主要是为了方便使用了,供声明布局时使用的,看名字应该能猜出来吧,猜不出来没事,接下来我就贴布局文件了。这个其实不属于使用方式了,但是下文会见到,所以提前贴出来。

publicclassTabFragmentextendsFragment

}

android:id="@id/id_stickynavlayout_viewpager"

android:layout_width="match_parent"

}

ok,首先看下成员变量,和我们的变量的初始化,mTop、mNav、mViewPager代表我们布局的三大块了,初始化在onFinishInflate中完成,可以看到直接通过我们的id资源读取就ok。接下来还有些mScroller、mVelocityTracker、mTouchSlop、mMaximumVelocity、mMinimumVelocity、mLastY、mDragging,不用说大家都能想到这是和移动相关的,OverScroller是个辅助类,用于自定移动时帮我们处理掉数学的计算部分。mVelocityTracker相关几个变量,当然是计算什么时候需要自动移动;mTouchSlop帮我区别用户是点击还是拖拽。Android中封装了很多常量在ViewConfiguration中,大家有兴趣可以了解他,之所以使用这些常量不仅仅是说,省的我们自己去定义,而是为了和系统的行为保持一致。

getDefaultSize(0, heightMeasureSpec));

{

mTextView.setText(mTitle);

}

{

}

{

//省略了无数控件

}

}

{

}

if(!isTopHidden

publicvoidscrollTo(intx,inty)

publicclassMainActivityextendsFragmentActivity

privateString[] mTitles =newString[] {"简介","评价","相关"};

{

packagecom.zhy.sample.StickyNavLayout;

if(mScroller.computeScrollOffset())

importandroid.support.v4.app.FragmentPagerAdapter;

}

|| (mInnerScrollView.getScrollY() ==0&& isTopHidden && dy >0))

tabFragment.setArguments(bundle);

{

{

setContentView(R.layout.activity_main);

android:layout_height="300dp"

}

图片 5

mViewPager.setOnPageChangeListener(newOnPageChangeListener()

importandroid.view.ViewGroup;

看完了构造以后,由于我们使用的是LinearLayout,直接setOrientation(LinearLayout.VERTICAL);也就不必去layout了,控件都自定垂直排列了。那么我们在onMeasure中还需要做些处理。

}

@Override

最后看下效果图,第一张是360的,第二张是我们的:

publicstaticTabFragment newInstance(String title)

[java]view plaincopy

if(y > mTopViewHeight)

thrownewRuntimeException(

{

publicbooleanonTouchEvent(MotionEvent event)

publicclassStickyNavLayoutextendsLinearLayout

publicstaticintgetDefaultSize(intsize,intmeasureSpec) {

还好fling的核心代码OverScroller给我们实现了,so nice。

if(Math.abs(dy) > mTouchSlop)

Bundle bundle =newBundle();

returnmTitles.length;

移动的代码很简单,想必大家都知道,直接拿到dx,然后scrollBy就行了。

}

1、概述

super.onFinishInflate();

mLastY = y;

mDragging =false;

mFragments[i] = (TabFragment) TabFragment.newInstance(mTitles[i]);

intvelocityY = (int) mVelocityTracker.getYVelocity();

{

android:id="@+id/id_info"

if(y != getScrollY())

};

然后在我们的MainActivity中,对ViewPager进行初始化即可。

View view = inflater.inflate(R.layout.fragment_tab, container,false);

android:textStyle="bold"/>

if(!mScroller.isFinished())

super.onCreate(savedInstanceState);

{

mVelocityTracker.addMovement(event);

{

caseMotionEvent.ACTION_DOWN:

}

mAdapter =newFragmentPagerAdapter(getSupportFragmentManager())

invalidate();

break;

android:layout_width="match_parent"

android:id="@id/id_stickynavlayout_topview"

{

{

if(mDragging)

mScroller =newOverScroller(context);

setMeasuredDimension(getDefaultSize(0, widthMeasureSpec),

fling(-velocityY);

android:background="#44ff0000">

importandroid.view.View;

3、onTouchEvent

importandroid.support.v4.app.Fragment;

android:layout_width="match_parent"

returnview;

4、Fragment及其布局

mVelocityTracker = VelocityTracker.obtain();

returnmFragments[position];

returntrue;

publicvoidcomputeScroll()

那怎么干,在哪干?这个无非就是重写computeScroll方法,在里面判断scroller是否结束,如果没有,则scrollTo一下,最后记得invalidate,相关代码:

switch(action)

mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();

mViewPager = (ViewPager) findViewById(R.id.id_stickynavlayout_viewpager);

@Override

@Override

}

{

android:id="@id/id_stickynavlayout_indicator"

privateTextView mTextView;

mViewPager.setAdapter(mAdapter);

caseMotionEvent.ACTION_CANCEL:

2、onMeasure

2、使用方式

}

}

mViewPager = (ViewPager) view;

// adding and removing different arbitrary views and do not

}

mDragging =false;

intresult = size;

if(!mScroller.isFinished())

没撒说的 ,let's go 。

invalidate();

if(!mDragging && Math.abs(dy) > mTouchSlop)

android:background="#ffffffff">

super.onMeasure(widthMeasureSpec, heightMeasureSpec);

{

privateVelocityTracker mVelocityTracker;

android:layout_height="50dp"

@Override

android:layout_width="match_parent"

privatevoidinitDatas()

TabFragment tabFragment =newTabFragment();

android:layout_height="match_parent"

caseMeasureSpec.UNSPECIFIED:

intaction = ev.getAction();

returntrue;

}

floatdy = y - mLastY;

for(inti =0; i < mTitles.length; i++)

android:layout_width="match_parent"

{

// want the layout to change as this happens.

没有什么复杂的代码,主要就是初始化我们的Vp;

mVelocityTracker.clear();

大家应该清楚,我们使用Scroller这样的辅助类时,它们帮我们完成的,知识数学方面的计算,至于自动我们还是需要自己去干的。

returnresult;

privateFragmentPagerAdapter mAdapter;

returnsuper.onTouchEvent(event);

{

4、onInterceptTouchEvent

{

}

android:background="#ffffffff"

[java]view plaincopy

{

android:layout_height="50dp"

ViewGroup.LayoutParams params = mViewPager.getLayoutParams();

{

protectedvoidonMeasure(intwidthMeasureSpec,intheightMeasureSpec) {

scrollBy(0, (int) -dy);

if(getArguments() !=null)

bundle.putString(TITLE, title);

}

[java]view plaincopy

分析完成以后,看代码,这叫一个酸爽:

mTopViewHeight = mTop.getMeasuredHeight();

privatebooleanmDragging;

importandroid.os.Bundle;

returntabFragment;

publicstaticfinalString TITLE ="title";

intaction = event.getAction();

{

1、ScrollView内嵌软件介绍+ViewPager+ViewPager中是ScrollView,这种方式呢,纯原生,没有涉及到自定义控件,但是这样嵌套呢,涉及到测量以及事件的冲突处理,大家可以自己尝试去做一下,想像起来蛮容易的,做起来其实还是挺费劲的,代码我会给出,核心代码不多,大家自行参考。本文将重点分析第二种方式。

android:text="软件介绍"

}

break;

3、MainActivity

{

360:

@Override

mScroller.fling(0, getScrollY(),0, velocityY,0,0,0, mTopViewHeight);

.getScaledMinimumFlingVelocity();

caseMeasureSpec.EXACTLY:

}

android:background="#4400ff00">

privateView mTop;

floaty = ev.getY();

y =0;

@Override

mLastY = y;

mMinimumVelocity = ViewConfiguration.get(context)

android:background="#eee"

@Override

最外层是我们的自定义的控件StickyNavLayout,然后是顶部内容区域,Vp的指示器,ViewPager。按照效果图,去写就ok,注意部分id使用我们预设定的id资源。因为我们的StickyNavLayout需要通过id找到该控件,去进行一些计算。

{

result = specSize;

@Override

ok,到此,我们的onTouchEvent搞定了~~but,别得意,为什么这么说呢?因为你完成的,知识当然View对于上下拖动的处理。大家别忘了,我们当前的StickyNavLayout内部可是有一个ScrollView的,那么根据事件的转发机制,这个内部的ScrollView肯定会处理上下拖动这种情况的,也就是我们的事件会被它拦截。

protectedvoidonSizeChanged(intw,inth,intoldw,intoldh)

{

intspecSize = MeasureSpec.getSize(measureSpec);

switch(action)

}

mTextView = (TextView) view.findViewById(R.id.id_info);

比较简单哈,我们因为只需要判断y方向的,所以down的时候记录下y的值,然后move的时候拿到dy,直接去进去scrollBy就好,当然我们在整个过程中.addMovement(event);所以,up的时候,我们得到v方向的velocityY,调用fling进行移动。

{

// our view.  We can't really know what it is since we will be

}

{

importandroid.support.v4.view.ViewPager;

}

1、自定义id资源文件

importandroid.widget.TextView;

上面我们也说了,之所以有第二种方式,完全是为了考虑使用的容易度。

break;

对了这个指示器我是临时写的,也算一个自定义控件吧,主要就是跟随Vp一起移动,详细写法请参考:Android 教你打造炫酷的ViewPagerIndicator 不仅仅是高仿MIUI,只是把三角形改成了下划线,非本文重点,你可以暂时忽略。

publicvoidonPageSelected(intposition)

params.height = getMeasuredHeight() - mNav.getMeasuredHeight();

publicvoidonPageScrolled(intposition,floatpositionOffset,

[java]view plaincopy

publicintgetCount()

{

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/43649913,本文出自:【张鸿洋的博客】

privatevoidinitEvents()

mTitle = getArguments().getString(TITLE);

@Override

{

if(!(viewinstanceofViewPager))

{

mTop = findViewById(R.id.id_stickynavlayout_topview);

packagecom.zhy.sample.StickyNavLayout;

擦,别问我为什么这么模糊,尽力了。。。

values/ids_sticky_nav_Llayout.xml

privateViewPager mViewPager;

}

floaty = event.getY();

privateTabFragment[] mFragments =newTabFragment[mTitles.length];

}

publicvoidfling(intvelocityY)

mVelocityTracker.computeCurrentVelocity(1000, mMaximumVelocity);

protectedvoidonFinishInflate()

publicvoidonPageScrollStateChanged(intstate)

本文由澳门太阳娱乐集团官网发布于服务器,转载请注明出处:李敖那种高效的读书方法又贵又费时间?两款软

上一篇:朵娘访谈问答 下一篇:没有了
猜你喜欢
热门排行
精彩图文