显示下一条  |  关闭

kinggod03的博客

 
 
 
 
 
 

湖南省 益阳市 天蝎座

 发消息  写留言

 
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 
 
 

如果你在寻找一些关于FLEX的信息,比如教程,提示,源码,实例,这篇文章正适合你.我选择了一些最好的FLEX网站,可以帮助你改进你的FLEX技术,获得FLEX的相关信息, 

 

1 - SitePoint

2 - Visual Builder

3 - Sephiroth.it

4 - Flex.org

 

5 - Ted on Flex

6 - InsideRIA

7 - Pete Freitag Blog

8 - Switch On The Code

9 - Flex RIA

 

10 - Quietly Scheming

11 - Doug McCune

12 - RIApedia

13 - Mario Casario

14 - FLEX{er}

15 - EverythingFlex

16 -Axelology

17 - Eric Feminella

18 - The Flex Show

19 - The Flex Blog

20 -Dave Keen

作者  | 2009-9-1 14:33:50 | 阅读(1278) |评论(0) | 阅读全文>>

[置顶] 100个优秀的国外设计开发网站

2009-8-31 14:31:02 阅读2118 评论2 312009/08 Aug31

100个优秀的国外设计开发网站,涵盖了Web设计,平面设计,Flash和Flex,设计资源等网站推荐。

常用设计网站

100 dede sites 1 100个优秀的国外设计开发网站

  1. Spunk United 非常出色的杂志,里面提供的都是世界顶级设计师的专访,灵感以及文章还有更多。
  2. FreeLance Switch 这个站点上的所有资源都是开放免费的,你肯定要知道:)
  3. Computer Arts 这是一个非常优秀的网络杂志,中文版杂志是《Computer Arts 数码艺术》,相信设计者都有订阅这份杂志.
  4. David Airey 一位专业的图形以及logo设计大师分享他所有的知识在这儿,你一定可以从这里学习到很多知识。
  5. Behance 可以给你带来设计灵感,这里聚集了所有来自世界上所有的设计,非常酷吧
  6. Pdf Mags 非常出色的杂志,里面提供的都是世界顶级设计师的专访,灵感以及文章还有更多。
  7. Graphic Design Forum 这是最活跃的图形设计场所,比较针对于设计初学者。
  8. Design Is Kinky 这是来自澳大利亚的一个纯粹有关设计新闻和通用设计的站点
  9. Freelance Folder 一个Blog社区,发布的都是常用型文章,非常丰富。
  10. Bittbox 提供大量的设计资源,如教程,笔刷,矢量图还有更多 …
  11. Vandelay Webdesign 为网络设计师提供大量的非常易懂的文章资源和技巧。
  12. You The Designer 非常齐全而且多元化的有关设计的文章
  13. Design You Trust 这个站点展现的来自全球的优秀设计,这些设计也都代表了设计的走向,这儿还有非常棒的设计资源,设计杂志和blog文章。

Web设计网站

100 dede sites 2 100个优秀的国外设计开发网站

  1. Noupe 一个绝对出色的关于网络设计以及网络开发的站点(CSS&Ajax)
  2. Smashing Magazine 这个站点信息非常全面而且非常广,如果你是个设计师却不知道这个站点,那么我们就太为你遗憾了。
  3. Think Vitamin Vitamin是为网络设计师,程序员还有老板提供资源的站点,50,000个订阅者就很好的展示了他的实力。
  4. 24 Ways 我们设计,我们开发,这儿一直都是高质量的文章
  5. A List Apart 网络设计博客时间中另一个栋梁站点,多样化的成员提供着非常不错的文章。
  6. Site Point 非常多元化的站点,图形设计,css,ajax….
  7. The Rissington Podcast 杰出的设计站点,来至出色的网络设计师John Oxton 和 Jon Hicks
  8. Web Appers 为网络开发者提供开放的blog源码
  9. Happy Cog 他们分享自己最好的想法并向全世界的网络设计创达着
  10. Web Designer Wall 绝对是一个网络设计师以及所有设计必须知道的出色的站点。

相关: 50+Web设计工具、资源和素材

设计资源类网站

100 dede sites 3 100个优秀的国外设计开发网站

  1. Design Float 挖掘很多于设计有关的主题,你一定要知道
  2. Psd Tuts 呵呵,这是网络中最好的教程站点了….Great ,我非常喜欢这个站点。
  3. Blue Vertigo The MUST HAVE bookmark of all stock resourceson the net.
  4. SXC.hu 我最喜欢的资源站点
  5. Icon Finder Self explanitory.
  6. Da Font 免费字体
  7. Maniackers Design Make 在许多免费的资源中,你可以找到很多不一样的灵感,
  8. Colour Lovers 发现,创作交,换你最喜欢的色彩

相关: 60多个CSS GALLERY画廊网站简介

设计展示类网站

100 dede sites 4 100个优秀的国外设计开发网站

  1. Command Shift 3 不知道你是否有听过这个站点,这是个你可以得到灵感的站点,
  2. Showcase Point 展示Flash & CSS 的站点
  3. Zeniltuo 这儿有非常丰富的充满创意的站点
  4. The FWA 主要展示flash站点,但是全部都是高质量的哦,创意都非常不错。
  5. CSS Mania CSS de 另外一个展示架
  6. CSS Remix 非常不错的CSS画廊,可以看到很多优秀的CSS站点
  7. Best Web Gallery 设计的一个很好的选择。
  8. ScreenFluent 一个很好的网络设计选择。
  9. W3C Sites 通过校验W3C的优秀站点
  10. CSS Beauty 另一个非常不错的有关CSS的站点,有很多有趣的关于新的网络开发的文章
  11. Edu Style 在学校或者大学同样也有很多不错的css展示廊,这就是一个尤其不错的地址

开发相关类网站

100 dede sites 5 100个优秀的国外设计开发网站

  1. Problogger 通常在博客上的文章,都为很多的博客作者提供。
  2. Pro Blog Design 关于提升你的博客设计,这里只有高质量的文章
  3. WP designer 这些博客的作者多为WordPress的开发者
  4. Ajax Rain 网络上一个很大的Ajax书店
  5. CSS3.info CSS3.
  6. CSS Earth 这个站点有有最好的有关CSS的文章

Flash & Flex相关网站

100 dede sites 6 100个优秀的国外设计开发网站

  1. Labs Adobe 来自Adobe的新技术的文章
  2. Christophe Coenraets Flex 开发人员的Blog.
  3. Adobe AIR Tutorials AIR教程网
  4. Mike Chambers 基础程序和技术站点
  5. The Blog Flash Action Script. 3 和 Flex.的blog
  6. Jean Phi Blog 法国最出色的flash开发师之一,有很多杰出的作品

字型排版相关网站

100 dede sites 7 100个优秀的国外设计开发网站

  1. Swiss Legacy 印刷,栅格设计
  2. I Love Typography Speaks for itself. A must know.
  3. Design & Typo 著名的Peter Gabor的blog, 有非常多很独特的创意在这儿。
  4. The Typographer 法国的一个著名的关于印刷的站点
  5. Slanted 一个很大的德国关于印刷的站点

视频动画相关的网站

100 dede sites 8 100个优秀的国外设计开发网站

  1. Stage6 动画 (2d and 3d). 非常不错
  2. Fubiz 一个很不错的Blog,有很多关于创意细节的介绍,收藏它,绝对不会错
  3. Motiono Grapher International reference for all who are in the motion business.
  4. Video Copilot 制作video特效的教程站点
  5. Graphics/ Motion 意大利的motion博客,文章质量很好而且更新的非常有规律
  6. FX Guide 非常好的 motion 和video 的交流网站,别错过这么优秀的站点
  7. Works Motion John Dickinson的一个站点, 有很多创意和灵感和技巧

个人设计博客

100 dede sites 9 100个优秀的国外设计开发网站

  1. Elliot Jay Stocks Elliot Jay Stocks没有人不知道他。
  2. Veerle Blog 网络中最美丽的blog之一的站点,非常全面的文章还有教程
  3. Jina Bolton Jina Bolton 是这本书“Art & Science of CSS”的作者,“Create Sexy StyleSheet” 的发起人
  4. Snook Jonathan Snook是著名图形设计师,程序员,作家以演讲家,在他的Blog中,为所有设计师准备了非常多知识。
  5. Stuff And Nonsense Markley世界上最出名的设计师之一。
  6. Lysergid Lo?c SATTLER 法国非常著名的设计师.出色的文章和设计.
  7. Iso 50 Scott Hansen 绝对出色的设计师.
  8. John Nack Blog John Nack的blog,非常专业全面的关于图形设计以及Adobe

Web2.0设计相关的网站

100 dede sites 10 100个优秀的国外设计开发网站

  1. NetVibes The web comes to you. News aggregator plus!
  2. Del.Ico.Us A tool for bookmaking and social media attention, must have!
  3. Twitter Get updates on what your friends, co workers, etc are doing.
  4. FaceBook 一个你可以记录生活的站点,facebook..
  5. Flickr 一个摄影的交流场合,现在无数的用户用新照片发现每天的生活

其它与设计相关的网站

100 dede sites 11 100个优秀的国外设计开发网站
仅限于浏览,设计的面基本都是设计师感兴趣的(流行,音乐,设计)

  1. Vinyl misuses 关于玩具的一个杂志,一定要看看,设计真的非常酷…
  2. Discobelle Excellent site of music, showcases music videos, parties, etc.
  3. Hype Beast 时尚文化的杂志
  4. Lense A French reference for all those who wish to know some more about photography.
  5. PopRave Blog Underground culture of the clothes industry.
  6. All Graphic Design A site for everything graphic design related.
  7. North X East Articles for bloggers.
  8. Ads Of The World Web site which publishes all of the worlds ads. Great inspiration here.
  9. LogoPond Logo Design Inspiration
  10. Logo Design Love A blog focused totally on Logo Design. Regular articles and resources.
  11. Split Da Diz I have translated his page from French into English as he was theoriginal posterof this article however I changed the French sites he recommended
  12. intoEnglish ones, fixed the old links he had posted and changed the orderof some items… Visit his site!
  13. Boing Boing A genearl directory of wonderful things.
  14. Business of Design Online Pretty much anything to help a design business grow online.
  15. Just Creative Design Whoelse would have brought you this massive English list of 99+ graphicdesign resources? We provide graphic design tips, resources

相关: 10个激发Logo设计灵感的网站

最后,帕兰加一个国内的,已经推荐过很多次的站酷6大设计开发类中文网站

原文链接:99 Sites All Designers Must Know About
译者:元云
译文:99个站点设计师必须知道

来源于 100个优秀的国外设计开发网站 | 帕兰映像

作者  | 2009-8-31 14:31:02 | 阅读(2118) |评论(2) | 阅读全文>>

[置顶] 53个CSS技巧

2009-8-31 14:26:26 阅读89 评论0 312009/08 Aug31

CSS是简单易学的,但要成为一个CSS高手却不比其它任何一门Web技术语言要简单。本文收集了53个CSS技巧文章,助你步入CSS高手的队列(不过都是英文,想学习的朋友得多费点劲)。同时记得查看我们之前介绍的50款CSS工具60+CSS技巧教程资源大全

1. CSS Based Navigation //基于CSS的导航

2. Navigation Matrix Reloaded //导航矩块翻转

3. CSS Tabs //CSS标签

4. CSS Bar Graphs //CSS条状图表

5. Collapsing Tables: An Example //压缩表格:一个实例

6. Adam’s Radio & Checkbox Customisation Method //亚当的单选框和复选框的用户化方法

7. CSS Image Replacement //CSS图像替代

8. CSS Shadows(CSS Shadows Roundup) //CSS阴影(CSS阴影综述)

9. CSS Rounded Corners Roundup (Nifty Corners) //CSS圆角综述(漂亮的拐角)

10. Drop Cap-Capital Letters with CSS //用CSS实现首字母下沉

11. Define Image Opacity with CSS //用CSS定义图像半透明

12. How to Create a Block Hover Effect for a List of Links //如何给链接列表创建鼠标悬停的区块效果

13. Pullquotes with CSS (Automatic Pullquotes with JavaScript and CSS) //用CSS实现引用(用JavaScript和CSS实现自动引用)

14. CSS Diagrams //CSS图表

15.CSS Curves //CSS曲线

16. Footer Stickallows for the footer of a Web page to appear either at the bottom of the browser window or the bottom of the Web page content – whichever is visually lowest.

页脚帖允许一个网站页面的页脚显示在在浏览器窗口的底部或者网站页面内容的底部中实际最底的一个。

17. CSS Image Map //CSS图像地图

18. CSS Image Pop-Up //CSS图像弹出

19.CSS Image Preloader //CSS图像预载

20. CSS Image Replacement for Buttons //CSS按钮的图片替换

21.Link Thumbnail //链接缩略图

22. CSS Map Pop //CSS地图提示

23. PHP-based CSS Style Switcher //基于PHP的CSS样式改变

24. CSS Unordered List Calender (CSS Styled Calender) //CSS无序列表日历(CSS设计的日历)

25. CSS-Based Forms: Techniques //基于CSS的表单:技巧

26. CSS-Based Tables: Techniques //基于CSS的表格:技巧

27. Printing Web-Documents and CSS //打印网站文档和CSS

28. Improved Links-Display for Print-Layouts with CSS //用CSS改良打印布局的链接显示

29. CSS-Submit Buttons //CSS提交按钮

30. CSS Teaser Box //CSS内容摘要盒子

31. CSS Tricks for Custom Bullets //对于定义式列表的CSS窍门

32. Ticked Off Links Reloaded //用记号标出翻转的链接

33. CSS Zooming //CSS缩放

34. Creating a Star Rater using CSS //用CSS创建星型评价

35. The ways to style visited Links //设计浏览过链接的方法

36. PDF, ZIP, DOC Links Labeling //PDF,ZIP,DOC链接的标注

37. Displaying Percentages with CSS //用CSS显示百分比

38. Image Floats without the Text Wrap //没有被正文包围的浮动图片

39. Let visitors decide, whether or not will they open link in a new window //让访问者决定,是否会在新窗口带开链接

40. Simple accessible external links //简单易用的外部链接

41. Zebra Table with JavaScript and CSS //用JavaScript和CSS实现多条纹的表格

42. Vertical Centering with CSS (Horizontal and Vertical Centering with CSS) //用CSS实现垂直居中(用CSS实现水平和垂直居中)

43. Unobtrusive Sidenotes //不引人注目的旁注

44. Image Caption with CSS (Styled Images with Caption) //用CSS实现图像说明(设计给图像加上说明)

45. Dynamic Piechart with CSS //用CSS实现动态饼图

46. Format Footnotes with CSS //用CSS实现布局脚注

47. Hierarchical Sitemap with CSS //用CSS实现分等级的网站地图

48. Snook’s Resizable Underlines //史鲁克的可改变大小的下划线

49. Switchy McLayout: An Adaptive Layout Technique //马克布局改变: 一个自适应布局的技巧

50. StyleMap: CSS+HTML Visual Sitemap //样式地图:CSS+HTML 形象化的网站地图

51. Custom Reading Width //自定义阅读宽度

52. CSS Alert Message //CSS提示信息

53. CSS Production Notes //CSS产品注释

英文原文:http://www.smashingmagazine.com/ … uldnt-live-without/
中文译文:Blank(怿飞)

作者  | 2009-8-31 14:26:26 | 阅读(89) |评论(0) | 阅读全文>>

[置顶] 250个设计师、博客和站长应该订阅的RSS Feeds

2009-8-31 14:18:45 阅读95 评论0 312009/08 Aug31

下面是1stwebdesigner整理的250个RSS Feeds, 全都是一些顶尖优秀的英文博客,这些博客主要涉及的领域包括平面设计、Web设计、博客技巧和WordPress技巧,以及SEO等。如果你英语还不错,强烈推荐全部拿下。

[RSS] Smashing Magazine

[RSS] 2expertsdesign

[RSS] InstantShift

[RSS] CrazyLeaf Design Blog

[RSS] Garcya

[RSS] Positive Space Blog

[RSS] Happy Cog: News

[RSS] Dacheboard

[RSS] Think Vitamin

[RSS] Onextrapixel

[RSS] Tutzone

[RSS] Rotorblog

[RSS] The Rissington Podcast

[RSS] BlueBlots

[RSS] Naldz Graphics

[RSS] Best Photoshop Tutorials

[RSS] Digital Arts Magazine

[RSS] TOP CG Tutorials

[RSS] 90 Percent of Everything

[RSS] hongkiat.com

[RSS] wpcandy

[RSS] InteractiveBlend

[RSS] Vectordiary

[RSS] boagworld

[RSS] WPZOOM

[RSS] Tutorial Blog

[RSS] Blog.SpoonGraphics

[RSS] The Design Inspiration

[RSS] Web Design Tuts

[RSS] Google Blog

[RSS] CrazyLeaf Design Blog

[RSS] The Die Line

[RSS] AiBURN

[RSS] Janko At Warp Speed

[RSS] My Ink Blog

[RSS] Kreativuse

[RSS] Six Revisions

[RSS] Lee Munroe

[RSS] logodesignlove

[RSS] TutorialSwitch

[RSS] Dezignus

[RSS] yensdesign – Tutorials, Web Design and Coding

[RSS] Marcofolio

[RSS] Vandelay

[RSS] Inspired Magazine

[RSS] Web Design Marketing Podcast & Blog

[RSS] The Blog of Doug Cloud

[RSS] Dzineblog

[RSS] Eating Design

[RSS] Vitamin Feed

[RSS] Inspiredology

[RSS] Audiotts

[RSS] Tutzor

[RSS] Noupe

[RSS] High Resolution Textures

[RSS] WereWP

[RSS] FreelanceSwitch

[RSS] Softalize

[RSS] Flashden

[RSS] Min Tran’s weblog

[RSS] Creattica Daily

[RSS] Sharebrain

[RSS] Fuel Your Creativity

[RSS] Dosh Dosh

[RSS] Minervity

[RSS] Ajax Rain

[RSS] DesignFeedr

[RSS] Loon Design

[RSS] Everaldo.com : Blog

[RSS] Niki’s DesignO’Blog

[RSS] styl.eti.me

[RSS] SitePoint.com

[RSS] Observin

[RSS] Beeex.net

[RSS] Spyre Studios

[RSS] Ajaxian

[RSS] CSS Globe

[RSS] Snook.ca

[RSS] PSDTUTS

[RSS] Photoshop Lady

[RSS] Jenaelee

[RSS] BittBox

[RSS] Webitect

[RSS] HieuUK

[RSS] Signal vs. Noise

[RSS] CSS-Tricks

[RSS] Photoshop Tutorials and PST news

[RSS] Darkmotion

[RSS] Outlaw Design Blog

[RSS] Usability Post

[RSS] Work at Home Blog

[RSS] Pro Blog Design

[RSS] TutorialMagazine.com Tutorial Feed

[RSS] Colours Magazine

[RSS] advertising/design goodness

[RSS] Signalnoise

[RSS] We are not Freelancers

[RSS] Open Source Hunter

[RSS] Gavin Elliott |

[RSS] 640Pixels.com

[RSS] Veer: Ideas: The Skinny

[RSS] Mayhem Studios

[RSS] Weird Resources

[RSS] Kriesi.at – new media design

[RSS] Think Design

[RSS] Design Shard

[RSS] Designerside

[RSS] Fortytwo.gr – Blog

[RSS] WpRecipes.com

[RSS] Veerle’s blog: full articles

[RSS] Mashable!

[RSS] The Graphic Mac

[RSS] Planet Photoshop

[RSS] A List Apart

[RSS] Branded07

[RSS] Qvectors

[RSS] Script & Style

[RSS] ProBlogger Blog Tips

[RSS] Vectips

[RSS] Toxel.com

[RSS] CSS3 . Info

[RSS] SEOmoz

[RSS] Graphic Design Blog

[RSS] velvetmoth

[RSS] I love typography

[RSS] Wake Up Later: Freelance + Passive Income

[RSS] Copyblogger

[RSS] ilovecolors

[RSS] WPDONE

[RSS] Andy Sowards

[RSS] CameronMoll

[RSS] WooThemes

[RSS] Giackop Design

[RSS] farfromfearless

[RSS] Mark Forrester

[RSS] Smashing Apps

[RSS] TwiTip

[RSS] PelFusion.com

[RSS] Spoonfed Design

[RSS] You the Designer

[RSS] INHABITAT

[RSS] DesignM.ag

[RSS] The Design Cubicle

[RSS] The UX Booth

[RSS] Assault Blog

[RSS] Octwelve

[RSS] 10Steps.SG

[RSS] Well Medicated

[RSS] Pshero

[RSS] Woork

[RSS] Slick Affiliate

[RSS] Web Design Ledger

[RSS] Andrew Sellick

[RSS] John Nack on Adobe

[RSS] Search Engine Journal

[RSS] Zen Habits

[RSS] The Get Smart Blog

[RSS] Productivedreams.com

[RSS] Freelance Folder

[RSS] psdfan.com

[RSS] Developer Snippets

[RSS] Daily Bits

[RSS] 24 ways

[RSS] We Are Just Creative

[RSS] Hot College Girls Guide to Graphic Design

[RSS] Design Reviver

[RSS] Cult-foo

[RSS] Reaction!

[RSS] Elliot Jay Stocks

[RSS] WebAppers

[RSS] Lines and Colors

[RSS] neples

[RSS] About.com/ HTML: Popular

[RSS] David Airey

[RSS] 9rules Official Blog

[RSS] WebDesignDev

[RSS] Queness

[RSS] Fudge Graphics

