Изпита по JS-apps(29.07.2014) приключи. Да споделим впечатленията си


15
Здравейте, колеги,
интересно ми е как се чувстват останалите след изпита.
Аз лично писах код на конвейер, доста разбъркан и неподреден. Крайната цел беше все пак да имам работещо приложение. Мисля, че свърших около 60% от заданията, ако правилно съм ги разбрала. Никакви тестове. Слаб UI :)
Все пак в началото задачата изглеждаше непосилна, но с течение на времето проблемите се поразвързаха :)



Отговори



4

Аз съм с много смесени чувства след този изпит.

Отидох с нагласата, че няма да се справя, защото нямахме много време за подготовка и по-скоро защото нямах почти никаква практика по темата. След като прочетох условието си казах "Започвам да пиша, пък каквото направя". И започнах... Направих си Ui-то, четенето на данните и започнах да си правя и заявките. Едно по едно нещата започнаха да стават и в крайна сметка ги направих всички, включително и сортирането, но нямах време за филтрирането и unit test-овеет. Дотук добре, но в последните 5 минути, когато се борех как да изкарам нещата по-добре, направих нещо и, с извинение, оаках абсолютно всичо. Програмата започна да се държи странно. Въпреки, че заявките работеха коректно, при логване трябваше ръчно да рефрешвам страницата, иначе не влизаше в състояние на логнат. и съответно не можех и да изпращам постове. Панически започнах да трия, да коментирам и в крайна сметка в предадения ми вариант съм оставил коментирани log-out-ването, както и още няколко други неща, а не можах и да оправя бъга с рефрешването. Не знам какви ще са въпросите, но реално, ако проверяващия не рефрешне страницата, откъм функционалност съм 0. И това при, според мен, напълно работещи service-и. Супер много ме е яд и дори и след наспиването не мога да си намеря място. Реално изпитът не беше труден, но изгубих време да оправям гърменето на разни библиотеки, с които почтине бях работил (CryptoJS, Sammy). Ще е много жалко да отпадна заради подобно нещо sad


от LSvilenov (1750 точки)


0
Абе и при мен се получи нещо такова - и го забелязах 5 минути преди да изтече времето за предаване. Юзъра трябва да рефрешне 1 път страницата след като се логне за първи път. Написал съм с големи червени букви, че е бъг и, че трябва да се направи Refresh за да работи. Дано колегите не ме орежат много, защото реално съм направил почти всичко по условието - просто това беше бъг, който видях в последния момент и нямах време да го оправя.

от nzhul (3415 точки)

0
Добре си се сетил да го напишеш. Аз се панирах и даже забравих да разкоментирам кода, който бях коментирал само за да тествам как ще е без него :(

от LSvilenov (1750 точки)



4
Здравейте колеги,
Идеята на изпита беше лесна, имплементацията ми беше трудна защото не бях се упражнявал достатъчно с post-put заявки, и headers. Някой други дреболии, с които се срещнах за пръв път също ми отнеха малко време. Направих изпита наполовина и съм страшно разочарован от себе си ... можеше да се справя много по-добре, но каквото такова. Дано да минем, а за следващия изпит ще се стараем повече :)

от Plamen_Petkov (1255 точки)


5
Доста тежък изпит, но според мен той и този по JS UI&DOM бяха най-практичните от академията до сега. Определено липсата на примерен изпит си оказа влияние, но не толкова, колкото това, че нямахме време за подготовка. Имахме страшно много материал да покрием за някакви си 3 дни(тези които имаме лекции в петък). Но така е гоним срокове, а в същото време курса по JS OOP беше по-кратък, като продължителност от времето ни оставено да проверяваме изпити и до началото на следващия курс?!?
Иначе не съм много доволен от представянето си като цяло. Нямам пейджиране на данните и тестове иначе всичко друго би трябвало да отговаря на условията. Стараех се да пиша читав код с MVC шаблон с цел да не се обърквам в по-нататъчна работа и мога да кажа, че това доста ми помогна.
В заключение ще кажа, че времето беше най-големия проблем на този изпит, както времето за подготовка, така и времето на самия изпит. Имаше доста дребни неща, които са лесни но просто за да ги направиш както трябва си трябва доста време. Ще видим какво ще стане когато излезнат резултатите идната седмица.
Поздрави!

от Vali0 (1139 точки)


1
Между другото вие как разбрахте забраната да се използват MV* похвати? Защото аз лично заради нея влязох във full retard mode и си наблъсках всички шаблони в оригиналния HTML :D

от NasC0 (489 точки)


0
Освен за забраната на определени библиотеки не знам да имаше други ограничения

от Vazzzz (1380 точки)

0
Ами няма такава забрана според мен. Това, което пише е : You are not allowed to use any framework that provides an MV* architecture like: AngularJS, Backbone.js, Ember.js, KendoUI, Sammy.js, Knockout.js, Knockback.js. Т.е. аз го разбирам така: ако искаш MV* си я провайдни сам, а не използвай някой от горните фреймуърци.




3
Аз съм разочарована от себе си. Задачата не беше трудна, но явно напрежението си оказва влияние.
 
