<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <channel>
        <title>黑莓糖专属城堡</title>
        <atom:link href="https://blog.white-poplar.work/feed/" rel="self" type="application/rss+xml"/>
        <link>https://blog.white-poplar.work</link>
        <description>真、</description>
        <lastBuildDate>Sat, 27 Jul 2024 19:13:44 +0000</lastBuildDate>
        <pubDate>Sat, 27 Jul 2024 19:13:44 +0000</pubDate>
        <ttl>1800</ttl>
        <language>zh-CN</language>

        
        <item>
            <title><![CDATA[伯利克里《阵亡将士国葬礼上的演说》]]></title>
            <description>&lt;p&gt;在过去许多在此地说过话的人，总是赞美我们在葬礼将完时发表演说的这种制度。在他们看来，对于阵亡将士发表演说，似乎是对阵亡将士一种光荣的表示。这一点，我不同意。这些在行动中表现自己勇敢的人，我认为，在行动中就充分宣布他们的光荣了，正如你们刚才从这次国葬典礼中所看见的一样。我们相信，这许多人的勇敢和英雄气概毫不因为一个人对他们说好或说歹而有所变更。&lt;/p&gt;

&lt;!--break--&gt;
&lt;p&gt; &lt;/p&gt;

&lt;p&gt;首先我要说到我们的祖先们，因为在这样的典礼上，回忆他们所作的，以表示对他们的敬意，这是适当的。在我们这块土地上，同一个民族的人世世代代住在这里，直到现在；因为他们的勇敢和美德，他们把这块土地当作一个自由国家传给我们。无疑地，他们是值得我们歌颂的。尤其是我们的父辈，更加值得我们歌颂，因为除了他们所继承的土地之外，他们还扩张成为我们现在的帝国，他们把这个帝国传给我们这一代，不是没有经过流血和辛勤劳动的。今天我们自己在这里集合的人，绝大多数正当盛年，我们已经在各方面扩充了我们帝国的势力，已经组织了我们的国家，无论在平时或战时，都完全能够照顾它自己。&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;我要说，我们的政治制度不是从我们邻人的制度中模仿得来的。我们的制度是别人的模范，而不是我们模仿任何其他的人的。我们的制度之所以被称为民主政治，因为政权是在全体公民手中，而不是在少数人手中。解决私人争执的时候，每个人在法律上都是平等的；让一个人负担公职优先于他人的时候，所考虑的不是某一个特殊阶级的成员，而是他们有的真正才能。任何人，只要他能够对国家有所贡献，绝对不会因为贫穷而在政治上湮没无闻。正因为我们的政治生活是自由而公开的，我们彼此间的日常生活也是这样的。当我们隔壁邻人为所欲为的时候，我们不至于因此而生气；我们也不会因此而给他以难看的颜色，以伤他的情感，尽管这种颜色对他没有实际的损害。在我们私人生活中，我们是自由的和宽恕的；但是在公家的事务中，我们遵守法律。这是因为这种法律深使我们心悦诚服。&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;对于那些我们放在当权地位的人，我们服从；我们服从法律本身，特别是那些保护被压迫者的法律，那些虽未写成文字、但是违反了就算是公认的耻辱的法律。
现在还有一点。当我们的工作完毕的时候，我们可以享受各种娱乐，以提高我们的精神。整个一年之中，有各种定期赛会和祭祀；在我们的家庭中，我们有华丽而风雅的设备，每天怡娱心目，使我们忘记了我们的忧虑。我们的城邦这样伟大，它使全世界各地一切好的东西都充分地带给我们，使我们享受外国的东西，正好像是我们本地的出产品一样。&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;在我们对于军事安全的态度方面，我们和我们的敌人间也有很大的差别。下面就是一些例子：我们的城市，对全世界的人都是开放的；我们没有定期的放逐，以防止人们窥视或者发现我们那些在军事上对敌人有利的秘密。这是因为我们所倚赖的不是阴谋诡计，而是自己的勇敢和忠诚。在我们的教育制度上，也有很大的差别。从孩提时代起，斯巴达人即受到最艰苦的训练，使之变为勇敢；在我们的生活中没有一切这些限制，但是我们和他们一样，可以随时勇敢地对付同样的危险。我们是自愿地以轻松的情绪来应付危险，而不是以艰苦的训练；我们的勇敢是从我们的生活方式中自然产生的，而不是国家法律强迫的；我认为这些是我们的优点。我们不花费时间来训练自己忍受那些尚未到来的痛苦；但是当我们真的遇着痛苦的时候，我们表现我们自己正和那些经常受到严格训练的人一样勇敢。我认为这是我们的城邦值得崇拜的一点。当然还有其他的优点。&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;我们爱好美丽的东西，但是没有因此而至于奢侈；我们爱好智慧，但是没有因此而至于柔弱。我们把财富当作可以适当利用的东西，而没有把它当作可以自己夸耀的东西。至于贫穷，谁也不必以承认自己的贫穷为耻；真正的耻辱是不择手段以避免贫穷。在我们这里，每一个人所关心的，不仅是他自己的事务，而且也关心国家的事务：就是那些最忙于他们自己的事务的人，对于一般政治也是很熟悉的——这是我们的特点：一个不关心政治的人，我们不说他是一个注意自己事务的人，而说他根本没有事务。我们雅典人自己决定我们的政策，或者把决议提交适当的讨论；因为我们认为言论和行动间是没有矛盾的；最坏的是没有适当地讨论其后果，就冒失开始行动。这一点又是我们和其他人民不同的地方。我们能够冒险；同时又能够对于这个冒险，事先深思熟虑。他人的勇敢，由于无知，当他们停下来思考的时候，他们就开始疑惧了。但是真的算得勇敢的人是那个最了解人生的幸福和灾患，然后勇往直前，担当起将来会发生的事故的人。&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;再者，在关于一般友谊的问题上，我们和其他大多数的人也成一个显明的对比。我们结交朋友的方法是给他人以好处，而不是从他人方面得到好处。这就使我们的友谊更为可靠，因为我们要继续对他们表示好感，使受惠于我们的人永远感激我们。在这方面，我们是独特的。当我们真的给予他人以恩惠时，我们不是因为估计我们的得失而这样作的，乃是由于我们的慷慨，这样作而无后悔的。因此，如果把一切都结合起来考虑的话，我可断言，我们的城市是全希腊的学校；我可断言，我们每个公民，在许多生活方面，能够独立自主；并且在表现独立自主的时候，能够特别地表现温文尔雅和多才多艺。为着说明这并不是在这个典礼上的空自吹嘘，而是真正的具体事实，你们只要考虑一下：正因为我在上面所说的优良品质，我们的城邦才获得它现有的势力。我们所知道的国家中，只有雅典在遇到考验的时候，证明是比一般人所想象的更为伟大。在雅典的情况下，也只有在雅典的情况下，入侵的敌人不以战败为耻辱；受它统治的属民不因统治者不够格而抱怨。真的，我们所遗留下来的帝国的标志和纪念物是巨大的。不但现代，而且后世也会对我们表示赞叹。&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;我们不需要一个荷马的歌颂，也不需要任何他人的歌颂，因为他们的歌颂只能使我们娱乐于一时，而他们对于事实的估计不足以代表真实的情况。因为我们的冒险精神冲进了每个海洋和每个陆地；我们到处对我们的朋友施以恩德，对我们的敌人给予痛苦；关于这些事情，我们遗留了永久的纪念于后世。&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;那么，这就是这些人为它慷慨而战、慷慨而死的一个城邦，因为他们只要想到丧失了这个城邦，就不寒而栗。很自然地，我们生于他们之后的人，每个人都应当忍受一切痛苦，为它服务。因为这个缘故，我说了这么多话来讨论我们的城市，因为我要很清楚地说明，我们所争取的目的比其他那些没有我们的优点的人所争取的目的要远大些；因此，我想用实证来更清楚地表达我对阵亡将士们的歌颂。&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;在我看来，像这些人一样的死亡，对我们说明了英雄气概的重大意义，不管它是初次表现的也好，或者是最后证实的也好。无疑地，他们中间有些人是有缺点的；但是我们所应当记着的，首先是他们抵抗敌人、捍卫祖国的英勇行为。他们的优点抵消了他们的缺点，他们对国家的贡献多于他们在私人生活中所作的祸害。他们这些人中间，没有人因为想继续享受他们的财富而变为懦夫；也没有人逃避这个危难的日子，以图偷生脱离穷困而获得富裕。他们所需要的不是这些东西，而是要挫折敌人的骄气。在他们看来，这是最光荣的冒险。他们担当了这个冒险，愿意击溃敌人，而放弃了其他一切。至于成败，他们让它留在不可预测的希望女神手中；当他们真的面临战斗的时候，他们信赖自己。在战斗中，他们认为保持自己的岗位而战死比屈服而逃生更为光荣。所以他们没有受到别人的责难，把自己血肉之躯抵挡了战役的冲锋；顷刻间，在他们生命的顶点，也是光荣的顶点，而不是恐惧的顶点，他们就离开我们而长逝了。&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;他们的行动是这样的，这些人无愧于他们的城邦。我们这些还生存的人们可以希望不会遭遇着和他们同样的命运，但是在对抗敌人的时候，我们一定要有同样的勇敢精神。这不是单纯从理论上估计优点的一个问题。关于击败敌人的好处，我可以说得很多(这些，你们和我一样都是知道的)。我宁愿你们每天把眼光注意到雅典的伟大。它真正是伟大的；你们应当热爱它。当你们认识到它的伟大时，然后回忆一下，使它伟大的是有冒险精神的人们，知道他们的责任的人们，深以不达到某种标准为耻辱的人们。如果他们在一个事业失败了，他们下定决心，不让他们的城邦发现他们缺乏勇敢，他们尽可能把最好的东西贡献给国家。他们贡献了他们的生命给国家和我们全体；至于他们自己，则获得了永远长青的赞美，最光辉灿烂的坟墓——不是他们的遗体所安葬的坟墓，而是他们的光荣永远留在人心的地方；每到适当的时机，永远激动他人的言论或行动的地方。因为著名的人们是把整个地球作他们的纪念物的：他们的纪念物不仅是在自己的祖国内他们坟墓上指出他们来的铭刻，而且也在外国；他们的英名是生根在人们的心灵中，而不是雕刻在有形的石碑上。你们应该努力学习他们的榜样。&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;你们要下定决心：要自由，才能有幸福；要勇敢，才能有自由。在战争的危险面前，不要松懈。那些不怕死的人不是那些可怜人和不幸者，因为他们没有幸福生活的希望；而是那些昌盛的人，因为他们的生活有变为完全相反的危险，他们敏锐地感觉到，如果事情变糟了的话，对于他们将有严重的后果。一个聪明的人感觉到，因为自己懦弱而引起的耻辱比为爱国主义精神所鼓舞而意外地死于战场，更为难过。&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;因为这个原因，我不哀吊死者的父母，他们有很多是在这里的。我要努力安慰他们。他们很知道他们生长在一个人生无常的世界中。但是像阵亡将士一样死得光荣的人们和你们这些光荣地哀吊他们的人们都是幸福的；他们的生命安排得使幸福和死亡同在一起。我知道，关于这一点，我很难说服你们。当你们看见别人快乐的时候，你们也会想起过去一些常常引起你们快乐的事情来。一个人不会因为缺少了他经验中所没有享受过的好事而感到悲伤的：真正悲伤是因为丧失了他惯于享受的东西才会被感觉到的。&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;现在依照法律上的要求，我已经说了我所应当说的话。我们暂时对死者的祭献已经作了，将来他们的儿女们将由公费维持，直到他们达到成年时为止。这是国家给予死者和他们的儿女们的花冠和奖品，作为他们经得住考验的酬谢。凡是对于勇敢的奖赏最大的地方，你们也就可以找到人民中间最优秀的和最勇敢的精神。现在你们对于阵亡的亲属已致哀吊，你们可以散开了。&lt;/p&gt;

