Loading...
aanguelov avatar aanguelov 219 Точки

[Exam]JS Apps - 20 Maрт 2016 - решения, впечатления, резултати

Решение няма да качвам, защото не се справих много добре, въпреки че изпита не беше труден.

Обаче искам да изразя разочарованието си от начина на провеждане на изпита. За 200 човека в две зали имаше общо 1 (един)!!! квестор. Докато успея да го питам нещо по изпита и отиде половин час. А, и Алекс за цвят, да ни пази...

Също така кабелите в Open Source са много зле и познайте какво се случи, когато падна wi-fi мрежата?

Иначе Боги се постара колкото може в началото, обаче се наложи да се набутаме всички в Инспирейшън за да можем да чуем обяснението на изпита. Познайте колко ни беше полезно... Поздравления за него, както винаги се беше справил отлично с направата на изпита.

В заключение: разбирам че в момента всички ресурси се хвърлят по СофтУни 3.0, но ние напредналите студенти, какво точно трябва да направим, да запишем наново обучението, с надеждата всичко да е наред от третия опит?

Тагове:
9
JavaScript Applications
EBojilova avatar EBojilova 330 Точки

И аз искам да благодаря за подробните обяснения преди изпита на Богомил, тъй като без тях щях да се оплета напълно в този календар.

На самия изпит запецнах до тъмните екрани след редактиране и триене.

LoKSET откри къде се крие проблема със затъмнените екрани и блокирането на слайдъра. При запазване на информацията за лекцията, която ще се трие или редактира, локално без нова заявка, съответното view се визуализира веднага и бъгва попъра.

Решенията са 2, като на мен първото ми допада повече, тъй като спестява допълнителната заявка:

-със setTimeout, както е предложил LoKSET, преди визуализране на вю-то, за а може да изчезне попъра.

https://github.com/EBojilova/JavaScriptApplications/tree/master/Demos-Homeworks-Exams/7.%20SPA-Architecture/SoftUni-Calendar-Exam-200316/SoftUni-Calendar-EB-setTimeout/js

-с нова заявка по id на лекцията, понеже самата заявка е асинхронна и докато се изпълни промиса минава достатъчно време, за да не се появи проблема:

https://github.com/EBojilova/JavaScriptApplications/tree/master/Demos-Homeworks-Exams/7.%20SPA-Architecture/SoftUni-Calendar-Exam-200316/SoftUni-Calendar-EB

 

Относно броя на квесторите- и аз мисля, че един е прекалено малко. Отново нямах над половин час нет, но преди ме свързваха към служебната мрежа на Софтуни, а сега се оказа, че я няма налична и останах без нет. Квестора ми каза да слезна в долната зала, където също нямах нет над 15 мин. Накрая при 10тото рестартиране сантинела се изключи и нета тръгна :) А при такъв изпит нета е най-важното нещо за тестване.

1
22/03/2016 16:20:52
moholovka avatar moholovka 169 Точки

Това тъмнене се дължи, най-вероятно на това че не променяте url както е по условие, примерно "#/calendar/delete/:lectureId, аналогично и за едита.

5
EBojilova avatar EBojilova 330 Точки

Да, точно на това се дължи, копирах от твоето решение:

this.get('#/calendar/delete/:lectureId', function () {
    lectureController.loadDeletePage(this.params['lectureId']);
});

но честно казано този синтаксис някъде съм го пропуснала и не го знаех. Освен това, ми се струваше излишно да правя нова заявка и да търся лекция по id, при условие, че вече имам инфото за цялата лекция от calEvent.

Но по горния начин работи всичко- и прозорците не се затъмняват и плъзгача острани на календара се показва. Мерси!

0
21/03/2016 15:30:04
moholovka avatar moholovka 169 Точки

Така е да, получават се повече заявки, обаче нали така го изискват по условие, иначе и аз бях тръгнал да го пиша без редиректване.

3
JiVeNcE avatar JiVeNcE 21 Точки

Ето го моето решение :

https://github.com/JiVeNcE/Software-University/tree/master/SoftUni-Calendar-Skeleton

Относно изпита:

1. Датите бяха зле замислени. това да си ги въвеждаш в някакъв формат показан от плейхолдър беше доста досадно. По добре да бяха със input type="date"  и ние да си ги форматираме в какъвто трябва формат.

2.Относно Edit и Delete и тъмните екрани... Там загубих доста време докато намеря причината за тях. Та решенето беше след click на Edit или Delete да се атачне евент on modal hide и след това да се triggerne съответния рутинг. 

$('#editLecture').on('click', function() {
     $('#events-modal').on('hidden.bs.modal', function() {
           Sammy(function() {
               this.trigger('show-edit-lecture', lectureData);
           });
      });

});

Иначе като цяло изпита беше лесен.

2
20/03/2016 20:12:41
DiyanTonchev92 avatar DiyanTonchev92 231 Точки

Ето го и моето решение, в абсолютно същия вид, както го предадох и на изпита: https://github.com/DiyanTonchev/SoftUni/tree/master/JavaScrpit%20Applications/SoftUni-Calendar-Skeleton

Има малко излишни простотии и повтаряния на код, които можех да избегна (показването на календара за всички дати и за датите на логнатия юзър), но търсех първото работещо решение. Това със зацепването (тъмният екран) за едитването и изтриването на дати - не ми стигна времето да го оправя. За нотификациите също. Вероятно има и доста други забележки.

Като за почти никаква подготовка (единствената такава ми беше да изгледам видетото от подготовката, ден преди изпита, и да реша една-две домашни), съм доста доволоен от това, което направих. Ако имах повечко практика и тренинг, може би времето щеше да ми стигне да оправя всичко (що-годе знам къде трябва да бутна) и щях да кажа, че изпитът е лесен :)

2
Blaskowitzzz avatar Blaskowitzzz 41 Точки

Много приятен изпит беше, за втори път евала на Боги, че както и по Advanced JS, така и по Apps беше според изучавания материал и без много подводни камъни. Жалко, че няма да ни води той и на Angular (btw, някой знае ли кой ще е лектора, предполагам Ангел?)

Наистина видеото от разяснението на изпита помогна, без него щях да изгубя много време в търсене как да ги покажа тия лекции на календара, а така до 12 вече бях готов и се занимавах до 13 да изнасям константи и  глупости. :D

Някой прави ли проверката за паднал интернет, аз намерих window.navigator.onLine и го сложих в един before и заработи, но май не работи във всички браузъри: 

this.before(function() {
   if (!window.navigator.onLine) {
       app.notyErrorMessage(constants.NO_INTERNET_CONNECTION_MSG);
       return false;
   }
}

Гледам на някои са им се появявали някакви черни екрани, при мене нямаше и почвам да си мисля, да не съм изпуснал нещо, може ли някой да разясни за какво става дума? :D

3
DiyanTonchev92 avatar DiyanTonchev92 231 Точки

Moже би защото си си направил всичко както трябва, а ние сме сгафили някъде. В моето решение, когато цъкнеш на някоя дата edit или deletе бутончетата, излиза един забил тъмен екран, можеш да погледнеш. :)

1
20/03/2016 21:06:56
EBojilova avatar EBojilova 330 Точки

За черните екрани. Свали моето решение и в lectureView закоментирай 101 и 118 ред, там има добавени редове 

$('.modal-backdrop').remove();

Без тях ми се затъмняват екраните и всичко блокира, като покривало е след показване на едит или делит. На някои колеги не им се появява този проблем и се чудя от къде е?

Виж дали моето решение при теб ще го има този проблем без тези 2 реда, ако имаш време.

1
LoKSET avatar LoKSET 160 Точки

Аз нещо не можах да донаглася edit и delete, но все пак ги забелязах тези тъмни екрани, но това вече беше към края и вместо да намеря къде е проблема набих визуализирането в един timeout с няколкостотин милисекунди, за да се изчака махането на попъпа. Тъпо, но това ми хрумна. По-лошото е че поради грешка в PUT заявката за едит ми се пълни базата с празни обекти, които чупят календара. Дано при проверката това не повлияе и на другите неща, които си работят ок.

Изпитът като цяло беше ОК и с оглед на това, че нещо не можах да се подготвя както исках, мисля че се справих задоволително.

1
20/03/2016 21:28:28
moholovka avatar moholovka 169 Точки

https://github.com/IvanMladenov/JavaScriptApplications/tree/master/Exam/SoftUni-Calendar-Skeleton

 

Ето го моето решение, интересно аз проблем нямах с тъмните екрани и разбрах за тях чак след изпита. Благодарности на Богомил за подробно написаното условие.

