begynde at udvikle med hen på mac

begynde at udvikle med hen på mac,,,,,,, hvad du vil lave,,, web ansøgninger er en del af livet i disse dage.de så, sprog, som google, er en nyttig sprog til webbaserede ansøgninger.jeg vil vise dig, hvordan at komme i gang med at gå på en mac.,, oprettelse af den miljø, den nemmeste måde at installere, gå, programmeringssprog, er af homebrew,.hvis du ikke har installeret, homebrew, men den lektion, homebrew afmystificerede: os x er endelige pakke manager, vil vise dig hvordan.,, i en terminal, type:,, bryg installere,,,,,,,, at gå installere,,, at finde det sted, installere fortegnelse, - denne kommando i din terminal - programmet:,, er - la `, der går, du bør tage dette resultat:,, lrwxr-xr-x 1 raguay hjul - 25. maj 14 15:11 /bar /lokale /bin /- >.. /kælder //1.2.2/bin/go, viser det, at de vigtigste installation af så, er /bar /lokale /kælder //1.2.2.du er nødt til at fælde miljø variabel, goroot, skal være den, libexec, fortegnelse over den telefonbog.,, i hjemmet, fortegnelse, oprette registret, gå.de så, sprog vil opbevare alle downloadede pakker.tilføje til din. bashrc, dokumentation og /eller. zshrc, indsende denne linje:,, eksport gopath = "/brugere /< dit brugernavn > /gå" eksport goroot = "/< deres gå anlæg > /libexec", hvis du bruger fisk tilføje det til din, config.fish, fil:,,, - xg gopath "/brugere /< dit brugernavn > go" - xg goroot "/< deres gå anlæg > /libexec", for at teste, type følgende i en terminal. så version, skal det trykte den version af  ,,,  , der er   installeret.på mit system lige nu, viser det, gå version go1.2.2 darwin /amd64,.,, at tjekke for nyere versioner, lad, homebrew, finde ud af det.på kommando linjen, type:,, bryg ajourføre bryg opgradering,,, ajourføre, kommando vil få en liste over opdaterede programmer.det, opgradering, kommando gør faktisk opgradering.den måde, du behøver aldrig at jage de forskellige websteder for at finde opdateringer.,, at oprette redaktør, nu, nu, er, om ordningen, har du brug for at oprette en redaktør.jeg bruger sublim tekst 3, energi, og emacs, en masse.derfor er jeg nødt til at få min redaktør til,,.,,, sublim tekst, det er nemt.installere pakke manager for sublim tekst.dette giver let pakke anlæg.den pakke, de ønsker at installere er gosublime,., gosublime, giver du så, sprog, syntaks fremhæve og gå, opbygge system.,, at installere, gå, syntaks fremhæver i emacs, installere elisp rutiner i $goroot /diverse /emacs, til din emacs elisp mappe.for at lade den nye emacs, filer, lægger du denne linje til  ,. emacs, fil i hjemmet folder:,, (kræver gå mode belastning), støtte til energi, kræver mere arbejde.i en terminal, løb dem, smadre, kommando linjer:,, mkdir - p $hjem /. viii /ftdetect mkdir - p $hjem /. viii /syntaks mkdir - p $hjem /. viii /autoload /l - s $goroot /diverse /viii /ftdetect /gofiletype.vim $hjem /. energi /ftdetect /l - s $goroot /diverse /viii /syntaks /go.vim $hjem /. viii /syntaks - i - s $goroot /diverse /viii /autoload //complete.vim $hjem /. viii /autoload /echo "syntaks på" > > $hjem. vimrc, den sidste linje er kun nødvendig, hvis du ikke allerede har, syntaks, i din. vimrc,.,, biblioteker, og hvordan man bruger dem, traditionelt biblioteker er grundlaget for modularizing kode for genbrug.i kom, biblioteker er pakker.den går sprog kommer med mange pakker indbygget.du kan skanne dem på pakningerne side.der er også mange 3. part, pakker og projekter. i, afsnit sag server, vil jeg benytte tredjemands pakke web.go.det er en simpel webserver ramme, der forenkler indførelsen af web - baseret på ansøgninger i går.at lade pakken på dit system, type:,, installere github.com/hoisie/web,,, installere, kommando tager et argument, som er et websted, udenhttp: //, for en pakke til download.det er placeret i $gopath fortegnelse, som blev indført tidligere.,, projektet: afsnit sag server, afsnit sag er en af de mest kræsen.nogle mennesker, som visse ord altid lavere.andre mener, at ord   bør alle afsnit.derfor, for at gøre det ordentligt, (som de fleste pakke rutiner gør ikke, du skal tjekke hvert ord mod to ordbøger ord for at få tingene i orden.det er en stor nybegynder - projektet i en ny programmeringssprog. ////- pakken: vigtigste ////beskrivelse: dette er den største pakke for gotitleserver.//det er en simpel web - teknologi baseret på afsnit tilfælde //tekst server.//pakke vigtigste,,, //symbol betyder en kommentar.kortfremstilleren ignorerer alt efter det i telefonen.jeg kan lide at sige alt.når man læser den kode, år senere, er de bemærkninger, hjælpe dig med at huske, hvordan programmet fungerer.,, linjen efter de bemærkninger, er pakken erklæring.hver fil at gå, anvendelse, skal være en del af en pakke.hvert program har kun én, main, pakke, der skal have den, main(), funktion.det siger de, hvor de skal begynde at løbe, programmet.,, ////import biblioteker, som vi har brug for til serveren.//import ("github. kom /hoisie /web" os "" strenge "), til at gøre brug af pakker, du er nødt til at importere dem.alle de pakker, der skal være i denne erklæring.jeg er også de to base pakker, os, for operativsystemet funktioner og strenge, til at manipulere tråde.det, github.com/hoisie/web, laster, web.go, pakke til webserver. ////////////////////funktion: hjemmeside beskrivelse: denne funktion vil servere hjemmeside for inputing snoren //til at konvertere.//funktioner homepage() snor {tilbagevenden er <!doctype html > < http: //lang = ", en" > < head > < meta - charset = "utf - 8" /> < afsnit > afsnit sag server < /afsnit > <!- hvis han] > < manuskript src = "http: //html5shiv. googlecode. kom /svn /bagagerum /html5. er" > < /manuskript > <![endif] - > < stil > organ (bredde: 100%} header {baggrund: lightblue; bredde: 80%; højde: 100px; margen: 20px auto; grænseoverskridende radius: 10px;} header h3 (tekst tilpasse: center; polstring top: 40px; skriftstørrelsen: 28px;} indhold (skriftstørrelse: 16px;} indhold, form (skriftstørrelse: arve; margen: auto; polstring til venstre: 8px; bredde: 80%; tekst tilpasse: center;} indhold form p input (bredde: 80%;} indhold udgør knap {margen: auto; grænseoverskridende radius: 10px;} < /stil > < manuskript type = "tekst /javascript" src = "http: //kode. jquery. kom /jquery-1.11.1. min.js" > < /manuskript> \t\t<script type="text/javascript" > \t\t\twindow.convert = function() { \t\t\t\t$.ajax({ \t\t\t\t\ttype: "GET", \t\t\t\t\turl: "http://127.0.0.1:9910/titlecase/", \t\t\t\t\tdata: { text: $("#text").val()} \t\t\t\t}).done(function(msg) { \t \t\t\t\t$("#result").val(msg); \t\t\t\t}); \t\t\t}; \t\t</script> \t</head> \t<body> \t\t<header> \t\t\t<h3>Title Case Server</h3> \t\t</header> \t\t<content> \t\t\t<form action="/titlecase/" method="get"> \t\t\t\t<p>Text to fix: \t\t\t\t\t<input id="text" type="text" name="text" > \t\t\t\t\t</input> \t\t\t\t</p> \t\t\t\t<button type="button" id="convert" text="Convert" onclick="window.convert();">Convert</button> \t\t\t\t<p>Results: < input id = "betyder" type = "tekst" navn = "grund" > < /input > < /p > < /form > < /indhold > < fod > < /fod > < /organ > < /html > «), og denne funktion skaber hjemmeside.det er hvad - - giver en webbrowser, at anmodninger på forsiden af webstedet.den funktion, command er en funktion - erklæringen.den hjemmeside, er navnet på den funktion., (), siger de, at denne funktion ikke tager input.den snor, efter parentesen siger de, at den funktion, vil komme en snor.,, alt indeni den, {}, er koden for den funktion.denne funktion er enkel: tilbage, de citerede snor til ham i funktion.i går, og du kan citere tråde med ",", "", og ".jeg brugte den sidste her har en multipel linje snor, der ikke er behandlet på alle.kalder du det en bogstavelig snor.,, ved hjælp af den direkte citat metode, kan jeg udformning den webside, ligesom jeg vil normalt.intet i den tik varemærker bliver behandlet af den ansvarlige.det er kopieret direkte i programmet, og det program, returnerer den til webbrowser efter anmodning, ////////////////////titlecase funktion: beskrivelse: det kræver en streng og omdanner det til afsnit.den //afkast snoren.////////////////////////////////////val input: resten af url, hvis de får nogen.//funktioner titlecase (ctx * web.context, val snor) string (////- snor til at konvertere og dele af rum.//ord: = tråde. split (ctx. params ["tekst", "") //////////den vifte af ord, der bør være lavere sag altid, medmindre det er de første ord //af titlen.//lavere: = [...] string ("til", "en", "og", "til", "som", "men", "med", "for", "hvis", "i", "om", "eller", "er", "" "" "" "" "versus", "versus", "via", "via", "en"} //////////den vifte af ord, der bør være der altid.//øvre: = [...] string ("jeg", "ii", "iii", "iv", "v", "vi", "vii, viii, ix", "x", "/", "forskning", "&.", "på"} //////////for hvert eneste ord i titlen.////////-, _: = range ord (////påtage sig de ord er ikke i den øvre eller nedre sag arrays.//: = falske lav: = falske ////loop gennem hvert et ord i den lavere sag system.//j, _: = range lavere (hvis tråde. tolower (ord, [i]) = = lavere [j] (////////////////det matcher.sørg for, de ord i nettet er den samme.//sat op flag som sandt.//ord [i] = lavere [j] lav = sand) //////////loop gennem hvert et ord i den øvre sag system.//k, _: = range øvre {, hvis tråde. toupper (ord, [i]) = = øvre [k] (////////////////det matcher.sørg for, det er linjen er den samme.//fastsætte lave flag, sandt.//ord [i] = øvre [k] = sand) //////////, hvis det ikke var i den øvre eller nedre system, så gør en normal //afsnit sag omstilling.dette er den første skrivelse øvre og alt //de andre breve lavere.//hvis (!) & & (!lav) {ord [i] = tråde. afsnit (ord, [i])) //////////- det første ord er afsnit!//////////////ord [0] = tråde. afsnit (ord [0]) //////////afkast titlen ved at tilslutte sig alle de ord, med et rum.//tilbage i. med (ord, ""), og denne kodeks, er arbejdet med at overføre en snor på web - server i titlen tilfælde svarer.,,, ctx * web.context, val snor, siger de, at denne funktion modtager to variabler.her er et fingerpeg om, web.context, struktur, der er defineret i de data, web.go, pakke.den anden er en snor.du erklærer en variable input ved navn og type variabel.,,, *, symbolet angiver et fingerpeg.det er en adresse til placeringen i hukommelse for datastrukturen.nu følger, c, data viser format.,, den første erklæring bliver den parameter, der hedder, tekst, at browser adgang til serveren, og deler det op i rum.det, strings.split, opfordrer de dele, funktion i den, tråde, pakke.du kan tænke på kolli svarer til objekter i c + +.du kalder dem ved hjælp af en,., mellem pakken navn og funktion navn.,, i hver pakke, hver funktion, der starter med et stort bogstav er tilgængelige uden for den pakke.alle funktioner, der starter med en lavere sag brev er kun tilgængelig fra pakken.,, når de, strings.split, funktion, opsplitter en snor af separator, det vender tilbage med en række strenge.produktionen er overdraget til variabel, ord.for at skabe en ny variabel, første gang det er anvendt, skal du bruge en: =, tildeler den.hvis de ønsker at ændre den samme variabel til en række strenge, du ville bruge =, operatør.,, skabe to systemer for de forskellige ord lister.lavere, er for små ord og øvre, for alle de øvre sag ord.de [...], siger de at få antallet af opgaver fra de data.på den måde kan du tilføje ordene til den liste, uden at bekymre sig om forøgelse af tæller.den snor, siger de, at hver indsejling i systemet er en snor.,, jeg bruger, for... vifte, løkker rækkefølgen i arrays.den første går over hvert ord i input, og to andre løkker går igennem hver ordbog, ord for ord.det første konvetiter ordet til lavere, sammenligner det med hvert enkelt ord i den, lavere, ordbog.hvis der er en kamp, det styrker de ord til lavere sag ved at tildele det ord holdning til strengen i ordbogen.det er det samme med den øvre, ordbog.,, hvis ord var ikke i en ordbog, det udfører, strings.title, funktion til ord.dette styrker den første brev til store og alle de andre små. og endelig den første ord var afsnit sag, uanset hvad.det, strings.join, funktion, samler den vifte af styret ved hjælp af en plads.det giver resultater til ringer til den funktion,.,, ////////////////////killserver funktion: beskrivelse: denne funktion vil stoppe den server.//funktioner killserver() string (s. exit - (0) afkast ","},,, killserver, funktion, gør præcis, hvad navnet antyder: dræber web - server.det var en opfordring til, os. exit(), funktion i, os, pakke. //////////////////////////vigtigste funktion: beskrivelse: dette er den vigtigste opgave, som er pålagt program kørende.////////////main() (funktioner, der titlecase web - adresse for den korrekte funktion.//web. kom ("/titlecase /(*)", titlecase) //////////oprettet en vej til at dræbe den server.//web. kom ("dræbe", killserver) //////////sende hjem side til at fungere ordentligt.//web. kom ("/" hjemmeside) //////////- serveren på lokale maskine i havn 9911 //web. løb ("127.0.0.1:9910"), de vigtigste funktion anvendelser, web.get, til at oprette, få, protokol ruter til hjemmesiden, dræbe side, og afsnit sag konverter rutine.de net, er den, web.go, pakke, som vi har tidligere.de få, definerer ethttp: //- anmodning.der er også -, post -, og slette, operatører, at man kan definere,.,,, web.run, erklæring begynder webserver den pågældende adresse og havn.det, web.go, pakke tager over fra der og kalder dine rutiner, når den behandler defineret blive anmodet om at udarbejde,.,,, at programmet har gjort, er du nødt til at udarbejde den.at udarbejde et sted, program, skal du fortælle det til at bygge den fil, med de vigtigste funktion.at udarbejde dette program, du skriver: "bygge gotitleserver.go,, når jeg er færdig, vil du have, gotitleserver, i registret.det er hele programmet.du kan starte med:,,. /gotitleserver,, så åbner vi en webbrowserhttp: //127.0.0.1:9910,.du skal se det her:,,,, gotitleserver løber, ind i din snor i den tekst til at ordne:, tekstboks, presse, konvertere, og konverteret snor vil fremgå, resultater, tekstboks.,, afsnit sag server arbejdsgang, jeg naturligvis, at dette program til en. alfred, arbejdsgang.det er en del af at downloade sammen med, gotitleserver.go, fil.dette giver et eksempel på anvendelse af serveren uden webbrowser.der anvendes følgende bash kode spørgsmålstegn ved serveren:,, søge = er echo "(spørgsmål}"



Previous:
Next Page: