Works22syntaxhighlighter

syntaxhighlighter  时间:2021-05-18  阅读:()
ThinkinginLINQHarnessingthePowerofFunctionalProgrammingin.
NETApplicationsSudiptaMukherjeeThinkinginLINQ:Harnessingthepoweroffunctionalprogramingin.
NETapplicationsCopyright2014bySudiptaMukherjeeThisworkissubjecttocopyright.
AllrightsarereservedbythePublisher,whetherthewholeorpartofthematerialisconcerned,specificallytherightsoftranslation,reprinting,reuseofillustrations,recitation,broadcasting,reproductiononmicrofilmsorinanyotherphysicalway,andtransmissionorinformationstorageandretrieval,electronicadaptation,computersoftware,orbysimilarordissimilarmethodologynowknownorhereafterdeveloped.
Exemptedfromthislegalreservationarebriefexcerptsinconnectionwithreviewsorscholarlyanalysisormaterialsuppliedspecificallyforthepurposeofbeingenteredandexecutedonacomputersystem,forexclusiveusebythepurchaserofthework.
DuplicationofthispublicationorpartsthereofispermittedonlyundertheprovisionsoftheCopyrightLawofthePublisher'slocation,initscurrentversion,andpermissionforusemustalwaysbeobtainedfromSpringer.
PermissionsforusemaybeobtainedthroughRightsLinkattheCopyrightClearanceCenter.
ViolationsareliabletoprosecutionundertherespectiveCopyrightLaw.
ISBN-13(pbk):978-1-4302-6845-1ISBN-13(electronic):978-1-4302-6844-4Trademarkednames,logos,andimagesmayappearinthisbook.
Ratherthanuseatrademarksymbolwitheveryoccurrenceofatrademarkedname,logo,orimage,weusethenames,logos,andimagesonlyinaneditorialfashionandtothebenefitofthetrademarkowner,withnointentionofinfringementofthetrademark.
Theuseinthispublicationoftradenames,trademarks,servicemarks,andsimilarterms,eveniftheyarenotidentifiedassuch,isnottobetakenasanexpressionofopinionastowhetherornottheyaresubjecttoproprietaryrights.
Whiletheadviceandinformationinthisbookarebelievedtobetrueandaccurateatthedateofpublication,neithertheauthorsnortheeditorsnorthepublishercanacceptanylegalresponsibilityforanyerrorsoromissionsthatmaybemade.
Thepublishermakesnowarranty,expressorimplied,withrespecttothematerialcontainedherein.
ManagingDirector:WelmoedSpahrLeadEditor:JamesDeWolfDevelopmentEditors:RussellJonesTechnicalReviewer:FabioClaudioFerracchiatiEditorialBoard:SteveAnglin,MarkBeckner,GaryCornell,LouiseCorrigan,JamesDeWolf,JonathanGennick,RobertHutchinson,MichelleLowman,JamesMarkham,MatthewMoodie,JeffOlson,JeffreyPepper,DouglasPundick,BenRenow-Clarke,GwenanSpearing,MattWade,SteveWeissCoordinatingEditor:KevinWalterCopyEditor:SharonWilkeyCompositor:SPiGlobalIndexer:SPiGlobalArtist:SPiGlobalCoverDesigner:AnnaIshchenkoDistributedtothebooktradeworldwidebySpringerScience+BusinessMediaNewYork,233SpringStreet,6thFloor,NewYork,NY10013.
Phone1-800-SPRINGER,fax(201)348-4505,e-mailorders-ny@springer-sbm.
com,orvisitwww.
springeronline.
com.
ApressMedia,LLCisaCaliforniaLLCandthesolemember(owner)isSpringerScience+BusinessMediaFinanceInc.
(SSBMFinanceInc.
).
SSBMFinanceInc.
isaDelawarecorporation.
Forinformationontranslations,pleasee-mailrightsrights@apress.
com,orvisitwww.
apress.
com.
ApressandfriendsofEDbooksmaybepurchasedinbulkforacademic,corporate,orpromotionaluse.
eBookversionsandlicensesarealsoavailableformosttitles.
Formoreinformation,referenceourSpecialBulkSales–eBookLicensingwebpageatwww.
apress.
com/bulk-sales.
Anysourcecodeorothersupplementarymaterialreferencedbytheauthorinthistextisavailabletoreadersatwww.
apress.
com.
Fordetailedinformationabouthowtolocateyourbook'ssourcecode,gotowww.
apress.
com/source-code/.
Sohan,thisisforyou,myson.
Youhavebeenmyinspiration.
vContentsataGlanceAbouttheAuthorxxvAbouttheTechnicalReviewerxxviiAcknowledgmentsxxixIntroductionxxxiChapter1:ThinkingFunctionally1Chapter2:SeriesGeneration7Chapter3:TextProcessing49Chapter4:RefactoringwithLINQ89Chapter5:RefactoringwithMoreLINQ109Chapter6:CreatingDomain-SpecificLanguages123Chapter7:StaticCodeAnalysis151Chapter8:ExploratoryDataAnalysis165Chapter9:InteractingwiththeFileSystem195AppendixA:LeanLINQTips205AppendixB:TamingStreamingDatawithRx.
NET211Index231viiContentsAbouttheAuthorxxvAbouttheTechnicalReviewerxxviiAcknowledgmentsxxixIntroductionxxxiChapter1:ThinkingFunctionally11-1.
UnderstandingFunctionalProgramming11-2.
UsingFuncinC#toRepresentFunctions21-3.
UsingVariousTypesofFunctions2GeneratorFunctions3StatisticalFunctions3ProjectorFunctions3Filters31-4.
UnderstandingtheBenefitsofFunctionalProgramming4Composability4LazyEvaluation4Immutability4Parallelizable4Declarative51-5.
GettingLINQPad5ContentsviiiChapter2:SeriesGeneration72-1.
MathandStatistics:FindingtheDotProductofTwoVectors7Problem7Solution7HowItWorks82-2.
MathandStatistics:GeneratingPythagoreanTriples8Problem8Solution8HowItWorks92-3.
MathandStatistics:FindingaWeightedSum9Problem9Solution9HowItWorks102-4.
MathandStatistics:FindingthePercentileforEachElementinanArrayofNumbers10Problem10Solution10HowItWorks122-5.
MathandStatistics:FindingtheDominatorinanArray12Problem12Solution12HowItWorks132-6.
MathandStatistics:FindingtheMinimumNumberofCurrencyBillsRequiredforaGivenAmount13Problem13Solution13HowItWorks142-7.
MathandStatistics:FindingMovingAverages14Problem14Solution15HowItWorks15Contentsix2-8.
MathandStatistics:FindingaCumulativeSum16Problem16Solution16HowItWorks172-9.
RecursiveSeriesandPatterns:GeneratingRecursiveStructuresbyUsingL-SystemGrammar17Problem17Solution17HowItWorks182-10.
RecursiveSeriesandPatternsStep-by-StepGrowthofAlgae18Problem18Solution18HowItWorks192-11.
RecursiveSeriesandPatterns:GeneratingLogoCommandstoDrawaKochCurve20Problem20Solution20HowItWorks212-12.
RecursiveSeriesandPatterns:GeneratingLogoCommandstoDrawaSierpinskiTriangle21Problem22Solution22HowItWorks222-13.
RecursiveSeriesandPatterns:GeneratingFibonacciNumbersNonrecursively(MuchFaster)23Problem23Solution23HowItWorks242-14.
RecursiveSeriesandPatterns:GeneratingPermutations24Problem24Solution24HowItWorks25Contentsx2-15.
RecursiveSeriesandPatterns:GeneratingaPowerSetofaGivenSet26Problem26Solution26HowItWorks272-16.
Collections:PickingEverynthElement27Problem27Solution27HowItWorks282-17.
Collections:FindingtheLargerorSmallerofSeveralSequencesatEachIndex28Problem28Solution28HowItWorks302-18.
NumberTheory:GeneratingArmstrongNumbersandSimilarNumberSequences31Problem31Solution31HowItWorks332-19.
NumberTheory:GeneratingPascal'sTriangleNonrecursively34Problem34Solution35HowItWorks362-20.
GameDesign:FindingAllWinningPathsinanArbitraryTic-Tac-ToeBoard36Problem36Solution37HowItWorks382-21.
SeriesinGameDesign:SolvingGoFigure38Problem38Solution39HowItWorks40Contentsxi2-22.
MiscellaneousSeries:FindingMatchingPairsfromTwoUnsortedCollections41Problem41Solution41HowItWorks422-23.
MiscellaneousSeries:UsingaLookup-BasedApproach42Problem43Solution43HowItWorks432-24.
MiscellaneousSeries:SolvingtheFizzBuzzChallengeinaLINQOne-Liner44Problem44Solution45HowItWorks462-25.
MiscellaneousSeries:SolvingtheFizzBuzzChallengebyUsingSetTheory46Problem46Solution46HowItWorks47Summary48Chapter3:TextProcessing493-1.
SimulatingaT9WordSuggestion49Problem50Solution50HowItWorks513-2.
SimulatingaGestureKeyboard53Problem53Solution53HowItWorks543-3.
CloningPeterNorvig'sSpelling-CorrectionAlgorithm54Problem55Solution55HowItWorks57Contentsxii3-4.
ReversingaSentenceWordbyWord57Problem57Solution57HowItWorks583-5.
CreatingaWordTriangle58Problem58Solution58HowItWorks593-6.
FindingAnagrams59Problem59Solution59HowItWorks603-7.
CheckingforAnagramsWithoutSortingCharacters60Problem60Solution60HowItWorks613-8.
CreatingaRudimentaryProgrammingLanguageIdentifierandAutomaticSyntaxHighlighter62Problem62Solution62HowItWorks643-9.
CreatingaWord-LadderSolver66Problem66Solution66HowItWorks683-10.
FormattingontheFly69Problem69Solution70HowItWorks71Contentsxiii3-11.
SolvingEricLippert'sComma-QuibblingProblem71Problem72Solution72HowItWorks723-12.
GeneratingRandomSerials72Problem72Solution73HowItWorks733-13.
GeneratingAllSubstringsofaGivenString74Problem74Solution74HowItWorks753-14.
CreatingaScrabbleCheater75Problem75Solution75HowItWorks773-15.
FindingAlltheSubsequencesofaGivenString79Problem79Solution79HowItWorks803-16.
SqueezingaParagraphtoFillTightly82Problem82Solution82HowItWorks833-17.
PrintingtheLinesofaSong83Problem83Solution84HowItWorks85Contentsxiv3-18.
MiningAbbreviationsandFullFormsfromNewsArticles85Problem85Solution85HowItWorks86Summary87Chapter4:RefactoringwithLINQ894-1.
ReplacingLoopsbyUsingLINQOperators89AGeneralStrategytoTransformaLooptoaLINQQuery904-2.
TheAnyOperator91Problem91Solution91HowItWorks914-3.
TheAllOperator91Problem91Solution91HowItWorks914-4.
TheTakeOperator92Problem92Solution92HowItWorks924-5.
TheSkipOperator92Problem92Solution93HowItWorks934-6.
TheTakeWhileOperator93Problem93Solution93HowItWorks93Contentsxv4-7.
TheSkipWhileOperator94Problem94Solution94HowItWorks944-8.
TheWhereOperator95Problem95Solution95HowItWorks954-9.
TheZipOperator95Problem95Solution95HowItWorks964-10.
OrderByandOrderByDescendingOperators96Problem96Solution96HowItWorks974-11.
TheDistinctOperator97Problem97Solution97HowItWorks974-12.
TheUnionOperator98Problem98Solution98HowItWorks984-13.
TheIntersectOperator99Problem99Solution99HowItWorks99Contentsxvi4-14.
TheExceptOperator100Problem100Solution100HowItWorks1004-15.
TheConcatOperator101Problem101Solution101HowItWorks1014-16.
TheSequenceEqualOperator101Problem101Solution101HowItWorks1024-17.
TheOfTypeOperator103Problem103Solution103HowItWorks1034-18.
TheCastOperator103Problem103Solution103HowItWorks1034-19.
TheAggregateOperator104Problem104Solution104HowItWorks1044-20.
ReplacingNestedLoops105TheSelectManyOperator105RemovingNestedLoopsbyUsingSelectMany105ReplacingIf-ElseBlocksInsideaLoop106Contentsxvii4-21.
RunningCodeinParallelUsingAsParallel()andAsOrdered()Operators106Problem107Solution107HowItWorks108Summary108Chapter5:RefactoringwithMoreLINQ1095-1.
GettingMoreLINQ1095-2.
UsingtheScanOperator109Problem109Solution109HowItWorks1105-3.
UsingtheSliceOperator110Problem110Solution110HowItWorks1115-4.
UsingtheInterleaveOperator111Problem111Solution111HowItWorks1125-5.
UsingtheWindowedOperator113Problem113Solution113HowItWorks1145-6.
UsingtheCartesianOperator115Problem115Solution115HowItWorks115Contentsxviii5-7.
UsingthePartitionOperator116Problem116Solution117HowItWorks1185-8.
UsingtheIndexOperator118Problem118Solution119HowItWorks1195-9.
UsingthePairWiseOperator119Problem119Solution120HowItWorks1205-10.
TheForEachOperator121Problem121Solution121HowItWorks1215-11.
UsingtheMinBy/MaxByOperator122Problem122Solution122HowItWorks122Summary122Chapter6:CreatingDomain-SpecificLanguages1236-1.
FeeltheDifference1236-2.
CreatingaSimpleDSLforMathematicians124Problem124Solution124HowItWorks1286-3.
TestingArmstrongbyUsingNUnit129Problem129Solution129HowItWorks133Contentsxix6-4.
ExposingArmstrongasanExternalDSL133Problem133Solution134HowItWorks1396-5.
CloningHandyF#FunctionsbyUsingLINQ139Problem140Solution140HowItWorks1456-6.
LazilyGeneratingItemsfromaRecurrenceRelation146Problem146Solution147HowItWorks149Summary149Chapter7:StaticCodeAnalysis1517-1.
FindingVerboseTypeNamesinthe.
NET3.
5Framework151Problem151Solution151HowItWorks1527-2.
FindingtheNumberofOverloadsforaMethod152Problem153Solution153HowItWorks1547-3.
FindingtheSizeofaNamespace154Problem154Solution154HowItWorks1557-4.
FindingtheCode-to-Comment(C#Style)Ratio156Problem156Solution156HowItWorks157Contentsxx7-5.
FindingtheSizeofTypes158Problem158Solution158HowItWorks1597-6.
GeneratingDocumentationAutomatically159Problem159Solution159HowItWorks1607-7.
FindingInheritanceRelationships161Problem161Solution161HowItWorks1627-8.
LocatingComplexMethods162Problem162Solution163HowItWorks164Summary164Chapter8:ExploratoryDataAnalysis1658-1.
AnalyzingtheTitanicSurvivorsDataset165Problem166Solution166HowItWorks167Problem168Solution168HowItWorks1708-2.
ConvertingSurveyMonkeyResultstoCSV170Problem170Solution170HowItWorks172Contentsxxi8-3.
AnalyzingTrendsinBabyNames172Problem173Solution173HowItWorks1778-4.
AnalyzingStockValues177Problem177Solution177HowItWorks1798-5.
AnalyzingGitLogs179Problem180Solution180HowItWorks181Problem182Solution182HowItWorks1848-6.
AnalyzingMovieRatings184Problem185Solution185HowItWorks1878-7.
IdentifyingFlowersbyUsingMachineLearning191Problem191Solution191HowItWorks193Summary193Chapter9:InteractingwiththeFileSystem1959-1.
ComparingTwoCSVFiles195Problem195Solution195HowItWorks196Contentsxxii9-2.
FindingtheTotalFileSizeinaDirectory197Problem197Solution197HowItWorks1979-3.
CloningLINUXHeadandTailCommands197Problem198Solution198HowItWorks1999-4.
LocatingFileswiththeSameName(PossibleDuplicates)199Problem199Solution200HowItWorks2009-5.
FindingExact-DuplicateFiles200Problem200Solution200HowItWorks2019-6.
OrganizingDownloadsAutomatically201Problem201Solution201HowItWorks2029-7.
FindingFilesModifiedLastWeek202Problem202Solution203HowItWorks2039-8.
LocatingDeadFiles(FileswithZeroBytes)203Problem203Solution204HowItWorks204AppendixA:LeanLINQTips205Tip1205Explanation205ContentsxxiiiTip2205Explanation205Tip3206Explanation206Tip4206Explanation206Tip5206Explanation206Tip6206Explanation206Tip7207Explanation207Tip8207Explanation207Tip9207Explanation207Tip10207Explanation207Tip11208Explanation208Tip12208Explanation208Tip13208Explanation208Tip14208Explanation208Tip15209Explanation209Tip16209Explanation209ContentsxxivTip17209Explanation209AppendixB:TamingStreamingDatawithRx.
NET211ABriefExplanationoftheInterfaces213GettingRx.
NET213UsingRx.
NETinLINQPad213CreatingObservablesandSubscribing216Range216Repeat217Never217Interval217Generate217ToObservable219CreatingObservablesfrom.
NETEvents219Subscribe220CombiningObservableCollections220Concat220Merge221Amb223Zip223PartitioningObservables225Window225Time-TaggingObservables226Timestamp226TimeInterval227Rx.
NETShowcase228CreatingaSignatureCaptureScreen228LiveFileSystemWatcher229Summary230Index231xxvAbouttheAuthorSudiptaMukherjeeisanexperiencedprogrammer.
BorninShibpur,atownintheHowrahdistrictofWestBengalinIndia,hegrewupinBally,anothersmalltownintheHowrahdistrict.
HehasbeenworkingwithC#andLINQsincetheywerefirstreleased,andisanenthusiasticadvocateforLINQ.
Sudiptaisaprolificauthor,whosepreviousbooksincludeDataStructuresUsingC(http://goo.
gl/pttSh)and.
NET4.
0Generics:Beginner'sGuide(http://goo.
gl/LwVmZ5).
Hisinterestsaredatastructure,algorithms,textprocessing,machinelearning,naturallanguageprocessing,programminglanguages,andtoolsdevelopment.
Whennotworkingathisdayjoborwritingbooks,Sudiptalikesspendingtimewithhisfamilyandfollowinghispassionofsketchingandpainting.
SudiptalivesinBangaloreandcanbecontactedviae-mailatsudipto80@yahoo.
comoronTwitter@samthecoder.
xxviiAbouttheTechnicalReviewerFabioClaudioFerracchiatiisaseniorconsultantandasenioranalyst/developerusingMicrosofttechnologies.
HeworksatBluArancioSpA(www.
bluarancio.
com)asasenioranalyst/developerandMicrosoftDynamicsCRMSpecialist.
HeisaMicrosoftCertifiedSolutionDeveloperfor.
NET,aMicrosoftCertifiedApplicationDeveloperfor.
NET,aMicrosoftCertifiedProfessional,andaprolificauthorandtechnicalreviewer.
Overthepasttenyears,he'swrittenarticlesforItalianandinternationalmagazinesandcoauthoredmorethantenbooksonavarietyofcomputertopics.
xxixAcknowledgmentsAbooklikethiscan'tbepublishedwithoutcontinuoussupportfromthepublisher,editors,andthetechnicalreviewer.
IamverythankfultoJamesT.
DeWolfandKevinWalterofApressforbeingpatientandsupportive.
Ihadincrediblesupportfrommydevelopmenteditor,RussellJones.
IalsowanttothankFabioClaudioFerracchiatiforhisinvaluablehelpinreviewingandrunningeachandeveryprogramthatIwrote.
Thanksalot,gentlemen.
Anybodywhohaseverwrittenatechnicalbookwillprobablytellyouthatitisnoteasytofollowthispathuntiltheend.
Itrequiresalotofpatienceandsupport.
ThankstoGod,Ihavealotapatience.
AndIhadtremendoussupport,especiallyfrommywife,Mou,andeverybodyinmyfamily.
Thankyou,sweetheart!
Lastbutnotleast,IwanttothankGodonceagainforgivingmemylittleangel,Sohan.
Itissuchajoytobewithhim.
Ihavelearnedalotfromhim;hisperseveranceespeciallyhashelpedmeovercomesomeofmyownstumblingblocksinlife.
xxxiIntroductionThisbookwon'tteachyouthebasicsofLINQ.
Itwillteachyouhowtouseitappropriately.
Havingajackhammerisgreatonlyifyouknowhowtouseitproperly;otherwise,youarenotmuchbetteroffthansomeonewithahammer.
LINQispowerful.
Powerfulbeyondmeasure.
Ihopeyouwillseesomeofthatpowerbyfollowingtheexamplesinthebook.
Hereisabriefwalk-throughofthechapters:Chapter1:ThinkingFunctionallyOurgenerationofprogrammershasbeenraisedwithobject-orientedprogrammingideas.
Thisinitialchapterisdedicatedtoshowinghowfunctionalprogrammingisdifferentfromobject-orientedprogramming.
Thischaptersetsthecontextfortherestofthebook.
Chapter2:SeriesGenerationThischapterhasrecipesforgeneratingseveralseriesusingLINQ.
Forexample,itshowshowtogeneraterecursivepatternsandmathematicalseries.
Chapter3:TextProcessingTextprocessingisablankettermusedtocoverarangeoftasks,fromgenerationoftexttospell-checking.
ThischaptershowshowtouseLINQtoperformseveraltext-processingtasksthatareseeminglycommonplace.
Chapter4:RefactoringwithLINQLegacycodebasesgrow,andgrowfast—fasterthanyoumightthinktheywould.
Maintainingsuchhugecodeblockscanbecomeanightmare.
WhenisthelasttimeyouhadtroubleunderstandingwhatsomecomplexloopcodedoesThischaptershowshowtorefactoryourlegacyloopstoLINQ.
Chapter5:RefactoringwithMoreLINQMoreLINQisanopensourceLINQAPIthathasseveralmethodsforslicinganddicingdata.
SomeoftheseoperatorsareeasilycomposableusingotherLINQoperators.
Butsomearealsotrulyhelpfulinminimizingthetotalnumberofcodelines.
ThischaptershowshowyoucanbenefitfromusingMoreLINQ.
Chapter6:CreatingDomain-SpecificLanguagesUsingLINQDomain-specificlanguages(DSLs)aregaininginpopularitybecausetheyconveytheintentoftheprogrammerverynicely.
ThischaptershowshowtocreateseveralDSLs.
Chapter7:StaticCodeAnalysisLINQtreatseverythingasdata.
Codeisalsodata.
Thischaptershowshow,byusingLINQ-to-Reflection,youcandoalotofmetaprogrammingin.
NET.
IntroductionxxxiiChapter8:ExploratoryDataAnalysisThischaptershowshowyoucanuseLINQtosolveseveraldataanalysistasks.
Ihopeyoufindthischapterenjoyable,becausetheexamplesarereallyinteresting.
Chapter9:InteractionwiththeFileSystemIhavealwayswishedthatWindowsExplorerincludedbetterfeaturesforqueryingthefilesystem.
However,byusingLINQ,youcanbuildyourowncustomqueriesquickly.
Thischaptershowsyousomeexamplesthatcanbeusefulintherealworld.
AppendixA:LeanLINQTipsLINQisanAPIthatprovidesseveraloperatorstoexpressyourintent.
Althoughthatissuperpowerful,itcomeswithaprice.
Ifyoudon'tknowhowtheseoperatorsworkinternally,youmightendupusingacombinationthatresultsinslowercode.
Thisappendixprovidessomehard-earnedknowledgeabouthowtoglueLINQoperatorstogetherforoptimumperformance.
AppendixB:TamingStreamingDatawithRx.
NETBeingreactiveisimportantwhendealingwithstreamingdata.
Microsoft'süber-coolframework,Rx.
NET,isafantasticAPIfordealingwithstreamingdataandasyncoperations.
ThisappendixshowshowtouseRx.
NETtotacklestreamingdata.

