• Запрос MySQL в PHP массив и как работать с in_array?

    search
    @search
    мама говорит что я особенный
    Давно уже не писал SQL запросов, так что сильно не пинайте, если не работает.

    SELECT patients.*, IF(grouped_priem.card_id IS NULL, 0, 1) AS has_priem FROM patients LEFT JOIN (SELECT card_id FROM priem GROUP BY card_id) AS grouped_priem ON patients.card_id = grouped_priem.card_id


    if ($row['has_priem'] == '1') { echo "<Цвет шрифта красный>"; }
    Ответ написан
  • Почему не работает curl?

    search
    @search
    мама говорит что я особенный
    Можно попробовать подключиться к серваку по SSH и пингануть нужный адрес, чтоб убедиться что сервак видит нужный адрес.
    Ответ написан
    Комментировать
  • Какой метод jQuery следит за изменениями?

    search
    @search
    мама говорит что я особенный
    Вот плагин, позволяющий следить за изменениями атрибутов https://github.com/meetselva/attrchange. В папке examples лежат примеры его использования.

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

    search
    @search
    мама говорит что я особенный
    Я так понял что вы еще не разобрались с тем как пользоваться системой контроля версий. Отсюда и желание положить несжатые файлы на сервак чтоб не потерять их. Так никто не делает, потому что это путь к провалу. Как делают:
    1. Весь код хранится в системе контроля версий (GIT). Считайте что это файловое хранилище вашего проекта, к которому имеет доступ любой разработчик
    2. Перед тем как залить код на сервер, он прогоняется через программу, которая жмёт и склеивает в один файл весь javascript и css. Обычно этот шаг автоматизирован. В вашем случае я бы начал делал эту рутину руками, пока не надоест и не захочется это автоматизировать при помощи, например, Gulp.

    Вот тут вы можете зарегистрироваться и создать приватное GIT-хранилище для своего проекта: https://bitbucket.org/, а затем положить в него файлы проекта. После того как вы зарегистрируетесь, и создадите GIT-хранилище (кстати, в терминах гита, хранилище называется "репозиторий"), у вас появится ссылка на это хранилище. Эта ссылку - тот адрес, по которому хранятся рабочие файлы вашего проекта. Для других участников проекта (разработчики, заказчики, тестировщики) гит-репозиторий проекта важен даже больше, чем файлы на сервере. Потому что к файлам на сервере обычно имеют доступ только избранные, а к файлам проекта дожны иметь доступ все участники.
    Ответ написан
    Комментировать
  • Какой взять плагин для timeline?

    search
    @search
    мама говорит что я особенный
    D3 заточен под такие дела. Вот нечто похожее
    bl.ocks.org/rkirsling/33a9e350516da54a5d4f

    D3, правда, не плагин а библиотека. На ней много чего можно cделать:
    https://github.com/d3/d3/wiki/Gallery
    Ответ написан
    1 комментарий
  • Как решить проблему с концентрацией?

    search
    @search
    мама говорит что я особенный
    sim3x уже сказал об этом, но я повторю - медитация. Способность фокусироваться - это как мышца. Её тоже можно качать. Медитация как раз качает мышцу, отвечающую за концентрацию. 10 минут утром и 10 минут вечером. Как и с любой здоровой привычкой, ощутимый результат настаёт настолько постепенно, что для вас он будет почти незаметным. Но в один прекрасный день (недели через две ежедневных тренировок) вы отметите что концентрироваться и контролировать своим мысли/эмоции стало легче.
    Ответ написан
  • Почему не работает авторизация после переноса сайта на другой домен\хостинг?

    search
    @search
    мама говорит что я особенный
    Проверьте, есть ли нужные данные в сессиях
    Ответ написан
  • Как из плоского массива с объектами сделать вложенный (иерархический)?

    search
    @search
    мама говорит что я особенный
    Вот так jsfiddle.net/alexandrupausan/qjxpLhfu

    Гугл знает больше, если искать на языке, которым пользуется полтора миллиарда человек ;)

    https://www.google.nl/search?q=javascript+flat+arr...
    Ответ написан
    1 комментарий
  • Правильно ли я использую делегирование?

    search
    @search
    мама говорит что я особенный
    Во-первых, вы молодец, что движетесь в этом направлении. Продолжайте в том же духе.

    По коду есть следующие замечания/предложения по улучшению:
    - Делегирование подразумевает передачу некоторого функционала другому объекту. По сути, когда вы создали объект класса и выполнили метод этого объекта - вы уже делегировали некую функциональность. Например в контроллере задачу по выборке юзера вы делегировали объекту класса User. В случае же с классами User и Image, происходит внедрение класса Image в User (привет Dependency Injection), но дальше Image никак не используется классом User. Т.е. происходит Dependency Injection, но нет делегирования. На том этапе, который я сейчас вижу, я бы не стал внедрять Image в User. Сейчас это выглядет как задел на будущее, но любой опытный программист подтвердит, что композиция, созданная на будущее - ненужная композиция.
    - Глядя на структуру классов, мне не совсем понятно чем они занимаются. Вроде как класс User и Image должны хранить информацию о пользователе и картинке (об этом нам говорит $id в конструкторе). Но в тех же классах есть логика по выборке данных из базы. По-хорошему выборкой должны заниматься другие классы. Лучше разделить задачи выборки и хранения на 2 разных класса. Я очень рекомендую вам ознакомиться с паттерном Data Mapper (наример тут designpatternsphp.readthedocs.io/en/latest/Structu... или тут codeinthehole.com/projects/domain-model-mapper-a-p... На мой взгляд, Data Mapper - это то что вам сейчас нужно реализовать чтоб получить чёткую структуру кода и разделение ответсвенности за выбор/хранени.

    По поводу делегирования. Просто старайтесь чтоб ваши классы были как можно меньше. Критерий 1-3 метода на один класс вполне может подойти (помните, что это не золотое правило). Когда у вас появится желание добавить еще один метод в класс A - спросите себя, а нужен ли там вообще этот метод? Может лучше переложить всю ответственность на новый класс B, в который вы будете передавать объект A (или какое-то из его полей), а сам класс B уже проведёт необходимые преобразования/вычисления? Это и будет делегирование в том виде, в котором его ждёт от нас банда четырёх (если вы еще не читали их книгу, то это must read для любого программиста).

    Фух, длинный ответ получился. Надеюсь, что не зря.
    Ответ написан
    3 комментария
  • Как у знать сколько времени прошло (timestamp)?

    search
    @search
    мама говорит что я особенный
    timestamp показывает сколько секунд прошло с 1970 года. Я так подозреваю, что в вашей БД хранится не время с момента запуска устройства, а timestamp последнего включения. Если вы хотите узнать сколько секунд прошло с момента последнего включения то можно, например, сделать time() - $row['вашTimestamp']; Если же вы хотите показать время включения в человекопонятном виде, то можно сделать gmdate("Y-m-d\TH:i:s\Z", $row['вашTimestamp']);
    Ответ написан
    Комментировать
  • Кто чаще всего обращается за услугами на фриланс биржу?

    search
    @search
    мама говорит что я особенный
    Проблема (для заказчиков) в том, что спрос на разработчиков на западе очень высок. На то чтоб найти толкового разработчика могут уйти месяцы и десятки тысяч долларов. Поэтому к услугам фриланса прибегают все кому не лень.

    В своё время мне удалось поработать в самом Апворке (работал в команде, отвечающей за джоб посты) и помню что среди клиентов были, например, ebay.com и airbnb.com. До этого работал на внутреннем проекте для bwin.com (через тот же апворк). Это из крупных заказчиков, о которых мне точно известно.

    Короче, на фрилансе можно встретить и тех, кто туда пришел в надежде сэкономить и тех, кто туда пришел в надежде быстро найти разработчика.
    Ответ написан
    Комментировать
  • Как правильно верстать адаптивно сайт?

    search
    @search
    мама говорит что я особенный
    Выберите себе фреймворк по вкусу. Например тут описаны 5 самых известных https://geekbrains.ru/posts/5_css_frameworks. Можете сами погуглить по запросу "адаптивные css фреймворки".

    Сам пользуюсь бутстрепом уже много лет просто потому что он дико популярен (по крайней мере в моём мире). Но не прочь попробовать что-нибудь еще. Благо CSS фреймворк - это не rocket science и перейти на что-то новое достаточно легко.
    Ответ написан
    Комментировать
  • Что делать если команда говнокодит?

    search
    @search
    мама говорит что я особенный
    Ой как я вас понимаю. Сам страдал от подобного долгие годы (9 лет, если быть точным). К сожалению, мгновенного решения для вашей проблемы не существует. А смена работы - всего-лишь временная отдушина. В моём случае технический скилл был (и надеюсь остаётся) выше среднего, а лидерский (так называемый софт-скилл) - на нуле. Умение договариваться с людьми, адекватно реагировать на нужды коллег, продукта и бизнеса - оказались очень полезными навыками. К сожалению этот скилл не прокачаешь за выходные. Вот примерный список того что можно делать для прокачки лидерских качеств:
    - читать книги (в т. ч. художественную литературу)
    - участвовать в опен-соурс проектах
    - делиться опытом (выступать на митапах, выступать в кругу коллектива)
    - прокачивать т.н. "эмоциональный интеллект"

    В своём случае я почувствовал ощутимые улучшения примерно через год целенаправленной работы над собой.

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

    search
    @search
    мама говорит что я особенный
    Как исполнитель, заработавший больше 100К$ (PHP, JS) на апворке и как заказчик, потративший больше 300K$ (тоже PHP и JS), скажу, что cover letter - это 90% успеха.

    Cover letter в стиле "быстро, дёшево, качественно" - сразу отправляются в топку. Когда фрилансил, то 10 из 10 заказчиков мне отвечали и почти всегда нанимали. Просто потому что в cover letter я сразу рассказывал как буду решать их задачу и задавал дополнительные вопросы по проекту. Когда нанимал сам, то хороший cover letter, где рассказывали что будут делать и задавали правильные вопросы, я получал, примерно один раз из 20 в случае с бэкендом (PHP) и ни разу за всю практику в случае с фронтендом (JS). Вообще грамотных фронтендеров на апворке я нашел ровно 0 (предлагая 35$ в час за ПОСТОЯННУЮ неограниченную работу), поэтому пришлось отказаться от услуг фриланса.

    Еще. Мелочиться не стоит. Я обычно отфильтровывал тех кто просил меньше чем я готов дать. Потому что просто не было времени искать алмаз среди низкокачественных специалистов, у которых низкая стоимость - главный козырь.

    Такие дела
    Ответ написан
    4 комментария
  • Где можно фрилансить без лишних затрат?

    search
    @search
    мама говорит что я особенный
    На любой бирже. Если вы сделаете комиссию проблемой заказчика, а не своей проблемой. Как заказчик, потративший более стони тысяч на апворке и как разработчик, заработавший более сотни тысяч через апворк, скажу - что эти 10, 20 и 30% комиссии - это крохи, которые заказчик вполне может себе позволить. Буржуи идут на апворк, потому что нанимать девелопера у себя в стране им будет в несколько раз дороже и накладнее в любом случае. Вы можете честно сказать заказчику: "Мой рейт (например) 30 долларов в час, но апворк удерживает комиссию 20% (или сколько там, я сейчас не знаю), так что с вас $37 в час". Для большинства заказчиков это мелочь. Если для них это не мелочь. То и всё остальное для них тоже не мелочь и вас ждет работа на shared хостинге с заливкой файлов по ФТП. Оно вам надо?
    Ответ написан
    Комментировать
  • Upwork, как находить заказы, которые были выложены пару секунд/минут назад?

    search
    @search
    мама говорит что я особенный
    Судя по личному опыту, будучи 5 лет фрилансером, а затем 2 года заказчиком: те, кто подаёт заявку в первые 20 секунд после публикации в подавляющем большинстве случаев: низкокачественные специалисты из Индии. Конкурировать с ними - это просто неуважение к себе и отождествление себя с гильдией говнокодеров. Совет хоть и избитый, но дельный: ежедневно растите над собой. Пройдите сертификацию. Ежедневно читайте книги по своей специальности. И в один прекрасный момент вы обнаружите что вам абсолютно всё равно, когда была подана заявка, минуту назад или месяц назад, потому что вы - тот специалист, о котором мечтает заказчик. В какой-то момент пользоваться поиском работы пропадает всякая необходимость, потому что работа сама ищет вас.
    Ответ написан
    Комментировать