Имам много код, от който няма полза, защото гърми заради една дума или един ред. Например, пропуснала съм да добавя един параметър при създаването на функцията за постване на съобщения. После обаче си я викам с този параметър и се чудя защо дава грешка. Еми...
 
Известно време отиде в разрешаване на проблеми с библотеки. Require-а си има собствено мнение за нещата. Sammy пък не ми зарежда log-in формата, която е partial, докато не разцъкам между "страничките". Въобще...
 
По едно време си напоих мишката с кафе - поне тя да се посъбуди, но уви - и това не помогна.
 
Така. Пооплаках се. Чувствам се една идея по-добре. :)
 
Освен да си пожелаем благосклонни критериите (и оценяващи ;) - друго не остана. Късмет на всички!

от svetlai (1438 точки)


0
Само да направя една вметка, забелязах и в други постове - Sammy не беше ли от забранените библиотеки, поне така пише в докумнтацията, или и това не съм разбрал?


0
Може да се ползва само за routing.




0
Според вас, ако всичко друго си работи , без тестове, сортиране и не можеш да се регистрираш, понеже не сам изпозлвал SHA1 (всичко друго както се убедих си работи) дали ще може да се вземе изпита? :D



0
Трябва да видим критериите. Ако са като на миналия има шанс. Има ли функция за логване - има. Логва ли - не :) Но така половината неща ще са Да :)

от penjurov (1466 точки)

0
Почти сигурно, че ще се вземе изпита. Обаче като гледам всички коментари ще е много тегаво за проверка. При теб трябва да се намери, че не си криптирал със SHA1 и да се добави за да се провери останалата функционалност. При други колеги ще бъде нещо различно, и отново търсене, добавяне на код. Доста работа ще бъде.

от Drago (711 точки)


0

Аз имам един въпрос. Във файла Crowd Share Description в точките от 1-ва до 6-та са описани функционалностите, които приложението трябва да има. В тях никъде не е посочено, че трябва да има филтър за постовете по име на потребител или по патърн. В този ред на мисли ще бъдат ли включени критерии за съществуване на такъв филтър, след като в условията на задължитлените функционалности няма такова за него? Аз лично, като си правих проверка дали приложнието ми изпълнява изискванията, използвах листа от Crowd Share Description и минавах точка по точка по него.


от SStoyanov1 (1324 точки)


0
Implementation Requirements GET | /post | Fetch posts from server. Can filter posts either by User or by search pattern Това е последния ред в таблицата

от TeodorTunev (3061 точки)

0
Да, и в Crowd Share Sevices го има, но според мен е пропуск, че не е упоменато в листа с функционалностите. Все пак затова е той - за изброяването на всички такива.

от SStoyanov1 (1324 точки)



0
Как си разделяхте темплейтите за Mustache или Handlebars, защото много ми беше чудно как да ги разделя? Пробвах динамично да заредя partial html файлове с AJAX, но там не можех да достъпвам id-тата и накрая набих всички темплейти на едно място.

от sa66eto (1945 точки)


0
Аз лично си достъпвах partial html-ите точно както казваш - чрез ajax заявка до файловата система. Същевременно правя и ajax request към сървъра, който ми връща обект с масива от постовете и чак след като и двете заявки са успешни, подавам на Mustache масива от обекти и темплейта, върху който да ги рендерира. По примера:
$.when( $.getJSON( //get data), $.ajax( // get partial html) ) .then(function success() { Mustache.render(....)};
A иначе защо ти е да достъпваш id-тата предварително?

от SStoyanov1 (1324 точки)

0
дори и да зареди страницата не могат да се достъпват, защото заявките през ajax са асинхронни и дори и да е заредена, се води, че още не са заредени елементите

от sa66eto (1945 точки)



8
It Will Be Easy, They Said!!!

от bstaykov (528 точки)


0
It will be fun they said...

от staccobain (834 точки)

0
Nobody will finish in time, they never said..

от borisov90 (609 точки)



18

Искам да попитам нещо важно!

В папката на REST API-то, а именно crowd-share-rest-api имаше папка public.
Не съм сигурен дали е правилно или не да слагаме решенията си там, но видях, че вътре в нея има празни под директории:

components
css
img
js

и реших да се възползвам от тях и да сложа решението си там.

Направих го без изобщо да се замислям, че като ми проверяват изпита може някой изобщо да не провери в тази папка public като си мисли, че е част от REST API-то и да ме оцени с лоша оценка поради липсващо решение.

Моля ако някой друг е направил като мен да сподели.

Също моля и проверяващите на изпит ако REST API-то е включено към решението на изпита да разглеждат поддиректориите като в моя случай например имам в предвид директорията crowd-share-rest-api\public\

Поздрави,

Радвач.


от Radvach (357 точки)


0
Колега, и аз така съм напраил и мисля че така трябва да е при всички, няма за какво да има празни папки дадени от трейнърите:)


0
Попринцип тази папка е за предоставяне на ресурсите към сайт-а, който се генерира от съвъра, но няма проблеми, ще проверя в тази public папката, ако не виждам решението никъде :)