首页 O'Reilly - Beautiful Code - Jun.2007.pdf

O'Reilly - Beautiful Code - Jun.2007.pdf

O'Reilly - Beautiful Code - Jun…

上传者: xiegeng0586_cn 2011-04-24 评分1 评论0 下载55 收藏0 阅读量287 暂无简介 简介 举报

简介:本文档为《O'Reilly - Beautiful Code - Jun.2007pdf》,可适用于IT书籍领域,主题内容包含BeautifulCodeOtherresourcesfromO’ReillyRelatedtitlesAppliedSoftwareProject符等。

BeautifulCodeOtherresourcesfromO’ReillyRelatedtitlesAppliedSoftwareProjectManagementTheArtofProjectManagementDatabaseinDepthEssentialBusinessProcessModelingHeadFirstDesignPatternsHeadFirstObjectOrientedAnalysisDesignMasteringRegularExpressionsTheMythsofInnovationPrefactoringProcessImprovementEssentialsoreillycomoreillycomismorethanacompletecatalogofO’ReillybooksYou’llalsofindlinkstonews,events,articles,weblogs,samplechapters,andcodeexamplesoreillynetcomistheessentialportalfordevelopersinterestedinopenandemergingtechnologies,includingnewplatforms,programminglanguages,andoperatingsystemsConferencesO’ReillybringsdiverseinnovatorstogethertonurturetheideasthatsparkrevolutionaryindustriesWespecializeindocumentingthelatesttoolsandsystems,translatingtheinnovator’sknowledgeintousefulskillsforthoseinthetrenchesVisitconferencesoreillycomforourupcomingeventsSafariBookshelf(safarioreillycom)isthepremieronlinereferencelibraryforprogrammersandITprofessionalsConductsearchesacrossmorethan,booksSubscriberscanzeroinonanswerstotimecriticalquestionsinamatterofsecondsReadthebooksonyourBookshelffromcovertocoverorsimplyfliptothepageyouneedTryittodayforfreeBeijing•Cambridge•Farnham•Köln•Paris•Sebastopol•Taipei•TokyoBeautifulCodeEditedbyAndyOramandGregWilsonBeautifulCodeEditedbyAndyOramandGregWilsonCopyrightO’ReillyMedia,IncAllrightsreservedPrintedintheUnitedStatesofAmericaPublishedbyO’ReillyMedia,IncGravensteinHighwayNorth,Sebastopol,CAO’Reillybooksmaybepurchasedforeducational,business,orsalespromotionaluseOnlineeditionsarealsoavailableformosttitles(safarioreillycom)Formoreinformation,contactourcorporateinstitutionalsalesdepartment:()orcorporateoreillycomProductionEditor:MarloweShaefferCopyeditor:SandersKleinfeldProofreader:SohailaAbdulaliIndexer:EllenTroutmanZaigCoverDesigner:RandyComerInteriorDesigner:MarciaFriedmanIllustrator:JessamynReadPrintingHistory:June:FirstEditionTheO’ReillylogoisaregisteredtrademarkofO’ReillyMedia,IncBeautifulCodeandrelatedtradedressaretrademarksofO’ReillyMedia,IncManyofthedesignationsusedbymanufacturersandsellerstodistinguishtheirproductsareclaimedastrademarksWherethosedesignationsappearinthisbook,andO’ReillyMedia,Incwasawareofatrademarkclaim,thedesignationshavebeenprintedincapsorinitialcapsWhileeveryprecautionhasbeentakeninthepreparationofthisbook,thepublisherandauthorsassumenoresponsibilityforerrorsoromissions,orfordamagesresultingfromtheuseoftheinformationcontainedhereinThisbookusesRepKover,adurableandflexiblelayflatbindingISBN:ISBN:CAllroyaltiesfromthisbookwillbedonatedtoAmnestyInternationalviiCONTENTSCHAPTERFOREWORDxvbyGregWilsonPREFACExviiAREGULAREXPRESSIONMATCHERbyBrianKernighanThePracticeofProgrammingImplementationDiscussionAlternativesBuildingonItConclusionSUBVERSION’SDELTAEDITOR:INTERFACEASONTOLOGYbyKarlFogelVersionControlandTreeTransformationExpressingTreeDifferencesTheDeltaEditorInterfaceButIsItArtAbstractionAsaSpectatorSportConclusionsTHEMOSTBEAUTIFULCODEINEVERWROTEbyJonBentleyTheMostBeautifulCodeIEverWroteMoreandMorewithLessandLessPerspectiveWhatIsWritingConclusionAcknowledgmentsFINDINGTHINGSbyTimBrayOnTimeProblem:WeblogDataProblem:WhoFetchedWhat,WhenSearchintheLargeConclusionviiiCONTENTSCORRECT,BEAUTIFUL,FAST(INTHATORDER):LESSONSFROMDESIGNINGXMLVERIFIERSbyElliotteRustyHaroldTheRoleofXMLValidationTheProblemVersion:TheNaïveImplementationVersion:ImitatingtheBNFGrammarO(N)Version:FirstOptimizationO(logN)Version:SecondOptimization:Don’tCheckTwiceVersion:ThirdOptimizationO()Version:FourthOptimization:CachingTheMoraloftheStoryFRAMEWORKFORINTEGRATEDTEST:BEAUTYTHROUGHFRAGILITYbyMichaelFeathersAnAcceptanceTestingFrameworkinThreeClassesTheChallengeofFrameworkDesignAnOpenFrameworkHowSimpleCananHTMLParserBeConclusionBEAUTIFULTESTSbyAlbertoSavoiaThatPeskyBinarySearchIntroducingJUnitNailingBinarySearchConclusionONTHEFLYCODEGENERATIONFORIMAGEPROCESSINGbyCharlesPetzoldTOPDOWNOPERATORPRECEDENCEbyDouglasCrockfordJavaScriptSymbolTableTokensPrecedenceExpressionsInfixOperatorsPrefixOperatorsAssignmentOperatorsConstantsScopeStatementsCONTENTSixFunctionsArrayandObjectLiteralsThingstoDoandThinkAboutTHEQUESTFORANACCELERATEDPOPULATIONCOUNTbyHenrySWarren,JrBasicMethodsDivideandConquerOtherMethodsSumandDifferenceofPopulationCountsofTwoWordsComparingthePopulationCountsofTwoWordsCountingtheBitsinanArrayApplicationsSECURECOMMUNICATION:THETECHNOLOGYOFFREEDOMbyAshishGulhatiTheHeartoftheStartUntanglingtheComplexityofSecureMessagingUsabilityIstheKeyTheFoundationTheTestSuiteTheFunctioningPrototypeCleanUp,PlugIn,RockOnHackingintheHimalayasTheInvisibleHandMovesSpeedDoesMatterCommunicationsPrivacyforIndividualRightsHackingtheCivilizationGROWINGBEAUTIFULCODEINBIOPERLbyLincolnSteinBioPerlandtheBio::GraphicsModuleTheBio::GraphicsDesignProcessExtendingBio::GraphicsConclusionsandLessonsLearnedTHEDESIGNOFTHEGENESORTERbyJimKentTheUserInterfaceoftheGeneSorterMaintainingaDialogwiththeUserovertheWebALittlePolymorphismCanGoaLongWayFilteringDowntoJusttheRelevantGenesTheoryofBeautifulCodeintheLargeConclusionxCONTENTSHOWELEGANTCODEEVOLVESWITHHARDWARE:THECASEOFGAUSSIANELIMINATIONbyJackDongarraandPiotrLuszczekTheEffectsofComputerArchitecturesonMatrixAlgorithmsADecompositionalApproachASimpleVersionLINPACK’sDGEFASubroutineLAPACKDGETRFRecursiveLUScaLAPACKPDGETRFMultithreadingforMultiCoreSystemsAWordAbouttheErrorAnalysisandOperationCountFutureDirectionsforResearchFurtherReadingTHELONGTERMBENEFITSOFBEAUTIFULDESIGNbyAdamKolawaMyIdeaofBeautifulCodeIntroducingtheCERNLibraryOuterBeautyInnerBeautyConclusionTHELINUXKERNELDRIVERMODEL:THEBENEFITSOFWORKINGTOGETHERbyGregKroahHartmanHumbleBeginningsReducedtoEvenSmallerBitsScalingUptoThousandsofDevicesSmallObjectsLooselyJoinedANOTHERLEVELOFINDIRECTIONbyDiomidisSpinellisFromCodetoPointersFromFunctionArgumentstoArgumentPointersFromFilesystemstoFilesystemLayersFromCodetoaDomainSpecificLanguageMultiplexingandDemultiplexingLayersForeverCONTENTSxiPYTHON’SDICTIONARYIMPLEMENTATION:BEINGALLTHINGSTOALLPEOPLEbyAndrewKuchlingInsidetheDictionarySpecialAccommodationsCollisionsResizingIterationsandDynamicChangesConclusionAcknowledgmentsMULTIDIMENSIONALITERATORSINNUMPYbyTravisEOliphantKeyChallengesinNDimensionalArrayOperationsMemoryModelsforanNDimensionalArrayNumPyIteratorOriginsIteratorDesignIteratorInterfaceIteratorUseConclusionAHIGHLYRELIABLEENTERPRISESYSTEMFORNASA’SMARSROVERMISSIONbyRonaldMakTheMissionandtheCollaborativeInformationPortalMissionNeedsSystemArchitectureCaseStudy:TheStreamerServiceReliabilityRobustnessConclusionERP:DESIGNINGFORMAXIMUMADAPTABILITYbyRogerioAtemdeCarvalhoandRafaelMonneratGeneralGoalsofERPERPTheUnderlyingZopePlatformERPProjectConceptsCodingtheERPProjectConclusionxiiCONTENTSASPOONFULOFSEWAGEbyBryanCantrillDISTRIBUTEDPROGRAMMINGWITHMAPREDUCEbyJeffreyDeanandSanjayGhemawatAMotivatingExampleTheMapReduceProgrammingModelOtherMapReduceExamplesADistributedMapReduceImplementationExtensionstotheModelConclusionFurtherReadingAcknowledgmentsAppendix:WordCountSolutionBEAUTIFULCONCURRENCYbySimonPeytonJonesASimpleExample:BankAccountsSoftwareTransactionalMemoryTheSantaClausProblemReflectionsonHaskellConclusionAcknowledgmentsSYNTACTICABSTRACTION:THESYNTAXCASEEXPANDERbyRKentDybvigBriefIntroductiontosyntaxcaseExpansionAlgorithmExampleConclusionLABORSAVINGARCHITECTURE:ANOBJECTORIENTEDFRAMEWORKFORNETWORKEDSOFTWAREbyWilliamROtteandDouglasCSchmidtSampleApplication:LoggingServiceObjectOrientedDesignoftheLoggingServerFrameworkImplementingSequentialLoggingServersImplementingConcurrentLoggingServersConclusionINTEGRATINGBUSINESSPARTNERSTHERESTFULWAYbyAndrewPatzerProjectBackgroundExposingServicestoExternalClientsRoutingtheServiceUsingtheFactoryPatternExchangingDataUsingEBusinessProtocolsConclusionCONTENTSxiiiBEAUTIFULDEBUGGINGbyAndreasZellerDebuggingaDebuggerASystematicProcessASearchProblemFindingtheFailureCauseAutomaticallyDeltaDebuggingMinimizingInputHuntingtheDefectAPrototypeProblemConclusionAcknowledgmentsFurtherReadingTREATINGCODEASANESSAYbyYukihiroMatsumotoWHENABUTTONISALLTHATCONNECTSYOUTOTHEWORLDbyArunMehtaBasicDesignModelInputInterfaceEfficiencyoftheUserInterfaceDownloadFutureDirectionsEMACSPEAK:THECOMPLETEAUDIODESKTOPbyTVRamanProducingSpokenOutputSpeechEnablingEmacsPainlessAccesstoOnlineInformationSummaryAcknowledgmentsCODEINMOTIONbyLauraWingerdandChristopherSeiwaldOnBeing“Bookish”AlikeLookingAlikeThePerilsofIndentationNavigatingCodeTheToolsWeUseDiffMerge’sCheckeredPastConclusionAcknowledgmentsFurtherReadingxivCONTENTSWRITINGPROGRAMSFOR“THEBOOK”byBrianHayesTheNonroyalRoadWarningtoParenthophobesThreeinaRowTheSlipperySlopeTheTriangleInequalityMeanderingOn“Duh!”IMean“Aha!”ConclusionFurtherReadingAFTERWORDbyAndyOramCONTRIBUTORSINDEXxvChapterForewordGregWilsonIGOTMYFIRSTJOBASAPROGRAMMERINTHESUMMEROFTwoweeksafterIstarted,oneofthesystemadministratorsloanedmeKernighanandPlauger’sTheElementsofProgrammingStyle(McGrawHill)andWirth’sAlgorithmsDataStructures=Programs(PrenticeHall)Theywerearevelationforthefirsttime,IsawthatprogramscouldbemorethanjustinstructionsforcomputersTheycouldbeaselegantaswellmadekitchencabinets,asgracefulasasuspensionbridge,oraseloquentasoneofGeorgeOrwell’sessaysTimeandagainsincethatsummer,Ihaveheardpeoplebemoanthefactthatourprofessiondoesn’tteachstudentstoseethisArchitectsaretaughttolookatbuildings,andcomposersstudyoneanother’sscores,butprogrammerstheylookateachother’sworkonlywhenthere’sabugtofixeventhen,theytrytolookataslittleaspossibleWetellstudentstousesensiblevariablenames,introducethemtosomebasicdesignpatterns,andthenwonderwhysomuchofwhattheywriteissouglyThisbookisourattempttofixthisInMay,Iaskedsomewellknown(andnotsowellknown)softwaredesignerstodissectanddiscussthemostbeautifulpieceofcodetheyknewAsthisbookshows,theyhavefoundbeautyinmanydifferentplacesForxviFOREWORDsome,itlivesinthesmalldetailsofelegantlycraftedsoftwareOthersfindbeautyinthebigpictureinhowaprogram’sstructureallowsittoevolvegracefullyovertime,orinthetechniquesusedtobuilditWherevertheyfindit,IamgratefultoourcontributorsfortakingtimetogiveusatourIhopethatyouenjoyreadingthisbookasmuchasAndyandIhaveenjoyededitingit,andthatitinspiresyoutocreatesomethingbeautiful,tooxviiChapterPrefaceBEAUTIFULCODEWASCONCEIVEDBYGREGWILSONINasawaytoelicitinsightsfromleadingsoftwaredevelopersandcomputerscientistsTogether,heandhiscoeditor,AndyOram,approachedexpertswithdiversebackgroundsfromallovertheworldTheyreceivedafloodofresponses,partlybecauseroyaltiesfromthebookarebeingdonatedtoAmnestyInternationalTheresultsoftheprojectappearinthisvolumeAswiderangingasthisbookis,itrepresentsjustasmallfractionofwhatishappeninginthismostexcitingoffieldsThousandofotherprojects,equallyinterestingandeducational,arebeingmovedforwardeverydaybyotherprogrammerswhomwedidnotcontactFurthermore,manyexcellentpractitionerswhowereaskedforchaptersdonotappearinthisbookbecausetheyweretoobusyatthetime,preferrednottocontributetoAmnestyInternational,orhadconflictingobligationsTobenefitfromtheinsightsofallthesepeople,wehopetodofurtherbooksalongsimilarlinesinthefutureHowThisBookIsOrganizedChapter,ARegularExpressionMatcher,byBrianKernighan,showshowdeepinsightintoalanguageandaproblemcanleadtoaconciseandelegantsolutionxviiiPREFACEChapter,Subversion’sDeltaEditor:InterfaceAsOntology,byKarlFogel,startswithawellchosenabstractionanddemonstratesitsunifyingeffectsonthesystem’sfurtherdevelopmentChapter,TheMostBeautifulCodeINeverWrote,byJonBentley,suggestshowtomeasureaprocedurewithoutactuallyexecutingitChapter,FindingThings,byTimBray,drawstogethermanystrandsinComputerScienceinanexplorationofaproblemthatisfundamentaltomanycomputingtasksChapter,Correct,Beautiful,Fast(inThatOrder):LessonsfromDesigningXMLVerifiers,byElliotteRustyHarold,reconcilestheoftenconflictinggoalsofthoroughnessandgoodperformanceChapter,FrameworkforIntegratedTest:BeautyThroughFragility,byMichaelFeathers,presentsanexamplethatbreakstherulesandachievesitsownelegantsolutionChapter,BeautifulTests,byAlbertoSavoia,showshowabroad,creativeapproachtotestingcannotonlyeliminatebugsbutturnyouintoabetterprogrammerChapter,OntheFlyCodeGenerationforImageProcessing,byCharlesPetzold,dropsdownaleveltoimproveperformancewhilemaintainingportabilityChapter,TopDownOperatorPrecedence,byDouglasCrockford,revivesanalmostforgottenparsingtechniqueandshowsitsnewrelevancetothepopularJavaScriptlanguageChapter,TheQuestforanAcceleratedPopulationCount,byHenrySWarren,Jr,revealstheimpactthatsomecleveralgorithmscanhaveonevenaseeminglysimpleproblemChapter,SecureCommunication:TheTechnologyOfFreedom,byAshishGulhati,discussesthedirectedevolutionofasecuremessagingapplicationthatwasdesignedtomakesophisticatedbutoftenconfusingcryptographictechnologyintuitivelyaccessibletousersChapter,GrowingBeautifulCodeinBioPerl,byLincolnStein,showshowthecombinationofaflexiblelanguageandacustomdesignedmodulecanmakeiteasyforpeoplewithmodestprogrammingskillstocreatepowerfulvisualizationsfortheirdataChapter,TheDesignoftheGeneSorter,byJimKent,combinessimplebuildingblockstoproducearobustandvaluabletoolforgeneresearchersChapter,HowElegantCodeEvolveswithHardware:TheCaseofGaussianElimination,byJackDongarraandPiotrLuszczek,surveysthehistoryofLINPACKandrelatedmajorsoftwarepackagestoshowhowassumptionsmustconstantlybereevaluatedinthefaceofnewcomputingarchitecturesChapter,TheLongTermBenefitsofBeautifulDesign,byAdamKolawa,explainshowattentiontogooddesignprinciplesmanydecadesagohelpedCERN’swidelyusedmathematicallibrary(thepredecessorofLINPACK)standthetestoftimePREFACExixChapter,TheLinuxKernelDriverModel:TheBenefitsofWorkingTogether,byGregKroahHartman,explainshowmanyeffortsbydifferentcollaboratorstosolvedifferentproblemsledtothesuccessfulevolutionofacomplex,multithreadedsystemChapter,AnotherLevelofIndirection,byDiomidisSpinellis,showshowtheflexibilityandmaintainabilityoftheFreeBSDkernelispromotedbyabstractingoperationsdoneincommonbymanydriversandfilesystemmodulesChapter,Python’sDictionaryImplementation:BeingAllThingstoAllPeople,byAndrewKuchling,explainshowacarefuldesigncombinedwithaccommodationsforafewspecialcasesallowsalanguagefeaturetosupportmanydifferentusesChapter,MultidimensionalIteratorsinNumPy,byTravisEOliphant,takesyouthroughthedesignstepsthatsucceedinhidingcomplexityunderasimpleinterfaceChapter,AHighlyReliableEnterpriseSystemforNASA’sMarsRoverMission,byRonaldMak,usesindustrystandards,bestpractices,andJavatechnologiestomeettherequirementsofaNASAexpeditionwherereliabilitycannotbeindoubtChapter,ERP:DesigningforMaximumAdaptability,byRogerioAtemdeCarvalhoandRafaelMonnerat,showshowapowerfulERPsystemcanbedevelopedwithfreesoftwaretoolsandaflexiblearchitectureChapter,ASpoonfulofSewage,byBryanCantrill,letsthereaderaccompanytheauthorthroughahairraisingbugscareandacleversolutionthatviolatedexpectationsChapter,DistributedProgrammingwithMapReduce,byJeffDeanandSanjayGhemawat,describesasystemthatprovidesaneasytouseprogrammingabstractionforlargescaledistributeddataprocessingatGooglethatautomaticallyhandlesmanydifficultaspectsofdistributedcomputation,includingautomaticparallelization,loadbalancing,andfailurehandlingChapter,BeautifulConcurrency,bySimonPeytonJones,removesmuchofthedifficultyofparallelprogramsthroughSoftwareTransactionalMemory,demonstratedhereusingHaskellChapter,SyntacticAbstraction:ThesyntaxcaseExpander,byRKentDybvig,showshowmacrosakeyfeatureofmanylanguagesandsystemscanbeprotectedinSchemefromproducingerroneousoutputChapter,LaborSavingArchitecture:AnObjectOrientedFrameworkforNetworkedSoftware,byWilliamROtteandDouglasCSchmidt,appliesarangeofstandardobjectorienteddesigntechniques,suchaspatternsandframeworks,todistributedloggingto

职业精品

指纹打卡考勤细则1.doc

员工考勤及打卡管理规定(2015年新版).doc

打卡考勤管理制度.doc

Office使用技巧.ppt

用户评论

0/200
    暂无评论
上传我的资料

精彩专题

相关资料换一换

  • Beautiful.Code.J…

  • OReilly.Beautifu…

  • O'Reilly.-.Beaut…

  • Beautiful Code-代…

  • Beautiful Code-代…

  • Oreilly.Beautifu…

  • Oreilly.Beautifu…

  • Beautiful Code-代…

  • Oreilly.Beautifu…

资料评价:

/ 619
所需积分:2 立即下载

意见
反馈

返回
顶部