[RSS] Make Design, Not War

[RSS] Redswish

[RSS] Blog Perfume

[RSS] GoMediaZine

[RSS] afrison.com

[RSS] Weblog Tools Collection

[RSS] CSSVault Blog

[RSS] Web Design from Scratch

[RSS] In the Woods

[RSS] Blog of Soh Tanaka

[RSS] Showcase Point

[RSS] Just Creative Design

[RSS] WebResourcesDepot

[RSS] Deziner Folio

[RSS] DevSnippets

[RSS] NETTUTS

[RSS] CatsWhoCode.com

[RSS] PV.M Garage

[RSS] Darren Hoyt Dot Com

[RSS] Resource Pile

[RSS] We Made This

[RSS] remy sharp’s b:log

[RSS] Mogdesign

[RSS] VECTORTUTS

[RSS] Design Blurb

[RSS] Ars Thanea Blog

[RSS] Digital Photography School

[RSS] mezzoblue

[RSS] Journal

[RSS] Lifesize

[RSS] Blog Oh Blog

[RSS] Arbenting

[RSS] Web Design

[RSS] Just Tweet It

[RSS] Designious Times

[RSS] Doodlage

[RSS] ferdychristant.com

[RSS] core77.com’s design blog

[RSS] Yanko Design

[RSS] iDesign Studios

[RSS] Tracey Grady Design

[RSS] Obsidian Dawn

[RSS] ReadWriteWeb

[RSS] Computer Arts

[RSS] Get Your Site Noticed

[RSS] SimpleBits

[RSS] Creative Curio

[RSS] Make Tech Easier

[RSS] DCTH

[RSS] Colorburned

[RSS] DaleAnthony

[RSS] Monofactor

[RSS] John Chow dot Com

[RSS] Lost and Taken

[RSS] KILLERSITES.COM

[RSS] Elite By Design

[RSS] Freelance Switch

[RSS] Web Designer Wall

[RSS] Stand Out Blogger

[RSS] Tutorial9 – Tutorial Bliss.

[RSS] SEO blog – SEO Tips, Social Media Marketing for the learner.

[RSS] Webdesigner Depot

[RSS] ImJustCreative

[RSS] MEDIAUPS

[RSS] DesignFlavr

[RSS] Nerd Business Blog

[RSS] Design Melt Down

[RSS] Raster Vector

[RSS] Photoshop Tutorials

[RSS] Drawn!

[RSS] wefunction

[RSS] Abduzeedo – graphic design

[RSS] Dot

[RSS] Gizmodo

[RSS] Design daily news

[RSS] Weekly Articles About Blogging – NxE

[RSS] CSS Beauty

[RSS] Stopdesign

[RSS] BOOOOOOOM!

[RSS] Function

[RSS] 1stwebdesigner

要手动一个一个的去订阅,当然是很麻烦的。1stwebdesigner很贴心的准确了OPML文件,下载地址

作者  | 2009-8-31 14:18:45 | 阅读(95) |评论(0) | 阅读全文>>

【引用】多张(png)图片合成一张(PHP)

2012-4-17 14:36:57 阅读12 评论0 172012/04 Apr17

这个东东,从开始到结束本人花了2周的时间,让蜗牛都嘲笑了,但可喜的是最终解决了,搜索了无数的资料,终于
有了进展。其中涉及到PNG图片融合时背景的处理,最核心的是:
    1. $im    = imagecreatetruecolor($overwidth,$overwidth);//创建一的真彩色图像
$white = imagecolorallocatealpha($im, 255, 255, 255,127);//透明背景
imagefill ($im, 0, 0, $white);
     2.$im_small = imagecreatetruecolor($width, $height);
$bg = imagecolorallocate($im_small, 0, 0, 0);//为一幅图像分配颜色
ImageColorTransparent ($im_small,$bg);//将某个颜色定义为透明色
//==========================================================
<?php
//===================== 在图片上添加文字
header ("Content-type: image/png");
//$im = @imagecreate (50, 100)
//    or die ("Cannot Initialize new GD image stream");
//$background_color = imagecolorallocate ($im, 255, 255, 255);
//$text_color = imagecolorallocate ($im, 233, 14, 91);
//imagestring ($im, 1, 5, 5,  "xiaoxiang", $text_color);
//imagepng ($im);
//imagedestroy ($im);
//====================================================
?>
<?php
//===================== 新建一个新的 GD 图像流并输出图像========================
header ("Content-type: image/png");

function combine_image($image1,$image2,$image3,$opt = 100)  
{    
    $width  = 319;  
    $height = 491;  
    $im = imagecreatetruecolor($width, $height); 
$white = imagecolorallocatealpha($im, 255, 255, 255,127);
imagefill ($im, 0, 0, $white);
 $wimage_data = GetImageSize($image1); 
switch($wimage_data[2]) 
case 1: 
$im1=@ImageCreateFromGIF($image1); 
break; 
case 2: 
$im1=@ImageCreateFromJPEG($image1); 
break; 
case 3: 
$im1=@ImageCreateFromPNG($image1); 
break; 
}
 $wimage_data = GetImageSize($image2); 
switch($wimage_data[2]) 
case 1: 
$im2=@ImageCreateFromGIF($image2); 
break; 
case 2: 
$im2=@ImageCreateFromJPEG($image2); 
break; 
case 3: 
$im2=@ImageCreateFromPNG($image2); 
break; 
}
 $wimage_data = GetImageSize($image3); 
switch($wimage_data[2]) 
case 1: 
$im3=@ImageCreateFromGIF($image3); 
break; 
case 2: 
$im3=@ImageCreateFromJPEG($image3); 
break; 
case 3: 
$im3=@ImageCreateFromPNG($image3); 
break; 
}

 imagecopy($im1,$im2,0,0,0,0,320,240);  
 imagecopy($im1,$im3,10,0,0,0,143,266);  
//================================================
    header('Content-Type: image/jpeg');  
    //$output_image = str_replace('.','_email.',$image1);  
    imagejpeg($im1,"bb.jpg"); 
    imagedestroy($im);  
    imagedestroy($im1);  
  imagedestroy($im2); imagedestroy($im3);
  // imagedestroy($im_small);
}  
combine_image('11.jpg','1.png','a.png');
?> 

作者  | 2012-4-17 14:36:57 | 阅读(12) |评论(0) | 阅读全文>>

Web开发:我希望得到的编程学习路线图

2012-4-16 21:38:19 阅读11 评论0 162012/04 Apr16

 英文原文:Learning to Code: The Roadmap I Wish I Had Been Given

  对于一些没有编程经验的人来说,一开始就学习 web 开发会让人觉得非常困难。因为你的能力处于初始阶段(你根本不知道你缺少哪方面的知识),所以在你能够建立一个任意复杂的网站之前,你可能会认为你需要大概几个月的时间来夯实计算机方面的基础知识。

  其实并非如此!web 开发和 CS 是不同的,你完全可以在没有太多计算机基础的情况下开发学习 web 开发。我这样说,完全是根据我自己的经验。

  六个月前,当我开始学习 web 开发时,我还是一个法律学校的在读学生,而且几乎不懂任何关于编程的东西—仅仅在开始学习的前几个小时了解过一些基本知识。四个月后,我收到了来自 Pivotal Labs 的 offer,接着我离开了法律学校,搬到了旧金山。我非常的幸运地遇到了一位极为优秀导师(从黑客学校获得的收获绝对不能忽视),所以我不认为我的故事非常具有代表性。但是我认为这很清楚的表明那些没有计算机背景的人同样可以成为 web 开发者,而且它所花费的时间可能比你想像的要少。

  这篇博文是为了尝试帮助那些刚开始学习 web 开发的人们。这里展示了一个大概流程,这个路线图会“告诉你在最初的几月里需要做什么”,它也是我最开始编码所遵循的路线。

  写这样一篇博文的想法已经在我脑海里有一段时间了,只是我认为自己知之甚少,所以始终没有提笔。在写这篇文章时我还是觉得自己知道的不限,所以如果你在下面的文章中发现任何错误与不正确的地方,请一定帮我指正。

Learning to Code

  四个部分

  这里大致列出了长短不一的四个部分知识要点,在你学习的前几个月里你需要掌握这些要点。

  1)  web 框架的基础知识(如 Ruby on Rails),又名“包含网站模块及它们之间连接结构”。

  2)  前端开发,又名“如何使内容出现在正确的位置上,而且在浏览器中表现得好看”。

  3)  版本控制,又名“如何使用免费易用的软件,使程序员能够有组织地保存他们的程序版本。这样他们就不用担心修改代码所带来的版本混乱,同时也能够很好地与其它程序员协同开发”。

  4)  部署,又名“如何真正地将你的网站放到互联网上”。

  我把这几个部分标记为 1 到4,但这并不意味着它们之间存在任何特定的顺序。你可以同时学习这些东西。

  第一部分:选择一种 web 框架,并开始学习它

  在这个部分所需要花费的时间很像这种模式,即“选择一种 web 框架”=>“大概 10 分钟之内”。“学习这种框架”=>“很多很多个(快乐的)小时”。

  现在有很多的 web 框架可供选择。而我要讨论的是 Ruby on Rails,它是我所知道的最好的框架,因为到处都有关于它的优秀的资源。

  那么,什么是 web 框架?我的理解是这样的:有框架之前,人们在决定做一个新的网站时,往往每次都需要添加一些相同的东西到新的网站。由于这些都是一些重复无聊的工作,所以程序员开发出了框架(例如 Rails),这些框架能够把很多重复性的工作移到 web 开发之外。人们喜欢说,Rails 代表“约定优于配置”。它的意思是,假如你想按照约定的方式开发,那么 Rails 会使 web 开发变得简单。

  相关的资源:

  我刻意只选择了无数 Rails/Ruby 资源的一小部分来说,因为可选择的资源实在太多了。

  I、阅读 Michael Hartl’s精彩且免费的确 Rails 教程。一个提示:Hartl 的教程虽然非常的清晰全面,但你也不可能轻松的完全理解里面的所有内容。细细地去品味它,一旦你发现一些不能理解的东西时,你一定要弄清楚。如果你发现自己只是盲目地去复制/粘贴它的代码,只是为了完成而完成教程,那么请你停下来。当遇到不懂的知识点时,立即去下面的资源中查找:

  ● Google。有些人在博客或论坛上写的内容可能正是你想知道的东西。当你遇到任何问题时首先去查找 Google。

  ● Stack Overflow。在那里程序员回答问题的速度绝对让人吃惊(我的问题往往都在一个小时内得到答案)。

  ● Railscasts。Ryan Bates 拥有超过 300 与 Rails 相关的线上直播主题。非常惊人的资源。

  ● Rails Guides。这些真正的专业指南是由 Rails 的核心团队成员所写。这些里面的东西需要时间去消化理解(因为里面的大多数内容都是给有经验的程序员准备的),但是还是有一些介绍性的东西可以拿来学习。

  II、在进行I学习的同时,Hartl 将告诉你 Rails 的工作原理。但是如果你不懂 Ruby,那么太多的 Rails 会让你觉得像在变魔术。这里列出了你在学习 Ruby 时应该用到的一些资源,你应该按照资源列出的顺序来学习它们:

  ● 前往 Codecademy 学习编程的基本元素(循环,数据结构)。目前 Codecademy 教程是用 Javascript 讲的,不过没关系—反正无论如何你也是要学 Javascript 的,况且现在的重点主要是熟悉编码的基本要素。(强烈建议:如果你想让学习更有挑战,登录 projecteuler.net,然后用自己所学的东西来解决上面的一些问题)。

  ● 阅读浏览这个优秀的 Ruby 教程。当你阅读它时,打开你的终端(如 Mac 上的 iterm),打开 irb(the interactive ruby shell),并立即开始实践你正在学习的语法。(搜索“terminal”和“irb”,如果你压根不知道它们是什么。)

  ● 在做上述工作的同时,下载并阅读 Ruby Koas。它是一系列丰富有趣的练习,这些练习涵盖了大多数 Ruby 的基础知识。

  ● 最后,阅读 Eloquent Ruby。Eloquent Ruby 适合那些对编程已经达到某种程度的人,所以在你读完 Koans 和 Ruby 教程之前不要去读它。Eloquent Ruby 将不仅告诉你 Ruby 的工作原理,还会告诉你应该如何使用 Ruby(例如,Ruby 程序员决定的方式就是最好的实践方式)。

  第二部分:学习前端的东西

  对于“前端”和“后端”不完整/不准确的定义可能会是这样的:web 开发中的“后端”是指你存储和组织网站数据的地方。例如 Yelp 这样的网站要存储很多东西:它的用户和用户的个人资料、大量的餐厅信息、哪个用户对一个特别的餐厅做了什么评价,等等。

  Yelp 把这些信息存储在服务器上,这些服务器就是分布在不同地方的大型计算机。当你搜索“Pizza in San Francisco”,你的计算机会发送一个请求到 Yelp 的服务器,Yelp 服务器收到后回发 HTML 形式的请求信息(Yelp 每次都以这种方式来指示服务器的行为方式)到你的浏览器,浏览器会被渲染(例如:将 HTML 分离成文本和图片,然后让这些图片和文本在浏览器窗口中以正确的方式显示出来)。这后面的一部分—有关数据应该如何出现在用户窗口的指令(而不是什么数据应该被回送)—就是“前端”。

  相关的资源:

  ● 在 w3schools 上学习 HTML 和 CSS。编注:谢谢下面的一些评论者指出了 w3schools 的不足。大家可以转到 w3Fools 获取一些更好的资源列表。HTML 是一种标记语言,用来管理页面的结构。例如,需要有一个页头,后面要跟一个段落。CSS 则决定这个页面显示出来的样式。例如,页头的字体大小为 18,跟着的段落中文字内容为蓝色。

  ● 学习 Javascript。Javascript 决定了页面上的元素如何表现。例如,页头开始时会被隐藏,但当用户点击某个按钮时又会渐渐地显示在页面上。这里有一个非常优秀的 Javascript 框架称之为 jQuery,它基本上适合每个人使用,而且学习起来有趣直观。这里有一个小型的教程,你可以从这里开始学习:http://docs.jquery.com/Tutorials

  第三部分:学习版本控制(如:Git)

  大致地说,版本控制系统使程序员能够在任何时间点及时的保存(正式命名为“提交”)他们的代码。当一个项目结束时,一个程序员可能已经积累了数百或数千份这样的代码备份。

  我之前并没有意识到版本控制的重要性。当我在写一篇文章时,我并没有把我对文章做的每一次修改保存到 Word 文档中。当我写代码时,情况会有所不同吗?

  事实证明,答案至少是两方面的。首先,程序员写代码时往往会导致意想不到的问题。当问题发生时,我们可以很轻松地回滚到上一个正常工作的代码版本。然后,程序员经常工作于同一个项目中。在这种情况下,他们需要能够很轻松地合并他们的代码。类似 Git 这样的版本控制系统(目前最流行的)可以很容易地做到以上两点。

  相关的资源:

  Hartl 会向你介绍 Git,但他不会解释得太多。要了解更多,去这里:

  ● Git 介绍:由 Github 的人员建立(这是一个了不起的网站,它让程序员很容易地共享代码并协同工作—你应该最先访问 Github 去学习)。

  ● Git 进阶:感谢评论者 Polygonchorus 提供的这个网站,看起来真的很棒。

  ● Git 指南:新颖且简单。在这里可以学习基本的命令。

  ● Git 的社区图书:一个很好的参考资料,你可能不需要从头到尾的通篇阅读它。

  第四部分:学习如何部署(如 Heroku)

  当你开发网站时,绝大多数时间你都会在你的开发环境中去验证检查—换句话说,就是在你自己的电脑上,而不是在互联网上。

  拥有这样一个开发环境的理由很简单:将你的代码上载到一个远程服务器需要一定的时间(例如,上载到互联网中一个实际的服务器上)。由于你的网站正处于开发阶段,你需要不断地检查你的网站,而每次当你上载新的代码时,你都需要 20-30秒去等待服务器的响应,然后才能看到新代码运行的效果,这确实很烦人。

  当你觉得准备好了,你可以很容易地使用 Heroku 来部署你的代码(Hartl 说明了怎样去部署)。这里是在 Rails3 环境下设置 Heroku 的相关信息:http://devcenter.heroku.com/articles/rails3。如果你想建立一个自定义的域名,Heroku 也提供了一个延伸的教程:http://devcenter.heroku.com/articles/custom-domains

  关于此路线图的一些重要想法

  以上的这个资源足够你学习几个月的,但它们不会带你走得更远。我只是希望,在学习过那么多知识之后,你能够从自己建立的项目中学习提高。下面是一些离别的想法:

  选择一个能激发你兴趣的想法,并在你觉得准备好之前就付诸于实践。我甚至建议你在完成 Hartl 教程之前就开始你自己的项目。工作于自己的项目,是让你迷上 web 开发最容易的方法。

  我在这里提到了一些优秀的学习资源,当你要建立一个自己的网站时,这些资源只涵盖了很小一部分知识。时刻保持查阅未知知识点的习惯,不用担心—即使是最好的程序员也需要这样做。

  你会经常地遇到 bug 和其它一些问题。这可能会让人沮丧,但你要尽量保持冷静,并系统地去思考。记住实践是解决问题的最佳方法,同时记录下那些经常出现的 bug。当问题出现时,思考问题出现的可能路径(类似这样的推理过程:OK,我的用户无法正确登录。这可能由什么原因造成?嗯…这可能是A、B或C造成的。如果是A,我可能会想到…)。写出来或者大声说出来,如果这样有帮助的话。千万不要只是坐在那里,盯着代码,并希望能够顿悟。

  与其它程序员一起工作,并向他们学习。与其他人一起编码并讨论代码,我觉得这是最快最有趣的学习方式(我非常推荐结对编程)。当然,你能够做的对自己最好的事情可能是去黑客学校

  祝你好运!

  —————————————-

  有些评论指出,由于 web 开发只是编程的一个子集,本文标题用“学习 web 开发”取代“学习编程”可能更好。他们的观点非常对,所以我希望本文的标题不会误导人们认为 web 开发就是编程的全部(其实还有很多,很多我们不懂的东西)。这么理解吧,web 开发仍然是编程的一个子集,所以那些学习 web 开发的人同时也在学习如何编程。

  编译:伯乐在线 – 肖翔

来自: blog.jobbole.com

作者  | 2012-4-16 21:38:19 | 阅读(11) |评论(0) | 阅读全文>>

5个让人激动的Java项目

2012-4-9 11:39:05 阅读14 评论0 92012/04 Apr9

每个Java/JVM领域的技术专家都应从那些项目中获益,他们中有2011在SanJose举办的Jax 会议中提名为最好的技术产品奖的。我之所以选择他们是因为他们可以广泛用于一系列的项目中解决真实问题。作为开发者,我们也不得不在每天都讨论这些,那么我们赶紧来看看究竟有哪些值得令人激动的项目。

1.Neo4j 图形数据库

Neo4j是一个高性能图形引擎,该引擎拥有成熟稳健的数据库的所有特性。程序员利用面向对象、灵活网络结构而不是严格的静态表操作,但是他们可以完全享受到具备完全事务特性、企业级数据库的所有好处。对于很多应用来说,Neo4j相比关系型数据库性能提升1000倍,同时Spring和其他框架有相应的插件支持。

2.JRebel  不需再重新部署

JRebel是一个小型的JVM插件,它能使Java程序员在不需重新部署情况下即时地看到代码改变后的结果。JRebel 能够在一个时间点让你单独地更新管理类文件和资源的版本来替换块应用部署,当开发者在IDE中对类和资源有任何的修改时,变化能立刻地反映到已经部署好的应用中。通过省略从构建到重新部署期所花时间每年能节省约5.25周。

3.Gradle  一个更好的构建工具

Gradle充分吸取了Maven和Ant的优点。Gradle站点说道:“工程自动化是软件项目成功的必要条件,而且它应该是实现起来简单、易用、好玩的。构建没有千篇一律的方法,所以Gradle没有死板的强加方法于我们,尽管你会认为查找和描述你的方法很重要,然而Gradle对于如何描述它有着非常好的支持。我不认为工具能够拯救我们,但是Gradle能给你所需要的自由,你可以利用Gradle构建易描述的、可维护的、简洁的、高性能项目”。

4.Akka 更加简单的可伸缩性、容错性、并发性、远程调用的Actor模型应用

编写出可靠的并发、容错、可伸缩的应用简直太难了,很多时候是因为我们使用不合理的工具和错误的抽象级别,Akka正是用来解决这些难题的。使用 Actor模型与STM(软件事务内存)提高抽象级别,Actor提供了更好的平台来建立可靠的并发和可伸缩的应用,对于容错采取任其崩溃、接受失败的模型(Let it crash/Embrace failure),它已经成功运用在电信行业。系统几乎不会宕机(高可用性99.9999999 % 一年只有31 ms宕机,这里有详细介绍),Actors同样为透明的分布式提供了抽象化,为真正的可扩展和容错的应用提供了基本要素。

5.Play Framework —关注开发者效率和RESTful风格的架构

Ruby中有Rails框架,Groovy有Grails,现在Java有了Play!Play 是一个纯Java框架,因此可以继续使用你钟爱的开发工具和类库。如果你已经在使用Java作为开发平台,那样也不需要切换到另一种语言、另一种IDE和库文件,你要做的仅仅是切换到一个更高效的Java环境中。

文章出自:eugenedvorkin

译文出自:伯乐在线

作者  | 2012-4-9 11:39:05 | 阅读(14) |评论(0) | 阅读全文>>