</description>
            <link>https://blog.white-poplar.work/2024/01/01/berkley's-funeral-speech/</link>
            <guid>https://blog.white-poplar.work/2024/01/01/berkley's-funeral-speech</guid>
            <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
        </item>
        
        <item>
            <title><![CDATA[python fromat 格式化]]></title>
            <description>&lt;p&gt;字符串格式化，告别 &lt;strong&gt;%&lt;/strong&gt; ,拥抱 &lt;strong&gt;str.format()&lt;/strong&gt;&lt;br /&gt;
 {} 和 : 来代替以前的 %&lt;/p&gt;

&lt;!--break--&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;关键字&lt;/p&gt;

    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;  &amp;gt;&amp;gt;&amp;gt; print('{姓名}今天{年龄}岁了'.format(姓名='黑莓糖',年龄='20'))
  黑莓糖今天20岁了
	
  &amp;gt;&amp;gt;&amp;gt; obj = {'姓名':'黑莓糖','年龄':'20'}
  &amp;gt;&amp;gt;&amp;gt; print('{姓名}今天{年龄}岁了'.format(**obj))
  黑莓糖今天20岁了
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;位置&lt;/p&gt;

    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;  &amp;gt;&amp;gt;&amp;gt; print('{1}今天{0}岁了'.format('20','黑莓糖'))
  黑莓糖今天20岁了
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;符号&lt;/p&gt;

    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;  -格式限定符 {}中带:
  -- 填充对齐 --
  &amp;gt;&amp;gt;&amp;gt; '{:^10}'.format('黑莓糖')
  '   黑莓糖    '
  &amp;gt;&amp;gt;&amp;gt; '{:^10}'.format('黑莓糖')  # 居中
  '   黑莓糖    '
  &amp;gt;&amp;gt;&amp;gt; '{:&amp;gt;10}'.format('黑莓糖')  # 居右
  '       黑莓糖'
  &amp;gt;&amp;gt;&amp;gt; '{:&amp;lt;10}'.format('黑莓糖')  # 居左
  '黑莓糖       '
  &amp;gt;&amp;gt;&amp;gt; '{:*&amp;lt;10}'.format('黑莓糖')
  '黑莓糖*******'

  -- 数值 --
  &amp;gt;&amp;gt;&amp;gt; '{:.3f}'.format(1.732050807568877) # 孤独的根号3
  '1.732'
  &amp;gt;&amp;gt;&amp;gt; '{:.2%}'.format(1.732050807568877) # 孤独的根号3
  '173.21%'

  -- 千位分隔符 --
  &amp;gt;&amp;gt;&amp;gt; '{:,}'.format(1732050807568877)
  '1,732,050,807,568,877'
  &amp;gt;&amp;gt;&amp;gt; '{:,}'.format(1732050807.568877)
  '1,732,050,807.568877'
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;每天进步一点点、&lt;/em&gt;&lt;/p&gt;
</description>
            <link>https://blog.white-poplar.work/2018/06/08/python-format/</link>
            <guid>https://blog.white-poplar.work/2018/06/08/python-format</guid>
            <pubDate>Fri, 08 Jun 2018 00:00:00 +0000</pubDate>
        </item>
        
        <item>
            <title><![CDATA[MS-SQL Server XML 类型]]></title>
            <description>&lt;p&gt;最近遇到需要根据批量选择的数据（N个字段）进行数据操作的问题，最初是通过字符串拼接（A字段1,A字段2,A字段3#B字段1,B字段2,B字段3#C字段1,C字段2,C字段3）传入，存储过程进行分割实现。偶然听到同事说 MS-SQL Server XML 类型可以更方便处理此需求，于是进行了 XML 的初体验…&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;网上搜了下 MS-SQL Server XML，大部分文章都有些繁琐，而只需要用到其中的几个点就可以完成这个需求，所以只记录了下简单的操作，以后遇到复杂的需求再研究其他的用法。&lt;/p&gt;

&lt;p&gt;1.测试 XML 查询&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;DECLARE @xml XML = N'&amp;lt;Root&amp;gt;   
	&amp;lt;Item&amp;gt;
		&amp;lt;MaterialId&amp;gt;1&amp;lt;/MaterialId&amp;gt;
		&amp;lt;Number&amp;gt;20&amp;lt;/Number&amp;gt;
		&amp;lt;WareHouseId&amp;gt;5&amp;lt;/WareHouseId&amp;gt;
	&amp;lt;/Item&amp;gt;
	&amp;lt;Item&amp;gt;
		&amp;lt;MaterialId&amp;gt;3&amp;lt;/MaterialId&amp;gt;
		&amp;lt;Number&amp;gt;1&amp;lt;/Number&amp;gt;
		&amp;lt;WareHouseId&amp;gt;1&amp;lt;/WareHouseId&amp;gt;
	&amp;lt;/Item&amp;gt;
&amp;lt;/Root&amp;gt; '

--查询 XML 数据
SELECT TOP 5
S.value('(MaterialId)[1]','int') MaterialId, 
S.value('(Number)[1]','int') Number,
S.value('(WareHouseId)[1]','int') WareHouseId 
FROM  @xml.nodes('/Root/Item') T(S)

--方便的条件查询 XML 数据
SELECT TOP 5 * FROM (
SELECT
S.value('(MaterialId)[1]','int') MaterialId, 
S.value('(Number)[1]','int') Number,
S.value('(WareHouseId)[1]','int') WareHouseId 
FROM  @xml.nodes('/Root/Item') T(S)
) t WHERE t.WareHouseId = 1
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;和数据库中表的操作几乎一样&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;2.创建存储过程&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;ALTER PROCEDURE proc_use_material(
	@MaterialData	XML,	--物品Id,数量,仓库Id
	@UUID	UNIQUEIDENTIFIER
)
AS 
BEGIN
	SET NOCOUNT ON;

	IF(CONVERT(NVARCHAR(MAX),@MaterialData) = '')
		RETURN 0;

	BEGIN TRY
		BEGIN TRANSACTION
			
			--GO
			INSERT INTO dbo.UseMaterial
					( 
					  MaterialId ,
					  Number ,
					  WareHouseId ,
					  CreatTime ,
					  CreatUUID 
					)
			SELECT 
			S.value('(MaterialId)[1]','bigint') MaterialId, 
			S.value('(Number)[1]','int') Number,
			S.value('(WareHouseId)[1]','bigint') WareHouseId,
			GETDATE(),@UUID
			FROM  @MaterialData.nodes('/Root/Item') T(S)
			
		COMMIT TRANSACTION
		RETURN 1;
	END TRY
	BEGIN CATCH
		ROLLBACK TRANSACTION

		--ProcError

		RETURN -9;
	END CATCH
END
GO
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;定义存储过程包含 XML 参数&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;加了事务和异常处理&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;如果有多步数据操作，可查询 XML 后转为表变量 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;DECLARE @temp_MaterialData TABLE&lt;/code&gt;（会出现什么问题吗？）进行操作&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;3.程序调用存储过程(.Net)&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;#region XML
string strMaterialData = @&quot;
	&amp;lt;Root&amp;gt;   
		&amp;lt;Item&amp;gt;
			&amp;lt;MaterialId&amp;gt;1&amp;lt;/MaterialId&amp;gt;
			&amp;lt;Number&amp;gt;20&amp;lt;/Number&amp;gt;
			&amp;lt;WareHouseId&amp;gt;5&amp;lt;/WareHouseId&amp;gt;
		&amp;lt;/Item&amp;gt;
		&amp;lt;Item&amp;gt;
			&amp;lt;MaterialId&amp;gt;3&amp;lt;/MaterialId&amp;gt;
			&amp;lt;Number&amp;gt;1&amp;lt;/Number&amp;gt;
			&amp;lt;WareHouseId&amp;gt;1&amp;lt;/WareHouseId&amp;gt;
		&amp;lt;/Item&amp;gt;
	&amp;lt;/Root&amp;gt; &quot;;
#endregion

SqlParameter[] parameters = {
	new SqlParameter(&quot;@MaterialData&quot;, strMaterialData),
	new SqlParameter(&quot;@UUID&quot;, '00000000-0000-0000-0000-000000000000')
};
int tempI = DbHelperSQL.RunProc(&quot;proc_enrol_give_material&quot;, parameters);
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;传入字符串类型（程序遍历拼接 ^-^）&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;应该是 MS-SQL Server XML 最基础的操作（雾&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;&lt;em&gt;附字符串分割实现，可忽略（逃：&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;ALTER PROCEDURE proc_use_material(
	@strMaterialData	NVARCHAR(MAX) = '',
	@UUID	UNIQUEIDENTIFIER
)
AS
BEGIN
	SET NOCOUNT ON;

	IF @strMaterialData &amp;lt;= ''
		RETURN 0;

	--分隔符
	IF @strMaterialData &amp;lt;&amp;gt; ''
		SET  @strMaterialData = @strMaterialData + '&amp;amp;' --物品Id,数量,仓库Id&amp;amp;物品Id,数量,仓库Id&amp;amp;

	BEGIN TRY
		BEGIN TRANSACTION

			-- @strMaterialData
			DECLARE @split VARCHAR(1) = '&amp;amp;';
			DECLARE @strMaterialDataItem NVARCHAR(200); --物品Id,数量,仓库Id

			DECLARE @MaterialId BIGINT,@Number INT,@WareHouseId BIGINT;

			WHILE(CHARINDEX(@split,@strMaterialData)&amp;lt;&amp;gt;0)
			BEGIN
				SET @strMaterialDataItem = SUBSTRING(@strMaterialData,1,CHARINDEX(@split,@strMaterialData)-1);

				SET @MaterialId = CONVERT(BIGINT,LEFT(@strMaterialDataItem,charindex(',',@strMaterialDataItem,1)-1));
				SET @Number = CONVERT(BIGINT,LEFT(SUBSTRING(@strMaterialDataItem,charindex(',',@strMaterialDataItem,1)+1,len(@strMaterialDataItem)),CHARINDEX(',',SUBSTRING(@strMaterialDataItem,charindex(',',@strMaterialDataItem,1)+1,len(@strMaterialDataItem)),1)-1));
				SET @WareHouseId = CONVERT(INT,SUBSTRING(SUBSTRING(@strMaterialDataItem,charindex(',',@strMaterialDataItem,1)+1,len(@strMaterialDataItem)),charindex(',',SUBSTRING(@strMaterialDataItem,charindex(',',@strMaterialDataItem,1)+1,len(@strMaterialDataItem)),1)+1,len(@strMaterialDataItem)));

				BEGIN
					--GO
				END

				SET @strMaterialData = STUFF(@strMaterialData,1,CHARINDEX(@split,@strMaterialData),'');
			END

		COMMIT TRANSACTION
		RETURN 1;
	END TRY
	--CATCH
	BEGIN CATCH
		ROLLBACK TRANSACTION

		--ProcError

		RETURN -9;
	END CATCH
