Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 30
×

Выбор предметной области для PET-проекта

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

Доброго времени суток, уважаемые форумчане.

Я планирую написать собственными силами небольшой web-ный PET-проект, чтобы отработать на нем технологии, которые нельзя или проблематично использовать на «боевых» проектах, а также который не стыдно и законно (в отличие от NDA-кода) показать в резюме.
В связи с этим, хочу попросить вашего мнения и совета по вопросу выбора предметной области и технологий. Сразу сообщаю, что проект планируется некоммерческий и он будет доступен протяжении всей разработки в открытом доступе на Github-репозитории.

Ниже постараюсь изложить все подробности максимально детально.
Основные технологии: MongoDB (NoSQL database), Java 6/7, Spring, Groovy, Scala, Node-js, jQuery.
Планируемые трудозатраты: 500 человеко-часов Middle Java Developer-а (2+ ОР года )
Materials: готов инвестировать около 500$ / год в аренду серверов (CI, QA, Prod).
Хотелось бы попробовать какой-нибудь тренд вроде облаков, но, к сожалению, не знаю откуда отталкиваться, также немаловажно было бы попробовать некоторые сложные алгоритмы интеллектуального web-а, такие как: умный поиск, сортировка тем и групп по приоритетам, динамическое предложение контента, как предлагает Rozetka например.

По поводу предметных областей (тем проекта) рассматривал различные B2C решения либо электронной торговли, но они показались мне слишком большими, чтобы их можно осилить в одиночку. Сайты-визитки, напротив, слишком просты и однотипны.

Буду рад всем мнениям, пожеланиям и предложениям.

👍ПодобаєтьсяСподобалось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

Я бы на твоем месте попробовал бы ноду, на ней писать очень приятно. И что самое главное — думаешь больше о коде/программировании, а не о фреймворках. И с mongo очень дружит.
Гугли mean stack.

как успехи с запиливание проекта ?

Готово примерно на 40%, дальше как-то не идет. я начал делать «социальную» сеть для животных, столкнулся с массой проблем ну и потянуло меня в разные стороны: то noSQL прикрутить, то ИИ почитать, то запрос оптимизировать, то красоту навести. По факту уже есть недоделанный ИИ на основе простейшей нейронной сети без самообучения, есть непривлекательный интерфейс, хочу переделать под SPA, борюсь с отвращением к JS, пока что оно побеждает. По ИИ — для меня непаханое поле возможностей и оптимизаций, даже страшно подумать сколько потребуется времени. В хай-лоад еще не залазил, а надо бы (все же социальная сеть). В общем продукт еще сырой и даже не альфа и может быть даже не продукт, т.к. деплой в 3-4 команды а не в одну.
Как-то так.

в одной консольке собрать артефакт, во второй консольке подключиться к облаку, потом задеплоить артефакт, потом рестартануть сервак в облаке = 4 команды.

мне кажется ты ошибся начав писать социалку на джаве. Вот сервис какой то типа йо можна бы было написать. Например есть один проект турецкий, они приходят типа в розетку и говорят, купите у нас подписку для отслеживания цен конкурентов. Отслеживание цен на 100 товаров у 10 конкурентов стоит 500 баксов. Потом они ручками (ручками!!!!) задают на сайтах конкурентов за какими циферками на какой странице следить, ежедневно парсят страницы, формирует ежедневный отчет и публикую у себя на сайте в вебе. менеджеры розетки видят по каким товарам их конкуренты дают лучше цену. типа мелочь но у турков уже около 200 компаний в подписке (хотя могу и ошибаться) . Вот это мне кажется нормальный пет проект такой, тем более если ручками задавать старницы то это все легко делается. На чистом php я могу где то за неделю наваять прототип, а вот на джава наверно пострадать прийдется.

Цель PET-проекта не в изготовлении 100500-го «убийцы facebook-а» и не в получении от него коммерческой выгоды, а в том, чтобы расширить свой кругозор, а также попробовать и набраться опыта в технологиях, процессах, системах, которых на работе не дадут, ну не работают формошлепы с ИИ, нечеткой логикой, хайлоадом и новейшими системами, или если есть, то не в Украине.

К тому же на работе я все чаще ощущаю себя ассенизатором, который приезжает откачивать продукты жизнедеятельности индусов (г*внокод), а потом везу на станцию переработки (рефаторинг), либо сбрасываю эти отходы обратно в овраге (задолбали, перепишем с нуля). В этой связи хочется сделать что-то интересное.

проект который не убийца фейсбука и не приносит денег — это трата времени.

«Жив-здоров, лежу в больнице,
Сыт по горло, есть хочу.
Приезжайте из столицы,
Я вас видеть не хочу» © лурк

1) Конституция гарантирует равенство мужчин и женщин без всяких оговорок, но по закону служить в армии обязаны только мужики.
2) Каждому гарантируется свобода мысли и слова, но не допускаются пропаганда или агитация, возбуждающие социальную, расовую, национальную или религиозную ненависть и вражду. Запрещается пропаганда социального, расового, национального, религиозного или языкового превосходства.
3) Тратить деньги на покупку книг — глупо, на бухло — нормально.
4) PET-проект — трата времени, а прожигать время на форумах/в инете/в телевизоре/прочей прокрастинации — это нормально.

один из факторов успешного пет проекта — это мотивация от начала и до выкатываения релиза которая легче всего достигается или славой или баблом. иначе не проекта ни знаний.

Вы не путаете Start-up и PET-проект? Что-то ваши посты за милю отдают дилетантством.

Еще есть вариант создать сайт в помощь переезжающим на работу за рубеж.

Я ж не шарю в этой теме.
К тому же сайт со статическим контентом — это слишком просто.

что-то типа jooble — с поиском вакансий
мониторинг сайтов ведущих работодателей

John, меня не интересует 1001-й убийца фейсбука, я не хочу зарабатывать на своем проекте и делать его коммерческим. Почему по-вашему люди играют в хоккей на конях?
www.youtube.com/...WZ4-0Alc8#t=336
В моем понимании не стоит смешивать то, что нравится и то, чем зарабатывают деньги.

Как-то даже странно, что вы ещё не начали писать свой собственный фреймворк, ну или хотя бы новую CMS с преферансом и куртизанками. По теме, лучше присоединитесь к какому-нибудь опен-сорс проекту.

Это есть в планах. Планирую подключится к одному из Apache проектов, но пока что не чувствую в себе достаточно сил, думаю через 1-2 года думаю подключиться.

Wow!
Хотел попасть на Maven или Dozer. Но эти тоже неплохи, tomcat — однозначно нет, там в глубине тонны овнокода и индусятины, лучше уж JUnit, но не уверен, что его делает Apache.

Сервис для составления resume + cover letter и дальнейшего поиска вакансий. Раз уж тут об этом шла речь.

Звучит неплохо, тут можно применить семантический анализатор и шаблонизатор для составления резюме. Кстати DOU сами такой тоже могут реализовать и прикрутить к своему Джинну. Просто отлично.

А следующим шагом я возьмусь за создание роботов-киборгов как в фильме «Суррогаты» с Брюсом Уиллисом. И эти суррогаты будут ходить на работу вместо сабжей, поскольку если составлять резюме нереально, то ходить на работу тоже не комильфо.

Боевые человекоподобные роботы-программисты)

Мысли интересные, спасибо.
Я вам ответил тоже письмом.

Котирую! Респект.
Предполагается ли диалог с советчиками? — он может помочь.
1. Каков желаемый результат? — для чего все по итогу?
2. FOSS навсегда? — или только на время разработки PET’а? Будет ли в дальнейшем интерес зарабатывать на созданном? (причем можно зарабатывать и на FOSS)
3. Технологии в проекте вторичны по отношению к целям проекта ... Важно ли использовать именно заявленное, насколько это критично?
Может еще что всплывет в качестве вопросов.
P.S. Блог стоит вести, да. О всем процессе)
Да, знакомая предметная область это ок. Впрочем незнакомая тоже интересно)

Интерес — опробовать технологии для Fan-a, предметная область нужна для того, чтобы потом результаты трудов не выглядели глупо и нелепо, несмотря на их (может быть) техническое воплощение.
Цель проекта — попробовать смесь технологий, отличных от стандартного стека:
Relational SQL + JDBC/велосипед JDBC/Hibernate + слой над ним, для этого и планирую использовать MongoDB, которая выглядит достаточно перспективно.

Заработать денег/создать стартап/обдурить всех — такой цели не стоит.
Только технологии.

John, на большую часть Ваших вопросов ответы были приведены в самом топике.

Ок. MongoDB только не спешите юзать на запись.

Т.е. вы предлагаете писать например в MySQL через Hibernate, потом синхронизировать MySQL <-> MongoDB и уже из нее читать?

Я бы предложил не использовать указанное. Postgre очень ок вещь. Очень многое можно на уровне БД сделать, без каких-либо довесок и ормов.
MongoDB не гарантирует запись.
dou.ua/...ums/topic/7374
dou.ua/...ums/topic/6123
ruby-ru.livejournal.com/...=555044#t555044
plumqqz.livejournal.com/288655.html
www.arbinada.com/main/node/1283

MongoDB красиво выглядит — но какие-либо реальные high-load вещи на ней ...
А для PET очень ок. Можно вешать bs hr’ам)

Спасибо за подборку, буду изучать.
На high-load я не замахиваюсь, ибо еще не дорос.

Все равно я вас до конца не не понимаю по поводу NoSQL: например если поднят сервак на NoSQL memcache (БД в оперативной памяти), то в чем проблемы этой базы? Как она не будет писать? Журналирование можно включить как и в реляционной базе, а если свет вырубят, то БД из RAM конечно же вычиститься, тут надо думать над дублированием. Или например тот же Github работает поверх MongoDB. Вполне себе high-load приложение.

slonik-v-domene.livejournal.com/72485.html
memcache — не транзакционное хранилище, гарантий сохранности данных нет; уместно если чтений больше чем записи

Мне и не нужны транзакции.
Транзакция — это не гарантия сохранности, это гарантия непротиворечивости данных. Классический пример про откат транзакции. Далеко не во всех сферах требуется ACID или 4 уровня изолированности транзакций. Если каждый пользователь например только добавляет данные и может изменять/удалять только свои то ввиду отсутствия «mutable» данных транзакции не нужны. Пример — какой-нибудь блог или тот же Github.

Журналирование как гарантия операций с БД нужны, а транзакции — нет.

Там в ссылках был пример вроде бы. С тем же блогом.
Но можете попробовать потестить пограничные ситуации самостоятельно)

Посмотрю обязательно и отпишусь сюда или в новую тему. Спасибо за инфо.

Никогда не надейтесь, что запуск реплики с синхронизацией в почти реальном времени заменит транзакционное хранение данных. И про потерю каментов некритичную Вы будете объяснять недовольным пользователям. И особенно если не дай бог кто-то что-то написал под замок а оно под замок не попало потому что апдейт не пришел например.

и да — орм заставить работать хорошо намного сложнее чем любую вменяемую базу.

не хватает классической MongoDB is web scale — www.youtube.com/...h?v=b2F-DItXtZs :)

«для fan’a» — это «для вентилятора» ?
можно, кстати, написать игру по каноничному ТЗ «грабить корованы»

Идея неплохая, но есть же непревзойденный эталон в жанре — Mount&Blade .
А вообще я не силен в 3D-моделировании, механике движков и рисовании голых эльфиек, без которых никто не будет играть в онлайн-игры. На Java такое не пишут. Minecraft не в счет — это гениальное произведение отличного автора, пусть я сам не фанат.

для fan’a = для экспириенса и портфолио. Увидел тренд что большим преимуществом считается наличие каких-то PET-проектов или либ в собственном гитхабе. Особенно актуально для senior-ов, решил не отставать и готовлюсь стать true-senior-ом.

1. сервіс моніторингу жд квитків, автоматичного бронювання при появі, нотифікації і тд
2. сервіс моніторингу посилок по трекномеру для укрпошти, можливість трекати декілька штук, нотифікація при доставці до відділення і тд

Спасибо за идею.
Возможно, но я попытаюсь совместить билеты и реализацию системы, используемую например Новой почтой и реализую с нуля — напишу свой одноколесный велосипед.
Да, сейчас сайт укрзализныци отвратный, особенно поиск билетов, там бы Single Page application с мощным JavaScript пригодился.

Трекинга куча есть в сети, ооочень дофига, перешел на отличный софт по трекингу (TrackCheker P.S. не реклама!) и забыл про кучи ньюансов...
А вот Наша УкрПочта Блин кроме 13ти знаков ничего другого трекать не умеет! Вот так идет тебе посылка с нестандартным треком и все, ты ее потерял и только потом когда в руки берешь во — и находишь чудо трек, о котором наши вообще не вкурсах! ((

Социальная сеть для кошек.

Что-то по интерфейсу похожее на Fruit Ninja на iPad, в который играют коты но социальная сеть?
Или что-то другое?

Мысль интересная, можно предложить пользователю просто завести нравящийся ему фрукт.
А после этого фрукт будет жить самостоятельной «жизнью», знакомится с другими фруктами, слать сообщения, предлагать развить отношения: клубника + персик и что из этого получится, такой себе искусственный интеллект. И рано или поздно фрукт закончит свою жизнедеятельность в каком-то блюде, а пользователь получит возможность завести нового питомца.

При этом реальный владелец фрукта сможет наблюдать все действия своего «питомца» в самом Web-UI и/или получать email-ы о событиях.

Чем-то напоминает идею Тамагочи, только теперь не нужно ухаживать за питомцем, он сам будет проживать свою длинную или короткую жизнь.

В связи с этим, хочу попросить вашего мнения и совета по вопросу выбора предметной области
не спрашивай, если есть какая-то предметная область, в которой ты разбираешся, то в ней и делай проект.

«В любой непонятной ситуации пиши бложик» ©
Мне так советовали. Может и Вам поможет.

Мысль хорошая, даже спорить не с чем.
Но пока что я предпочитаю сохранять анонимность.
А чем больше появляется деталей, особенно в большинстве блогов, где не хватает разве что фотографий нижнего белья, тем легче потом вычислить человека.

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

Пардон, тогда сорри что не так понял.
Свой движок — это интересно, большое спасибо за идею.
Пусть это даже будет одноколесный велосипед с квадратным колесом.

Если не знаешь как быть — будь как в клане сопрано. ©

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