【转】WordPress图片水印插件(SAE版)

2012-4-2 23:22:41 阅读15 评论0 22012/04 Apr2

之前有用上WordPress的图片水印插件,但是SAE版的WordPress没有找到合适的图片水印插件,于是基于SAE Std Lib写了一个比较简单的图片加水印插件。之前一直是用加载文件配置的形式,现在加上了后台配置界面,简单但是还蛮实用的。

在这里共享一下:ste-watermark-tools

安装:

1、解压,将 ste-watermark-tools 整个文件夹拷贝到 /wp-content/plugins 下。

2、进入后台选择“插件”管理,“启用”这个插件

3、在后台的“设置”里面,可以对插件参数进行配置

如发现问题欢迎反馈给我,希望对您有用。

作者  | 2012-4-2 23:22:41 | 阅读(15) |评论(0) | 阅读全文>>

解决MyEclipse吃内存,让MyEclipse飞起来,MyEclipse速度

2012-4-1 16:48:05 阅读13 评论0 12012/04 Apr1

解决MyEclipse吃内存,让MyEclipse飞起来,MyEclipse速度

 

 前言:MyEclipse5.5 大小 139M;MyEclipse6.5 大小 451M;MyEclipse7.0 大小 649M!下载服务器又是国外的。。。下载速度累人也就罢了,只要你工作性能一流。不幸的是,MyEclipse 属于狂吃内存的主,特别是 MyEclipse7.0 运行起来,基本上不用干其他工作了,它是一会Quick update,一会 updating indexes ,你耐着性子等它 update 完,它老人家又开始自动 validation 了!

实在忍无可忍,作者收集了一些关于解决 MyEclipse 的耗内存的办法,经本人测试非常有效,共享出来,希望可以方便更多的朋友。

1 老是弹出Quick update error 、关闭myeclipse的Quick Update自动更新功能


这个问题的解决办法是关闭自动更新

Windows > Preferences > MyEclipse Enterprise Workbench > Community Essentials, 
把选项 "Search for new features on startup"的前勾去掉即可。

2 关闭updating indexes

Window > Preferences > Myeclipse Enterprise Workbench > Maven4Myeclipse > Maven>禁用Download repository index updates on startup 。

3 关闭MyEclipse的自动validation

validation有一堆,什么xml、jsp、jsf、js等等,我们没有必要全部都去自动校验一下,只是需要的时候才会手工校验一下,速度立马提升好几个档次

windows > perferences > myeclipse > validation 
将Build下全部勾取消

如果你需要验证某个文件的时候,我们可以单独去验证它。方法是,在需要验证的文件上( 右键 -> MyEclipse -> Run Validation 。

4 启动优化,关闭不需要使用的模块

一个系统20%的功能往往能够满足80%的需求,MyEclipse也不例外,我们在大多数时候只需要20%的系统功能,所以可以将一些不使用的模块禁止 加载启动。

Window > Preferences > General > Startup andy Shutdown 在这里列出的是MyEclipse启动时加载的模块 我这里只让它加载tomcat5 勾选 MyEclipse EASIE Tomcat 5 。

怎样才能知道哪些启动项有用呢?我现在把我知道的启动项用处说一下,还有很多不懂的,希望大家懂的回复在下面啊: 
WTP :一个跟myeclipse差不多的东西,主要差别是 WTP 是免费的,如果使用myeclipse,这个可以取消 
Mylyn:组队任务管理工具,类似于 CVS ,以任务为单位管理项目进度,没用到的可以取消 
Derby:一种保存成 jar 形式的数据库,我没用到,取消 
一大排以 MyEclipse EASIE 打头的启动项:myeclipse 支持的服务器,只选自己用的,其他取消,比如我只选了tomcat 。

5 去掉MyEclipse的拼写检查(如果你觉的有用可以不去)

拼写检查会给我们带来不少的麻烦,我们的方法命名都会是单词的缩写,他也会提示有错,所以最好去掉,没有多大的用处

 Window > perferences > General >  Editors > Text Editors > Spelling > 将Enable spell checking复选框的勾选去掉。

6 去掉MyEclipse繁杂的自带插件自动加载项


 Window > perferences > General > Startup and Shutdown > 将Plug-ins activated on startup 中的复选框有选择性的勾选去掉。

7 修改MyEclipse编辑JSP页面时的编辑工具  


 Window > perferences > General > Editors > File Associations > 
  在File types 中选择 *.jsp > 在Associated editors 中将"MyEclipse JSP Editor"设置为默认。

8 修改MyEclipse安装目录的eclipse.ini文件,加大JVM的非堆内存

具体内容如下:
 -clean
 -showsplash
 com.genuitec.myeclipse.product.ide
 --launcher.XXMaxPermSize
 256m
 -vmargs
 -Xms128m
 -Xmx512m
 -Duser.language=en 
 -XX:PermSize=128M 
 -XX:MaxPermSize=256M

把下面的那个 -XX:MaxPermSize 调大,比如 -XX:MaxPermSize=512M,再把 -XX:PermSize 调成跟 -XX:MaxPermSize一样大

作者  | 2012-4-1 16:48:05 | 阅读(13) |评论(0) | 阅读全文>>

android上传图片至服务器 转

2011-11-10 13:46:58 阅读44 评论0 102011/11 Nov10

本实例实现了android上传手机图片至服务器,服务器进行保存服务器servlet代码
public void doPost(HttpServletRequest request, HttpServletResponse response)  
           throws ServletException, IOException {  
            
           String temp=request.getSession().getServletContext().getRealPath("/")+"temp";   //临时目录
           System.out.println("temp="+temp);
           String loadpath=request.getSession().getServletContext().getRealPath("/")+"Image"; //上传文件存放目录
           System.out.println("loadpath="+loadpath);
           DiskFileUpload fu = new DiskFileUpload();
           fu.setSizeMax(1*1024*1024);   // 设置允许用户上传文件大小,单位:字节 
           fu.setSizeThreshold(4096);   // 设置最多只允许在内存中存储的数据,单位:字节 
           fu.setRepositoryPath(temp); // 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录 
           
           //开始读取上传信息 
           int index=0;
           List fileItems = null;
                
                         
                                try {
                                        fileItems = fu.parseRequest(request);
                                         System.out.println("fileItems="+fileItems);
                                } catch (Exception e) {
                                        e.printStackTrace();
                                }
                         
                
           Iterator iter = fileItems.iterator(); // 依次处理每个上传的文件
           while (iter.hasNext())
           {
               FileItem item = (FileItem)iter.next();// 忽略其他不是文件域的所有表单信息
               if (!item.isFormField())
               {
                   String name = item.getName();//获取上传文件名,包括路径
                   name=name.substring(name.lastIndexOf("\\")+1);//从全路径中提取文件名
                   long size = item.getSize();
                   if((name==null||name.equals("")) && size==0) 
                         continue; 
                   int point = name.indexOf(".");
                   name=(new Date()).getTime()+name.substring(point,name.length())+index;
                   index++;
                   File fNew= new File(loadpath, name);
                   try {
                                        item.write(fNew);
                                } catch (Exception e) {
                                        // TODO Auto-generated catch block
                                        e.printStackTrace();
                                }
                   
                  
               }
               else //取出不是文件域的所有表单信息
               {
                   String fieldvalue = item.getString();
            //如果包含中文应写为:(转为UTF-8编码)
                   //String fieldvalue = new String(item.getString().getBytes(),"UTF-8");
               }
           }
           String text1="11";
           response.sendRedirect("result.jsp?text1=" + text1);
    }  复制代码

android客户端代码
public class PhotoUpload extends Activity {
    private String newName = "image.jpg";
    private String uploadFile = "/sdcard/image.JPG";
    private String actionUrl = "http://192.168.0.71:8086/HelloWord/myForm";
    private TextView mText1;
    private TextView mText2;
    private Button mButton;

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

        mText1 = (TextView) findViewById(R.id.myText2);
        //"文件路径:\n"+
        mText1.setText(uploadFile);
        mText2 = (TextView) findViewById(R.id.myText3);
        //"上传网址:\n"+
        mText2.setText(actionUrl);
        /* 设置mButton的onClick事件处理 */    
        mButton = (Button) findViewById(R.id.myButton);
        mButton.setOnClickListener(new View.OnClickListener()
        {
          public void onClick(View v)
          {
            uploadFile();
          }
        });
      }

      /* 上传文件至Server的方法 */
      private void uploadFile()
      {
        String end = "\r\n";
        String twoHyphens = "--";
        String boundary = "*****";
        try
        {
          URL url =new URL(actionUrl);
          HttpURLConnection con=(HttpURLConnection)url.openConnection();
          /* 允许Input、Output,不使用Cache */
          con.setDoInput(true);
          con.setDoOutput(true);
          con.setUseCaches(false);
          /* 设置传送的method=POST */
          con.setRequestMethod("POST");
          /* setRequestProperty */
          con.setRequestProperty("Connection", "Keep-Alive");
          con.setRequestProperty("Charset", "UTF-8");
          con.setRequestProperty("Content-Type",
                             "multipart/form-data;boundary="+boundary);
          /* 设置DataOutputStream */
          DataOutputStream ds = 
            new DataOutputStream(con.getOutputStream());
          ds.writeBytes(twoHyphens + boundary + end);
          ds.writeBytes("Content-Disposition: form-data; " +
                        "name=\"file1\";filename=\"" +
                        newName +"\"" + end);
          ds.writeBytes(end);   

          /* 取得文件的FileInputStream */
          FileInputStream fStream = new FileInputStream(uploadFile);
          /* 设置每次写入1024bytes */
          int bufferSize = 1024;
          byte[] buffer = new byte[bufferSize];

          int length = -1;
          /* 从文件读取数据至缓冲区 */
          while((length = fStream.read(buffer)) != -1)
          {
            /* 将资料写入DataOutputStream中 */
            ds.write(buffer, 0, length);
          }
          ds.writeBytes(end);
          ds.writeBytes(twoHyphens + boundary + twoHyphens + end);

          /* close streams */
          fStream.close();
          ds.flush();

          /* 取得Response内容 */
          InputStream is = con.getInputStream();
          int ch;
          StringBuffer b =new StringBuffer();
          while( ( ch = is.read() ) != -1 )
          {
            b.append( (char)ch );
          }
          /* 将Response显示于Dialog */
          showDialog("上传成功"+b.toString().trim());
          /* 关闭DataOutputStream */
          ds.close();
        }
        catch(Exception e)
        {
          showDialog("上传失败"+e);
        }
      }

      /* 显示Dialog的method */
      private void showDialog(String mess)
      {
        new AlertDialog.Builder(PhotoUpload.this).setTitle("Message")
         .setMessage(mess)
         .setNegativeButton("确定",new DialogInterface.OnClickListener()
         {
           public void onClick(DialogInterface dialog, int which)
           {          
           }
         })
         .show();
      }
    }

作者  | 2011-11-10 13:46:58 | 阅读(44) |评论(0) | 阅读全文>>

SQL养成一个好习惯是一笔财富

2011-10-2 0:12:05 阅读36 评论0 22011/10 Oct2

我们做软件开发的,大部分人都离不开跟数据库打交道,特别是erp开发的,跟数据库打交道更是频繁,存储过程动不动就是上千行,如果数据量大,人员流动 大,那么我么还能保证下一段时间系统还能流畅的运行吗?我么还能保证下一个人能看懂我么的存储过程吗?那么我结合公司平时的培训和平时个人工作经验和大家 分享一下,希望对大家有帮助。
  要知道SQL语句,我想我们有必要知道SQL Server查询分析器怎么执行我们的SQL语句的,我们很多人会看执行计划,或者用Profiler来监视和调优查询语句或者存储过程慢的原因,但是如 果我们知道查询分析器的执行逻辑顺序,下手的时候就胸有成竹,那么下手是不是有把握点呢?
  一、查询的逻辑执行顺序
  (1) FROM left_table
  (3) join_type JOIN right_table (2) ON join_condition
  (4) WHERE where_condition
  (5) GROUP BY group_by_list
  (6) WITH {cube | rollup}
  (7) HAVING having_condition
  (8) SELECT (9) DISTINCT (11) top_specification select_list
  (9) ORDER BY order_by_list
  标准的 SQL 的解析顺序为:
  (1) FROM 子句 组装来自不同数据源的数据
  (2) WHERE 子句 基于指定的条件对记录进行筛选
  (3) GROUP BY 子句 将数据划分为多个分组
  (4) 使用聚合函数进行计算
  (5) 使用HAVING子句筛选分组
  (6) 计算所有的表达式
  (7) 使用ORDER BY对结果集进行排序
  二、执行顺序
  1. FROM:对FROM子句中前两个表执行笛卡尔积生成虚拟表vt1
  2. ON: 对vt1表应用ON筛选器只有满足 join_condition 为真的行才被插入vt2
  3. OUTER(join):如果指定了 OUTER JOIN保留表(preserved table)中未找到的行将行作为外部行添加到vt2,生成t3,如果from包含两个以上表,则对上一个联结生成的结果表和下一个表重复执行步骤和步骤直接结束。
  4. WHERE:对vt3应用 WHERE 筛选器只有使 where_condition 为true的行才被插入vt4
  5. GROUP BY:按GROUP BY子句中的列列表对vt4中的行分组生成vt5
  6. CUBE|ROLLUP:把超组(supergroups)插入vt6,生成vt6
  7. HAVING:对vt6应用HAVING筛选器只有使 having_condition 为true的组才插入vt7
  8. SELECT:处理select列表产生vt8
  9. DISTINCT:将重复的行从vt8中去除产生vt9
  10. ORDER BY:将vt9的行按order by子句中的列列表排序生成一个游标vc10
  11. TOP:从vc10的开始处选择指定数量或比例的行生成vt11 并返回调用者
   看到这里,那么用过Linq to SQL的语法有点相似啊?如果我们我们了解了SQL Server执行顺序,那么我们就接下来进一步养成日常SQL的好习惯,也就是在实现功能的同时有考虑性能的思想,数据库是能进行集合运算的工具,我们应 该尽量的利用这个工具,所谓集合运算实际就是批量运算,就是尽量减少在客户端进行大数据量的循环操作,而用SQL语句或者存储过程代替。
  三、只返回需要的数据
  返回数据到客户端至少需要数据库提取数据、网络传输数据、客户端接收数据以及客户端处理数据等环节,如果返回不需要的数据,就会增加服务器、网络和客户端的无效劳动,其害处是显而易见的,避免这类事件需要注意:
  A、横向来看
  (1) 不要写SELECT * 的语句,而是选择你需要的字段。
  (2) 当在SQL语句中连接多个表时, 请使用表的别名并把别名前缀于每个Column上。这样一来,就可以减少解析的时间并减少那些由Column歧义引起的语法错误。
1
如有表table1(ID,col1)和table2(ID,col2)
1
Select A.ID, A.col1, B.col2
2
-- Select A.ID, col1, col2 –不要这么写,不利于将来程序扩展
3
from table1 A inner join table2 B on A.ID=B.ID Where … 
  B、纵向来看
  (1) 合理写WHERE子句,不要写没有WHERE的SQL语句。
  (2) SELECT TOP N * -- 没有WHERE条件的用此替代。
  四、尽量少做重复的工作
  A、控制同一语句的多次执行,特别是一些基础数据的多次执行是很多程序员很少注意的。
  B、减少多次的数据转换,也许需要数据转换是设计的问题,但是减少次数是程序员可以做到的。
  C、杜绝不必要的子查询和连接表,子查询在执行计划一般解释成外连接,多余的连接表带来额外的开销。
  D、合并对同一表同一条件的多次UPDATE,比如
UPDATE EMPLOYEE SET FNAME='HAIWER' 
WHERE EMP_ID=' VPA30890F'UPDATE EMPLOYEE SET LNAME='YANG' 
WHERE EMP_ID=' VPA30890F' 
这两个语句应该合并成以下一个语句
UPDATE EMPLOYEE SET FNAME='HAIWER',LNAME='YANG'WHERE EMP_ID=' VPA30890F'
  E、UPDATE操作不要拆成DELETE操作+INSERT操作的形式,虽然功能相同,但是性能差别是很大的。
  五、注意临时表和表变量的用
  在复杂系统中,临时表和表变量很难避免,关于临时表和表变量的用法,需要注意:
  A、如果语句很复杂,连接太多,可以考虑用临时表和表变量分步完成。
  B、如果需要多次用到一个大表的同一部分数据,考虑用临时表和表变量暂存这部分数据。
  C、如果需要综合多个表的数据,形成一个结果,可以考虑用临时表和表变量分步汇总这多个表的数据。
  D、其他情况下,应该控制临时表和表变量的使用。
  E、关于临时表和表变量的选择,很多说法是表变量在内存,速度快,应该首选表变量,但是在实际使用中发现:
  (1) 主要考虑需要放在临时表的数据量,在数据量较多的情况下,临时表的速度反而更快。
  (2) 执行时间段与预计执行时间(多长)
  F、关于临时表产生使用SELECT INTO和CREATE TABLE + INSERT INTO的选择,一般情况下:
  SELECT INTO会比CREATE TABLE + INSERT INTO的方法快很多,
  但是SELECT INTO会锁定TEMPDB的系统表SYSOBJECTS、SYSINDEXES、SYSCOLUMNS,在多用户并发环境下,容易阻塞其他进程。
  所以我的建议是,在并发系统中,尽量使用CREATE TABLE + INSERT INTO,而大数据量的单个语句使用中,使用SELECT INTO。
  六、子查询的用法
  子查询是一个 SELECT 查询,它嵌套在 SELECT、INSERT、UPDATE、DELETE 语句或其它子查询中。
  任何允许使用表达式的地方都可以使用子查询,子查询可以使我们的编程灵活多样,可以用来实现一些特殊的功能。但是在性能上,往往一个不合适的子查询用法会形成一个性能瓶颈。如果子查询的条件中使用了其外层的表的字段,这种子查询就叫作相关子查询。
  相关子查询可以用IN、NOT IN、EXISTS、NOT EXISTS引入。 关于相关子查询,应该注意:
  (1) NOT IN、NOT EXISTS的相关子查询可以改用LEFT JOIN代替写法。比如:
SELECT PUB_NAME FROM PUBLISHERS WHERE PUB_ID NOTIN (SELECT PUB_ID FROM TITLES WHERE TYPE ='BUSINESS')
  可以改写成:
SELECT A.PUB_NAME FROM PUBLISHERS A LEFTJOIN TITLES B ON B.TYPE ='BUSINESS'AND A.PUB_ID=B. PUB_ID WHERE B.PUB_ID IS NULL
  比如NOT EXISTS:
SELECT TITLE FROM TITLES 
WHERE NOT EXISTS 
(SELECT TITLE_ID FROM SALES WHERE TITLE_ID = TITLES.TITLE_ID)
1
可以改写成:
SELECT TITLE 
FROM TITLES LEFTJOIN SALES 
ON SALES.TITLE_ID = TITLES.TITLE_ID 
WHERE SALES.TITLE_ID ISNULL
  2)如果保证子查询没有重复 ,IN、EXISTS的相关子查询可以用INNER JOIN 代替。比如:
SELECT PUB_NAME 
FROM PUBLISHERS 
WHERE PUB_ID IN 
(SELECT PUB_ID 
FROM TITLES 
WHERE TYPE ='BUSINESS')
1
可以改写成:
SELECT A.PUB_NAME --SELECT DISTINCT A.PUB_NAME 
FROM PUBLISHERS A INNERJOIN TITLES B 
ON B.TYPE ='BUSINESS'AND 
A.PUB_ID=B. PUB_ID
  (3) IN的相关子查询用EXISTS代替,比如:
SELECT PUB_NAME FROM PUBLISHERS
WHERE PUB_ID IN
(SELECT PUB_ID FROM TITLES WHERE TYPE ='BUSINESS')
  可以用下面语句代替:
SELECT PUB_NAME FROM PUBLISHERS WHERE EXISTS
(SELECT1FROM TITLES WHERE TYPE ='BUSINESS'AND
PUB_ID= PUBLISHERS.PUB_ID)
  4) 不要用COUNT(*)的子查询判断是否存在记录,最好用LEFT JOIN或者EXISTS,比如有人写这样的语句:
SELECT JOB_DESC FROM JOBS
WHERE (SELECTCOUNT(*) FROM EMPLOYEE WHERE JOB_ID=JOBS.JOB_ID)=0
  应该改成:
SELECT JOBS.JOB_DESC FROM JOBS LEFTJOIN EMPLOYEE
ON EMPLOYEE.JOB_ID=JOBS.JOB_ID
WHERE EMPLOYEE.EMP_ID ISNULL
  
SELECT JOB_DESC FROM JOBS
WHERE (SELECT COUNT(*) FROM EMPLOYEE WHERE JOB_ID=JOBS.JOB_ID)0
  应该改成:
SELECT JOB_DESC FROM JOBS
WHEREEXISTS (SELECT 1 FROM EMPLOYEE WHERE JOB_ID=JOBS.JOB_ID)
  七:尽量使用索引
   建立索引后,并不是每个查询都会使用索引,在使用索引的情况下,索引的使用效率也会有很大的差别。只要我们在查询语句中没有强制指定索引,索引的选择和 使用方法是SQLSERVER的优化器自动作的选择,而它选择的根据是查询语句的条件以及相关表的统计信息,这就要求我们在写SQL语句的时候尽量使得优 化器可以使用索引。为了使得优化器能高效使用索引,写语句的时候应该注意:
  (1)不要对索引字段进行运算,而要想办法做变换,比如:
SELECT ID FROM T WHERE NUM/2=100
应改为:
SELECT ID FROM T WHERE NUM=100*2

SELECT ID FROM T WHERE NUM/2=NUM1
如果NUM有索引应改为:
SELECT ID FROM T WHERE NUM=NUM1*2
如果NUM1有索引则不应该改。
  (2)发现过这样的语句:
SELECT 年,月,金额 FROM 结余表 WHERE100*年+月=2010*100+10
1
应该改为:
SELECT 年,月,金额 FROM 结余表 WHERE 年=2010 AND 月=10
  (3)不要对索引字段进行格式转换
日期字段的例子:
WHERECONVERT(VARCHAR(10), 日期字段,120)='2010-07-15'
应该改为
WHERE日期字段〉='2010-07-15'AND 日期字段'2010-07-16'

ISNULL转换的例子:
WHEREISNULL(字段,'')''应改为:WHERE字段''
WHEREISNULL(字段,'')=''不应修改
WHEREISNULL(字段,'F') ='T'应改为: WHERE字段='T'
WHEREISNULL(字段,'F')'T'不应修改
  (4) 不要对索引字段进行格式转换
WHERELEFT(NAME, 3)='ABC' 或者WHERE SUBSTRING(NAME,1, 3)='ABC'
应改为: WHERE NAME LIKE'ABC%'
日期查询的例子:
WHEREDATEDIFF(DAY, 日期,'2010-06-30')=0
应改为:WHERE 日期='2010-06-30' AND 日期 '2010-07-01'
WHEREDATEDIFF(DAY, 日期,'2010-06-30')0
应改为:WHERE 日期 '2010-06-30'
WHEREDATEDIFF(DAY, 日期,'2010-06-30')=0
应改为:WHERE 日期 '2010-07-01'
WHEREDATEDIFF(DAY, 日期,'2010-06-30')0
应改为:WHERE 日期='2010-07-01'
WHEREDATEDIFF(DAY, 日期,'2010-06-30')=0
应改为:WHERE 日期='2010-06-30'
  (5)不要对索引字段使用函数
WHERE LEFT(NAME, 3)='ABC' 或者WHERE SUBSTRING(NAME,1, 3)='ABC'
应改为: WHERE NAME LIKE 'ABC%'
日期查询的例子:
WHEREDATEDIFF(DAY, 日期,'2010-06-30')=0
应改为:WHERE 日期='2010-06-30'AND 日期 '2010-07-01'
WHEREDATEDIFF(DAY, 日期,'2010-06-30')0
应改为:WHERE 日期 '2010-06-30'
WHEREDATEDIFF(DAY, 日期,'2010-06-30')=0
应改为:WHERE 日期 '2010-07-01'
WHEREDATEDIFF(DAY, 日期,'2010-06-30')0
应改为:WHERE 日期='2010-07-01'
WHEREDATEDIFF(DAY, 日期,'2010-06-30')=0
应改为:WHERE 日期='2010-06-30'
  (6)不要对索引字段进行多字段连接
比如:
WHERE FAME+'. '+LNAME='HAIWEI.YANG'

应改为:
WHERE FNAME='HAIWEI' AND LNAME='YANG'
  八:多表连接的连接条件对索引的选择有着重要的意义,所以我们在写连接条件条件的时候需要特别注意。
  A、多表连接的时候,连接条件必须写全,宁可重复,不要缺漏。
  B、连接条件尽量使用聚集索引
  C、注意ON、WHERE和HAVING部分条件的区别
   ON是最先执行, WHERE次之,HAVING最后,因为ON是先把不符合条件的记录过滤后才进行统计,它就可以减少中间运算要处理的数据,按理说应该速度是最快 的,WHERE也应该比HAVING快点的,因为它过滤数据后才进行SUM,在两个表联接时才用ON的,所以在一个表的时候,就剩下WHERE跟 HAVING比较了。  
1
考虑联接优先顺序:
2
(1) INNER JOIN
3
(2) LEFT JOIN (注:RIGHT JOIN 用 LEFT JOIN 替代)
4
(3) CROSS JOIN
  其它注意和了解的地方有:
  A、在IN后面值的列表中,将出现最频繁的值放在最前面,出现得最少的放在最后面,减少判断的次数。
  B、注意UNION和UNION ALL的区别。-- 允许重复数据用UNION ALL好
  C、注意使用DISTINCT,在没有必要时不要用。
  D、TRUNCATE TABLE 与 DELETE 区别。
  E、减少访问数据库的次数。
  还有就是我们写存储过程,如果比较长的话,最后用标记符标开,因为这样可读性很好,即使语句写的不怎么样,但是语句工整,C# 有region,SQL我比较喜欢用的就是:
--startof 查询在职人数
SQL语句
--end of
  正式机器上我们一般不能随便调试程序,但是很多时候程序在我们本机上没问题,但是进正式系统就有问题,但是我们又不能随便在正式机器上操作,那么怎么办呢?我们可以用回滚来调试我们的存储过程或者是SQL语句,从而排错。
BEGINTRAN
UPDATE a SET 字段=''
ROLLBACK
   作业存储过程我一般会加上下面这段,这样检查错误可以放在存储过程,如果执行错误回滚操作,但是如果程序里面已经有了事务回滚,那么存储过程就不要写事 务了,这样会导致事务回滚嵌套降低执行效率,但是我们很多时候可以把检查放在存储过程里,这样有利于我们解读这个存储过程,和排错。
BEGINTRANSACTION 
--事务回滚开始 

--检查报错
IF ( @@ERROR0 ) 
BEGIN 
--回滚操作
ROLLBACKTRANSACTION 
RAISERROR('删除工作报告错误', 16, 3) 
RETURN 
END

--结束事务
COMMITTRANSACTION

作者  | 2011-10-2 0:12:05 | 阅读(36) |评论(0) | 阅读全文>>

如何算出你星座运程

2011-6-20 0:26:50 阅读44 评论0 202011/06 June20

我们所提到的星座运势指南,一般都是以太阳星座来论。比如你是水瓶座,也就是说你出生地时候太阳落在水瓶座,当然你提供的出生时间地点越精确,推算的结果 也越准确。由于星空中月亮移动相当迅速,利用当下时间月亮的位置和你出生时太阳及其他星体的位置的角度关系,来推测每日生活的状态,这就是星座流日运势 法,一般我们在报纸杂志网站上读到的星座运程都是用这种方法进行预测的。

具体的诠释方法是这样的:

  如果某天的月亮位置和出生盘中的太阳位置成90度或180度相位,都很容易带来情绪上的不安。

  如果成120度,则暗示着顺遂的一天。

  如果成0度会相,则会加强所落星座的力量,并使当事人关注内心需要和安全感、也是活动力和外放情况降低的一天。

  如果某天月亮和出生图中的金星构成不良相位,容易对感情或金钱问题感到不满,行事的积极度欠缺;

  如果和火星构成不良相位,当天的脾气会很不好,有争执、生气的情况,或因为好胜心、不耐、精力大量使用而造成情绪不稳;

  如果和水星构成不良相位,会遇到令自己紧张、烦恼的事情;

  如果和出生图中的土星构成不良相位,容易面临导致心情低落、沮丧的事,或有压抑情绪的情况发生;

  如果和木星成不良相位,虽不至于心情沮丧,但却很容易因为神经大条、匆促行事及下结论,而导致东西庞杂无章或遗漏、事情只做了一半就跑了、或讲话任意下断语而不够真确、不够谨慎的情况;

  如果某天月亮和出生图中的海王星成不良相位,则容易遇到令自己失望的事,精神也有不集中或脱离现实的倾向,也容易因没按计画行事而有乱呈一团的情况;

  如果和冥王星成不良相位,会遇到引起你嫉妒心、较劲心或防卫心的人或事,精神压力大,情绪有山雨欲来的倾向;

  如果和天王星构成不良相位,当天容易发生非预期之事,心情易不稳定,或有独排众议、坚持己见、与人产生距离或隔阂的行为;

  如果某天月亮位置和出生图中的月亮构成不良角度,则容易有内心需要不被满足、缺乏安全感、或没来由的情绪低潮的情况。

  如果因为月亮的加入,使得原本出生盘中所具有的90度或180度相位,变成三刑会冲(等腰直角三角形)的格局;或使得原本出生盘中所具有的三刑会冲格局,变成大十字格局;都会造成心情特别的紧张、不安。

  如果因为月亮的加入,使得原本出生盘中的120相位,变成大三角形的格局,则将会带来特别舒适、愉快的日子。

 

作者  | 2011-6-20 0:26:50 | 阅读(44) |评论(0) | 阅读全文>>

Oracle 查询时间差

2011-6-9 9:11:02 阅读280 评论0 92011/06 June9

if(type==1)
{
//昨日
StringBuffer str=new StringBuffer();
str.append(" select to_char(sysdate-1,'yyyy-mm-dd')||' 00:00:00' time_begin,to_char(sysdate-1,'yyyy-mm-dd')||' 24:00:00' time_end from dual ");
tempMap=this.queryForMap(str.toString(), param);
}else if(type==2)
{
//2:今日
StringBuffer str=new StringBuffer();
str.append("select to_char(sysdate,'yyyy-mm-dd')||' 00:00:00'  time_begin, to_char(sysdate,'yyyy-mm-dd')||' 24:00:00' time_end from dual");
    tempMap=this.queryForMap(str.toString(), param);  
}else if(type==3)
{
//3:上周
StringBuffer str=new StringBuffer();
str.append(" select to_char((to_date('2011-06-07', 'yyyy-mm-dd') -decode(to_char(to_date('2011-06-07', 'yyyy-mm-dd'), 'd'),1,7, ");
str.append(" to_char(to_date('2011-06-07', 'yyyy-mm-dd'), 'd') - 1) - 7 + 1),'yyyy-mm-dd')||' 00:00:00'  time_begin, ");
str.append(" to_char((to_date('2011-06-07', 'yyyy-mm-dd')  -(decode(to_char(to_date('2011-06-07', 'yyyy-mm-dd'), 'd'),1,7, ");
    str.append(" to_char(to_date('2011-06-07', 'yyyy-mm-dd'), 'd') - 1) - 7 + 1 + 6)),'yyyy-mm-dd')||' 24:00:00' time_end from dual ");
tempMap=this.queryForMap(str.toString(), param);  
}
else if(type==4)
{
//4:本周
   
}
else if(type==5)
{
//5:上月
StringBuffer str=new StringBuffer();
str.append(" select*from(select  to_char(to_date(mon,'yyyymmdd'),'yyyy-mm-dd')||' 00:00:00'  time_begin ,to_char(LAST_DAY(to_date(mon,'yyyymmdd')),'yyyy-mm-dd')||' 24:00:00' time_end,aa as curmon ");
str.append(" from (select '2011'||to_char(aa,'09')||'01' mon, aa from (select 1 aa from dual union select 2 aa from dual union ");
str.append("  select 3 aa from dual union select 4 aa from dual union select 5 aa from dual union select 6 aa from dual union ");
    str.append("  select 7 aa from dual union select 8 aa from dual union select 9 aa from dual union select 10 aa from dual union ");
    str.append("  select 11 aa from dual union select 12 aa from dual))) where curmon= to_char(add_months(trunc(sysdate),-1),'mm') ");
    tempMap=this.queryForMap(str.toString(), param);  
}else if(type==6)
{
//6:本月
StringBuffer str=new StringBuffer();
str.append(" select*from(select  to_char(to_date(mon,'yyyymmdd'),'yyyy-mm-dd')||' 00:00:00'  time_begin ,to_char(LAST_DAY(to_date(mon,'yyyymmdd')),'yyyy-mm-dd')||' 24:00:00' time_end,aa as curmon ");
str.append(" from (select '2011'||to_char(aa,'09')||'01' mon, aa from (select 1 aa from dual union select 2 aa from dual union ");
str.append("  select 3 aa from dual union select 4 aa from dual union select 5 aa from dual union select 6 aa from dual union ");
    str.append("  select 7 aa from dual union select 8 aa from dual union select 9 aa from dual union select 10 aa from dual union ");
    str.append("  select 11 aa from dual union select 12 aa from dual))) where curmon= to_char(add_months(trunc(sysdate),0),'mm') ");
    tempMap=this.queryForMap(str.toString(), param);  
}
---------------------------------------------------------------------------
---上周时间
select to_char((to_date('2011-06-07', 'yyyy-mm-dd') -decode(to_char(to_date('2011-06-07', 'yyyy-mm-dd'), 'd'),1,7,
              to_char(to_date('2011-06-07', 'yyyy-mm-dd'), 'd') - 1) - 7 + 1),'yyyy-mm-dd')||' 00:00:00'  time_begin,       
       to_char((to_date('2011-06-07', 'yyyy-mm-dd')  -(decode(to_char(to_date('2011-06-07', 'yyyy-mm-dd'), 'd'),1,7,
              to_char(to_date('2011-06-07', 'yyyy-mm-dd'), 'd') - 1) - 7 + 1 + 6)),'yyyy-mm-dd')||' 24:00:00' time_end
  from dual;
 


