Skip to content

Instantly share code, notes, and snippets.

@GeorgiPachov
Last active August 29, 2015 14:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save GeorgiPachov/9f04340653be6ee8cc74 to your computer and use it in GitHub Desktop.
Save GeorgiPachov/9f04340653be6ee8cc74 to your computer and use it in GitHub Desktop.
За Тони
След като минахме основите на езика и основните структури от данни, преминахме на използването на библиотеки. В днешно време почти всичко, което се прави, се използва библиотеки.
Първо започнахме с проста задачка - хората трябваше да напишат java приложение, което на 45 минути изкарва съобщения в системния tray потребителят да си почине, защото е натоварил очите си.
След което продължихме с друга просто задача - хората трябваше да направят QuickCodeInspector приложение, чрез което при отваряне на .java файл да се показва прозорец, показващ java кода на файла, но със syntax highlighting :)
(Скрийншот, подходящо е за картинка)
http://i.imgur.com/JPvIXJ5l.jpg
Добра имплементация може да се види тук: https://github.com/mirena92/HackBulgaria/tree/master/8-WorkingWithLibraries
След което, задачките станаха малко по-обемни, заради което се изискваше работа в екип - първо pair programming, а после чрез github workflow.
Първата подобна задачка беше свързана с ASCII Art
(Скрийншот, подходящо за картинка)
https://camo.githubusercontent.com/bb497fd356238e739d05fbd3a595c3f6e8b9f1a8/687474703a2f2f692e696d6775722e636f6d2f6b6f356b6a36766c2e6a7067
Хората трябваше да напишат java приложение, което да получава картинка, и да я изкарва на конзолата като форма на ASCII Art.
Тук имаше много добри имплементации и примери:
(Картинки, картинки)
https://scontent-a-fra.xx.fbcdn.net/hphotos-xpa1/t31.0-8/1548095_787110911319242_1101280145825938647_o.jpg
https://scontent-b-fra.xx.fbcdn.net/hphotos-xfp1/t1.0-9/10403643_10202268954388908_1948302448072552312_n.jpg
https://scontent-a-fra.xx.fbcdn.net/hphotos-xap1/t1.0-9/10487608_10201205996150664_7361386416701684958_n.jpg
По-късно разширихме задачката, с условието, че приложението трябва да поддържа не само картинки, но и .gif и видео формати. Тук имаше по-променлив успех, защото трябваше да се работи колаборативно чрез git и github но имахме и някои успешни имплементации : )
Следващата интересна задача, която правиха хората, беше да направят (ограничен, разбира се) subset на MSPaint
https://camo.githubusercontent.com/dc40ef423d046bd0cd174636ee7c2db25296ccd9/687474703a2f2f692e696d6775722e636f6d2f4f72516b7a66662e706e67
Добра имплементация може да се види тук:
https://github.com/EmilianStankov/Core-Java/tree/master/Paint
След което дойде време хората да направят и малък екипен проект.
Предоставихме им два варианта - да напишат Морски Шах,с елементарен AI (1-ход напред), или 2048, като и двете игри обаче трябваше да имат undo-redo feature.
И за двете беше поставено за цел да бъдат написани така, че по-късно да може да се добави лесно GUI визуализация.
Особено се гордеем с имплементацията (и декстоп визуализацията!) на 2048, дело на Мирена Кермилска и Емилиян Станков: https://github.com/mirena92/2048
(Скрийншот, )
http://i.imgur.com/pANwS1yl.jpg
След което продължихме с мрежово програмиране с Java - хората трябваше да направят (вече индивидуално) прост web crawler, който търси информация в уебсайт.
(Започва от главната страница, търси в нея, намира всички линкове, които не излизат от сайта, търси в тях, взима техните линкове и т.н.)
Имплементация на crawler-а може да се види тук: https://github.com/syndbg/HackBulgaria/tree/master/Core-Java-1/14-Networking2
Предстои хората да пуснат web service за ASCII Art convertion : )
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment