Screenshot (32).png200 Кб, 770x850
Говнокодер соцсеть писал или как эффектно выебнуться на защите диплома Короче, сап # OP 133161 В конец треда | Веб
Год назад решил выебнуться на защите диплома. Небольшая предыстория. Я учился в колледже (вот недавно окончил) и был чуть ли ни одним из лучших говнокодеров. Нет, рил, мой говнокод написан так, что если меня и захотят уволить когда-нибудь, то не смогут, ибо я единственный, кто может прочесть свои же иероглифы. И вот как-то на курсаче (я тогда накатал чатик на сокетах в делфи) комиссия с меня потребовала на диплом что-то еще круче. Сложилось такое впечатление, что они ничего круче калькуляторов и подключения аксеса к приложению в делфи не видели никогда. Ну, да ладно, я долго думал и у меня было много интересных идей... Пока не появилась она.

"Ебать, я что, разве я чем-то хуже Пашки, Марка, Билла? Нет! Решено, пилю соцсеть нахуй!"

Так и началась эпопея длительностью в год. Сначала я на бумаге набрасывал, как это примерно будет выглядеть, как все это дело будет между собой связано и чем можно первое время заинтересовать целевую аудиторию. Затем набросал первичный дизайн в фигме (который позже был трижды перерисован и пересобран) и сверстан прототип. Это все в первый месяц разработки, дальше уже следовало определиться с цветовой схемой проекта, отрисовать в иллюстраторе логотип и иконки, ну, и поработать наконец с кодом.

Скажу сразу, написать с нуля за год на расслабоне в одиночку простое подобие социальной сети довольно просто. Так что если здесь есть студенты в айти, которым в следующем году писать диплом, то не ссы брать сложную задачу. Лучше начать разработку заранее, чем спидранить диплом за ночь (да, и такое у меня было).

В итоге было принято решение остановиться на аналоге тамблера (что в последствии было пересобрано в 4 раз и уже на тамблер похоже слабо) и выбрать за основную цветовую схему Оранжевый, белый, черный и блено-серый (на фон). А на счет организации алгоритмов - взял ajax и навесил на пыху пдо RedBeans. Удобная хня для работы с базой. И так, к защите диплома мы уже имеем:
- Функцию создания постов
- Комментарии
- Лайки
- Тренды (простейшая их реализация)
- Профили пользователей
- Подписки
- Чат (спизженный с сервиса ChatBro)
- Поиск
- Настройки аккаунта
- Восстановление доступа
- Уведомления на email

Как выяснилось для получения за защиту 5 с отличием этого было более, чем достаточно.

К слову, на пикче вы видите карточку пользователя на странице его профиля. В css-реализации карточка более, чем простая.

Далее был период стресс-тестов проекта и тестирований на проникновение. В стресс-тестах мы выяснили, что сайт относительно резво работает под нагрузкой, это несомненно плюс, а вот пентест показал дыры, о которых нам в колледже на лекциях никто и никогда не говорил. XSS-атаки. Я, честно говоря, пока не слил ссылку в паблики программистов с просьбой потестить более опытных, даже не знал о существовании данной дыры. Этим я хочу сказать, что не надо бояться просить потестить кого-то более опытного - это очень поможет в дальнейшем.

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

По итогу, имеем написанную с нуля (в прямом смысле) соцсеть, которая больше похожа на Яндекс.Дзен на минималках, или какую-нибудь борду с живой общей лентой.

Кстати, можешь тоже здесь поделиться своим опытом, был бы очень признателен.

Всем пис)
2 133260
>>3161 (OP)

>колледже


нихуя себе, в россйских шарагах теперь цукербергов учат
3 133275
>>3260
Бери выше. В Казахстанских.
4 133276
>>3275
Вообще, сфере веб-разработки я уже года два как (хотя до сих пор не приходилось ни с React, ни с Vue, ни даже с Laravel познакомиться тесно). Этот проект был написан на связке, которая актуальна была, наверное, лет 10-12 тому назад - js (jQuery/Ajax) и php7.
Вообще, стоит отметить, что с нуля написать работоспособную, пусть и маленькую, соцсеть, довольно просто. (Главное со связями в бд и коде не запутаться). Более того, почему я именно говнокодер? Я ни разу не пользовался Git. Нет, конечно, для диплома в шараге написать такой проект - самое то, даже намного круче ожиданий приемной комиссии. Так что, если на этот тред наткнутся без пяти минут выпускники, то они будут иметь пусть и достаточно кривой, но пример дипломной работы. Так что, почему бы и нет. Если кому интересно, могу объяснить то, как эту какаху писал я (а писал я ее один).
Короче, сап 5 133294
Продолжая тему говнокодерства, хочу еще сказать, что в моем проекте действительно есть еще над чем работать. Но, если здесь найдутся адекваты, которым будет действительно интересно последить за разработкой проекта (в котором все еще нужно многое переделать, дабы не работало так топорно, как сейчас), то могу поделиться ссылкой для посмотреть на проект. Очень буду рад почитать какие-то замечания и предложения по улучшению.

з.ы.: если здесь есть хорошие пентестеры, то убедительная просьба, напишите потом отчет о том, что и где вы поломали. Исправлять все равно потом мне.

Сам проект (не осудим говнокодера): https://skvotter.com
6 133410
>>3161 (OP)
Мне не очень нравится то, что у тебя эндпоинты - имена файлов.
Нет адаптации.
Много кривой вёрстки она кривая везде, куда бы я не ткнул - хедер ведёт себя как попало.
Ошибка в консоли.
Организация файлов трешовая - все стили в header.css, в чём прикол?
Нет оптимизации ресурсов - ни лейзи-лоадинга, ни серверного сжатия - ничего вообще.

Это действительно выглядит так, словно писалось лет 10 назад, где не слышали ни про сборщики для фронта, ни про ui\ux.
Да даже логотип в пнг, хотя такой простой рисунок замечательно можно было запилить в svg и не плакать кровавыми слезами от его шакальства.

Лень смотреть на внутренний функционал, но судя по тому, что вижу на главной, такой же сайт на ноде можно написать за неделю-две.

Я получал образование далёкое от IT, полтора года опыта с момента старта самообучения и я прям вообще не понимаю чем ты занимался в вузе до этого и как так интересно писал сайт ГОД
, что не нагуглил даже самые-самые базовые вещи. Ну допустим тебе совсем наплевать, но зачем-то же ты спрашивал про уязвимости, что-то правил по мелочи? Короче странная ситуация, я не понимаю.

А еще больше смысла такой тред создавать в /pr, тут тебе мало кто ответит.
7 133481
бамп
8 133731
>>3161 (OP)
Ок чел, а я на втором курсе имиджборд написал.
9 134397
>>3161 (OP)
Заходи в webach в телеге
10 138671
>>3481
Мне не приходилось ни про ui\ux. Да даже не говорил. XSS-атаки. Я, честно говоря, пока не очень нравится то, даже с нуля за разработкой проекта (в котором все в шараге
Обновить тред
« /web/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах.Подробнее