END
GO
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;具体参数分隔可自行网上查找，这里的简直不忍直视&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;&lt;em&gt;字符串拼接实现结束，可忽略（逃：&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
</description>
            <link>https://blog.white-poplar.work/2017/10/07/ms-sqlserver-xml/</link>
            <guid>https://blog.white-poplar.work/2017/10/07/ms-sqlserver-xml</guid>
            <pubDate>Sat, 07 Oct 2017 00:00:00 +0000</pubDate>
        </item>
        
        <item>
            <title><![CDATA[MS-SQL Server 表值类型]]></title>
            <description>&lt;p&gt;MS-SQL Server 存储过程参数可以传 table ？&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;经常遇到 excel 数据导入的功能，之前要么是 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;TRUNCATE TABLE&lt;/code&gt; 重置表后程序遍历一条一条插入(数据库连接 N+1 次)，要么就是程序遍历数据库查重后插入(数据库连接 N*2 次)，遇到 excel 中数据较多时比较影响性能和速度。&lt;/p&gt;

&lt;p&gt;网上浏览资料时，发现 MS-SQL Server表值类型(额，好多不知道的…)可以实现连接一次数据库完成上述功能。&lt;/p&gt;

&lt;p&gt;1.创建表值类型&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;CREATE TYPE [dbo].[_InfoType] AS TABLE(
	[_Name] [NVARCHAR](1000) NULL,
	[_Price] [MONEY] NULL
)
GO
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;数据库 -&amp;gt; 可编程性 -&amp;gt; 类型 -&amp;gt; 用户定义表类型&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;2.创建存储过程&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;ALTER PROCEDURE proc_Info_import (
	@uuid				UNIQUEIDENTIFIER,
	@paratable		as	_InfoType	READONLY
)
AS 
BEGIN
	SET NOCOUNT ON;

	--查询出重复/空的记录
	SELECT * FROM @paratable t1 WHERE EXISTS (SELECT t3._Name FROM _Info t3 WHERE t3._Name=t1._Name) OR (t1._Name IS NULL OR t1._Name = '')

	--导入数据库中不存在的记录
	INSERT INTO dbo._Info
			( _Name ,
			  _Price,
			  CreatUUID
			)
	SELECT t1._Name ,
		   ISNULL(t1._Price,0) ,
		   @uuid from @paratable t1 
	WHERE NOT EXISTS(SELECT t3._Name FROM _Info t3 WHERE t3._Name=t1._Name) AND (t1._Name IS NOT NULL AND t1._Name &amp;lt;&amp;gt; '')

END
GO
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;返回重复/空的记录&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;3.程序调用存储过程(.Net)&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;SqlParameter[] parameters = {
	 new SqlParameter(&quot;@uuid&quot;,'00000000-0000-0000-0000-000000000000'),
	 new SqlParameter(&quot;@paratable&quot;,dt),
};
parameters[1].SqlDbType = SqlDbType.Structured;
parameters[1].TypeName = &quot;_InfoType&quot;;
DataTable repeatDt = DbHelperSQL.ExecuteDataSet(&quot;proc_Info_import&quot;, parameters).GetFirstDataTable();
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;TypeName 为创建的表值类型&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;定义表值类型时最好全部设为可空，因为 excel 内容不可控（多么痛的领悟）&lt;/li&gt;
  &lt;li&gt;最好一次创建好表值类型，因为修改表值类型敲麻烦&lt;/li&gt;
  &lt;li&gt;excel 转 table 时最好判断下是否有重新记录，可使用 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Linq Group By&lt;/code&gt; 判断&lt;/li&gt;
  &lt;li&gt;excel 转为 table 后需与表值类型一致，可使用 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;dt.Columns[&quot;名称&quot;].ColumnName = &quot;_Name&quot;&lt;/code&gt; 替换列名&lt;/li&gt;
  &lt;li&gt;MySQL 好像没有表值类型&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;OK，搞定！&lt;/p&gt;
</description>
            <link>https://blog.white-poplar.work/2017/09/27/ms-sqlserver-table-type/</link>
            <guid>https://blog.white-poplar.work/2017/09/27/ms-sqlserver-table-type</guid>
            <pubDate>Wed, 27 Sep 2017 00:00:00 +0000</pubDate>
        </item>
        
        <item>
            <title><![CDATA[Cache unfinished]]></title>
            <description>&lt;p&gt;&lt;strong&gt;HttpRuntime.Cache&lt;/strong&gt; 内存缓存&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Redis&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Memcached&lt;/strong&gt;&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;to be continued&lt;/p&gt;
</description>
            <link>https://blog.white-poplar.work/2016/12/16/cache/</link>
            <guid>https://blog.white-poplar.work/2016/12/16/cache</guid>
            <pubDate>Fri, 16 Dec 2016 00:00:00 +0000</pubDate>
        </item>
        
        <item>
            <title><![CDATA[js console 命令]]></title>
            <description>&lt;p&gt;&lt;strong&gt;Console&lt;/strong&gt; 控制台，是高版本浏览器带的一个调试JS命令、记录日志的功能。Firefox下安装&lt;strong&gt;Firebug&lt;/strong&gt;插件，第一个面板就是。Chrome下打开开发者工具，选择Console面板。IE下打开开发人员工具，选择控制台，要求版本是 IE8+。（PS:快捷键打开按 &lt;strong&gt;F12&lt;/strong&gt;）&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;Console对象好像是浏览器内置的一个对象，不是js的，所以有的浏览器对Console对象的一些方法不支持，举个栗子，IE。&lt;/p&gt;

&lt;p&gt;Console对象提供了5种方法用来显示信息。&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;console.log(&quot;这是log&quot;);      //记录日志
console.info(&quot;这是info&quot;);    //一般信息
console.debug(&quot;这是debug&quot;);  //除错信息
console.warn(&quot;这是warn&quot;);    //警告提示
console.error(&quot;这是error&quot;);  //错误提示
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;console.debug(&quot;&quot;);&lt;/code&gt; 在IE下不支持，所以调试或记录日志信息一般使用 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;console.log(&quot;这是log&quot;);&lt;/code&gt;就ok了，可以把过于强势的&lt;strong&gt;alert&lt;/strong&gt;抛弃了。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;下面是&lt;a href=&quot;http://www.baidu.com/&quot;&gt;百度&lt;/a&gt;首页的console招聘代码。&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;try {
	if (window.console &amp;amp;&amp;amp; window.console.log) {
		console.log(&quot;一张网页，要经历怎样的过程，才能抵达用户面前？\n一位新人，要经历怎样的成长，才能站在技术之巅？\n探寻这里的秘密；\n体验这里的挑战；\n成为这里的主人；\n加入百度，加入网页搜索，你，可以影响世界。\n&quot;);
		console.log(&quot;请将简历发送至 %c ps_recruiter@baidu.com（ 邮件标题请以“姓名-应聘XX职位-来自console”命名）&quot;, &quot;color:red&quot;);
		console.log(&quot;职位介绍：http://dwz.cn/hr2013&quot;)
	}
} catch (e) {};
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;下面是我博客的console代码，主要把基本的显示 文字 换行 段落 链接 图片 颜色 使用了下，以后有机会再看下其他的功能。&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;console.log(&quot;\n%c白楊的博客\n%c真、\n&quot;,&quot;color:#333333;font-size: 16px;font-weight: bold;&quot;,&quot;color:#686868;padding-left: 60px;&quot;);
console.log(&quot;等待永遠不能改變&quot;);
console.log(&quot;Gtalk: %cBYH5566[#]gmail.com&quot;, &quot;color:red&quot;);
console.log(&quot;个人网站: http://white-poplar.github.io/&quot;);
console.log(&quot;%c &quot;, &quot;background:url('http://white-poplar.github.io/img/Lin+Chi-ling.jpg') no-repeat;line-height:450px;padding:0 450px;&quot;);
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;文字颜色在IE下无效，图片只有Chrome浏览器能显示&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;PS:这里只是介绍了下console对象的一些方法的使用，在Console控制台内是可以直接运行JS代码操作网页元素什么的。&lt;/p&gt;

&lt;p&gt;测试 &lt;a href=&quot;https://github.com/&quot;&gt;&lt;strong&gt;GitHub&lt;/strong&gt;&lt;/a&gt; 网站内使用的 &lt;strong&gt;MarkDown&lt;/strong&gt; ~~~&lt;/p&gt;

&lt;div class=&quot;language-js highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nx&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;page:fetch&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;   &lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;NProgress&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;start&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;page:change&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;  &lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;NProgress&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;done&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;page:restore&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;NProgress&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;remove&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</description>
            <link>https://blog.white-poplar.work/2016/02/26/js-console/</link>
            <guid>https://blog.white-poplar.work/2016/02/26/js-console</guid>
            <pubDate>Fri, 26 Feb 2016 00:00:00 +0000</pubDate>
        </item>
        
        <item>
            <title><![CDATA[Google Web Fonts]]></title>
            <description>&lt;p&gt;Google Fonts API 是 Google 推出的一项免费的字体服务，有600多种（2014.02）字体，只需引用一串 link 样式，之后就和定义普通的网页字体一样，font-family、font-weight、font-style、line-height 等进行定义字体。&lt;br /&gt;
这是我做的一个 &lt;a href=&quot;/demo/google-fonts/&quot; title=&quot;Google Fonts API&quot;&gt;DEMO&lt;/a&gt;&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;** Google Font API **&lt;/p&gt;

&lt;p&gt;1.进入 Google Web Fonts 主页 &lt;a href=&quot;https://www.google.com/fonts/&quot;&gt;https://www.google.com/fonts/&lt;/a&gt;，选择字体，我选了Arbutus、Over the Rainbow、Mystery Quest 字体。&lt;br /&gt;
2.选择 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Use&lt;/code&gt;，进入 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Almost done!&lt;/code&gt; 页面，选择完成。&lt;br /&gt;
3.将字体使用到自己网站中，有三种方法：&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;方法一：
&amp;lt;link href='http://fonts.googleapis.com/css?family=Arbutus|Over+the+Rainbow|Mystery+Quest' rel='stylesheet' type='text/css'&amp;gt;
方法二：
@import url(http://fonts.googleapis.com/css?family=Arbutus|Over+the+Rainbow|Mystery+Quest);
方法三：
&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;
  WebFontConfig = {
	google: { families: [ 'Arbutus::latin', 'Over+the+Rainbow::latin', 'Mystery+Quest::latin' ] }
  };
  (function() {
	var wf = document.createElement('script');
	wf.src = ('https:' == document.location.protocol ? 'https' : 'http') +
	  '://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
	wf.type = 'text/javascript';
	wf.async = 'true';
	var s = document.getElementsByTagName('script')[0];
	s.parentNode.insertBefore(wf, s);
  })(); 
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;4.使用时和普通的网页字体一样。&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/demo/google-fonts/&quot; title=&quot;Google Fonts API&quot;&gt;DEMO&lt;/a&gt;&lt;/p&gt;
</description>
            <link>https://blog.white-poplar.work/2016/02/11/google-fonts/</link>
            <guid>https://blog.white-poplar.work/2016/02/11/google-fonts</guid>
            <pubDate>Thu, 11 Feb 2016 00:00:00 +0000</pubDate>
        </item>
        
        <item>
            <title><![CDATA[.Net网站项目 IE10浏览器 _doPostBack未定义]]></title>
            <description>&lt;p&gt;VS2010  .NET 4 开发的网站项目，如果用到需要JavaScript回调的控件，生成html时会生成js   _doPostBack函数，在IE10 浏览器下会 出现&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_doPostBack未定义&lt;/code&gt;错误&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;&lt;strong&gt;解决办法&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;项目中添加 browser文件&lt;/p&gt;

&lt;p&gt;详见：&lt;br /&gt;
博客园 &lt;a href=&quot;http://www.cnblogs.com/jasonlwings/archive/2013/03/12/2955738.html&quot;&gt;.Net IE10 _doPostBack 未定义&lt;/a&gt;&lt;br /&gt;
MSDN &lt;a href=&quot;http://blogs.msdn.com/b/scott_hanselman/archive/2011/10/28/asp-net-ie10-dopostback-javascript-ff5.aspx&quot;&gt;错误与修复：ASP.NET无法检测IE10，导致_doPostBack未定义JavaScript错误，恒处于FF5卷动条位置&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;但在 &lt;strong&gt;IE11&lt;/strong&gt; 中上述办法不能解决这个问题，需要在 &lt;strong&gt;ie.browser&lt;/strong&gt; 文件顶部的 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;browsers&amp;gt;&lt;/code&gt; 下添加以下代码：&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&amp;lt;browser id=&quot;IE11&quot; parentID=&quot;Mozilla&quot;&amp;gt;
	&amp;lt;identification&amp;gt;
		&amp;lt;userAgent match=&quot;Trident\/7.0; rv:(?'version'(?'major'\d+)(\.(?'minor'\d+)?)(?'letters'\w*))(?'extra'[^)]*)&quot; /&amp;gt;
		&amp;lt;userAgent nonMatch=&quot;IEMobile&quot; /&amp;gt;
	&amp;lt;/identification&amp;gt;
	&amp;lt;capture&amp;gt;
		&amp;lt;userAgent match=&quot;Trident/(?'layoutVersion'\d+)&quot; /&amp;gt;
	&amp;lt;/capture&amp;gt;
	&amp;lt;capabilities&amp;gt;
		&amp;lt;capability name=&quot;browser&quot;              value=&quot;IE&quot; /&amp;gt;
		&amp;lt;capability name=&quot;layoutEngine&quot;         value=&quot;Trident&quot; /&amp;gt;
		&amp;lt;capability name=&quot;layoutEngineVersion&quot;  value=&quot;${layoutVersion}&quot; /&amp;gt;
		&amp;lt;capability name=&quot;extra&quot;                value=&quot;${extra}&quot; /&amp;gt;
		&amp;lt;capability name=&quot;isColor&quot;              value=&quot;true&quot; /&amp;gt;
		&amp;lt;capability name=&quot;letters&quot;              value=&quot;${letters}&quot; /&amp;gt;
		&amp;lt;capability name=&quot;majorversion&quot;         value=&quot;${major}&quot; /&amp;gt;
		&amp;lt;capability name=&quot;minorversion&quot;         value=&quot;${minor}&quot; /&amp;gt;
		&amp;lt;capability name=&quot;screenBitDepth&quot;       value=&quot;8&quot; /&amp;gt;
		&amp;lt;capability name=&quot;type&quot;                 value=&quot;IE${major}&quot; /&amp;gt;
		&amp;lt;capability name=&quot;version&quot;              value=&quot;${version}&quot; /&amp;gt;
	&amp;lt;/capabilities&amp;gt;
&amp;lt;/browser&amp;gt;

&amp;lt;!-- Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11,0) like Gecko --&amp;gt;

&amp;lt;browser id=&quot;IE110&quot; parentID=&quot;IE11&quot;&amp;gt;
	&amp;lt;identification&amp;gt;
		&amp;lt;capability name=&quot;majorversion&quot; match=&quot;11&quot; /&amp;gt;
	&amp;lt;/identification&amp;gt;
	&amp;lt;capabilities&amp;gt;
		&amp;lt;capability name=&quot;ecmascriptversion&quot;    value=&quot;3.0&quot; /&amp;gt;
		&amp;lt;capability name=&quot;jscriptversion&quot;       value=&quot;5.6&quot; /&amp;gt;
		&amp;lt;capability name=&quot;javascript&quot;           value=&quot;true&quot; /&amp;gt;
		&amp;lt;capability name=&quot;javascriptversion&quot;    value=&quot;1.5&quot; /&amp;gt;
		&amp;lt;capability name=&quot;msdomversion&quot;         value=&quot;${majorversion}.${minorversion}&quot; /&amp;gt;
		&amp;lt;capability name=&quot;w3cdomversion&quot;        value=&quot;1.0&quot; /&amp;gt;
		&amp;lt;capability name=&quot;ExchangeOmaSupported&quot; value=&quot;true&quot; /&amp;gt;
		&amp;lt;capability name=&quot;activexcontrols&quot;      value=&quot;true&quot; /&amp;gt;
		&amp;lt;capability name=&quot;backgroundsounds&quot;     value=&quot;true&quot; /&amp;gt;
		&amp;lt;capability name=&quot;cookies&quot;              value=&quot;true&quot; /&amp;gt;
		&amp;lt;capability name=&quot;frames&quot;               value=&quot;true&quot; /&amp;gt;
		&amp;lt;capability name=&quot;javaapplets&quot;          value=&quot;true&quot; /&amp;gt;
		&amp;lt;capability name=&quot;supportsCallback&quot;     value=&quot;true&quot; /&amp;gt;
		&amp;lt;capability name=&quot;supportsFileUpload&quot;   value=&quot;true&quot; /&amp;gt;
		&amp;lt;capability name=&quot;supportsMultilineTextBoxDisplay&quot; value=&quot;true&quot; /&amp;gt;
		&amp;lt;capability name=&quot;supportsMaintainScrollPositionOnPostback&quot; value=&quot;true&quot; /&amp;gt;
		&amp;lt;capability name=&quot;supportsVCard&quot;        value=&quot;true&quot; /&amp;gt;
		&amp;lt;capability name=&quot;supportsXmlHttp&quot;      value=&quot;true&quot; /&amp;gt;
		&amp;lt;capability name=&quot;tables&quot;               value=&quot;true&quot; /&amp;gt;
		&amp;lt;capability name=&quot;supportsAccessKeyAttribute&quot;    value=&quot;true&quot; /&amp;gt;
		&amp;lt;capability name=&quot;tagwriter&quot;            value=&quot;System.Web.UI.HtmlTextWriter&quot; /&amp;gt;
		&amp;lt;capability name=&quot;vbscript&quot;             value=&quot;true&quot; /&amp;gt;
	&amp;lt;/capabilities&amp;gt;
&amp;lt;/browser&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;blockquote&gt;
  &lt;p&gt;PS：IE10、IE11 浏览器包括使用其内核的浏览器&lt;/p&gt;
&lt;/blockquote&gt;
</description>
            <link>https://blog.white-poplar.work/2016/01/23/asp.net-ie10/</link>
            <guid>https://blog.white-poplar.work/2016/01/23/asp.net-ie10</guid>
            <pubDate>Sat, 23 Jan 2016 00:00:00 +0000</pubDate>
        </item>
        
        <item>
            <title><![CDATA[迟早得进一次窄门]]></title>
            <description>&lt;p&gt;&lt;img src=&quot;https://blog.white-poplar.work/img/posts/zzb.png&quot; alt=&quot;至尊宝&quot; /&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;文： &lt;a href=&quot;http://mp.weixin.qq.com/s?__biz=MjM5NDU0Mjk2MQ==&amp;amp;mid=202901242&amp;amp;idx=1&amp;amp;sn=187e86350564cb4755996aeb04b44f93&amp;amp;3rd=MzA3MDU4NTYzMw==&amp;amp;scene=6#rd&quot;&gt;连岳微信&lt;/a&gt; 
&lt;!--break--&gt;
前天&lt;a href=&quot;http://mp.weixin.qq.com/s?__biz=MjM5NDU0Mjk2MQ==&amp;amp;mid=202849212&amp;amp;idx=1&amp;amp;sn=365e637ddf0797189aedabd56b050d11&amp;amp;3rd=MzA3MDU4NTYzMw==&amp;amp;scene=6#rd&quot;&gt;《“冷酷”的价值》&lt;/a&gt;，有些朋友留言，很疑惑：你说的和大多数的想法不同呀？&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;当你的想法和多数人不同时，压力就来了。有个简单的实验可以测试出孩子的意志力强弱：你故意将其置于少数地位，弱的孩子很快就会转变立场，向多数投降。不加以训练的话，这种讨好多数，不敢和他人不同的行为模式就将贯穿一生。&lt;/p&gt;

&lt;p&gt;当然，加以训练的人不多。&lt;/p&gt;

&lt;p&gt;多数人的想法，有时对，有时错。对的时候也未必适合你。人这一生，必然有一次，或若干次，你的想法、你的选择、你的坚持，将与多数人不同。此时，照顾多数人的感受，牺牲的只是自己。其实，他人未必在乎你，无论是赞扬还是贬低，转眼也就忘了，只有你还牢牢记住。即使你为别人牺牲，风向一变，多数人的想法改变了，你却可悲地沦为被嘲笑的对象。&lt;/p&gt;

&lt;p&gt;为父母活，为孩子活，为他人活，很多人以此自夸：你看，我放弃了自己！其实，这可能是掩饰从来不敢为自己活的软弱。为别人活没人会责怪你，你还能以“债主”自居。&lt;/p&gt;

&lt;p&gt;为自己活，无处推诿。之后的一切，不快乐也罢，不成功也罢，责任都在自己。而感觉“受侮辱、受冷落”的多数人，在潜意识里也是期待你难过的，甚至你的父母，都会出来占你的便宜：你看吧？不听我的话，混得这么惨。&lt;/p&gt;

&lt;p&gt;不过，这还是比为别人活更好，在选择的时候，已经获得了勇气。而真要得到一点什么，独立的生活、自由的精神、创造的乐趣，也不得不走这条少有人走的路。&lt;/p&gt;

&lt;p&gt;马太福音里有话，作为方法论，是值得记住的：&lt;/p&gt;

&lt;p&gt;“要进窄门，因为多数人走的大路、进的大门将引向毁灭。”&lt;/p&gt;

&lt;p&gt;Enter through the narrow gate. For wide isthe gate and broad is the road that leads to destruction, and many enterthrough it.&lt;/p&gt;

&lt;p&gt;你至少得进一次窄门。这像出生一样必要。&lt;/p&gt;

&lt;p&gt;文章来源： &lt;a href=&quot;http://mp.weixin.qq.com/s?__biz=MjM5NDU0Mjk2MQ==&amp;amp;mid=202901242&amp;amp;idx=1&amp;amp;sn=187e86350564cb4755996aeb04b44f93&amp;amp;3rd=MzA3MDU4NTYzMw==&amp;amp;scene=6#rd&quot;&gt;连岳微信&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;配图来源 豆瓣&lt;/p&gt;
&lt;/blockquote&gt;
</description>
            <link>https://blog.white-poplar.work/2014/12/23/narrow-gate/</link>
            <guid>https://blog.white-poplar.work/2014/12/23/narrow-gate</guid>
            <pubDate>Tue, 23 Dec 2014 00:00:00 +0000</pubDate>
        </item>
        
        <item>
            <title><![CDATA[孩子，我首先希望你自始至终都是一个理想主义者!]]></title>
            <description>&lt;blockquote&gt;
  &lt;p&gt;文：中国作家协会张梅
&lt;!--break--&gt;
孩子，我首先希望你自始至终都是一个理想主义者。
你可以是农民，可以是工程师，可以是演员，可以是流浪汉，
但你必须是个理想主义者。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;当你童年，我们讲英雄的故事给你听，
并不是要你一定成为英雄，而是希望你具有纯正的品格；
当你年少，我们让你接触诗歌，绘画，音乐，
是为了让你的心灵填满高尚的情趣，
这些高尚的情趣会支撑你的一生，
使你在最严酷的冬天也不会忘记玫瑰的芳香。&lt;/p&gt;

&lt;p&gt;孩子，不要为自己 的外形担忧。
理想纯洁你的气质，
而最美的女人也会因为庸俗而令人生厌。
通向理想的道路往往不尽人意，
而你亦会为此受尽磨难。
但是孩子，你尽管去争取，
理想主义者的结局悲壮但决不可怜。&lt;/p&gt;

&lt;p&gt;在那貌似坎坷的 人生中，
你会结识很多智者和君子，
你会遇到许多旁人无法遇到的风景和奇迹。
选择平庸虽然稳妥，但绝无色彩。
不要为蝇头小利放弃自己的理想，
不要为某种潮流而放弃自己的信念。
物质世界的外表太过复杂，
你要懂得如何去拒绝虚荣的诱惑。
理想不是实惠的东西，
它往往无法带给你尘世的享受。
因此你必须习惯无人欣赏你，
学会精神享受，学会与他人不同。&lt;/p&gt;

&lt;p&gt;其次，孩子，我希望你是个踏实的人。
人生太过短促，而虚的东西有太多，
你很容易眼花缭乱，最终一事无成。
如果你是一个美貌的女孩 子，
年轻的时候会有许多男性宠你，
你得到的东西过于容易，这会使你流于浅薄和虚浮；
如果你是一个极聪明的男孩，
又会以为自己能够成就许多大事而流于轻佻。
记住，我们每个人的 能力有限，
我们活在世上做好一件事足矣，
写好一本书，做好一个主妇。。。
不要轻视平凡的人，不要投机取巧，
不要攻击自己做不到的事。
长大后你会知道，做好一件事太难， 但你决不要放弃。&lt;/p&gt;

&lt;p&gt;你要懂得和珍惜 情感。
不管男人女人，不管城内城外，
相交一场实在不容易。
交 友的过程会有误解和摩擦，
但你想一想，诺大世界能有缘结伴而行的又有几人？
你要明白，朋友终会离去，
生活中能有人伴在你身边，
听你倾谈，倾谈给你听，你就应该感激。
要爱自己和爱他人，要懂 自己和懂他人。
你的心要如溪水般柔软，你的眼波要像春天般妩媚。
你要会流泪，会孤身一人在黑暗中听伤感的音乐，
你要懂得欣赏悲剧，悲剧能丰富你的心灵。&lt;/p&gt;

&lt;p&gt;希望你不要媚俗。
你是一个独立的人，
无人能抹杀你的独立性，除非你向世俗妥协。
要学会欣赏真，要学会在重重面具之下看到真。
世上圆滑标准的人很多，但出类拔萃的人极少，
而往往出类拔萃又隐藏在卑琐狂荡之下。
在形式上，我们无法与既定的世俗争斗，
而在内心，我们都是自己的国王。
如果你的脸上出现献媚的笑容，我将掩面羞愧而去。
世俗的许多东 西虽然耀眼却无价值，
不要把自己置于大众的天平之上，你会因此无所适从，人云亦云。&lt;/p&gt;

&lt;p&gt;在具体的做人上，
我希望你不要打断别人的谈话，不要娇气十足。
不要想着别人为你做些什么，而是想着怎么去帮助别人。
借他人的东西要还，不要随便接受他人的恩惠，
要记住，别人的东西再好也是别人的，
自己的东西再差也是自己的。
每天至少拿出两小时读书。&lt;/p&gt;

&lt;p&gt;还有一件事，
虽然做起来很难，但相当重要，这就是要有勇气正视自己的缺点。
你会一年年的长大，你会渐渐遇到比你强，比你优秀的人，
你会发 现自己身上有许多自己厌恶的缺点，这会使你沮丧和自卑。
你一定要正视它，不 要躲避，要一点点的加以改正，
战胜自己比服从他人更艰巨和有意义。&lt;/p&gt;

&lt;p&gt;不管世界潮流如何变化，
人的优秀品质是永恒的：正直，勇敢，独立，充满爱心。
我希望你是一个优秀的人！&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;文：中国作家协会张梅&lt;/p&gt;
&lt;/blockquote&gt;
</description>
            <link>https://blog.white-poplar.work/2014/06/08/idealistic/</link>
            <guid>https://blog.white-poplar.work/2014/06/08/idealistic</guid>
            <pubDate>Sun, 08 Jun 2014 00:00:00 +0000</pubDate>
        </item>
        
        <item>
            <title><![CDATA[即使天黑了，心还是要亮着]]></title>
            <description>&lt;p&gt;&lt;img src=&quot;https://blog.white-poplar.work/img/posts/163mail.png&quot; alt=&quot;白楊&quot; /&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;我出身不好，教养也差，但一直努力尝试做一个体面的人。 —— 罗永浩&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;老罗的这句话，感动的好久，都要流泪了。
&lt;!--break--&gt;
先讲下老罗，5月20号 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;锤子手机&lt;/code&gt; 就要发布了，想想还是有些小激动呢。忘了从什么时候开始关注老罗的，只是觉得从一开始了解就喜欢上了这个胖子。柴静曾经讲过，很多人喜欢老罗是因为他剽悍、叛逆、幽默、诡异、独立什么的，但是他对这个世界有我所知的罕见的善意和温柔。&lt;/p&gt;

&lt;p&gt;我从刚了解老罗，就觉得这个胖子很真（好吧，又是这个词），也有了些小成就，想自己也也能成为他这样的人。其实还有一点是，他是一个普通人，没有什么背景，和高的学历，但也成功了（可能他自己不是这样认为的），幻想自己也能。&lt;/p&gt;

&lt;p&gt;老罗一直讲什么情怀、完美主义、理想主义，而我自己感觉自己也有些理想主义的（是不是太自恋了^-^），所以经常对一些很圆滑的人感觉他们不是同一种人，觉得和他们的价值观不一样（好吧，可能是我的问题）。&lt;/p&gt;

&lt;p&gt;附我比较喜欢老罗的一句话，真心希望老罗的手机能成功。&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;每一个生命来到世间，都注定改变世界，别无选择，要么变得好一些，要么变得坏一些。你如果走进社会，为了生存，为了什么不要脸的理由变成了一个恶心的成年人，社会中的一员，那你就把这个世界变得恶心了一点点；如果你一生刚正不阿，一生耿直，没有做任何恶心的事情，没做对别人有害的事情，一辈子拼了老命勉强把自己身边的几个人照顾好了，把老婆孩子老娘照顾好了，没有成名，没有发财，没有成就伟大的事业，一生正直，然后到了七八十岁梗着脖子去世了，你这一生是不是没有改变世界？你还是改变世界了，你把这个世界变得美好了一点点，因为世界上又多了一个好人。
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;hr /&gt;
&lt;p&gt;关于工作，这半个月觉得自己好像没做什么事情，C/S结构的项目，自己不会可也不主动去问、去学，老是感觉问题在别人身上，自己只占一小部分。但自己内心也清楚，现在的公司可能是自己工作过的公司里面感觉最好的一个了，虽然其他同事的离职，讲什么要尽早离开这里什么的，可我确实还是挺喜欢这里的，也许是我目光短浅，看不到那么长远的东西，但陆确实是我遇到的最好的一个直接领导，没有之一，以后如果去其他的公司，可能也不会再遇到更好的了。&lt;/p&gt;

&lt;p&gt;现在对自己不擅长的工作，总是抱着很抵触的情绪，总感觉别人应该手把手教自己。可别人没有义务去教自己知识的，自己难道不清楚吗？公司领导把自己招过来是为了去解决问题的，而不是去来教你东西的。每天感到很不安，却不去想想怎么改变。&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;只有行动,才能解除你所有的不安。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;确实，不知为什么自己总是很害怕，交流恐惧症，应该要改变了，长时间在舒适区里对自己没什么好处，想想自己在写asp的一年中，学到了什么呢？&lt;/p&gt;

&lt;hr /&gt;
&lt;p&gt;关于朋友&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;能见你活得好的，才可以做朋友。若做不到这点还是算了，Ta即使能在困难时帮上点忙，也只是幸灾乐祸着享受高高在上的姿态。彼此心照不宣拗着一口气相处，心像永远隔着层纸，太累。
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;hr /&gt;
&lt;p&gt;关于父母&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;对不起，从未让你们骄傲，你们却待我如宝。
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;blockquote&gt;
  &lt;p&gt;配图来源 网易163邮箱&lt;/p&gt;
&lt;/blockquote&gt;
</description>
            <link>https://blog.white-poplar.work/2014/05/17/chotto/</link>
            <guid>https://blog.white-poplar.work/2014/05/17/chotto</guid>
            <pubDate>Sat, 17 May 2014 00:00:00 +0000</pubDate>
        </item>
        
        <item>
            <title><![CDATA[你若盛开，清风自来]]></title>
            <description>&lt;p&gt;&lt;img src=&quot;https://blog.white-poplar.work/img/posts/heart.jpg&quot; alt=&quot;你若盛开，清风自来&quot; /&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;你若盛开，笑靥如花，清风自来，如沐春风，我心安好，便是晴天。唯你而安！ —— 三毛
&lt;!--break--&gt;
「 2014.4.20」周末和之前一样浑浑噩噩的过去了，说好的出去转转呢？说好的学习呢？&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;死宅、恐惧&lt;/p&gt;

&lt;p&gt;附：&lt;strong&gt;&lt;a href=&quot;http://blog.renren.com/share/487910812/15742028314&quot;&gt;你不是寂寞，你只是不想学习&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;周五晚上你一直泡在实验室，打开了课程PPT只看了两页就看不下去了，上网刷了几十分钟发现无事可做了，磨磨蹭蹭一晚上最后回宿舍打牌了，于是你觉得后悔了，觉得寂寞了，你觉得反正没学习还不如出去玩玩来的有价值，觉得大好青春就这么浪费了。

周六的早上你起得还算早，为了弥补昨晚没学习的愧疚你去图书馆打算把自控从头看起，消化一下之前没听懂的，但是你塞着耳机坐下来，看了一个小时，你觉得效率实在太低了，看不下去了，你觉得上午到此为止下午再继续好了。但是放下笔你却不知道做什么，不知道找谁哪怕能说说话，于是你一怒之下去万达把钢3看了。

到了晚上，你觉得这个周末过得怎么好像这么熟悉呢？

你就像一个气球，吹的鼓鼓地去学习，被几个难点戳出了小洞，便一下子瘪了下来，最后拖着一身颓废的皮囊回去，边唾弃自己边准备明天再把自己吹起来。

还有两个月你的大二就结束了，还有一年你就要准备衮蛋了，这些你都知道，当你看到倒数日上的数字时你的心还会紧一下，但每当坐到书桌前你就突然觉得好像两个月是一段很长的时间，完全可以容忍一两天的小小拖延。

你心不安理不得地拖延着，像个傻逼一样在拖延后唾骂自己两句，但是日子还是那样过。你想出去吃点好吃的，玩点好玩的，但是找不到人一起去，你就觉得寂寞了，无奈了，一点学习动力都么有了。

是的你不是寂寞，你只是不想学习。

周五晚上坐你对面的学长刚考完一门课，却仍然在看笔记学课件，他只是一直默默地坐在那里一声不吭，他看起来很轻松。周六坐你后桌的同学在你来的时候就已经在那里了，你看完电影回来，他似乎只是换了个坐姿。你每天早上七点多来到实验室你觉得很早，但是那个学长总是早你几分钟坐在位子上读英语，你在他的读书声中撕开早饭的包装袋，你觉得没什么，我起得也挺早。

你的脑子里塞满了生活应该有的理想化的样子，你知道怎么做，你知道什么时候该做什么，但你他妈就是不去做。
还有40几天考6级了，你对自己说这次说什么都得过，但是上次考前买的模拟卷到现在也才只做了几份而已。

你说这学期要科科优秀，把大一的绩点拉上来，但是到现在汇编程序语言一点都没搞懂，你还整天腆着脸坐在前几排对着老师发呆。

你把学不进去归结于心情不好，对，你寂寞，你无聊，你的青春被狗吃了。

你想追求的一切都在看似遥远的未来，于是你想未来就等来了再决定。

对，你就是个傻逼。

不想学习的傻逼。
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;一直想成为自己羡慕的网上的那些大神，也知道他们能有现在所付出的努力，可自己每天只是刷下知乎、微博，却幻想能和他们一样，幻想永远只是幻想，永远……&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;配图来源 DIY 「第一行 方正静蕾字体，第二行 方正兰亭纤黑字体」&lt;/p&gt;
&lt;/blockquote&gt;
</description>
            <link>https://blog.white-poplar.work/2014/04/20/heart-say/</link>
            <guid>https://blog.white-poplar.work/2014/04/20/heart-say</guid>
            <pubDate>Sun, 20 Apr 2014 00:00:00 +0000</pubDate>
        </item>
        
        <item>
            <title><![CDATA[Tencent 前端突击队 （第二季）]]></title>
            <description>&lt;p&gt;&lt;img src=&quot;https://blog.white-poplar.work/img/posts/tencent2.png&quot; alt=&quot;Tencent 前端突击队&quot; /&gt;&lt;/p&gt;

&lt;p&gt;周六晚上，浏览信息时看到腾讯 &lt;a href=&quot;http://codestar.alloyteam.com/&quot; title=&quot;前端突击队&quot;&gt;前端突击队&lt;/a&gt; 第二季出了,觉得挺有意思的，就完了会，一发不可收拾，玩到了凌晨3点。&lt;/p&gt;

&lt;p&gt;游戏开始时提示通关会有福利的，最后通关后发现就是上图的漂亮妹子的&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;等我找你~&lt;/code&gt;(⊙o⊙)…&lt;/p&gt;

&lt;p&gt;图片丢了 o(╥﹏╥)o
&lt;!--break--&gt;
游戏里面的题目感觉还是挺难的，唉，前端水很深，路还很长啊！&lt;/p&gt;

&lt;p&gt;下面记录下自己感觉比较实用的题目里面出现的知识点：&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;水平&amp;amp;垂直居中&lt;/strong&gt; &lt;a href=&quot;/demo/absolute-centering/&quot; title=&quot;水平&amp;amp;垂直居中&quot;&gt;DEMO&lt;/a&gt;&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;------ 负外边距 ------
#wrapper { 
	width:800px;
	height:400px;
	position:absolute;
	top:50%;
	left:50%;
	margin:-200px 0 0 -400px;
}
.is-Negative {  
	width: 300px;  
	height: 200px;  
	padding: 20px;  
	position: absolute;  
	top: 50%; left: 50%;  
	margin-left: -170px; /* (width + padding)/2 */  
	margin-top: -120px; /* (height + padding)/2 */  
}
------ 绝对定位居中 (IE8+) ------
.Absolute-Center {  
	margin: auto;  
	position: absolute;  
	top: 0; 
	left: 0; 
	bottom: 0; 
	right: 0;  
	overflow: auto; /*建议设置overflow:auto来防止内容越界溢出*/
}
------ 表格单元格（Table-Cell） ------
HTML:
&amp;lt;div class=&quot;Center-Container is-Table&quot;&amp;gt;
    &amp;lt;div class=&quot;Table-Cell&quot;&amp;gt;
        &amp;lt;div class=&quot;Center-Block&quot;&amp;gt;表格单元格（Table-Cell）&amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
CSS:
.Center-Container.is-Table { 
    display: table; 
    width: 100%;
    height: 100%;
}
.is-Table .Table-Cell {  
	display: table-cell;  
	vertical-align: middle;  
}  
.is-Table .Center-Block {  
    width: 50%;  
    height: 50%;
    margin: 0 auto;
    background-color: #040;
} 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;CSS3 @keyframes&lt;/strong&gt; &lt;a href=&quot;/demo/keyframes/&quot; title=&quot;CSS3 @keyframes&quot;&gt;DEMO&lt;/a&gt;&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;#box {
    width:100px;
    height:100px;
    background-color: #040;
    position:relative;
    animation:Dmove 8s infinite;
    -moz-animation:Dmove 8s infinite; /* Firefox */
    -webkit-animation:Dmove 8s infinite; /* Safari and Chrome */
    -o-animation:Dmove 8s infinite; /* Opera */
}
@keyframes Dmove {
    0% {top:0px;}
    50% {top:200px; background-color: #f00;}
    100% {top:0px;}
}
@-moz-keyframes Dmove { /* Firefox */
    0% {top:0px;}
    50% {top:200px; background-color: #f00;}
    100% {top:0px;}
}
@-webkit-keyframes Dmove { /* Safari and Chrome */
    0% {top:0px;}
    50% {top:200px; background-color: #f00;}
    100% {top:0px;}
}
@-o-keyframes Dmove { /* Opera */
    0% {top:0px;}
    50% {top:200px; background-color: #f00;}
    100% {top:0px;}
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Css3-flexbox&lt;/strong&gt; &lt;a href=&quot;http://www.w3.org/html/ig/zh/wiki/Css3-flexbox/zh-hans&quot;&gt;http://www.w3.org/html/ig/zh/wiki/Css3-flexbox/zh-hans&lt;/a&gt;&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;display: flex; 
flex: 1;

水有些深，mark 下地址
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;blockquote&gt;
  &lt;p&gt;配图来源 &lt;a href=&quot;http://codestar.alloyteam.com/q2/&quot; title=&quot;Tencent 前端突击队&quot;&gt;Tencent 前端突击队&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;音悦台 &lt;a href=&quot;http://v.yinyuetai.com/video/174322&quot; title=&quot;高桥优 - 少年であれ&quot;&gt;高桥优 - 少年であれ&lt;/a&gt;&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;成为在这个星球上
谁都不由自主
爱上的那个少年吧
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</description>
            <link>https://blog.white-poplar.work/2014/04/13/tencent-code-star-q2/</link>
            <guid>https://blog.white-poplar.work/2014/04/13/tencent-code-star-q2</guid>
            <pubDate>Sun, 13 Apr 2014 00:00:00 +0000</pubDate>
        </item>
        
        <item>
            <title><![CDATA[让你此生难成大器的七宗罪]]></title>
            <description>&lt;p&gt;&lt;img src=&quot;https://blog.white-poplar.work/img/posts/Se7en.jpg&quot; alt=&quot;让你此生难成大器的七宗罪&quot; /&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;译言网 &lt;a href=&quot;http://select.yeeyan.org/view/276203/401859&quot;&gt;http://select.yeeyan.org/view/276203/401859&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;是，你没看错……说的就是你……说的就是你呢！&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;我此刻死盯着你的眼睛（好吧，也不是那么名副其实的“盯着”，因为你看到的是这篇文章不是我，但请想象，我现在正在死盯着你，我的镭射眼大概已经“看穿”你的脸了）告诉你，你一点儿机会都没有。&lt;/p&gt;

&lt;p&gt;我肯定，如果你看完这文章这罪状还不觉得这是你的问题所在，那你就该发愁了。&lt;/p&gt;

&lt;p&gt;其实你该愁死了才对。你该做的就是放下手头一切事情，深刻反省自己的存在有何意义。你该照面镜子，盯着自己的眼睛，举起手来给自己一个大耳刮子才是。&lt;/p&gt;

&lt;p&gt;听明白了吗？那就继续重复这个动作直到你醒悟过来、准备好了的时候，再继续往下看吧。
&lt;!--break--&gt;
&lt;strong&gt;我说的是“真枪实弹”的实战技能！&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;不是所谓的“多学少玩第一名”，也不是你那本价值“五万金”的文凭宣称你身怀的“懒散逃课抽大麻照旧毕业”绝技。&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;我说的是，起身出门、有所行动、干出点儿屁事来的技能！就是那一套搬出老妈的房子、辞职再冲全世界吼一声“草泥马”然后真真正正干点儿事情的技能。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;那套人人都愿意为之付出学习代价的技能，那套已日渐消亡的技能。&lt;/p&gt;

&lt;p&gt;如此技能自然不能在课堂上或课本中习得。要掌握如此技能，实践出真知是唯一方法，譬如，借从悬崖跳落之际习得飞翔技巧。&lt;/p&gt;

&lt;p&gt;如此技能只有在一个人发现了真正自我之时才能学会。也就是说，只有当你真正处于危险之中或直面失败的时候，才能掌握。&lt;/p&gt;

&lt;p&gt;如此技能，只有在你愿意付出一切只为做成一件大事的时候，才能习得。&lt;/p&gt;

&lt;p&gt;如此技能，在此刻之前，你以为你已经掌握。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“简单说来，我要说的就是，在生活这个游戏里，你连门儿都没找着”。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;第一宗罪：你失败得还不够。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;因为你满足于平庸，因为你选择不去尝试。&lt;/p&gt;

&lt;p&gt;因为只在嘴上说说学习一门新外语（或编程）比真正去学容易太多。&lt;/p&gt;

&lt;p&gt;因为在你看来，每件事都是“太难”或者“太复杂”，所以你选择“等等看吧”或者“明天再做好了”。&lt;/p&gt;

&lt;p&gt;即便你讨厌自己的工作，也不愿意换另一份，因为你觉得自己可以轻易拒绝“被拒绝”这件事。&lt;/p&gt;

&lt;p&gt;但就在你一事无成、败于尝试之际，我正在尝试各种可能、哪怕失败，我正在挑战自我、学习新知识、如果失败，那么越早越好。&lt;/p&gt;

&lt;p&gt;因为就算失败也是宝贵的一课，我会调整方向，保证自己一路向前。正如炼钢，烈火锤炼我已经历。一把磨得尖利的宝剑，必能把未经历练的你，切成两半。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;第二宗罪：你在乎别人对你的看法。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;因为你要合群。&lt;/p&gt;

&lt;p&gt;因为你坚信，与众不同的你，要跟大众一起用同样的方法与众不同，才算酷。&lt;/p&gt;

&lt;p&gt;因为你害怕面对真正的自己，因为你害怕世界会对你另眼相看。就因为你会对别人评头论足，你非认为别人也在做同样的事。&lt;/p&gt;

&lt;p&gt;你在乎拥有的东西多过做过的事情。&lt;/p&gt;

&lt;p&gt;但当你在不断买新衣、新车、光顾昂贵餐厅和各色酒吧之时，我正在不断投资自己。你在不断努力求得主流认可，而我将让主流认可我。&lt;/p&gt;

&lt;p&gt;我会一窝蜂抛掉所有不安全感，让世界看见真正的我。你怎么看我，我不再在乎。我会只身受信念大潮的冲洗，怡然自得地看你与世俗联姻，而我却与超凡携手。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;第三宗罪：因为你自觉十分聪明。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;因为别人干什么你就干什么，别人学什么你就学什么，别人读什么书你也依葫芦画瓢读同一本。&lt;/p&gt;

&lt;p&gt;因为你学习是为了通过考试，通过既定的考试又让你觉得自己很聪明。&lt;/p&gt;

&lt;p&gt;因为你觉得学习那是只发生在学校里的事。&lt;/p&gt;

&lt;p&gt;但你读大学的时候，我正在学习人生；我选择不在教室里学习这个世界，而是真正闯进去，活在真实世界里，以此为我的课堂。&lt;/p&gt;

&lt;p&gt;因为我懂的，远比任何一张文凭赋予的都多。因为聪明从来都不是学来的，聪明是从生活中来的。&lt;/p&gt;

&lt;p&gt;也许我没有文凭，但我打赌，你找不出任何一个让我哑口无言的话题。&lt;/p&gt;

&lt;p&gt;你的所谓考试，如果有必要去考，那我也能考过，但我所经历的生活的考试，你连一丁点儿通过的机会都没有。生活的考试，从不依据什么贝尔曲线、通过率来评分，生活的考试有且仅有那么一条评分依据：生存！&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;第四宗罪：你从不阅读。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;因为你要么就是读些必读的书，要么就是根本连读都不读。&lt;/p&gt;

&lt;p&gt;因为你觉得历史枯燥无味，哲学更是愚蠢可笑。&lt;/p&gt;

&lt;p&gt;因为你宁可坐在那看八卦新闻、音乐台，也不愿意去学点新东西，不愿一头扎进其他人的思想里去更好地了解这个世界。&lt;/p&gt;

&lt;p&gt;你不愿承认，世界上所有的力量都源自先人的思想。你不愿承认你想要的所有东西，都能从那前人无数的思想里寻获，且在当下，寻获这些信息是前所未有的便捷。&lt;/p&gt;

&lt;p&gt;你大概连这篇文章都看不完吧，即使你清楚自己应该从头到尾看一遍。&lt;/p&gt;

&lt;p&gt;现在正在看这文章的人，都已经懂得这些道理。&lt;/p&gt;

&lt;p&gt;而你，虽可引马到水边，却不能让马低头饮。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;第五宗罪：你毫无好奇心。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;因为就连你看的新闻，也全是从政府掌控的媒体上来的。&lt;/p&gt;

&lt;p&gt;因为你连“如果这些全是假的怎么办？”这么简单的问题都不愿意问，更别说接受如此假设成真的可能了，或许，主流媒体都是言听计从混淆大众的呢。&lt;/p&gt;

&lt;p&gt;你说我“自以为无所不知”，却不肯承认自己一无所知。&lt;/p&gt;

&lt;p&gt;我渴望知识，任何知识。&lt;/p&gt;

&lt;p&gt;因为你在玩糖果粉碎传奇、在玩大富翁，我却在学习弦理论和量子力学。&lt;/p&gt;

&lt;p&gt;因为你在看连续剧，我却在学习怎么编辑视频、建立网站和开发手机应用。&lt;/p&gt;

&lt;p&gt;如果我们在一场辩论中针锋相对，那我必定会让你一败涂地。因为我首先会自己试着从所有能设想到的方面摧毁自己的论点，如此，我就能从你的角度，了解你有可能用来反驳我的所有观点。&lt;/p&gt;

&lt;p&gt;我会去透彻了解论点的两个对立面，透彻到虽然我已打败了你，但如果我俩互换立场，我仍能辩胜。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;第六宗罪：因为你问得太少。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;因为你从不质问权威。&lt;/p&gt;

&lt;p&gt;因为你从不质问自己。&lt;/p&gt;

&lt;p&gt;因为你不明白正确的问题在生活中有着怎样的意义、你不懂礼貌的反对和在与自己意见相悖的人面前捍卫自己正确观点的力量几何。不能真正提出疑问，无疑等于被困在自我欺骗的牢笼里，以此为生存策略。&lt;/p&gt;

&lt;p&gt;因为我知道，只要倾听，就能知道怎样可以摧毁你了。&lt;/p&gt;

&lt;p&gt;因为我研究人类行为，而你，除了自己谁都不在乎。&lt;/p&gt;

&lt;p&gt;因为我不但听你说话，而且看你说话，而你一开口就停不下来！&lt;/p&gt;

&lt;p&gt;因为不是不停地说说说像是无药可治的多言癖并不能给你控制权，真正的控制权来源于合理提问。&lt;/p&gt;

&lt;p&gt;你的论点的前提我已掌握，且我可以在你张口建立自己的论点之前就彻底摧毁你。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;第七宗罪：因为你不能直面真相&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;因为你不愿承认你不懂的事情，你是真的不懂。&lt;/p&gt;

&lt;p&gt;因为世界上任何一篇网上的文章都不可能足以挽回你浪费了的时间。&lt;/p&gt;

&lt;p&gt;因为就算我告诉你，明天一切都会改变，你也会等到明天才开始行动。&lt;/p&gt;

&lt;p&gt;因为我对自己所处的形势很清楚，就算你不认可，这也是事实。&lt;/p&gt;

&lt;p&gt;你觉得我之所以不肯定你，是因为我没有见过你。&lt;/p&gt;

&lt;p&gt;但事实是，你埋头前行，对世界不闻不问。你满心欢喜地忽略就在眼前的真相，可是真相那么近，你只要探出舌头那么一次，就能尝到它的滋味，它美妙的滋味。&lt;/p&gt;

&lt;p&gt;因为你会欲罢不能，无法将自己从真相的怀抱里拔出。最后你会明白你还未学会理解，然后你会发现，然后你会明白，让你止步不前难成大器的，只有你自己。&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;译言网 &lt;a href=&quot;http://select.yeeyan.org/view/276203/401859&quot;&gt;http://select.yeeyan.org/view/276203/401859&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;配图来源 &lt;a href=&quot;https://www.google.com.hk/imghp?hl=zh-CN&quot; title=&quot;Google 图片&quot;&gt;Google 图片&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
</description>
            <link>https://blog.white-poplar.work/2014/04/10/Se7en/</link>
            <guid>https://blog.white-poplar.work/2014/04/10/Se7en</guid>
            <pubDate>Thu, 10 Apr 2014 00:00:00 +0000</pubDate>
        </item>
        
        <item>
            <title><![CDATA[CSS 盒子模型、优先级]]></title>
            <description>&lt;p&gt;&lt;img src=&quot;https://blog.white-poplar.work/img/posts/Box-Model.jpg&quot; alt=&quot;CSS 盒子模型&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CSS&lt;/code&gt; 盒子模型范围包括 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;内容(content)、填充(padding)、边框(border)、边界(margin)&lt;/code&gt;。&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;CSS盒子模型 —— 百度百科
每个HTML标记都可看作一个盒子；
每个盒子都有：边界、边框、填充、内容四个属性；
每个属性都包括四个部分：上、右、下、左；这四部分可同时设置，也可分别设置；
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;CSS盒子模型包括两种：&lt;strong&gt;标准 W3C 盒子模型&lt;/strong&gt; 和 &lt;strong&gt;IE 盒子模型&lt;/strong&gt;。
&lt;!--break--&gt;&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;标准 W3C 盒子模型&lt;br /&gt;
标准 W3C 盒子模型中的的 content 部分不包含其他部分；&lt;/li&gt;
  &lt;li&gt;IE 盒子模型&lt;br /&gt;
IE 盒子模型中的 content 部分包含了 border 和 pading；&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;额，好像不是很好理解，举个栗子：&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;一个盒子的 margin 为10px, border 为1px, padding 为5px, content = 100px * 50px。
1. 标准 W3C 盒子模型
   占据位置：width =&amp;gt; 10*2 + 1*2 + 5*2 + 100 = 132px
		    height =&amp;gt; 10*2 + 1*2 + 5*2 + 50 = 82px
   实际大小：width =&amp;gt; 1*2 + 5*2 + 100 = 112px
		    height =&amp;gt; 1*2 + 5*2 + 50 = 62px
2. IE 盒子模型
   占据位置：width =&amp;gt; 10*2 + 100 = 120px
		    height =&amp;gt; 10*2 + 50 = 70px
   实际大小：width =&amp;gt; 100px
		    height =&amp;gt; 50px
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;So，选择盒子模型变的重要了，为了兼容浏览器，要选择 标准 W3C 盒子模型，即在网页上边加上&lt;strong&gt;DOCTYPE 文档声明&lt;/strong&gt; ，如 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/code&gt;，这样所有的浏览器都会采用标准盒子模型去解释盒子了。&lt;/p&gt;

&lt;hr /&gt;

&lt;h4 id=&quot;css优先级&quot;&gt;CSS优先级&lt;/h4&gt;

&lt;p&gt;参考博客园：&lt;a href=&quot;http://www.cnblogs.com/xugang/archive/2010/09/24/1833760.html&quot; title=&quot;CSS 的优先级机制&quot;&gt;CSS 的优先级机制&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;如果外部样式、内部样式和内联样式同时应用于同一个元素，就是使多重样式。&lt;br /&gt;
&lt;strong&gt;内联样式 &amp;gt; 内部样式 &amp;gt; 外部样式&lt;/strong&gt;&lt;/p&gt;

&lt;h5 id=&quot;css选择器优先权&quot;&gt;CSS选择器优先权&lt;/h5&gt;

&lt;ol&gt;
  &lt;li&gt;内联样式权值 1000；&lt;/li&gt;
  &lt;li&gt;ID 选择器权值 100；&lt;/li&gt;
  &lt;li&gt;Class 选择器权值 10；&lt;/li&gt;
  &lt;li&gt;标签 选择器权值 1；&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
  &lt;p&gt;配图来源 &lt;a href=&quot;https://www.google.com.hk/imghp?hl=zh-CN&quot; title=&quot;Google 图片&quot;&gt;Google 图片&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
</description>
            <link>https://blog.white-poplar.work/2014/03/16/css-box/</link>
            <guid>https://blog.white-poplar.work/2014/03/16/css-box</guid>
            <pubDate>Sun, 16 Mar 2014 00:00:00 +0000</pubDate>
        </item>
        
        <item>
            <title><![CDATA[网页图片加速 => 云存储]]></title>
            <description>&lt;p&gt;&lt;img src=&quot;https://blog.white-poplar.work/img/posts/Cloud-Storage-Services.jpg&quot; alt=&quot;云存储&quot; /&gt;&lt;/p&gt;

&lt;p&gt;之前就听到过云存储什么东东的，但自己也没去深入去了解这些。前两天突然想在博客的文章上配张图，而如果继续在 &lt;a href=&quot;https://github.com/&quot; title=&quot;GitHub&quot;&gt;GitHub&lt;/a&gt; 上添加图片，先不说速度问题，而是 &lt;a href=&quot;https://github.com/&quot; title=&quot;GitHub&quot;&gt;GitHub&lt;/a&gt; 已经是免费的了，再在其上面添加大量的图片，真的大丈夫吗？&lt;/p&gt;

&lt;p&gt;所以搜了下图片存储相关方面的内容，发现在云存储方面比较好的有 &lt;a href=&quot;http://www.qiniu.com/&quot; title=&quot;七牛云&quot;&gt;七牛云&lt;/a&gt; 和 &lt;a href=&quot;https://www.upyun.com/index.html&quot; title=&quot;又拍云&quot;&gt;又拍云&lt;/a&gt;。
&lt;!--break--&gt;
之后分别注册了两个网站的账号， &lt;a href=&quot;http://www.qiniu.com/&quot; title=&quot;七牛云&quot;&gt;七牛云&lt;/a&gt; 每月有10Gb流量 + 10Gb存储的免费套餐，而 &lt;a href=&quot;https://www.upyun.com/index.html&quot; title=&quot;又拍云&quot;&gt;又拍云&lt;/a&gt; 好像没有什么免费的套餐，搜了下资料说是主要是面向公司的，服务定位就是收费的服务，这样在经济上才能不断的完善和优化我们的服务，给客户更棒的使用体验。&lt;/p&gt;

&lt;p&gt;对于几乎没什么流量的博客来说（全是泪啊），选择 &lt;a href=&quot;http://www.qiniu.com/&quot; title=&quot;七牛云&quot;&gt;七牛云&lt;/a&gt; 是毋庸置疑的了。（别说我占什么便宜啊！）&lt;/p&gt;

&lt;p&gt;在七牛云上注册验证号账号后，就可以使用了。（七牛云的网站操作还挺好的，这就是传说中的用户体验吧！）&lt;/p&gt;

&lt;p&gt;新建个空间，由于要在博客文章中使用，选择公开空间，之后在内容管理栏目上传图片。点击上传的图片就可以看到外链地址，对就是他了。&lt;/p&gt;

&lt;p&gt;在数据处理栏目，可以设置图片处理什么的信息，但功能不是很强大，功能强大的则要使用他们提供的 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;API&lt;/code&gt; 了。&lt;br /&gt;
具体参考：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://developer.qiniu.com/docs/v6/api/reference/fop/image/imageview2.html&quot; title=&quot;图片处理（imageView2）&quot;&gt;图片处理（imageView2）&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://developer.qiniu.com/docs/v6/api/reference/fop/image/imagemogr2.html&quot; title=&quot;高级图像处理（imageMogr2）&quot;&gt;高级图像处理（imageMogr2）&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://developer.qiniu.com/docs/v6/api/reference/fop/image/watermark.html&quot; title=&quot;水印（watermark）&quot;&gt;水印（watermark）&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;我主要使用了水印和缩略图的功能：&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;* 水印
	1. 上传一张水印源图片 fileUrl/watermark.png
	2. 将路径经过Base64编码 (请百度) aHR0cDovL3doaXRlLXBvcGxhci5xaW5pdWRuLmNvbS93YXRlcm1hcmsucG5n
	3. 效果 fileUrl/img/5cm.jpg?watermark/1/image/aHR0cDovL3doaXRlLXBvcGxhci5xaW5pdWRuLmNvbS93YXRlcm1hcmsucG5n/dissolve/50/gravity/SouthEast/dx/5/dy/5
* 缩略图
	fileUrl/img/5cm.jpg?imageView2/1/w/200/h/200
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;PS：参数什么的 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;API&lt;/code&gt; 好像给的挺详细的，多看！好像没提到图片加速啊，⊙﹏⊙b汗，反正他们使用的是什么CDN加速什么的。（好吧，确实不是很清楚什么CDN）&lt;/p&gt;

&lt;p&gt;另：如果有童鞋要注册的话，请使用 &lt;a href=&quot;https://portal.qiniu.com/signup?code=3ljldv1wzuwcy&quot;&gt;https://portal.qiniu.com/signup?code=3ljldv1wzuwcy&lt;/a&gt; ，没什么不同，只是通过这个链接注册七牛云那边会送我5Gb的下载流量，么么哒！&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;配图来源 &lt;a href=&quot;https://www.google.com.hk/imghp?hl=zh-CN&quot; title=&quot;Google 图片&quot;&gt;Google 图片&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
</description>
            <link>https://blog.white-poplar.work/2014/03/11/qiniu-cloud/</link>
            <guid>https://blog.white-poplar.work/2014/03/11/qiniu-cloud</guid>
            <pubDate>Tue, 11 Mar 2014 00:00:00 +0000</pubDate>
        </item>
        
        <item>
            <title><![CDATA[Hello node.js]]></title>
            <description>&lt;p&gt;&lt;img src=&quot;https://blog.white-poplar.work/img/posts/node-js.png&quot; alt=&quot;node.js&quot; /&gt;&lt;/p&gt;

&lt;p&gt;支付宝&lt;a href=&quot;https://github.com/lifesinger&quot;&gt;玉伯&lt;/a&gt;曾说，Ajax给前端发展带来了一次质的飞跃，而&lt;a href=&quot;http://nodejs.org/&quot; title=&quot;Node.js&quot;&gt;Node.js&lt;/a&gt;很可能是第二次。
 &lt;a href=&quot;https://github.com/lifesinger/lifesinger.github.com/issues/184&quot; title=&quot;Web 研发模式演变&quot;&gt;https://github.com/lifesinger/lifesinger.github.com/issues/184&lt;/a&gt; （推荐阅读）&lt;/p&gt;

&lt;p&gt;由于自己对什么新的技术都感兴趣，所以就看了下&lt;a href=&quot;http://nodejs.org/&quot; title=&quot;Node.js&quot;&gt;Node.js&lt;/a&gt;方面的资料（好像也不是很新吧，只是现在才火），从搭建环境到运行 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Hello World&lt;/code&gt;,只是粗略的了解了下&lt;a href=&quot;http://nodejs.org/&quot; title=&quot;Node.js&quot;&gt;Node.js&lt;/a&gt;。
&lt;!--break--&gt;
关于Node是什么，由于自己也是刚了解所以也不是很清楚，看了些文档但好像没有理解啊，推荐阅读下&lt;a href=&quot;http://www.ibm.com/developerworks/cn/opensource/os-nodejs/&quot; title=&quot;Node.js 究竟是什么？&quot;&gt;Node.js 究竟是什么？&lt;/a&gt;。&lt;/p&gt;

&lt;p&gt;首先，从 &lt;a href=&quot;http://nodejs.org/download/&quot; title=&quot;Node.js&quot;&gt;Node.js 官网&lt;/a&gt; 下载所需安装包，安装之后新建个工程（具体请百度），写一个HelloWorld.js文件：&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;var http = require(&quot;http&quot;);
http.createServer(function(request, response) {
	console.log(&quot;Request received.&quot;);
	response.writeHead(200, {
		&quot;Content-Type&quot;: &quot;text/plain&quot;
	});
	response.write(&quot;Hello World&quot;);
	response.end();
}).listen(8888);

console.log(&quot;Server has started.&quot;);
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;node helloworld.js&lt;/code&gt;运行,在浏览器上输入 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;http://127.0.0.1:8888/&lt;/code&gt; 就能看到效果了。&lt;/p&gt;

&lt;p&gt;(⊙o⊙)… 额，好像上面几乎没什么实质性内容啊，由于自己也是刚学而且脑子比较慢到现在还没弄懂一些基础的问题，现在也要做其他的项目，所以就先放了一下了，推荐下学习Node.js网上的一些资料：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.nodebeginner.org/index-zh-cn.html&quot; title=&quot;Node入门&quot;&gt;Node入门&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://nqdeng.github.io/7-days-nodejs/&quot; title=&quot;七天学会NodeJS&quot;&gt;七天学会NodeJS&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://cnodejs.org/&quot; title=&quot;Node.js专业中文社区&quot;&gt;Node.js专业中文社区&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;博客园上的一些文章（JavaScript）
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;http://www.cnblogs.com/Darren_code/&quot; title=&quot;Darren_聂微东 - 关注前端技术&quot;&gt;Darren_聂微东 - 关注前端技术&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;http://www.cnblogs.com/TomXu/&quot; title=&quot;汤姆大叔的博客&quot;&gt;汤姆大叔的博客&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;http://www.cnblogs.com/yizuierguo/&quot; title=&quot;一醉而过&quot;&gt;一醉而过&lt;/a&gt; 
  「请注意&lt;strong&gt;友情链接&lt;/strong&gt; 」&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;配图来源 &lt;a href=&quot;http://nodejs.org/&quot; title=&quot;Node.js&quot;&gt;Node.js 官网&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
</description>
            <link>https://blog.white-poplar.work/2014/03/10/node-js/</link>
            <guid>https://blog.white-poplar.work/2014/03/10/node-js</guid>
            <pubDate>Mon, 10 Mar 2014 00:00:00 +0000</pubDate>
        </item>
        
        <item>
            <title><![CDATA[.Net Framework  设置]]></title>
            <description>&lt;p&gt;在使用 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;VS2010&lt;/code&gt; 开发的项目中，引用了 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;dll&lt;/code&gt;，也写了 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;using&lt;/code&gt; ,使用时可以正常使用，但编译却提示&lt;strong&gt;未能找到类型或命名空间名称&lt;/strong&gt;。&lt;/p&gt;

&lt;!--break--&gt;

&lt;p&gt;今天使用 &lt;a href=&quot;http://www.maticsoft.com/download.aspx#5&quot;&gt;动软代码生成器&lt;/a&gt; 生成.Net简单三层结构时，因为需要写 &lt;strong&gt;WPF&lt;/strong&gt; 项目，所以就把生成的 &lt;strong&gt;Web&lt;/strong&gt; 层项目删掉了，之后自己新建了个 &lt;strong&gt;WPF&lt;/strong&gt; 项目，在项目中引用业务层 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;dll&lt;/code&gt; 后，在代码中使用时是ok的，但每次编译时就提示&lt;strong&gt;未能找到类型或命名空间名称&lt;/strong&gt;。&lt;/p&gt;

&lt;p&gt;百度了一下好像没有找到什么解决办法，之后还是 google 了一下才找到问题原因。&lt;/p&gt;

&lt;p&gt;在使用 &lt;a href=&quot;http://www.maticsoft.com/download.aspx#5&quot;&gt;动软代码生成器&lt;/a&gt; 生成代码时，生成项目的目标框架是 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.NET Framework 3.5&lt;/code&gt; ，而用 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;VS2010&lt;/code&gt; 打开，新建项目时默认目标框架是 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.NET Framework 4&lt;/code&gt;，所以出现了问题。只需要把需要用到的项目的目标框架改为相同的就OK，右键项目 -&amp;gt; 选择属性 -&amp;gt; 选择应用程序 -&amp;gt; 修改目标框架 -&amp;gt; 完成。&lt;/p&gt;
</description>
            <link>https://blog.white-poplar.work/2014/02/17/net-framework/</link>
            <guid>https://blog.white-poplar.work/2014/02/17/net-framework</guid>
            <pubDate>Mon, 17 Feb 2014 00:00:00 +0000</pubDate>
        </item>
        
    </channel>
</rss>