Loading...
ivailozd avatar ivailozd 75 Точки

[Homework] JS Apps - BaaS-and-Parse.com

Здравейте,

 

Имам проблем с качването на домашното. Изписва ми: "Максимален размер: 0 MB".

Ще помоля екипа на SoftUni да оправи проблема.

Така и така отварям темата, ще споделя домашното си, макар да стана доста грозно.

към github

 

Поздрави!

9
JavaScript Applications 10/12/2014 00:36:01
a_rusenov avatar a_rusenov 1103 Точки

Готово, размерът е увеличен. :)

0
ivailozd avatar ivailozd 75 Точки

Благодаря за бързата реакция! :)

0
petrovaliev95 avatar petrovaliev95 358 Точки

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

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

Ще се радвам ако бъдете така добри и не злоупотребявате с апликейшъна ми. laughing
Също така ще очаквам идеи за по добър начин на решение.

 

6
23/11/2014 22:20:21
petrovaliev95 avatar petrovaliev95 358 Точки

Благодаря на колегата който даде feedback в базата данни :D. 
Оправих бъговете и мисля, че вече работи по-добре.

0
ttitto avatar ttitto 1153 Точки

Ето го и моят вариант: демо  код

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

Освен това не можах да направя изтриването на повече от едно Id да става само с една заявка.

Има малко валидация и защита колкото да амбицира някой по-сериозен хакер.

Определено има какво да се пипне още по кода, но мисля да си пазя силите за отборния проект.

3
24/11/2014 22:45:25
borislavml avatar borislavml 368 Точки

Привет, и аз да споделя моя код. Адски много време ми отне това домашно. Може би над 10 часа, но доста се заиграх  и в крайна сметка съм довелен от резултата.Не съм слагал ACL на нищо, така че се надявам да няма "злоупотреби", ако някой реши да го тества. laughing

ДЕМО -  КОД 

Кодът ми обаче стана потресаващо дълъг(450 реда!) поради ред причини, което според мен предвит целта ми е оправдано. Първо се наложи да сложа jQueryUI заради dialog-box-овете(за едит и делийт на айтъми), който естествено към него има и CSS. Самите dialog box също ми създадоха ред главоболия. Трябваше да прехвърлям $(this) на клик евента и data attribute-a  от един бутон на друг и от една функция на друга. На какви ли не дом елементи не го закачах докато го наглася. Понеже зареждам айтъмите в азбучен ред се наложи и на всяко добавяне/едитване да релоудвам целия лист за да е всикчо ок. Това прецаква много UI-я, защото всичко претрепва при релоуд и малко се губи идеята за SPA приложение. Как го правят в реални свят всичко да е красиво идея си нямам. При зареждане на градовете ми се наложи да правя даже две отделни заявки за дефолтен първоначален лоуд и последваш при ъпдейтване на град(които се различават по точно един ред), защото нямаше как на първата заявка да закача евента за едит на градове(които също редя по азбучен ред). Сложих и нотификейшъни за всички възможно случаи с notyJS.

Доста коварни слуачи хванах и ще се радвам ако някой намери бъг и неуловен сценарий. Примерно при едитване на държава, чийто градове са листнати в момента името и да се ъпдейтне и на двете места. При триене на листната държава да се скрие и от двете места и още няколко завъртяни случая. Единствено не успях при триене на държава да изстрия и прилежащите й градове в самата база. Не знам може ли това изобщо да стане с AJAX, или трябва да се пише сървър-сайд.

Забелязах, че кода на колегите е значително по-кратък, но не съм го разглеждал подробно. Щом демата им работят коректно обаче, явно има начин да се напишат нещата и по-разумно.laughing

5
25/11/2014 23:36:31
kiko144 avatar kiko144 795 Точки

Колеги, има ли някои, които е направил връзката между градове и държави чрез колонка с релация в държавите, която съдържа всички градове от съответната държава, а не с поинтър в таблицата с градовете? 

Аз се опитвам да го направя така, но нещо не мога да намеря начин да GET-на вътрешните градове на дадена държава.

Ето как изглеждат табличките ми:

Towns И Countries

 

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

0
mzografski avatar mzografski 189 Точки

Кико, по принцип това е кофти вариант. Когато имаш релация  1 < - n ( one to many ) или в сучая една страна има много градове, е много по-функционално да запишеш идентификатора на страната във всеки град от колкото 100 идентификатора да запишеш в едно поле. Да не говорим, че е по-лесно за индексиране и парсване. 

Така че следвай добрите практики при базите данни. 

Поздрави.

0
mzografski avatar mzografski 189 Точки

Аз ще направя един апел:

Моля Ви, скъпи колеги, когато качвате домашни,  слагайте вътре и библиотеките, които ползвате или ги включвайте със CDN. 

Благодаря.

3
mzografski avatar mzografski 189 Точки

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

1
Petyr avatar Petyr 9 Точки

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

Някой може ли да ми каже дали location.reload() е удачна за тази задача (като добавиш, промениш или изтриеш елемент се презарежда страницата, за да се обнови списъка).

И другият ми въпрос е - в скирпта ми, как да взема "objectId": country.objectId във функцията addTown(), за да мога да направя бутона за добавяне на градове работещ?

 

0
mzografski avatar mzografski 189 Точки

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

Направи така че всяка страна при добавянето й в списъка да има дата атрибут съдържащ идентификатора й. После на клик да й се добавя клас актив например. Така ще можеш да я намериш със селектор и да вземеш идентификатора й във функцията за добавяне на град.

Поздрави.

1
26/11/2014 23:50:58
Petyr avatar Petyr 9 Точки

Благодаря ти :)

Ще се опитам да ги направя тези магии, макар че втората част като концепция я разбирам, но като реализация ще е tricky :)

0
milen_vm avatar milen_vm 68 Точки

Седнах да проверявам домашни по тази тема и гледам, че никой не се е сетил да си махене името от скриин шотовете на parse.com. smile От 4 проверени 3 са с имена на тях. Четвъртото нямаше шотове. Даже едно от тях беше копирано от автора на темата. Някой вероятно го е преписал директно с картинките. Ей... то хубаво щом някой е решил да преписва ама поне да види какво праща - поне името на човека да махне. surprised

2
ivailozd avatar ivailozd 75 Точки

Аз лично не се сетих с какво би повлияло на оценката на домашното ми, че ми пише името и го оставох видно.

Защото и аз съм попадал на домашни писани с IDE, което вмъква името на автора, но не съм му обръщал внимание.

2
milen_vm avatar milen_vm 68 Точки

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

0
29/11/2014 23:23:53
D_N_D avatar D_N_D 18 Точки

Някой да има идея защо в 22:20 не може да се оценяват домашни по тази тема? Доколкото помня срокът беше до 23:59:59, специално си бях отделил час и половина за проверка, но явно не било писано ...

3
XmUrF avatar XmUrF 363 Точки

И аз се бях засилил да проверя няколко домашни ама тц, ще си почивам :).

2
milen_vm avatar milen_vm 68 Точки

Днес като погледнах срокът беше до 21:59:59. Не знам защо!

0
Velichkov avatar Velichkov 87 Точки

Малко късничко, тъй като чак сега го довърших, но ето го и моето домашно :)

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