• Какую схему мотивации можно предложить программисту, решающему сложные задачи (последняя линия поддержки, с задачей никто не смог справиться)?

    sim3x
    @sim3x
    0. Избегать состояния, когда в компании есть "звезда"
    0.1 Стараться, чтоб звезда научила 2+ человек до своего уровня или близкого у нему
    1. Спросить у человека, чем бы он хотел заниматься
    2. Отговорить персонал, который не понимает, что такое ИТ, от KPI
    Ответ написан
    1 комментарий
  • Тестовое задание для собеседования на php программиста?

    Maksclub
    @Maksclub Куратор тега PHP
    maksfedorov.ru
    Мы ожидали увидеть приложение с использованием готовых библиотек для работы с HTTP, базой данных, работы с консолью. А также легко расширяемое и поддерживаемое.

    Теперь понятно, что они хотят — но в ТЗ не было указано:
    • Под HTTP понимают либы, работающие с PSR 7 или близкие по «духу», например Symfony HTTP Foundation
    • Под БД понимают Doctrine 2 или Eloquent
    • По консольным — на рынкке используют как правило Symfony Console

    Именно это и хотели, предлагаю вам либо объяснить и написать уже на компонентах, либо послать к черту, НО отметить этот момент и на будущее таки делать уточнение, каковы ожидания от задания...
    Нескольких людей встречал до фанатизма не принимающих сторонние пакеты, и наоборот... Это нужно учитывать... видел задания на PHP 5.3, видел задания строго на Codeigniter...

    Тут на Тостере был пример, когда человек применил композер даже не для сторонней либы, а для внутренних, так на него тимлид сокрушился...
    Разве Composer бесполезен в 2017?

    Люди разные :)


    Материал по компонентной разработке

    Елена,
    не нужно Symfony ассоциировать с фреймворком — это в первую очередь компоненты — потрясающие компоненты:
    • Symfony Console
    • Symfony HTTP Foundation
    • Syfony Routing (к слову очень быстрый, недавно ускорили его в 70 раз ребята и сделали самым шустрым компонентом)
    • Twig
    • Debug
    [*!*] В некоторых вакансиях даже указывают, что нужно уметь работать с некоторыми выше перечисленными компонентами :) Пруф: https://novosibirsk.hh.ru/vacancy/25367906

    Doctrine — совсем не из Symfony и этот компонент можно использовать где угодно

    Zend к слову пошел по тому же пути, например
    • для HTTP Request/Response PSR 7 у него есть отличный компонент Zend Diactoros,
    • для работы с PSR 15 Middleware есть компонент Zend Expressive,
    • для работы с ролями и правами крутое решение Zend ACL

    Laravel уже да — фреймворк, и опять же на компонентах, и можно использовать его куски, например у него замечательная ORM (Active Record) — в отличие от AR в Yii2 ее можно (и нужно) использовать в любом кастомном проекте вне фреймворка Laravel или вообще фреймворка там , где Доктрина лишняя


    Почитать и посмотреть:

    Современный PHP без фреймворков (статья Mail.ru на Хабре)
    Консольное приложение (мастер-класс) — собрано из компонента Symfony Console и ORM Eloquent (от Ларавел)
    PSR-7 фреймворк от Д.Елисеева
    Ответ написан
    3 комментария
  • Хотите задать вопрос администрации Тостера?

    rockon404
    @rockon404
    Frontend Developer
    Сервису не хватает минусов для ответов. Бывает не очень опытный человек публикует плохой ответ, который вроде работает, но является очень плохим решением. Самое интересное, что такие ответы часто набирают плюсы. Если бы была возможность поставить минус, уверен они бы были заминусованы и не сбивали с толку людей столкнувшихся с похожей проблемой.

    UPD: По поводу вкладки Избранное еще в комментариях к вопросу написал.
    Ответ написан
    54 комментария
  • Хотите задать вопрос администрации Тостера?

    longclaps
    @longclaps
    Встречаются ошибочные (либо ну очень кривые) ответы, помеченые решением.
    Никакого инструмента повлиять на это нет - только язвительные и бессильные комментарии (
    Доколе?
    Ответ написан
    23 комментария
  • Почему блокируют Google из-за telegram?

    А как технически реализовано использование ip адресов гугла телеграмом?

    Это реализовано использованием Телеграмом аппаратных и програмнных ресурсов Гугла, в том числе их вычислительных сетей, вычислительных узлов, и, соотв-но, диапазонов IP-адресов. Рыночное название для этих ресурсов - Google Cloud Platform.
    Ответ написан
    Комментировать
  • Как сделать такое приложение?

    profesor08
    @profesor08
    Ничего сложного. Сгенерируй какой-то граф (матрицу со связями), нарисуй его на канвасе, как угодно, хоть сеткой. Далее при движении мышки по канвасу, у тебя будут доступны ее координаты. Возми окружность радиусом 200 пикселей и проверяй, входят ли координаты точек в нее, если да, то на сколько близко они к центру, это и будет размер точки. Расстояние от одних координат до других = гипотенуза(x2 - x1, y2- y1)
    Ответ написан
    5 комментариев
  • Как сделать такое приложение?

    alsolovyev
    @alsolovyev
    А в чем проблема? Как Вы пытались решить эту проблему(написать в интернете "Решите мне задача" не считается)?

    Разделите конечную цель на маленькие:
    1. Создаете/рисуете точки
    2. Добавляете обработчик движения мыши
    3. Определяете дистанцию от мышки до точки ( теорема Пифагора )
    4. Увеличиваете/уменьшаете значение радиуса точки в зависимости от положения мыши

    Все! Самое сложное это теорема Пифагора(5-6 класс).
    Остается все разбросать по методам....

    Вот "наговнокодил" пример на коленках(использовал class поэтому поддержку браузера смотрите сами): https://codepen.io/janeRivas/full/NMGBvG/ (если лагает у Вас, то удалите функцию на строке 116 и 120 или поменяйте кол. точек на строке 18 )

    Если нужно уместить все точки в какой-то фигуре(букве), то поменяйте функцию Rand, добавив в нее новые условия.

    ps если как-то по-другому надо соединить линии между собой, то у нас на каждом кадре есть координаты точек this.pos.x и this.pos.y. Ну и меняй метод lineTo как тебе надо...

    psps наверно начинать надо с простого, но если делать нормально, то я бы делал на three.js или pixi.js. Логика точно такая же, только перфоманс будет в разы лучше + сможем избежать кучу проблем с картинками и тп...
    Ответ написан
    1 комментарий
  • На каком движке лучше делать ИМ: Word Press или Open Сart?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Wora Press
    - это видимо польское издательство, так что лучше взять cms для интернет магазинов, которым является Open Сart

    Больше интересных модулей модулей?

    Вы из танка танка пишите пишите? )))) Или нужны модули для модулей?

    Удобнее админка?

    Дело вкуса.

    PS. А чего Вы решили выбирать cms? Предоставьте это дело разработчику. Возможно, что при прочтении ТЗ, окажется что ни та ни та не подходит.
    Ответ написан
  • Стоит ли покупать коленный стул?

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

    Я перешёл на коленный стул по рекомендации врача.
    Основной плюс такого стула — правильная осанка, сохраняется (или улучшается) небольшой естественный прогиб в пояснице. Для меня это важно — так как именно в пояснице у меня серьезные проблемы со спиной.

    Такой стул однозначно требует привыкания: поначалу будет дискомфорт в коленях, может болеть поясница.
    Я начинал с 1-2 часов в день, и примерно за месяц полностью перешёл на него.

    Конкретная модель особо не важна, выбирайте по вкусу. У меня — US MEDICA Zero.
    Спинка не нужна — на неё особо и нечему опираться.
    А вот регулировка по высоте обязательна, т.к. чем больше расстояние между коленными опорами и сиденьем — тем больше будет прогиб поясницы. Соответственно, можно усиливать или ослаблять терапевтический эффект.
    Подлокотники не нужны, при правильно подобранных соотношениях высоты стула/стола/роста сидящего — локти лежат на столе сразу под 90°.

    Кстати, эффект, аналогичный коленному стулу — поза лотоса в йоге. Но в ней фиг поработаешь:)
    Ответ написан
    13 комментариев
  • Как вызвать событие родительской модели в YII2?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    1. Это не родительская модель, а связанная, и для flat и для House родительская модель это AR или Model. Хотя правильнее наверное называть родительский класс, но в любом случае это сбивает с толку.

    2. Если изменения во flat требуют изменения House, есть большая вероятность, что у Вас не верная структура. Опишите, что именно Вы хотите там менять. Например если Вы пишите в базу кол-во flat у house, то это в корне не верно, для этого создается метод, который динамически считает. Ну и т.п.

    3. В модели есть события, в том числе afterSave. Описываете в методе afterSave любую логику, подтягивая необходимый House из связи и эта логика будет срабатывать каждый раз, после сохранения flat. Если есть необходимость использовать логику повторно или иметь возможность ее отключать в ряде случаев, стоит реализовать ее как поведение.
    Ответ написан
    1 комментарий
  • Можно ли считывать пройденное расстояние с сайта?

    webinar
    @webinar Куратор тега PHP
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Дайте пожалуйста решение

    Это на фриланс

    Ничего найти не могу

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

    Делаю веб разработку, которую перенесу в приложение.

    Очень сомнительная затея.

    Надо чтобы по кнопке старт срабатывал датчик который будет измерять пройденное расстояние (статическое)

    Статическое расстояние - это новый термин в физике. Срочно пишите научную работу.
    Данные можно получить только для geo позиционирования. Так что рассчитать расстояние можно, но точность будет не высокая. Плюс браузер будет уходить в офлайн и Вы ничего с этим не поделаете. Зачем Вам это? Почему человек будет юзать Ваш сайт вместо того, что бы юзать мобильное приложение (их просто тысячи). А вообще браслеты для этого есть.

    ПС: затея странная. Потому что
    - это уже реализовано много раз
    - это реализовано на оптимальной платформе, Вы же выбрали самую странную для этого, а значит в любом случае получится в 100 раз хуже, чем у конкурентов.
    Ответ написан
    4 комментария
  • Клиент на Upwork угрожает международным судом, возможно ли это?

    kumaxim
    @kumaxim
    Web-программист
    Допустим, я и Вы - оба граждане Российской Федерации. Мы с Вами подписали договор, по которому я Вам плачу условные 5 т.р. за 10 часов Вашей работы в месяц. Все у нас было хорошо 6 месяцев, однако, потом с моей стороны возникли проблемы, скажем клиент/партнер меня кинул, на счете у меня осталось 25 рублей, откуда брать денег не понятно. В данном случае, не получая денег от меня Вы останавливайте работу и имеете право подать на меня в суд с требованием взыскать условныу 5 т.р., которые я Вам задолжал. С Вашей стороны, да и со стороны закона все чисто, гладко и ровно.

    Теперь давайте переместимся на мою сторону. Денег у меня на счете сейчас нет и не предвидится. Взять бысто деньг мне не от куда. С Вами по существу мне спорить не о чем. Я прекрасно понимаю, что если Вы получите решение суда и предъявите его приставу, то мой счет будет очень быстро заблокирован и как-то рассчитаться с Вами я не смогу. В таком случае, моей стратегий будет затягивание времени. Скажем, Вы подаете на меня в суд, я в суде заявил возражение, мол истец не выполнил в полной мере процедуру досудебного урегулирования конфликтов, предусмотренную договором. Разумеется, в нашем договоре есть пункт типа "Все споры и претензии решаются путем переговоров...", однако, не прописан их формат, условия согласования и т.п. На этот момент я давлю и прошу отложить рассмотрение дела по существу на 8 недель. Затем, через 2 месяца я предоставлю в суд справку о том, что мол ложусь в стационар на неделю, поэтому присутствовать не могу и т.п.

    Всеми этими действиями я добиваюсь одного - максимально отсрочить блокировку моего счета, как план минимум. Мне это нужно для того, чтобы найти способ залатать дыру, которая у меня появилась из-за недобросовестных действий моего клиента/партнера. Для того чтобы Вы не подали на меня в суд вовсе, я могу начать докапываться до всяких мелочей, в духе а вот тут две запятые не в том месте... либо я могу начать пугать Вас, мол по Вашей вине у меня вот сайт упал, я понес убытки, для тебя это такая-то статья ГК РФ... либо я могу развести Вас на какое-то правонарушение, и имея на руках на Вас компромат сказать: "Да, я Вам должен условные 5 т.р.,однако, если Вы подадите на меня в суд, тогда я достану вот эти вот факты и заставлю Вас заплатить условные 10 т.р." Эти дела никак не связаны, однако, в Вашей голове промелькнет: "Да ну его нафиг, не буду с этим му###м связываться", чего мне собственно и нужно.

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

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

    Категорически нельзя соглашаться на предложение Вашего клиента получить оплату за пределами Upwork. Категорически нельзя как-то оскорблять оппонента или его ближайшее окружение. Вы не должны дать ему ни единого повода, чтобы разыграть другую карту. Ни в коем случае не опускайтесь до уровня оппонента, если он начинает вести себя как быдло. На угрозу про суд отвечай: "Хорошо, поговорим в суде вместе с моим юристом".

    Мой главный совет - не будь мудаком, как в данной ситуации, так и вообще по жизни.
    Ответ написан
    4 комментария
  • Можно ли try / catch ловить Fatal error?

    @neol
    Для PHP 7.0 и новее
    try {
            $obj  = new myClass;
    } catch (Throwable $e) {
            // обработка
    }
    Ответ написан
    5 комментариев
  • Смена регистра в массиве?

    doublench21
    @doublench21
    array array_change_key_case ( array $array [, int $case = CASE_LOWER ] )
    Ответ написан
    Комментировать
  • Можно ли выводить изображения из архива?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    jpeg - уже сжат. если его зазиповать, то объем скорее всего будет больше.
    цена камня на сервере выше дискового места.
    можно взять сервер с ssd+hdd . система, скрипты, база на ssd . Картинки на hdd
    или под статику вообще отдельный хостинг.

    Картинку в архив можно засунуть с другими целями, н-р распространять скрипт в виде одного phar файла.
    Ответ написан
    Комментировать
  • Как реализовать на css такое окно чата?

    Stimulate
    @Stimulate
    могу
    Ответ написан
    Комментировать
  • Зачем используется две бд PostgresSQL и MongoDB/Redis?

    Maksclub
    @Maksclub Куратор тега PHP
    maksfedorov.ru
    Реляционная БД хорошо себя показывает для целостности данных, хорошая и крепкая структура... но есть минус — когда много связей и таблицы глубокие, то приходится делать очень большые и сложны запросы, некоторые могут выполняться долго...

    Тогда делают денормализацию данных — объединяют несколько таблиц в один документ, например в документе с товаром будут сразу и варианты с ценами, и изображения и категория и комментарии, тогда при запросе этого документа по id идет 1 запрос и данные быстро отдаются.

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

    Также Редис используют для хранения в нем сессий https://habrahabr.ru/post/318836/
    Ответ написан
    8 комментариев
  • Убиваются ли PHP скрипты после исполнения?

    opium
    @opium
    Просто люблю качественно работать
    Убиваются, но опять таки десять тысяч скриптов, скажем по сто мегабайт на скрипт вам надо памяти 1000 Гб , есть у вас терабайт на сервере?
    Ответ написан
    5 комментариев
  • Обращение к boolean как к массиву не выдает ошибки. Это фича такая?

    @synapse_people
    https://3v4l.org/qqABG
    Действительно, вы правы, ошибки нет, нотиса тоже
    аналогичное поведение у всех скалярных типов ПХП, всех версий

    В доке указали - php.net/manual/ru/language.types.array.php
    Замечание:
    Массив, разыменовывающий скалярное значение, которое не является типом (string), отдаст NULL без какого-либо оповещения об ошибке.
    Ответ написан
    Комментировать