Pereiti prie turinio

BaSh_time

Patvirtinti nariai
  • Pranešimai

    3.340
  • Užsiregistravo

  • Lankėsi

  • Atsiliepimai

    100%

Reputacijos išklotinė

  1. Patinka
    BaSh_time gavo reakciją nuo Tumatas Ubuntu instaliacija   
    Reikėjo naujesnės versijos instaliaciją rašyt, kaži ar 9.10 kas nors dar įsirašinės
  2. Patinka
    BaSh_time sureagavo į Stanley Pigūs lėktuvu bilietai   
  3. Patinka
    BaSh_time gavo reakciją nuo Mantis3728 Tai ka, siemet VU programu sistemos reikalauja virs 8 balo?   
    Stojau pernai, 7.9 buvo. Nieko stebėtino
  4. Patinka
    BaSh_time sureagavo į eXPy Pigūs lėktuvu bilietai   
    http://i.gyazo.com/03e868dd5a2bff0e2428fa09eafde61b.png
  5. Patinka
    BaSh_time sureagavo į Juozapas Pigūs lėktuvu bilietai   
  6. Patinka
    BaSh_time gavo reakciją nuo Sprunkas Reikia truputis informacijos apie vieną Pascal funkciją.   
    Visos funkcijos grąžina reikšmę per savo vardą. funkcijos_vardas := ats; tas grąžinimas, o tarp pagrindinių begin ir end rašai ats := funckijos_vardas(parametrai);
  7. Patinka
    BaSh_time sureagavo į KingPin Kaip pagreitinti SASS kompiliavimą arba “Kai kiekviena sekundė yra svarbi”...   
    Sveiki, teko parašyti straipsnį anglų kalba, tačiau noriu juo pasidalinti ir su lietuvių Front-ender'ių community.
    Originalu straipsnį rasite čia:
    https://www.devbridge.com/articles/increasing-sass-compiling-performance-or-when-every-second-counts/
     
    Ar daug yra sekundė? O dvi, trys? Dešimt? Tokie klausimai man kilo nuo tada, kai pradėjome naudoti CSS preprocesorių SASS.
    Įrankis, kurio pagalba turėjome palengvinti ir pagreitinti savo darbą, kartais jį netgi prailgindavo, dėl savo compile’o greičio. Taip, įrankis mums leido suvienodinti savo kodą tarp kelių komandos narių, leido automatizuoti kodo rašymo, spritinimo ir kitus procesus, tačiau kelis mėnesius developinamas projektas, pasiekdavo 7-12 sec. ar net didesnes compile’o laiko ribas. Galbūt tai neatrodo daug, tačiau paskaičiuokime: tarkime, jog buildiname failą vieną kartą kas minutę, vidutinis build time 6-10sec = 8sec. Tai reiškia, jog nemaža dalis mūsų darbo laiko (1/7.5, kas yra 40/7.5 ~ 5.3 valandos) yra ne kas kita, kaip laukimas, kol SASS susicompilins. Tad ką mes galime padaryti?
    SASS su steroidais
    Logika čia gana artima automotibilių sportui - jei automobilis važiuoja labai lėtai, vadinasi kaltas jo variklis. Būtent tai mes ir padarysime, pakeisim variklį. SASS buildinimui panaudosime libsass, tai SASS port‘as C kalba. Libsass kūrėjai jau senai pastebėjo, jog Ruby tikai nėra gerai performinanti kalba ir SASS variklį reikia perkelti ant kalbos, kurią galėtum paleisti tiek įvairiose aplinkose ir kurios greitis tenkintų.
    Tolumoje jau girdžiu žmones, kurie sako „Palauk, palauk, o kaip compass? Kaip native ruby funkcijų naudojimas libuose? Pamiršai?“.
     
    Karalius mirė? Tegyvuoja karalius!
    Taip, pasirinkus libsass aš turėjau atsisakyti dviejų visų mėgiamų sass frameworkų: „Compass“ ir grid‘o sistemos „Susy“. Jei susy atsirado dar visai nesenai, tai compass buvo labai didelė SASS populiarumo priežastis ir jo atsisakymas daug kam pasirodys neadekvatus, tačiau mes jį visai nesunkiai pakeisime. Susipažinkite – „Bourbon“.
    Bourbon – tai tik SASS paremta mixinų biblioteka, kuri yra beveik identiška „Compass“, tačiau „Bourbon“, mano nuomone turi didesnį išpildymą, nepriklausomumą, greitį ir dokumentaciją.
    Pavyzdiniame projekte, pakeitus „Compass“ į „Bourbon“, su kiekvienu importo pakeitimu compile time sumažėdavo 0,6~ sekundės (visas compile time apie 10sec).
    Tad ką mes laimėjome ir ką praradome iškeitę „Compass“ į „Bourbon“?
    Laimėta:
    a) Greitis (build time, net nepakeitus buildinimo engine tapo greitesnis)
    b) Didesnis išpildymas – papildomai gausite tikrai kokybišką grido sistemą - „Neat“, ir ne tokią svarbią componentų ir add’ons bibliotekas.
    c) Dokumentacijos stilius yra pesonalinis dalykas, tačiau „Bourbon“ dokumentacija man žymiai aiškesnė.
    d) Bourbon yra „pure“ SASS, jį galima naudoti tiek su libsass tiek su ruby sass compileriu.
    f) Jau integruotas CSS animacijų paketas (keyframes, animation ir t.t.)
    g) Compass iš esmės stengiasi padaryti viską, bet kaip žinoma, įrankiai skirti viskam, dažniausia nėra tinkami geriausiems ir sparčiausiems sprendimams. Netgi visų mėgstamas spritinimo helperis compasse nėra optimaliai parašytas, nes sprite’ai yra pertikrinami kas kiekvieną sass failo modifikaciją, kai tuo tarpu, logiška būtų juos tikrinti tik tuomet, jei grafiniai failai buvo pridėti į sprite.
    h) Compass labiau mėgsta įsibrauti į jūsų sistemą ir turi kelis erzinančius dependencies.
     
    Prarasta:
    a) Compass Inline-image funkcija, kuri buvo patogi, tačiau galima gyventi ir be jos.
    b) Sprite‘ų generavimas (kaip mes tai pakeisime – apie tai, vėliau)
     
    Grido sistema gali kelti performance bėdų? Really?
    Mano atveju, teko keisti ir grid sistemą. Naudotas susy, jau pusę metų neišsprendžia savo bėdų performance srityje https://github.com/ericam/susy/issues/325, taip pat, jis priklauso nuo ruby, tad teko jo atsisakyti.
    Žinoma, skaitydami šias eilutes, galvojate, jog vėl sutaupysime vidutiniškai puę sekundės, tačiau, norėčiau atkreipti Jūsų dėmesį į šį grid‘o sistemų palyginimą: http://jeffreydegraaf.nl/2014/07/04/performance-of-sass-grid-systems/
    Kaip matote, Neat ir Susy performance skirtumas yra gana didelis (0.3~1,2 sec versus 7~8sec.). Gana įspūdinga?
    Būtent todėl ir pasirinkau „Neat“, nes jis panašus į „Susy“, LABAI greitas, nepriklausomas nuo Ruby ir labai gerai dokumentuotas.
    Užteks kalbėti, rodyk skaičius.
    Gerai, tad tarkime, jog turime seną projektą, kiek mes galime sutaupyti?
    Generation of average project file (240KB size)
    Compass + susy + sprites – empty cache: 16-17s.
    Compass + susy + cache + sprites: 10-12sec.
    Libsass + neat + bourbon + sprites + grunt-watch: 1.6 sec.
    Libsass + neat + bourbon + sprites + grunt watch with (spawn:false): 0.6 sec.
    Kaip matote, skirtumas yra milžiniškas.
     
     
    Įtikinai, tik kaip visa tai efektyviai sujungti? Ir kaip dėl sprite’ų?
    Turbūt ne paslaptis, jog didelė dalis front-end developerių laikosi įsikandę compass tik dėl sprite’ų generavimo.
    Libsass ir automatizuotas spritinimas? Taip, tai įmanoma, kaip ir minėjau, sprite‘ų automatizavimo atsisakyti nereikės, tačiau tam, jog viskas veiktų, reikės grunt arba gulp. Jei dar nesate susipažinę su šiuo įrankiu, tai pasiskaitykite čia (asmeniškai, pirmenybę teikiu Grunt, todėl instrukcijas pateiksiu tik jam): http://gruntjs.com/
    Jums eikės:
    Node naujausios versijos:
    http://nodejs.org/download/
    Parsisiųskite sample libsass projektą: https://github.com/devbridge/Front-End-Toolkit/tree/master/starter-template-libsass
    kai susiinstaliuosite Node, įsijunkite node command line ir nueikite į projekto direktoriją:
    įveskite komandą: npm install
    Ir viskas, galite pradėti dirbti :)
     
    Pirmam paleidimui duokite komandą „grunt“, bus sugeneruoti pradiniai failai, sprite‘ai. Dirbant naudokite task‘ą grunt watch, jis stebės scss failus ir img failus ir jiem pakitus, atitinkamai reaguos.
     
    Jei kažkas nepavyko – rašykite komentaruose, pabandysiu pagelbėti.
     
    Faster!
    Tam, jog taupyti laiką ir tik atsinaujinus CSS failui, vaizdas būtų perpieštas, esu pasirašęs mažą chrome extensioną, galbūt pravers ir Jums:
    https://chrome.google.com/webstore/detail/prototool-css-auto-refres/kobijmefblkndpicohiondpdnpojebjd
     
    Final thoughts
    Tiesą sakant, šis research‘as davė man labai daug patirties apie tai, kaip aš ateityje rinksiuosi įrankius. Tai padėjo man suvokti, jog sass plugins‘ai, extension‘ai negali savyje turėti kitos kalbos panaudojimo kaip SASS. Tai leidžia vėliau išvengti suderinamumo ir palaikomumo problemų ir esant dideliems pokyčiams, leidžia greitai daryti pakeitimus esant poreikiui.
    Taip pat, developinant didelius projektus, kritiškai svarbu atsižvelgti į įrankio spartą.
    Tikiuosi mano postas Jums padės atsikratyti beverčio laukimo ir leis atsilaisvinusį laiką panaudoti geresniems tikslams.
    Galbūt turite įdėjų kaip visa tai dar labiau pagreitinti, o gal turite pastabų ar pastebėjimų? Rašykite komentarų skiltyje! Ačiū!
  8. Patinka
    BaSh_time gavo reakciją nuo KaTo Neigiami dešimtainiai į dvejetainius   
    5 skaitmenis turėjai, tai 5 ir palik. 10001 ir yra 17
  9. Patinka
    BaSh_time gavo reakciją nuo KaTo Neigiami dešimtainiai į dvejetainius   
    Praplėsk tuos -4 iki tiek pat skaitmenų pagal ženklo plėtimo taisyklę (1 eina kai -, 0 kai +). -4 = 11100
  10. Patinka
    BaSh_time gavo reakciją nuo KaTo Neigiami dešimtainiai į dvejetainius   
    taip
  11. Patinka
    BaSh_time sureagavo į eXPy SSD 2,5' 120-240gb, kur ir kokį pirkti?   
    http://www.skytech.lt/ebrduv00010-adapterisremelis-disko-montavimui-vietoje-nesiojamo-kompiuterio-opti-p-224583.html
  12. Patinka
    BaSh_time sureagavo į topguy Vyro stilius   
    as tai pritariu vieno lietuvos dizainerio pasakymui, kad vyras privalo tureti pakankamai gera - kokybiska dirza, grazius marskinius, batus ir Palta. Man asmeniskai labai patinka kuo baltesni marskiniai, dzinsai ir vilvetinis svarkas, auksinis didelis ziedas su juoda akim ant maziausio pirsto. Kam didziausia silpnybe jauciu be moteru tai kuo plonesniems telefonams, televizoriams ir kuo imanoma baltesniems baltiniams :D
  13. Patinka
    BaSh_time gavo reakciją nuo Hanzyzz Labai didelio failo perkėlimas   
    tai LAN'u sujungi kompus ir perkeli
  14. Patinka
    BaSh_time gavo reakciją nuo ozzWANTED VU Programų sistemos/Informatika 2014   
    Paėjo
  15. Patinka
    BaSh_time gavo reakciją nuo LeonM Informatikos VBE 2014   
    program Noname4; Type miestas = record pav : string[20]; aps : string[13]; gyv : longint; end; Type apskritis = record pav : string[20]; gyv, maz : longint; end; Mas = array[1..103] of miestas; Mas2 = array[1..103] of apskritis; var miestai : Mas; apsk : Mas2; n,i,j,apssk:integer; output,input:text; procedure rikiuoti(var apsk:Mas2; sk:integer); var i, j:integer; kelti:apskritis; begin for i := 1 to sk do for j := i to sk do begin if(apsk[i].maz > apsk[j].maz) then begin kelti := apsk[i]; apsk[i] := apsk[j]; apsk[j] := kelti; end else if((apsk[i].maz = apsk[j].maz) AND (apsk[i].pav > apsk[j].pav)) then begin kelti := apsk[i]; apsk[i] := apsk[j]; apsk[j] := kelti; end; end; end; procedure iapskritis(miest:Mas; n:integer; var aps : Mas2; var sk : integer); var i, j: integer; begin sk := 1; aps[1].pav := miest[1].aps; aps[1].gyv := miest[1].gyv; aps[1].maz := miest[1].gyv; for i := 2 to n do begin for j := 1 to sk do begin if (miest[i].aps = aps[j].pav) then begin aps[j].pav := miest[i].aps; aps[j].gyv := aps[j].gyv + miest[i].gyv; if (aps[j].maz > miest[i].gyv) then aps[j].maz := miest[i].gyv; miest[i].pav := ''; end; end; if (miest[i].pav <> '') then begin sk := sk + 1; aps[sk].pav := miest[i].aps; aps[sk].gyv := aps[sk].gyv + miest[i].gyv; if (aps[sk].maz > miest[i].gyv) then writeln(miest[i].gyv); aps[sk].maz := miest[i].gyv; miest[i].pav := ''; end; end; end; begin assign(input, 'U2.txt'); reset(input); readln(input, n); for i := 1 to n do readln(input, miestai[i].pav, miestai[i].aps, miestai[i].gyv); iapskritis(miestai, n, apsk, apssk); rikiuoti(apsk, apssk); for i := 1 to apssk do writeln(apsk[i].pav, apsk[i].maz,' ', apsk[i].gyv); readln; close(input); end.
  16. Patinka
    BaSh_time gavo reakciją nuo Ramūnas Lumia 925   
    Nu nu? Argumentus į sceną
  17. Patinka
    BaSh_time gavo reakciją nuo Ramūnas Lumia 925   
    Nu nu? Argumentus į sceną
  18. Patinka
    BaSh_time gavo reakciją nuo Marvin Lumia 925   
    6snap vadinas ir viskas veikia
  19. Patinka
    BaSh_time sureagavo į Mazeika Prezidento rinkimai 2014   
    turbut del sukuosenos..
  20. Patinka
    BaSh_time gavo reakciją nuo Ignizo Padekite issirinkti ismanuji telefona   
    http://gsmarena.lt/telefonai/nokia/lumia-925/kaina
  21. Patinka
    BaSh_time sureagavo į Leggit Pigūs lėktuvu bilietai   
    Atgalinius bilietus patarčiau pirkt šiek tiek vėliau, manau, bus žemesnės kainos.


  22. Patinka
    BaSh_time gavo reakciją nuo GiGalo Nemokami .eu domenai   
    Kai visokie bomžiukai po 17 domenų prisiregistruot sugalvoja, tai ko norėt. Va ir tautiečių mentalitetas pasirodo
  23. Patinka
    BaSh_time gavo reakciją nuo GiGalo Nemokami .eu domenai   
    Kai visokie bomžiukai po 17 domenų prisiregistruot sugalvoja, tai ko norėt. Va ir tautiečių mentalitetas pasirodo
  24. Patinka
    BaSh_time gavo reakciją nuo GiGalo Nemokami .eu domenai   
    Kai visokie bomžiukai po 17 domenų prisiregistruot sugalvoja, tai ko norėt. Va ir tautiečių mentalitetas pasirodo
  25. Patinka
    BaSh_time gavo reakciją nuo GiGalo Nemokami .eu domenai   
    Kai visokie bomžiukai po 17 domenų prisiregistruot sugalvoja, tai ko norėt. Va ir tautiečių mentalitetas pasirodo
×
×
  • Pasirinkite naujai kuriamo turinio tipą...