Присъединявам се към Ангелов за мнението за Софтуни, напоследък го удариха през просото, няма лектори, няма квестори, интернета ми спря и загубих един час от изпита, няма системен администратор.

Божилова, не съм убеден че на bind мястото им е в контролерите, той апа тогава не е ясно каква роля ще има, а и няма роля там да става гетването на url, а байнда да е в контролера.

3
WindWallk avatar WindWallk 95 Точки

Аз също нямах проблеми с edit и delete ето го и моето решение: цък

2
SimeonStoykov avatar SimeonStoykov 114 Точки

Здравейте. Това е моето решение. Общо взето изпита не беше много труден, имаше някои неща, за които трябва да се помисли и да се направят, но това е нормално. Обясненията към изпита бяха много добри и от голяма полза за правилното писане на кода. Кодът ми не е напълно оптимизиран и има какво да се пооправи тук там, но работи коректно и изпълнява всички задачи от условието, поне доколкото съм тествал. За проблема с затъмнения екран при редиректването: и при мен се появи, но успях да видя, че идва от bootstrap-ския modal и пуснах един serach в гугъл и общо взето първия резултат ми даде решението. Сложих кода от първия отговор след рендериране на Edit и Delete екраните и нещата тръгнаха.

1
gartin avatar gartin 73 Точки

Здравейте колеги,

Ето го и моето решение. Не можах да разбера какво имате превдид под "черни екрани".
Това, което предполагам, че се е случило е наслагване на popups за събитията. Аз съм използвал едно вю за изкарване на лекции, като само съм добавил проверка, ако е за лични събития само тогава да скрива бутоните.

 

 

2
LoKSET avatar LoKSET 160 Точки

Мисля, че разбрах откъде идва проблема. Просто някои хора запазват информацията за лекцията локално и съответно вю-то се визуализира веднага, което бъгва попъпа. Аз съм го решил с таймаут, но този проблем се решава от само себе си при хората, които правят нова заявка за да визуализират инфото за лекцията, понеже самата заявка е асинхронна и докато се изпълни промиса минава достатъчно време, за да не се появи проблема. Аз лично смятам, че е излишна втора заявка за информация, която вече имаме, но пък ето че решава един проблем.

btw, някой направил ли е confirmation-a при delete?

1
21/03/2016 12:20:40
EBojilova avatar EBojilova 330 Точки

this.get('#/calendar/delete/:id', function () { var lectureId = this.params.id; calendarController.getDeleteLecturePage(dataContainer, lectureId);}):

това бяхме пропуснали да го направим по този начин и от там бяха затъмнените екрани и изчезването на плъзгача отстрани на страницата.

1
malkstor avatar malkstor 348 Точки

Това аз го направих по този начин: 

this.get(/#\/calendar\/delete\/(.*)/, function() {
            lecturesController.loadDeleteLecture(selector, lectureToDelete);
        });

Явно нещо не е сработило както трябва, въпреки че и по време на подготовката Боги ползваше регекс по подобен начин, но в this.before.

1
21/03/2016 14:00:38
PlamTopchiev avatar PlamTopchiev 15 Точки

Възможно ли е някъде да видим готово авторско решение....На подготовката приложението Office notes не работи както трябва и не е довършено.Изобщо не ми харесва че и не се качват готовите решения..Ако може някой да даде линкове за добре работещи апликации - тези от подготовката и изпита....

На подготовката можеше да се качи това което е направено по време на лекцията и отделно цялото решение дори да е било на parse.com....Редно е и след изпита да се качи решението.

0
malkstor avatar malkstor 348 Точки

Здравей колега,

На Office Notes авторско решение има в предната инстанция на курса, когато е била изпитна задача.

1
PlamTopchiev avatar PlamTopchiev 15 Точки

Да видях го,мерси...

Идеята ми е да се качват и готовите решения,надявам се и за изпита да го качат....

0
JiVeNcE avatar JiVeNcE 21 Точки

Има ли информация кога ще излязат резултатите ? 

4
DiyanTonchev92 avatar DiyanTonchev92 231 Точки

Богомил беше казал да очакваме да се забавят повече и от предния изпит. laugh 

1
Blaskowitzzz avatar Blaskowitzzz 41 Точки

Оценките вече излязоха :)

2
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.