• Почему выдается ошибка при подключении angucomplete?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Подключите файл angucomplete.js перед app.js и в head секции если не хотите разруливать зависомости вручную или прибегать к помощи какого require.js
    Ответ написан
  • Как решить проблему с установкой винды?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Грешите на флешку а точнее на то что вы туда записали. Для винды есть Windows USB Downloader (или как-то так называется) от мелкомягких, выбираете в ней ISO образ и вуаля.
    Ответ написан
  • Как лучше создать структуру бд?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Таблица product и product_translations со всеми полями которые могут быть переведены и полем локали.
    Ответ написан
  • Как переписать код на less?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Вся соль вот в этих двух строчках:
    text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 2px, #333333 2px, #333333 3px, rgba(0, 0, 0, 0) 3px);


    Это итоговый CSS который собственно и добавляет это самое подчеркивание и делает возможным тексту перекрыть его что бы выглядеть симпатишнее. Добавлять text-shadow или нет решает переменная $breaking-underlines

    По сути вам нужно реализовать только миксин который генерирует этот самый linear-gradient:

    codepen.io/anon/pen/cIxtg - переделал на свой монер. Может кто подскажет как лучше.
    Ответ написан
    Комментировать
  • Можно ли php заменить на node.js?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Можно, вопрос только зачем вам это нужно и что это вам даст.

    И да, не забывайте о том что при развертывании node.js приложения вам придется позаботиться о том что бы оно не падало. В идеале все это хендлится какими-нибудь express.js - то есть без фреймворков в node.js вообще не стоит лесть если у вас опыта мало.

    Так же если у сервера на который вы деплоитесь не одно ядро, то стоит запустить по одному инстансу приложения на ядро и проксировать на них запросы через nginx. node.js по умолчанию синхронный. То есть вся та хваленая асинхронность проявляется только когда речь идет о I/O. JS код же выполняется в одном потоке, две строчки кода не могут выполняться одновременно. Потому придется вклинивать какие-то менеджеры процессов и т.д.
    Ответ написан
  • Как лучше структурировать базу в MySQL?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Есть такая штука как "нормальная форма" исходя из нее стоит проектировать базу. Внешние ключи это один из механизмов. позволяющий упростить контроль за целостностью данных.

    Все дальнейшие оптимизации, типа вынос архивных записей (те что удалены в карзину например) в отдельную таблицу что бы уменьшить объем индексов и т.д. делаются исключительно при наличии проблем с производительностью. То есть делаем нагрузочные тесты - эксперементируем. Иначе вы просто создадите себе массу проблем на ровном месте.
    Ответ написан
    Комментировать
  • Php или Ajax с JS?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    То что вы называете AJAX это всего-лишь XmlHTTPRequest, API Javascript-а которое позволяет вам делать HTTP запросы непосредственно из JS кода. И все. Никакой магии.

    Когда вы переходите в браузере на какую-то страницу, например index.php, создается HTTP запрос. Далее запрос идет на сервер где его ловит апач или nginx или еще кто. Тот смотрит что мы хотим получить результат работы скрипта index.php и просит PHP запустить скрипт для такого-то запроса. PHP любезно парсит запрос, раскидывает все по масичвикам $_SERVER/$_GET/$_POST и т.д. и запускает этот самый index.php.

    Далее ваш скрипт выдает ответ, то есть это какие-то заголовки (например если вы делаете редирект вы выставляете заголовок Location) и тело (все что вы выводите через echo). Этот ответ уходит клиенту и он видит радостно страничку.

    Что нам дал XmlHttpRequest? Он дал нам возможность делать эти самые HTTP запросы по своей прихоти а не только когда пользователь снизайдет отправить форму или перейти по ссылке. Можно хоть в цикле бесконечном сервак опрашивать на предмет наличия новых данных (если очень упрощать то приемрно так работает скажем уведомления во вконтактике).

    Подытожим: Нет, вы не можете заменить серверную часть на технологию, которая реализует общение с этим самым сервером. Это просто дополнительная возможность предоставляемая вам Javascript-ом. Как ею воспользоваться решать вам.
    Ответ написан
    Комментировать
  • Какую выбрать технологию, для написания интерактивного веб приложения?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    HTML5, Javascript, Canvas, WebGL (возможно)
    Ответ написан
    Комментировать
  • Стоит ли использовать MVC PHP Framework?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Возьмите Silex, вам должно его хватить. И не делайте упор на эти три стремные буквы MVC если у вас нет понимания что это такое.
    Ответ написан
    Комментировать
  • Насколько трудоемко сделать вывод контента Аяксом?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Это примерно день работы. Не забывайте что сюда входит общение с вами, приемка, мелкие правки которые скорее всего возникнут по ходу. Так же не известно что на сервере, это добавляет пару часов рисков. И так довольно простая штука на 2-4 часа обрастает еще дополнительно 4-мя-6-ю часами. Далее умножаете это на средний рейт разработчика.

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

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Джуниор с ЗП от 90т.р.? Жирно. Настолько жирно что тут уже влияют другие факторы нежели выбор технологии. То есть если вы нулевой а вас берут за такие деньги значит вы обучаемы или проект очень жирный. А на чем проект, на PHP или на .NET роли уже сильно не играет.

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

    UPDATED

    Ну опять же, с учетом того что вы хотите от 90К уже когда будете не нулевым, то опять же. Листики, кружок, подкинуть и смотреть куда прилетит. Получать от 90К можно хоть на PHP хоть на Java. Вопрос только в вашем развитии. Больше кодить, больше опыта, больше скилов - проще разговаривать о повышении зп. А если посчитаете что выбрали не верную стезю - переход на другой язык дастся вам относительно легко так как большая часть стэка технологий (СУБД, SQL, NOSQL, основные принципы) перейдут почти без изменений.
    Ответ написан
  • Обучение PHP без локальных серверов?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Да, что бы выполнить PHP система должна иметь интерпритатор оного, который нужно поставить. Не вижу в этом ровным счетом никакой проблемы.

    Для обучения достаточно поставить PHP без всяких там апачей или нгинксов. У него есть встроенный простенький web сервер, учиться можно и на консольных скриптиках и в интерактивном режиме (php.exe -a). Потом правда скорее всего еще mysql какой поставить придется или sqlite. Ну или можете поставить openserver под виндой.

    Хотя в идеале было бы поставить на какой virtualbox какую убунту и баловаться уже там, ибо все эти штуки типа php ставить там в разы проще. Да и скорее всего в будущем деплоиться вы будете именно на линуксы.

    А еще круче - поставить Vagrant и воспользоваться каким-нибудь готовым боксом для старта, например вот: https://vagrantcloud.com/avenuefactory/boxes/lamp

    Для маков можно через brew поставить.
    Ответ написан
    Комментировать
  • Как можно распарсить m3u плейлист на Javascript с тегом group?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    https://github.com/aitorciki/jquery-playlist

    p.s. Я слов просто не нахожу что бы выразить свое недоумение о том, кому в голову пришла мысль реализовать парсер m3u в виде плагина для jQuery...
    Ответ написан
  • Yii2 как указать дефолтное значение при получении значения из Get запроса?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    А в чем проблема нормально querystring формировать? Типа
    /search?locale=en&q=test
    Ответ написан
  • Почему в сжатых библиотеках например jquery.min.js не одна строка а несколько?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Могу лишь предположить что это как-то связано с числом 32767
    Ответ написан
    Комментировать
  • Node.js, как лучше поступить с модулями в режиме production?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Конкатенация и прочее нужны для уменьшения количества HTTP запросов и связанных с этим блокировок, задержек и прочего веселья.

    На сервере это все не нужно. Скрипт загружается в память и там остается пока вы не убъете сервер. Далее JIT все будет оптимизировать дальше.

    Единственное что может быть, если модули реквайрятся там где они нужны, а не при инициализации модуля. В этом случае в силу синхронной работы CommonJS могут быть проблемы если модуль еще никем не загружался. Но уж точно конкетенацией делу не поможешь.
    Ответ написан
    Комментировать
  • Средства, инструменты, методики разработки, что выбрать?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    CoffeeScript это сахар над JS, и все.

    Я правильно понимаю что вы только название/общее представление о каждой технологии имеете? Если так, то сначала подучите JS/Ruby и освойте GIT. А потом уже как получится. И да, БЭМ думаю в конец стоит перенести, просто прочитать для общего ознакомления с идеей а углубляться уже по мере необходимости.
    Ответ написан
  • Где найти php библиотеку для работы с bitcoin?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    с документацией на русском

    Тяжко вам будет. И что значит "пользоваться сторонними сервисами не хочу"? Вы майнить на PHP собрались? Или свою биржу основать решили?
    Ответ написан
  • MVC, модель для каждой таблицы?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Создаю модель Schedule у которой метод getClassSchedule($class_id) должен получить данные из 2х этих таблиц


    Это не модель, это сервис. Модель это какой-то класс который инкапсулирует данные, это сущность которой оперирует ваша бизнес логика. Если бы мы говорили в контексте языков типа c# или Go - модель это старая добрая структура, просто структура... в PHP есть только классы, потому это у нас это классы.

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

    Что до таблиц и моделей - модели в идеале никак не завязаны на то, как они хранятся в базе. Это просто классы. Их проектируют исходя из того, как проще будет работать с ними в рамках приложения. В базе они могут храниться совсем по другому и задачу хранения должны бать на себя другие сервисы. Скажем у вас может быть несколько моделей, наследующихся от базового класса. Например базовый класс Client делится в итоге на розничных и оптовых покупателей, у каждого свои поля, часть полей общая, часть логики общая, например авторизация.... логично иметь базовый класс и два наследника. В базе это все может храниться в одной таблице, или в нескольких, или еще как....

    Если вам интересно - советую почитать про DDD (Domain Driven Design).
    Ответ написан
    Комментировать