• Webasyst (shop script 6)?

    @Atllantis
    Как в webasyst (shop script 6) сделать партнерскую программу разработчик?
    Руками или на фриланс.

    может кто знает с чего начать?
    С изучения основ PHP и движка.
    Ответ написан
    Комментировать
  • Как получить список всех пабликов в контакте?

    @FireGM
    Только что создал паблик, у него был айди 121 миллион что-то там. При помощи groups.getById за раз можно получить 500 групп. Благодаря execute за запрос можно получить 25*500, т.е. 12 500 групп. 3 запроса в секунду - 3*12500 = 37500 групп в секунду. Всего 122 миллиона групп - 122 000 000 делим на 37 500 = 3253 секунды или около часа работы. А если разделить на несколько пользователей, то вообще не вижу проблемы спарсить весь вк.
    Ответ написан
    Комментировать
  • Как получить список всех пабликов в контакте?

    Vurtatoo
    @Vurtatoo
    Lead Software developer
    https://vk.com/dev/groups.getById
    Перебираем все группы и складываем в базу с типом page
    Ответ написан
    Комментировать
  • Как организовать репозитории для разных разработчиков?

    Если немного проще: есть один проект в котором верстальщику нельзя давать код бекэнда, а то еще понравиться и себе скопирует.

    Если вы не хотите давать код, то вы не хотите давать репозиторий. Чтобы работать, верстальщику понадобится локальная копия репы. Раз у него будет такая копия, захочет - вытащит файлы. Гит делает слепок всего дерева целиком, поэтому в принципе невозможно надежно ограничить доступ к содержимому файлов в других папках.

    Делайте две разные репы для фронта и бэка, вы привыкнете и вам понравится.
    но может есть лучше решение.

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

    P.S. Посмотрел ваш скрин, странно много папок вне frontend и backend, что вы в них держите?)
    Ответ написан
    4 комментария
  • Как идёт взаимодействие между PHP/MySQL/Apache?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    то я вовсе не понимаю зачем нужен Apache (говорю именно о нём, т.к. ни о чем другом не слышал).


    Гуглим про HTTP

    Сейчас геморрой есть, чтобы поставить всё это и сконфигурировать, надо разбираться.


    Вам сейчас достаточно тупо php поставить. php.net/manual/ru/features.commandline.webserver.php Apache вам не нужен.
    Ответ написан
    3 комментария
  • Это и есть полиморфизм?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Нет.

    Полиморфизм, как следует из названия, это когда что-то маскируется под что-то другое. Это свойство системы типов языка на котором вы пишите, он может позволять вам делать вещи, маскирующие свой внешний вид ("названия") но все же это не та же вещь. Ну и стоит заметить что у полиморфизма есть еще разные виды. Например:

    Параметрический полиморфизм. Это когда мы можем написать один код, с одним набором имен, которые работает с разными типами аргументов. Пример - шаблоны из C++ или дженерики в Java. То есть "имена" методов одинаковые, потому что они в одном экземпляре. Реализация одна, одно поведение. А вот аргументы могут отличаться.

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

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

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

    Ну и еще есть одно серьезное ограничение. Если мы хотим заменить в системе объект какого-то типа на объект подтипа (грубо говоря наследника), то система не должна сломаться. То есть "другое" поведение нашего подтипа должно быть совместимо в плане интерфейса с базовым типом. Об этом можно почитать загуглил "Принцип подстановки Барбары Лисков".

    Ad-hoc полиморфизм - это пожалуй самый интересный вид полиморфизма с которым можно долго холиварить. По сути при этом виде полиморфизма, у нас одинаковые имена, а поведение зависит от входящих аргументов. Пример - перегрузка методов в C++. Интересен этот вид полиморфизма в основном тем, что он не является "настоящим".

    При динамической системе типов не требуется никаких дополнительных возможностей вроде той же перегрузки методов для достижения ad-hoc полиморфизма. Тупо кидаем что хотим в функцию, а там уже if-ами рагребаем или же приводим к какому-то одному варианту. Отдельные конструкции нужны в языках со статической системой типов. То есть нам нужно еще на этапе компиляции кода знать какие именно типы могут приходить в наши методы, и в зависимости от оных вызывать тот или иной код.

    Среди PHP-разработчиков немало тех, кто мечтает увидеть в этом языке с динамической системой типов честную перегрузку методов как например в Java или C++. Просто так, потому что if-ы это плохо и лучше уж пусть они будут неявные на уровне компилятора/рантайма.

    Полиморфизм с приведением типов - еще один вид "не настоящего" полиморфизма. Мы "эмулируем" полиморфизм за счет того, что на уровне рантайма языка происходят касты действительного в желаемое. Например в PHP мы можем выставить у функции тайпхинтинг string, и можем внутри иметь одно и то же поведение для всех входящих аргументов. Передать же в качестве аргумента мы можем все что можно скастить в строку.

    Собственно, это очень похоже на параметрический полиморфизм по смыслу, но далеко не так гибко и не дает того контроля за системой.
    Ответ написан
    Комментировать
  • Есть ли IT деревни на северо-западе РФ?

    Предлагаю получить по бесплатному гектару земли на Востоке и построить IT-колхоз. Выращивание корнеплодов и, конечно же, программирование - что может быть лучше?
    Ответ написан
    9 комментариев
  • Как определить хорошего сеошника?

    Хорошие сеошники продвигают свои или чужие торренты и крупные медиа, возится с мелкими коммерческими сайтами им неинтересно.
    Хороший спец:
    1. Не берёт клиента если не видит способов продвижения (т.е. он скажет вот эти двое мне интересны, а эти пусть лесом идут)
    2. Играет в долгую, полгода минимум.
    3. Его действия для вас совершенно неочевидны, например он может предложить создать второй сайт или каталог конкурентов.
    4. Он говорит что descroption и keywords это полня фигня, хотя вокрут все только про них и твердят.
    5. Требует создать внутри компании редакцию, либо человека ответственного за тексты, либо выделить довольно много денег на тексты фриласерам. Если этого не происходит уходит из проекта.
    6. Имеет свои базы ключевых слов (платные)
    7. Имеет свои базы хороший сайтов для размещения статей, обмена ссылками
    8. Имеет технологии быстрой оценки качества любых новых доноров.
    9. Знает что такое bit.ly и UTM-метки
    10. Не брать сеошником человека, который говорит "Я не сеошник"
    Ответ написан
    14 комментариев
  • Где можно найти работу для повышения навыков?

    Insaned
    @Insaned
    Я лишь однажды серьезно восрпинял подобный "крик души". По-честному написал человеку с тостера, который говорил о том что не знает куда податься и как развиваться и вообще готов работать бесплатно. Предложил работу по увеличению собственных навыков и получению бабла из воздуха. Реальный, существующий проект. Человек несколько дней любил мой мозг в скайпе на тему "почему я думаю, что этот проект может быть успешным" (а я так не думаю, надо пробовать) а потом пропал в неизвестном направлении. Хотя изначальное письмо было сильно длинее чем у автора и безнадега в нем чувствовалась и желание работать...
    С тех пор я к такому с недоверием отношусь. Если человек хочет что-нибудь делать - он берет и делает. Хоть что нибудь, потом смотрит что ему нужно улучшить и так до достижения результата.
    Ответ написан
    1 комментарий
  • Где можно найти работу для повышения навыков?

    @entermix
    Как вариант, можно попробовать сделать что то полезное для любого open source проекта.
    Ответ написан
    1 комментарий
  • Где можно найти работу для повышения навыков?

    основная цель - повышение навыков

    не ради повышения навыков, а чтобы урвать побольше денег

    а мотивации мало в основном потому, что нет никакой гарантии, что тебе это принесет хоть какие-нибудь деньги


    Нет мотивации -> нет навыков -> нет денег. Точка. И всё именно в таком порядке!
    Ответ написан
    2 комментария
  • Как правильно оценить стоимость работы дизайнера?

    ivanvorobei
    @ivanvorobei
    iOS разработчик, канал https://t.me/sparrowcode
    Адекватная - столько, сколько вы готовы потратить.

    Оценить тяжело. И зачастую стоимость обоснована опытом специалиста. Но кое-что можно вытащить из вашего Т3:
    1.
    Все это для desktop/tablet/mobile

    Самое важное. Дизайнеру нужно разработать брендбук, с цветами-элементами. Нужен чтобы от платформы к платформе дизайн оставался узнаваемым.
    Диапазон от 50 до 2000 уе. Добротные результаты будут на уровне 170$

    2.
    музыкальный проигрыватель

    Важно сколько экранов. На основе брендбука будет разработан дизайн для каждой платформы отдельно, учитывая наработки самих платформ. У каждой свой UX, поэтому этап обходить не стоит. Прайс на экран в райне 10$ (с учетам бренбука). У вас 1 декстоп, ios/android (телефон + планшет). Примерно 4-5 экранов. Грубо говоря: 5 устройств * 5 экранов приложения * 10$ = 250$.

    3. Учитывайте стоимость работ UX специалиста, он важен и для проекта, и для дизайнера.

    Достойная работа будет сделана за 170 + 250 = 420$

    Главный посыл:
    Смотрите портфолио специалиста, оно скажет больше любых слов. И спрашивайте цену. Когда поймаете себя на мысли что вот за такой дизайн я бы заплатил столько, и цифра совпадет со специалистом - вы нашли друг друга.
    Ответ написан
    1 комментарий
  • Как уйти с распутья технологий?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Простите, а какое значение вы придаете следующим словам и фразам:
    а) Высокий порог входа
    б) Трудолюбие и лень
    в) Сложный и легкий
    г) Большой объем знаний
    д) Специалист в области x

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

    ИТ сфера разрослась так, что ее изучить целиком уже невозможно в принципе. Только отдельные части. И даже в отдельной части стать экспертом можно за несколько, а то уже и много лет.
    Ответ написан
    Комментировать
  • Что за магия в symfony?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Что-то как-то теряется смысл контроллера, как посредника между моделью и видом.


    1) Symfony - не MVC фреймворк, это request/response фреймворк. Более правильная терминология для HTTP фреймворка.

    2) Контроллеры - это не один класс, это в данном случае весь слой от точки входа, фронт контроллера, до непосредственно экшена контроллера. View в этом случае - это HTTP, пассивная вьюшка и только. Сама по себе она ничего не умеет, это тупо представление данных собранное контроллером.

    У этого подхода есть название - Model-View-Adapter или Mediating-controller MVC, но все это лишь бесполезные детали.

    3) ParamConverter-ы здорово уменьшают дублирование кода в контроллерах, однако работа с сущностями в контроллерах дело довольно опасное. Это своего рода компромис между "правильной архитектурой" и "стоимостью разработки.
    Ответ написан
    Комментировать
  • PSR-4 загрузчик классов: лучше мой или предложенный PHP-FIG?

    27cm
    @27cm
    TODO: Написать статус
    Все ли верно в логике работы моего варианта или я чего-то не учел?

    Вы не учли, что стандартный загрузчик классов - это Composer, а пример из PSR-4 - всего лишь демонстрационный вариант реализации принципов PSR-4.

    P.S.: Ваш автозагрузчик не проходит PSR-овские тесты: ideone.com/7AIrfE
    Ответ написан
    6 комментариев
  • Возможно ли изменить свойство класса?

    GavriKos
    @GavriKos
    Ну как вариант - сделать класс-наследник от Test, и в конструкторе класса-наследника переопределять значение q. Везде потом использовать наследника.
    Ответ написан
    Комментировать
  • Модификация или улучшение данного кода?

    @mistergonza
    PHP6 evangelist
    На эту тему есть знаменитый комментарий на stackoverflow:
    stackoverflow.com/questions/1732348/regex-match-op...

    Для парсинга html используйте предназначенные для этого библиотеки:
    https://github.com/symfony/dom-crawler
    https://github.com/sunra/php-simple-html-dom-parser
    и т.д.
    Ответ написан
    2 комментария
  • Модификация или улучшение данного кода?

    muhammad_97
    @muhammad_97
    PHP-разработчик
    https://github.com/Imangazaliev/DiDOM :

    $document = new Document($str);
    
    $elements = $document->find('a');
    
    foreach($elements as $element) {
         $element->setValue($element->href);
    }
    Ответ написан
    2 комментария
  • Вызов вложенной функции php, oop?

    Denormalization
    @Denormalization
    Признавайтесь, первое образование медицинское? На букву "П"?

    В PHP так нельзя делать (да и ни в каком языке так ненельзя делать).
    Объясните зачем вам это надо и что вы хотите добиться таким вызовом, и тогда, возможно, вам подскажут ответ.
    Ответ написан
    Комментировать