Яким був ваш перший пет-проєкт?

💡 Усі статті, обговорення, новини для початківців — в одному місці. Приєднуйтесь до Junior спільноти!

Пет-проєкти це класний спосіб перевести знання в практику. Чим більше їх робиш, тим легше розумієш, як все працює насправді і краще запам’ятовуєш теорію. Вони дуже допомагають, особливо коли шукаєш першу роботу.

Я, наприклад, навчалася на фулстек-розробника, але по закінченню курсу зрозуміла, що бути саме розробницею не хочу. При цьому ІТ загалом мені дуже цікаве, і саме тому я тут, на DOU.

Мій перший пет-проєкт був сайтом для вигаданого магазину морозива. Ми робили його командою, і я навіть була тімлідом. На той момент ми тільки вивчили HTML та CSS, тож ніякого складного функціоналу там не було — лише ховери, щоб все виглядало гарно, і простий слайдер.

Тоді здавалося, що це неймовірно складно, але ми впорались! Правда, на презентації виявилося, що продуктивність сайту залишала бажати кращого(про це ми трохи забули).

Пізніше, коли робили більш солідний проєкт в кінці курсу, наприклад веб-додаток, який рахує випиту воду, ми вже працювали на Node.js і React, використовували базу даних MongoDB та тестували API через Postman. І порівнюючи з ним, перший проєкт здається таким кострубатим, але ж всім треба з чогось починати!

А як у вас було з першим пет-проєктом?
Що робили, які технології юзали, і що найбільше запам’яталося?
👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Якщо брати щось більш масштабне — то це був проект довжиною в роки, на якому я по суті навчився програмувати. Звісно починалось це з 3D куба в центрі екрану, що крутиться. Але з роками виросло до повноцінного 3D шутера типу Quake. І звісно це був мій особистий 3d engine. Все робив сам без сторонніх бібліотек окрім DirectX та Bass для фонової музики, бо була задумка грати mp3.
Згодом фінальна версія мала deferred shading з динамічним освітленням, системою матеріалів, тінями, particle system, шейдерами, SSAO, 3D звуком, хоч і примітивними але іграбельними ботами, 8 видів зброї, кастумний UI для меню. Був свій плагін для 3D Max для експорту моделей та мап у свій формат. І в фіналі можна було грати в повноцінний multilayer. Мережевий рівень client-server на UDP + своє TCP over UDP. Тут ідею взяв з Q3 де по мережі шлеться дельта стейту, що дає змогу накласти хоч і примітивне RLE зтиснення, а також обробку втрачених UDP пакетів.

www.youtube.com/watch?v=i0_27phh4kI

Таке питання, чи можна монетизувати свій пет-проект наступним чином?
Наприклад, створив апку, яка щось там робить. Потім носишся з нею по інкубаторам, акселераторам, інвесторам чи як там це правильно називається, презентуєш і кажеш можу зробити ще краще, доробити повно корисних фіч і так і сяк, дайте грошей. Вони дають, їх освоюєш, щось вийшло, щось ні. І на тому все затихає. Це робоча схема?

Я починаючий PHP-розробник. Мій pet-проєкт — це повністю кастомний сайт, який я створив на власній архітектурі без фреймворків, тобто сайт з нуля. Для прикладу я обрав юридичну компанію. На окремій сторінці я розповідаю про себе та цей pet-проєкт. Вакансій у розділі PHP Junior зараз дуже мало (1–3), тож сподіваюся, що досвід роботи над таким проєктом підвищить мої шанси знайти роботу.
Сайт — site2.romanenko-studio.dev/uk/about-this-site

Першим справді моїм пет-проджектом була система моніторингу перфомансу сайтів, яка в реалтаймі збирала аптайм сайтів та їх метрики перфомансу (по pagespeed api), робила гарні графіки, сповіщення тощо.
Під капотом була монга + нода, все це крутилось на безкоштовному тарифі монги + Heroku + тг бот, який в певний проміжок часу присилав детальний звіт по змінам. Коштувало 0$ на місяць)

Потім показав його на роботі — і його майже відразу інтегрували у робочий флоу. Після деяких покращень він осилював ~300 доменів, і безперебійно, без втручань, працював ще 2 чи 3 роки після того як звільнився звідти, поки Heroku не прибрав той безкоштовний план. Подальша доля — невідома, але сорси ще десь валяються в архіві.

