• Какой JS фреймворк выбрать для full-stack?

    @xfg
    Лучшее что сейчас есть это koa или express для http протокола и socket.io для websocket протокола. PHP тоже от full-stack фреймворков движется в сторону микрофреймворков. Сегодня современный фреймворк это роутинг запросов реализованный на концепции мидлваров.

    Проблема спагетти-кода решается не фреймворком, а архитектурой. На сервере это обычно multilayered architecture. Бьете приложение на 4 слоя presentation, application, domain и infrastructure (еще могут называть data access layer или persistence layer). Контроллеры фреймворка куда попадает запрос пользователя это будет ваш самый верхний presentation слой. Слой инфраструктуры лучше собирать из отдельных библиотек, чем завязывать его на фреймворк. В таком случае не придется переписывать весь слой инфраструктуры из-за того, что фреймворк больше не развивается. Application и Domain слои используют Infrastructure слой через интерфейсы, тем самым абстрагируясь от конкретных реализаций. Таким образом вы всегда сможете заменить одну реализацию другой (паттерн Strategy) без изменения вышестоящих слоев. Presentation слой просто вызывает сервисы из application слоя и возвращает результат в html/json/xml/etc клиенту.

    Иногда упрощают до 3 или даже 2 слоев. Например если у вас CRUD приложение, тогда application и domain слои не нужны и вы можете оставить только presentation и infrastructure. Также если ваш application слой не делает ничего, кроме вызова domain слоя, то от него также можно избавиться оставив 3 слоя presentation, domain и infrastructure.

    Примеры реализации можно найти здесь и здесь. Они на Java. На javascript пока не встречал.

    Более подробно тему можно изучить взяв любую книгу на эту тему.

    Meteor не советую. Это не будущее. Это костыль. Они хотели сделать фреймворк для real-time приложений. Но фактически получилась просто платформа для стриминга произошедших изменений в mongo прямо на клиент.

    Sails это попытка сделать full-stack фреймворк. Но весь мир движется в обратном направлении.
    Ответ написан
    3 комментария
  • Какие есть сервисы по изучению PHP?

    Justique
    @Justique
    Мне понравилось приложение для Android "SoloLearn" там не только php но и куча других языков. Сейчас например учу java
    Ответ написан
    6 комментариев
  • Где поправить Url'ы в Yii?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Помимо очевидного совета — посмотреть urlManager в конфигах, отмечу:
    - изменения делайте ТОЛЬКО через разработчика (либо с его консультаций), судя по скринам там достаточно большой функционал, там помиомо тегов и категорий есть еще и типы, именно они в начале урла (sale и rent)
    вы полезете менять — точно роутинг поломаете

    Такое построение урлов не противоречит ЧПУ и тем более SEO-продвижению, тут вам надо понять, что вы возможно все не знаете даже по своей части... также должны понимать, что не все можно перекроить именно из-за бизнес-задач... но напутанность есть... есть чем позаниматься

    Вместо подкатегорий какие-то "теги"

    НУ, товарищ, это как раз круто дял SEO — готовая подборка под НЧ-запрос... такой кейс громкий же был у Enter:
    «телефоны для бабушек», «телефоны с большими кнопками»

    Почему нельзя было сделать отдельно категории Продажа недвижимости и Аренда недвижимости и потом уже просто выбирать категорию

    с точки зрения разработчика — хорошее решение, не нужно рекурсий делать и вложенности из-за 2 типов

    Почему так:
    Просто это фреймворк, на нем делают то, что хочет разработчик ,если что-то в админку не вывели — легко выводится и дорабатывается...
    Почему не ЦМС? Ну причин много бывает, но поверьте — дорабатывать текущий сайт будет проще, чем на ЦМС, просто поверьте... не понятно почему сайт без разработчика...
    Ответ написан
    1 комментарий
  • Хочу написать приложение под Android?

    KuSu
    @KuSu
    Android разработчик
    Я вижу это так:
    1) Запросить разрешение на получение координат
    2) Запустить сервис и постоянно получать координаты
    3) Отправлять координаты на сервер
    4) Если координаты на сервере близки друг к другу отправить push на оба устройства
    5) Получить push на устройстве и сообщить пользователю
    Ответ написан
    2 комментария
  • Есть ресурсы по PHP и MySQL типа learn.javascript.ru?

    php.net/manual
    Ответ написан
    Комментировать
  • Что нужно знать специалисту по BlockChain - технологиям на Java?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    Solidity
    Эфир - Биток
    существование фреймворков для частного блокчейна (Hyperledger / те, что в вакансиях)
    принципы консенсуса, примеры, и реализацию
    и сорта вазелина
    Ответ написан
    Комментировать
  • Насколько реально совмещать учебу и работу в Чехии?

    У меня данные не самые свежие (5 летней давности), может что изменилось.
    Я был в Брненском техническом университете на IT факультете.
    На посещение лекций особо никто не смотрит, важно только здаешь ли ты вовремя задания\лабораторные\экзамены.
    Но вариантов пересдать\досдать\сдать позже,
    для большинства заданий\лаб нет. пропустил время сдачи лабы, или завалил ее по полной - все можешь больше на лекции даже не ходить, нужно будет заново этот предмет в следующем году проходить. (Если до следующего года дойдет дело), так что оно может быть достаточно напряжно при совмещении с работой, но
    в принципе наверно реально.

    Основной вопрос по трудоустройству у меня был связан с визой, у меня была учебная виза, и по ней официально работать на полную ставку было нельзя. Если делать рабочую визу, то были проблемы что при увольнении надо очень быстро найти другую работу. 2 визы сразу иметь было нельзя. Вот как сейчас с этим дела я не знаю.
    Ответ написан
    Комментировать
  • Обязательно ли использовать какой-либо фреймворк?

    27cm
    @27cm
    TODO: Написать статус
    Если проект будет активно развиваться, то без фреймворка не обойтись. Но давайте попробуем рассмотреть поближе разные варианты.

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

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

    2. Использование готового фрейморка, с которым вы никогда не работали
    Готовьтесь потратить массу времени на его изучение. Порой даже на решение тривиальных задач в некоторых фреймворках придется потратить несколько дней, если вы с этим никогда не работали. По собственному опыту могу сказать, что если сравнивать варианты (2) и (4), то готовьтесь потратить в 3 — 4 раза больше времени. Однако у этого варианта есть и плюсы: вы освоите ещё один фреймворк и в следующих проекта сможете выбирать вариант (1), другим разработчикам знакомым с данным фреймворком будет гораздо проще разобраться в коде, последующая разработка и развитие проекта существенно ускорятся.

    3. Использование собственного фреймворка
    Рекомендуется только строго после того, как вы несколько лет поработали с разными фреймворками, точно знаете их недостатки, четко можете сформулировать, почему в данном проекте не подходит ни одно из готовых решений. Плюсов у такого решения масса, но основной — ваш фреймворк будет оптимальным образом решать именно ваши задачи, он не будет «комбайном», пытающимся угодить всем вокруг. Но и минусов хватает, крупные фреймворки как правило развиваются огромным сообществом, сотни и тысячи разработчиков ежедневно находят и исправляют в нем ошибки, расширяют функциональные возможности, улучшают производительность, заменяют устаревшие решения на новые.

    4. Вообще без фреймворка
    Такой проект сильно рискует превратиться в спагетти-код. Но абсолютное большинство новичков начинает именно с этого. В этом нет ничего страшного, если это ваш первый проект, вы освоитесь с языком и его возможностями, набьете кучу шишек, и неизбежно рано или поздно перейдете к вариантами (1), (2) или (3).
    Ответ написан
    5 комментариев
  • Что нужно изучить чтобы сделать хотя бы простой java сервер?

    Делать простой java сервер не надо.
    Он уже есть tomcat или jetty.
    Можно воспользоваться Spring-boot, но внутри у него все равно будет tomcat или jetty.
    Насчет spring-boot.
    В нем много "магии".
    Можно в ней не разбираться, в большинстве случаев она просто работает, но иногда нет.
    Поэтому очень рекомендую понять как работает Spring Framework и Spring Boot.
    Ответ написан
    Комментировать
  • В сторону какого ЯП для web смотреть с дальнейшей перспективой?

    Wolfnsex
    @Wolfnsex Куратор тега Веб-разработка
    Если не хочешь быть первым - не вставай в очередь!
    Хотелось бы изучить язык, который так или иначе применим в веб-разработке, преимущественно бэк-энд (я не беру те утверждения, что и на C# можно все сделать).
    В смысле можно? Всё можно сделать, и иногда даже нужно, и иногда даже делают, в т.ч. для веба - на Си и/или на С++. А у C#'а есть целая армия поклонников, а так же ASP.NET и ещё ASP.NET Core (кастрирования версия C# способная (по крайней мере, теоретически) работать на ОС отличных от Windows), а так же ASP.NET MVC и так далее.

    У PHP привлекает наличие работы, низкий порог вхождения
    Порог вхождения куда? В сам язык? Хочу Вас разочаровать, это лишь порог базового вхождения. Во первых по тому, что на "чистом PHP" пишут либо в виду своей полной некомпетентности, либо в виду архи-нагруженных проектов, аки "ВКонтакте", "Фейсбук" и т.д. И сам язык в этом процессе - хорошо, если 10% будет занимать, от общей массы стека. Есть ещё фреймворки, протоколы, сети, сервера, различные хранилища, базы данных и очень много чего ещё. При этом они с языком конкретным никак не связаны.

    Много работы - не зависимо от языка, если Вы способны реализовать задачи в срок и в требуемом качестве, а потом ещё и поддерживать свои проекты - заказчику совершенно всё равно, на чём проект будет написан, хоть на ассемблере. И, много работы === выше конкуренция, по этому, в пересчёте на человеко-вакансию, работы не так много как Вам кажется. А ещё, разработчики уровня "я сделал гостевую книгу", не зависимо от языка на котором они сотворили сие чудо - получают не так много, как им хотелось бы.
    Ответ написан
  • В сторону какого ЯП для web смотреть с дальнейшей перспективой?

    Привет

    1) В странах СНГ и Европы самый популярный веб-язык: PHP. На Ruby и Python - работы значительно меньше, и она в столицах. Живешь не там - даже можно не учить.
    2) С Python в другие области, ты особо не уйдешь, ибо там либо биг-дата, либо девопс, либо тесты (но там еще и Java нужна), так что все области специализированные - https://habrahabr.ru/post/340894/
    3) Ruby - в США Ruby любят, у нас же его использовали во время хайпа 2008-2012 годов всякие туристические стартапы, сейчас же его особо не юзают (Вакансии чаще всего в компании, как раз из этих 2008-2012 годов).
    4) Я свои проекты пишу на Python (так как быстро и клево), а деньги получаю за Java (так как платят много и работы много).

    Ну а вообще, если у тебя более менее адекватный it-универ и it-специальность, то шел бы в .net/java, потом через стажировку устраивался в большую компанию и не парился особо. Если просто хочется в IT, то брал бы PHP - с работой будет попроще.
    Ответ написан
    Комментировать
  • С чего начать изучение языка Kotlin для разработки под Android?

    Djaler
    @Djaler
    Сеньор-помидор
    1) С учебника по джаве
    2) Учебники конкретно по Андроиду, затем изучение котлина по документации
    3) Нужна
    Ответ написан
    Комментировать
  • Использовать фрагменты или активити?

    zagayevskiy
    @zagayevskiy Куратор тега Android
    Android developer at Yandex
    Конечно фрагменты. Посмотри Google I/O, там об этом говорили. С фрагментами жить проще.
    Ответ написан
    Комментировать
  • Использовать фрагменты или активити?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Когда есть возможность использовать фрагмент, всегда используй фрагмент.
    Ответ написан
    Комментировать
  • Как интегрировать AMP в сайт без cms?

    Maksclub
    @Maksclub
    maksfedorov.ru
    1. создаете на сайте правило в роутинге или директорию /amp/ (смотря как у вас там)
    так, чтобы все ваши страницы "дублировались"
    • обычная /about
    • amp /amp/about

    Но та, что по роуту /amp/... должна отдаваться по определенной разметке. то есть вам нужно или поправить разметку или шаблон или как там у вас... не знаю

    2. Потом нужно на обычных страницах указать отсылку на АМП версию:
    https://www.ampproject.org/ru/docs/tutorials/creat...

    Все! Гугл закеширует ваши страницы и будет отдавать со своего сайта удобный контент

    Более подробно: https://www.ampproject.org/ru/docs/tutorials/create
    Ответ написан
    3 комментария
  • Что имеет смысл осваивать если есть желание уйти в "айтишники"?

    @d-stream
    Готовые решения - не подаю, но...
    Имея богатый опыт в предметных областях - можно смотреть в сторону экспертности в сфере разработки прикладного ПО для этих предметок.
    А программисты-разработчики на 100к - это совсем не юниоры - то бишь потребуется хороший опыт... а начать придется с гораздо меньших циферок...
    Ответ написан
    Комментировать
  • Что имеет смысл осваивать если есть желание уйти в "айтишники"?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Коллеги, тут шла речь про "год, два, три"... Лично моё субъективное мнение:
    1. Год полноценной работы в IT (программировании) - даёт (но не гарантирует) хорошую возможность устроиться в какую-нибудь конторку, пилить "сайты на Wordpress".
    2. Года 2-3 - даёт возможность устроиться в контору посерьёзнее и возможно уже на должность "мидла", но только в том случае, если всего эти года 2-3 либо кто-то, либо ты сам - крайне плотно занимался своим обучением. Обычно это должен быть либо хороший наставник, либо хорошие психостимуляторы, что бы такое количество информации вбить в голову за года 2-3.

    Если бы те, кто собирается стать программистом - могли бы осознать, какой объём информации им придётся поглотить в конечно итоге и с какой скоростью в последствии это делать в режиме "нон-стоп", от "по пути на работу" до "сидя на толчке"... 80% из них, расхотели бы этим заниматься ещё до того, как пытались попробовать...

    Год-два-три - это отличный способ устроиться на з/п в 15-40тыс. в редких случаях чуть больше, в пределах 1000$ обычно, при "нормальном" раскладе.

    Дабы не быть голословно "обвиненным" в причастности к "клану школьников", два слова о себе. В IT без малого как 20 лет, решил пойти в IT лет наверное 30 назад :)) Работаю руководителем отдела разработки, а так же имею опыт работы в международных компаниях (не фриланс).

    P.S. Если хотите, что бы я Вас отговорил от этой мало перспективной идеи, просто пообщаться (со мной или группой начинающих и не очень начинающих разработчиков сети/веб- направления), или поговорить о чём-нибудь ещё... - в моих контактах есть ссылка на группу, оттуда соотв. Вы можете написать и мне (лично), при желании.

    У нас в городе, кол-во открытых резюме (по нашему профилю), по разным подсчётам варьируется от 300 до 800 (по разным подсчётам). А на работу нанимать некого, хотя чуть ли не у доброй половины написано, что стаж работы 5+ лет... Мне кажется, у многих, реальный стаж работы 5+ дней, судя по объёму знаний, с которым они приходят на работу устраиваться...
    Ответ написан
    2 комментария
  • Что имеет смысл осваивать если есть желание уйти в "айтишники"?

    Maksclub
    @Maksclub Куратор тега Карьера в IT
    maksfedorov.ru
    зп в 100 неспроста дается, 80% прогеров до 60 тащатся, среди них опять же 80% вообще до 30
    хотя все ооочень индивидуально... судя по всему у тебя то точно все хорошо будет

    в веб не иди, суеты много и миллионы библиотек и фреймворков, хотя одно и тоже делают, иди во взрослые языки (тот же C или Java/Kotlin)
    Ответ написан
    8 комментариев
  • Актуальность swift?

    @iMaximus
    На вашем месте я изучал бы swift, да полно еще библиотек которые на obj c но их подключил и забыл, дальше все равно пишешь на swift. Есть еще работодатели которые до сих пор поддерживают проекты на obj c и их не мало, да и в целом знание obj c помогает. Но если ставить вопрос так, как его ставите вы, то однозначно swift. Работодатели смотрят отлично, на рынке нехватка swift программистов, многие уже пишут только на нем, например Тинькофф.
    Ответ написан
    1 комментарий
  • Как обозвать url для rest сервиса?

    rockon404
    @rockon404
    Frontend Developer
    Если у вас клиент это продавец. То:
    GET /api/v1/{userId}/products
    GET /api/v1/{userId}/product/{id}
    POST /api/v1/{userId}/product
    PATCH /api/v1/{userId)/product/{id}
    DELETE /api/v1/{userId}/product/{id}

    Если покупатель, то вам по-хорошему добавить сущность cart.
    GET /api/v1/cart
    POST /api/v1/cart/item
    PATCH /api/v1/cart/item/{id}
    DELETE /api/v1/cart/item/{id}
    Тут если запросы приходят от пользователя, его id не нужен.

    Заказы:
    GET /api/v1/{userId}/orders
    GET /api/v1/{userId}/order/{id}
    POST /api/v1/{userId}/order
    PATCH /api/v1/{userId)/order/{id}
    DELETE /api/v1/{userId}/order/{id}

    Разруливать эндпоинты через action плохая идея.
    Ответ написан
    4 комментария