select trunc(sysdate ,'D') from dual


    trunc(sysdate,'yyyy') --返回当年第一天。
    trunc(sysdate,'mm') --返回当月第一天。
    trunc(sysdate,'d') --返回当前星期的第一天。
    trunc(sysdate,'dd')--返回当前年月日
    
    select to_char(sysdate-1,'yyyy-mm-dd')||' 00:00:00' time_begin,to_char(sysdate-1,'yyyy-mm-dd')||' 24:00:00' time_end from dual



--Oracle 查询指定年份(比如2011)每个月的第一天和最后一天
select *
  from (select to_char(to_date(mon, 'yyyymmdd'), 'yyyy-mm-dd') ||
               ' 00:00:00' time_begin,
               to_char(LAST_DAY(to_date(mon, 'yyyymmdd')), 'yyyy-mm-dd') ||
               ' 24:00:00' time_end,
               aa as curmon
          from (select '2011' || to_char(aa, '09') || '01' mon, aa
                  from (select 1 aa
                          from dual
                        union
                        select 2 aa
                          from dual
                        union
                        select 3 aa
                          from dual
                        union
                        select 4 aa
                          from dual
                        union
                        select 5 aa
                          from dual
                        union
                        select 6 aa
                          from dual
                        union
                        select 7 aa
                          from dual
                        union
                        select 8 aa
                          from dual
                        union
                        select 9 aa
                          from dual
                        union
                        select 10 aa
                          from dual
                        union
                        select 11 aa
                          from dual
                        union
                        select 12 aa from dual)))
 where curmon = to_char(add_months(trunc(sysdate), -1), 'mm')
 
---今天
 select to_char(sysdate,'yyyy-mm-dd')||' 00:00:00'  time_begin, to_char(sysdate,'yyyy-mm-dd')||' 24:00:00' time_end from dual

作者  | 2011-6-9 9:11:02 | 阅读(280) |评论(0) | 阅读全文>>

【引用】oracle当月、当年、本周数据

2011-6-7 18:59:38 阅读259 评论0 72011/06 June7

当月数据
Sql代码 复制代码
  1. select * from table t    
  2. where t.create_time >=TRUNC(SYSDATE, 'MM')    
  3. and t.create_time<=last_day(SYSDATE)  
Sql代码
请点击查看影音文件...
  1. select * from table t   
  2. where t.create_time >=TRUNC(SYSDATE, 'MM')   
  3. and t.create_time<=last_day(SYSDATE)  
select * from table t where t.create_time >=TRUNC(SYSDATE, 'MM') and t.create_time<=last_day(SYSDATE)

当年数据
Sql代码 复制代码
  1. select * from table t   
  2. where t.create_time >=trunc(sysdate,'YYYY')    
  3. and t.create_time<=add_months(trunc(sysdate,'YYYY'),12)-1  
Sql代码
请点击查看影音文件...
  1. select * from table t  
  2. where t.create_time >=trunc(sysdate,'YYYY')   
  3. and t.create_time<=add_months(trunc(sysdate,'YYYY'),12)-1  
select * from table t where t.create_time >=trunc(sysdate,'YYYY') and t.create_time<=add_months(trunc(sysdate,'YYYY'),12)-1

本周(国外周日为一个星期第一天)
Sql代码 复制代码
  1. where t.create_time >=trunc(sysdate,'day')+1 and t.create_time<=trunc(sysdate,'day')+6   
Sql代码
请点击查看影音文件...
  1. where t.create_time >=trunc(sysdate,'day')+1 and t.create_time<=trunc(sysdate,'day')+6   
where t.create_time >=trunc(sysdate,'day')+1 and t.create_time<=trunc(sysdate,'day')+6 

本周(国内周一为一个星期第一天)
Sql代码 复制代码
  1. where t.create_time >=trunc(next_day(sysdate-8,1)+1) and t.create_time<=trunc(next_day(sysdate-8,1)+7)+1  

oracle 取当月最后一天的sql语句:

select last_day(sysdate) from dual;

 

其他方式:取得当月数据

 

select t.*
  from tbl_order_history_info t
 where t.store_id = '1e5dace9-8772-4897-a63a-429b74155958' and
       t.trade_time between trunc(sysdate, 'month') and last_day(sysdate)

 

add_months:在当前日期的基础上加/减月份,返回加/减后的日期。

SQL> select add_months(sysdate, -3) three_months_ago from dual;

作者  | 2011-6-7 18:59:38 | 阅读(259) |评论(0) | 阅读全文>>

20款对设计师非常有用的在线配色工具

2011-5-24 14:39:27 阅读66 评论0 242011/05 May24

配色是网页设计的关键之一,精心挑选的颜色组合可以帮助你让设计更有吸引力,相反的,糟糕的配色会伤害眼睛,妨碍读者对网页内容和图片的理解。然而,很多时候设计师不知道如何选择颜色搭配,好消息是如今有很多的配色工具帮助你挑选颜色。下面列出了20款优秀在线配色工具,看看哪款适合你。

COLOR SCHEME DESIGNER

Color Scheme Designer

Color Scheme Designer是一款互动的在线配色工具,通过拖动色轮来选择色调,可导出十六进制的颜色代码为HTML、XML和文本文件。

CHECK MY COLOURS

Check My Colours

Check My Colours是一款帮助你检查不同网页自己的颜色亮度和对比度的差异的工具,同时也检查所有DOM元素的前景色和背景色时候有足够的对比度。

COLOR JACK

Color Jack

ColorJack是一款在线配色工具,从球形的取色器中选择颜色。

COLOURMOD

colourmod

ColourMod是一个面板工具,让用户动态的改变网页的颜色设置。

COLOROTATE

colorotate

ColoRotate是一款3D工具,让你在三维空间里更方便的操作和选择颜色组合。

CONTRAST-A

Contrast-A

Contrast-A可以让你在一个三维的RGB颜色空间里进行颜色组合实验。

KULER

kuler

Kuler是一个设计师创建和分享配色方案的平台,可以使用易用的操作界面进行颜色组合实验及浏览成千上万的预制配色方案。

COLOURGRAB

colourgrab

ColourGrab可以让用户通过提交图片地址,然后获得分解出的图片配色。

PRO COLOR PALETTE SOFTWARE FROM COLOURLOVERS

Pro Color Palette Software from Colourlovers

Pro Color Palette这款工具包含从图片获取配色,还有一个取色器和配色器,可以保存正在使用的颜色。

COLOR EXPLORER

Color Explorer

Color Explorer是一款帮助你挑选主页颜色的免费工具。

PICTACULOUS

pictaculous

Pictaculous是一个方便的配色工具,可以从你选择的图片中提取颜色并生成配色的配色方案。

COLOR HUNTER

Color Hunter

Color Hunter可以让你从图片中选取颜色并生成对应的配色方案。

COLORZILLA

colorzilla

colorZilla是一个Mozilla扩展,帮助Web开发者和设计师选择网页中的对象颜色。

COLOR WIZARD

Color Wizard

Color Wizard是一款在线工具,你可以提交一个基准颜色,它会自动返回匹配的配色方案。

KOLUR

kolur

Kolur以简单愉快的方式浏览调色板,帮助你挑选配色方案。

COLOR WHEEL

Color Wheel

The color Wheel是一款帮助你挑选网站配色的工具,同时生成对应的颜色代码。

COLORMUNKI

colormunki

ColorMunki是一款工具齐全的配色工具,可配制出任何可见光谱范围内的颜色。

COLORSPIRE

colorspire

Colorspire这款工具有一个灵活的取色器和颜色轮子,帮助你快速的为网站选择配色方案。

COLOR SCHEMER ONLINE V2

color schemer Online V2

Color Schemer Online v2是一款即时的在线配色工具,帮助你选择网站的配色方案。

INFOHOUND COLOR SCHEMER

Infohound Color Schemer

Infohound Color Schemer是一款帮助你实验不同配色方案的简单工具。

原文出自:20 Color Scheme Generators for Web and Graphic Designers

作者  | 2011-5-24 14:39:27 | 阅读(66) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 

自定义模块

 
 
模块内容加载中...
 
 
 
 
 

自定义模块

 
 
模块内容加载中...
 
 
 
 
 

有道博客搜索

 
 
 
 
 
 
 
 
 
 
 
下载音乐盒  曲目表歌词秀
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

网易新闻资讯

 
 
 
 
新闻标题 
列表加载中...
 
 
 
 
 

天气

 
 
模块内容加载中...
 
 
 
 
 

发现好博客

 
 
列表加载中...
 
 
 
 
 

日历

 
 
模块内容加载中...
 
 
 
 
 

精彩摄影作品

 
 
相片列表加载中...
 
 
 
 
 
 
 
列表加载中...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2012

   
创建博客 登录  
 关注