RAKsmart便宜美国/日本/中国香港VPS主机 低至月$1.99 可安装Windows

RAKsmart 商家这几年还是在做事情的,虽然他们家顺带做的VPS主机并不是主营业务,毕竟当下的基础云服务器竞争过于激烈,他们家主营业务的独立服务器。包括在去年开始有新增多个数据中心独立服务器,包括有10G带宽的不限流量的独立服务器。当然,如果有需要便宜VPS主机的他们家也是有的,比如有最低月付1.99美元的美国VPS主机,而且可选安装Windows系统。这里商家有提供下面六款六月份的活动便宜V...

Virmach 3.23美元可用6个月的VPS主机

Virmach 商家算是比较久且一直在低价便宜VPS方案中玩的不亦乐乎的商家,有很多同时期的商家纷纷关闭转让,也有的转型到中高端用户。而前一段时间也有分享过一次Virmach商家推出所谓的一次性便宜VPS主机,比如很低的价格半年时间,时间到服务器也就关闭。这不今天又看到商家有提供这样的产品。这次的活动产品包括圣何塞和水牛城两个机房,为期六个月,一次性付费用完将会取消,就这么特别的产品,适合短期玩玩...

Hosteons - 限时洛杉矶/达拉斯/纽约 免费升级至10G带宽 低至年$21

Hosteons,一家海外主机商成立于2018年,在之前还没有介绍和接触这个主机商,今天是有在LEB上看到有官方发送的活动主要是针对LEB的用户提供的洛杉矶、达拉斯和纽约三个机房的方案,最低年付21美元,其特点主要在于可以从1G带宽升级至10G,而且是免费的,是不是很吸引人?本来这次活动是仅仅在LEB留言提交账单ID才可以,这个感觉有点麻烦。不过看到老龚同学有拿到识别优惠码,于是就一并来分享给有需...

syntaxhighlighter为你推荐
竞赛搜狗拼音输入法4fugedios11重要产品信息指南设备ipad支持ipad支持ipad模块iphone更新iphone重庆宽带测速重庆云阳电信宽带测速网址谁知道,帮个忙?127.0.0.1传奇服务器非法网关连接: 127.0.0.1
日本动态vps 阿云浏览器 virpus 私服服务器 国外空间服务商 godaddy域名转出 服务器日志分析 debian6 免费博客空间 web服务器架设软件 qq数据库 福建天翼加速 国外代理服务器地址 33456 多线空间 yundun 万网主机管理 上海电信测速网站 网购分享 群英网络 更多