关闭

关闭

封号提示

内容

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

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

O'Reilly - Beautiful Code - Jun…

上传者: xiegeng0586_cn 2011-04-24 评分 4.5 0 63 9 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

类似资料

该用户的其他资料

职业精品

精彩专题

上传我的资料

精选资料

热门资料排行换一换

  • 双针速效疗法.pdf

  • 红卫兵绑架李井泉.doc

  • 方药心悟:名中医处方用药技巧(黄…

  • 中国传统经济的特征.pdf

  • 日本佛教史_10238063.p…

  • 缪巨针刺发挥(冯纯礼).pdf

  • 环氧乙烷固定床反应器设计.doc

  • 江西佛教史_12117027.p…

  • 情感与理性 蒙培元.pdf

  • 资料评价:

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

    意见
    反馈

    返回
    顶部