NetOSearch, тула для пошуку в інтернеті в різних пошуковиках, навіть в якійсь книжці її публікували, але утіліта уже давно не актуальна, та й не була ніколи популярна. Продав аж 0 копій :)

Бачу бажину: мова окупанта на ресурсі. Прибрати зможете?

Так я не про територію, а про мову окупанта. Вона є не лише там, правда?

Пишу Swift проект для macOS — портування читалки текстів з новим функціоналом: синхронізація, мережевим доступом, тощо.

Першим був додаток, що відображав у кутку дату за календарем мая

res.cloudinary.com/...​/rp2ccbvor5dlzeda1nbz.png

Першим був калькулятор на Python, потім — записник PlusNote на Java для Android. З найвдаліших — ігри в слова FindWord і Letris та їхні українські локалізації ОВВА та Летріс.
А нещодавно запустив два сайти: з тестами з англійської мови: englishtests.online та тестами з програмування: codingtests.online

Моїм першим «серйозним» проектом була курсова робота. Дектопна форма на C# для взаємодії з базою даних. Що за тема була — не памʼятаю вже.

Якщо брати пет-проект в сенсі для самотренування, то це був консольний tic-tac-toe на Java. Навіть з алгоритмічним інтелектом суперника)

Застосунок для Windows Phone, у 2013 показував рух автобусів онлайн по маршруту в режимі реального часу.

Зробив собі скрінсейвер на OpenGL та С++. Код зберігав на флешці, нажаль втратив. Ціль була краще вивчити Visual Studio, бо до цього я переважно користувався GCC та Code Blocks, а до цього Borland C++ Builder (також відомий як дебілдер). Це був рік десь 2007

Зробив собі скрінсейвер

на фоні оливково-бурих вод великого Нілу у мерехтінні яскравих відблисків по центру з’являється божественна Клеопатра у 3D, зліва на екрані виростають величні піраміди посеред безмежних ланів ячменю, а справа на все то ліниво через наполовину заплющені очі дивиться сповнений гонору сфінкс?

Хм — а взагалі ідея ! Типу Haven Benchmark-а і наступників.
Там була фігура з трех стрілок, кожна з яких була циліндром і конусом над нею, і вони виростали по X, Y, Z осям з сфери. Ця конструкція оберталась по усіх трех осях на секунди по кожній осі в одине IDLE, сцена наближалась-віддалялась.
Використовуввлись тепер мертві технології — OpenGL 1.2 без шейдерів. NURBS з GLU, затінееня по Гурро та дісплейні списки. Саму сцену я зробив ще студентом на С++ Builder. А потім вже зробив собі скрін сейвер, на Visual C++. Тоді я вже працював із JNI, тому робив пет проект чисто із цілями самонавчання.

Використовувались тепер мертві технології — OpenGL 1.2 без шейдерів

зараз напевно легше інтегрувати все то в рамках звичайних GUI DE фреймворків, нп наджіелити можна з gtk4 GlArea віджет-контейнер — якою-небудь з розповсюджених мов яка буде зручніша та для якої є gtk-bindings, тобто нашейдерити накватерніонити і т.д. з сучасними GL версіями, і якщо треба поверх того помістити окремий layer з елементами управління

Ще до перших курсів по програмуванню, написав на пітоні з селеніумом тулу яка в декілька вікон через впн крутила перегляди на ютуб по заданим каналам і відео, з максимальною, як мені здавалося, схожістю на людину) розігнав канал з перезаливами якихось мемів до монетизації, і ставив на день на ноуті поки я на роботі. Накрутило на трохи більше ніж 40$ і зняли монетизацію 😞

Та коли навчився програмувати купа була різних ідей, які закидував за тиждень Тому хз що було першим.

Якщо вважати перший доведений до релізу, то — play.google.com/...​=com.soft419.enigma&hl=ru

А так не пам’ятаю вже

Десктоп — клієнт для забороненої соціальної мережі «Вконтакте» на приблизно 10к рядків коду

в мене мої перші проекти пишуться зараз
я на стадії вивчення JS
першим проектом написав веб квіз ігру, де вибираєш режим
появлляється фото рандомної рослини і варіанти відповідей
і чим за меншу кількість раундів треба назбирати 1000 очок
в easy даються 4 варіанти відповідей
medium 10 ваірантів
hard списуй сам назву

це посилання з виставленого гітхабу (хз чи норм так надсилати)
fediaiandrii.github.io/guess-the-plant

Поки якось так..))

Звучить прикольно, бажаю успіхів на цьому нелегкому шляху 💪

Важко пригадати, в 14 років я писав гру з лабіринтами, графічний редактор, розвʼязував задачі, якісь менюшки в текстовому режимі через відеопамʼять, змійка... Все що бачив навколо, хотів написати сам, але краще! От тільки вільного доступу на ПК не було, приходилося багато програмувати на папері, щоб встигнути ввести за обмежений час.

Я вчив ’Сі в інституті по конспекту без жодної практики — бо тоді не було сучасних комп’ютерів в інституті . Був залік в кінці семестру по факту присутності конспекту.

Дуже бісить такий бред, у нас в універі теж були такі предмети, де оцінка була за конспект грубо кажучи..А писати код в зошиті не уявляю як, це, мабуть, був той ще експіріенс. Це тобі не курси — за 2 місяці навчимо 😅

Ок, я в зошиті написав та відлагодив рушій для гри в шашки, який мене потім стабільно обігрвував. Майже без помилок, там було півтора бага. Це приблизно у 19 років. Причина проста, 1994 рік, компʼютери лише в інституті, машинний час обмежений, записуєшся погодинно (чи по дві не памʼятаю) не більше двух разів на тиждень без спеціального дозволу.

Еспіріенс я оцінюю як дуже корисний.

я в зошиті написав та відлагодив
Еспіріенс я оцінюю як дуже корисний

якщо це не відносно щоб не забути як писати від руки experiense (корисний з точку зору каліграфії), а саме кодування — то «корисний» звучить досить дивно

p.s. відносно початку 90х то зрозуміло що вибору особливо і не було

Корисний, бо тренує думати.

Зараз комп’ютер спокушає відразу закодувати перше, що прийшло в голову, швиденько перевірити та рухатися далі. Не кажучи про те, що часто ти (як сучасні LLM) не думаєш, а гадаєш: додам тут зайву одиничку та подивлюся, що буде. О! Запрацювало! Рухаємося далі! В результаті накопичується певний технічний борг через поверхневі рішення. І мозок не напружується, звʼязки не формуються.

Коли ти концентруєшся на задачі на аркуші паперу, у тебе набагато більше часу йде на вичитку коду. Коли ти не в gdb дивишся змінні, а записуєш нове значення ручками, у тебе більше думок, як це спростити, де полегшити, що оптимізувати. Більше занурення, менше спроб вгадати. Не кажучи про те, що додає мотивації й концентрації усвідомлення того факту, що треба максимально перевірити код, бо час за PC буде обмежений. А задачу вирішити хочеться!

Як це допомагає зараз? Дивишся core dump з молодим розробником, розкручуємо асемблер, щось відкопали, він відразу «О! Помилка тому що... пішли виправляти!» Ти кажеш: ні, це ще не доведено, це припущення, яке треба перевірити. Відкопали інше, він знову «О! Помилка тому що...» Саме таку методичність я і напрацював з аркушами паперу.

Коли ти не в gdb дивишся змінні, а записуєш нове значення ручками, у тебе більше думок ...

До цього речення думав що то тільки для того щоб краще продумати логіку роботи (хоча і досить дискусійний підхід якщо то тільки для схематичної візуалізації на папері чорнилами, але принаймні можливо, і колись так робили за недостатності комп.часу і повільності заліза). А от після ствердження «змінні, записуєш нове значення ручками» — скажу що все то виглядає оверзанадто навіть для тих часів... ще і значення-калькулятором відпрацьовувати.

Дивишся core dump з молодим розробником, розкручуємо асемблер ... пішли виправляти

зазвичай якщо це свій код (та й пакаджів системи також) то ніхто не заважає користуватися debug symbols etc., тому — абож то якась цікава мова яка має свої власні debug інструменти (тоді навіщо вам gdb), абож то виглядає що додано мабуть для звучання... «розкручуємо асемблер»)

зазвичай якщо це свій код (та й пакаджів системи також) то ніхто не заважає користуватися debug symbols etc

От щось не спрацювало...

щось не спрацювало

В хісторі типу подивитися bt по coredump з debug symbols все описане починає все більше і більше виглядати загадково містичним — необхідність (де)асемблерничати, записувати щось чорнилами, старий+молодий. Для красоти і повноти сцени можна булоб ще додати дерев’яну лінійку як обов’язковий інструмент девелопера... якою нп «немолодий» має бити «молодого» по рукам як тільки той не записав значення змінної у тєтрадку)

Є відлагоджувальна інформація, є unstripped бінарі для цього білду, є core dump, але все одно bt бере рандомні значення зі стеку. От буває так інколи, колись все видно, а колись ??????. Чому? Також треба розбиратися (і знову треба асемблер, до речі), але це питання скоріше до білд-тіми, і не факт що на це виділять час, ...

Це лише один з прикладів, коли спрацьовує методичність, яку я напрацював за аркушем паперу.

От буває так інколи, колись все видно, а колись ??????. Чому?

бо немає debug symbols, чи хтось не знайомий як користуватися тулзами в ніксах, відповідна інфо може бути як з бінарником так і поза нього (як нп для пакаджів в системі), чи щось не так в цілому?

Також треба розбиратися (і знову треба асемблер, до речі)

навіщо вам асемблер так і не зрозуміло, щей базувати на тому паперову роботу

але це питання скоріше до

оверспеціалізації чи недокваліфікації коли поза кодування і не виходять

бо немає debug symbols

Не треба робити з людей ідіотів. Береш адресу зі стеку, робиш info symbol чи info line та бачиш усе. Звідки gdb це бере, як не з символів? Проблема саме в bt. Більше того, якщо у тебе немає символів, то частіше усього bt спрацьовує як треба: ти бачиш адреси, але не бачиш що це за функції.

навіщо вам асемблер так і не зрозуміло

Не в асемблері справа, теж мені рокет сайнс, читається після декілька днів практики. Проблема у методичності. Паперова робота привчила повністю досліджувати проблему перед тим як рухатися далі. Вона привчила повільно йти з самого початку, щоб повністю будувався контекст проблеми. Робота за комп’ютером закріплює навички швидко експериментувати та скіпати предісторію. Так, я теж так роблю, але коли це не працює, переключаюся.

оверспеціалізації чи недокваліфікації коли поза кодування і не виходять

Заведуть на мене окремий issue — розберуся. А так мені дають одну задачу, я роблю зовсім іншу, ще й іншої тіми. Страйк?

P. S. От видно, що ви на папері не програмували: у вас теж зашорене бачення: бачите одне можливе пояснення та ігноруєте усе інше. Проблема може бути тільки у символах, звісно, нічого іншого!

видно, що ви на папері не програмували: у вас теж зашорене бачення

ясно що незашорене паперами, але якщо починати мірятися паперовими розмірами то треба у цьому випадку хоч би знати їх розмір) як нп метрові роздруковані стрічки з кодом які колись розглядали та домальовували на них виправлення у свій вільний час

В нас був курсовий, де код на Pascal довилось писати чертнжним шрифтом. Типу це було демонстрація студентам, як люди писати прогамми раніше. Звісно усі напечатали в тонких лініях з компасу і по обводили. Один хлопець десь домовився, йому зробили на графовибудовувачі — це типу попредник плоттера.
Коротше інженерна ідея, що перед тим як писати код — треба думати і проектувати привити так і не вдавалось. Особисто я став проектувати вже глибоко мідлом на роботі. Облом був — що цього не робили навіть ліди тоді. Яе тоді так і зараз люди більше дуєри.

Ну це вже взагалі трохи знущання, у мене було креслення в універі, тому розумію який це був гемор..
Ми до речі робили креслення в місцевому принт-центрі — у них були всі варіанти і там за 5 хвилин тобі давали креслення і також залишалось лише обвести))

Викладач честно сказав, що це було покарання — за погану поведінку потоку, шуміли і галділи по началу. Тому він пригадав як писав в молодості код сам і знайшов той дісциплінарний лом, яким прапощік наказав підмести плац.
У нас ще багато такого було типу дудтя в аеродинамічній трубі, де ми в ручну міряли віс весами записували усе в зошити, де тим хто збирав інформаціїю доводилось кричати у вухо — бо обладнання м’яко кажучи не тихе тощо. Стат-зала із тензометрією, де знову купа паперу і напів автоматизація, бо тензометричні датчики показували значення на електронному табло.
В нульві показували панянкам і панам ІТ-шникам з САПР як насправді потрібна автоматизація в галузі. Якщо будемо будувати дрони, то це усе траба буде відновлювати.

О... Зробити креслення дівчатам... Формат A1... Часу немає, скоро захист... За це... Таке було...
От тільки принт-центрів не було, олівці, рейсшина,

По ідеї на початок 90х вже не було ніякого креслення як обов’язкова дисципліна на звичайних університетських факультетах (такі як нп фізика etc. вже не було на кінець 80х), а на 94й... тобто де то залишалося — взагалі загадка.

Я в 2014 вчилась на хімічну технологію в КПІ, у нас весь 1 курс було і креслення( всякі моделі зображали і їх проекції) і потім ще предмет був, де в автокаді креслили(не памятаю як правильно називався).

Напевно існує необхідність (не знаю того) і зараз на відповідних факультетах, колись то було обов’язковим схоже що для всіх технарів, для чого було потрібно креслення (з дошками на півкімнати) як обов’язкова дисципліна в універах нп фізикам математикам чи киберам — не зовсім зрозуміло.

Форум колишніх фізиків і хіміків:)
Скажіть, а при отриманні диплому, чи було реально щось знайти за фахом? Цікавлюся, бо теж хімік в минулому)

Чи коректно буде поцікавитися, а де саме? Бо перше ,що приходить на думку, це при університеті, або завод, або школа( якщо пед університет). Дякую

Університети, інститути (наукова робота) особливо закордоном, електростанції, заводи.

Дякую, аналогічно, окрім електростанцій. Більшість знайомих пішли або в Торгівельні представники, або в школи, або намагалися при університеті затриматися.

Я не дуже то і планувала, але кілька одногрупників влаштувались, у нас була дуже вузька спеціалізація( про що я дізналась на 2 курсі і переводитись вже було пізно), і всі місця роботи на підприємствах, які далеко не в Києві і зп пропонували тоді близько 12 тис(це десь 2019-2020 рік).
А от знайомий, який на органіці вчився, працював ще з 3 курсу по спеціальності і дуже добре заробляв і зараз досі там)

Була начерталка, але в політеху були й інженерні спеціальності.

Була начерталка

в 94му то у кого саме по спеціальностям? в кінці 80х у фізиків нп вже відмінили, хоча артефакт тих часів громадну дошку для креслення ще довелося побачити, якою одночасно і лякали і була зручним топіком для того що зараз назвали би мемами

Автоматизовані системи управління наприклад. Два семестри, перший геометрія, другий різна база, збірочне креслення, золотніки, ... До речі, дошки для креслення не бачив, скло на стіл и працюй. А так і фармацевтам креслив на диплом (ректифікаціонна колону). Було досить поширено у 90-х, не кажучи про ХАІ, ХДАМГ, ...

До речі, дошки для креслення не бачив

отжеж як швидко все прогресувало та змінювалося після розвалу совка, окей, я вже не застав обов’язкову начерталку, хоча у вас вона ще була, і мабуть досі вивчається але вже там де мабуть дійсно потрібна

1995 рік, ХНУРЕ, специальність «Захист інформації в компʼютерних системах».

Начерталка була на першому курсі.

а зараз хоч нема там вже начерталки на комп.системах?

Мені пощастило, я в універі познайомилась з майбутнім чоловіком, тож на захист диплому уже він мені робив креслення ( правда там уже не руками креслити треба було, а в Компасі чи автокаді), але там було близько 7 чи 8 креслень, я би це дуже довго робила, а він за кілька днів. Потім моїм одногрупникам робив уже за всякі ніштяки або гроші))

Мені теж спочатку попала в руки саміздатівська роздрукована книга по програмуванню ігор на Xi в 1993, без доступу до ПК. Він і не потрібен одразу — потрібно добряче розібратись спочатку в голові.

Спочатку папір і олівець, Design First.
Коли накопичується 5-10 років досвіду та м’язової пам’яті переходиш YOLO-driven автоматично.

Насамперед перший , ще до того як дозрів до думки що пора а девелопери, це був сайт фото галерея для мого особистого сайту а наступний вже повноцінний інтернет магазин на готовий cms. А вже потім років через декілька , вже в рамках навчання на безкоштовних курсах freecodecamp віджет погоди та покажчик випадкової цитати .

Підписатись на коментарі