• Добавляем CSS в echo?

    Mendel
    @Mendel
    PHP-developer
    Не делайте так.
    Почитайте лучше про https://ru.wikipedia.org/wiki/MVC
    Ну а в целом альтернативный синтаксис как у Alexander Pushkarev в шаблоне будет правильнее.
    Но все равно начните с того что осознайте что оно вам в принципе не нужно.
    Ответ написан
    Комментировать
  • Как связаться с пользователем Хабрахабр?

    Mendel
    @Mendel
    PHP-developer
    Кто ищет тот всегда найдет)
    Ответ написан
    Комментировать
  • Знакомы ли вам технологии сканирования с передачей на веб-страницу?

    Mendel
    @Mendel
    PHP-developer
    У вас что-то получилось?
    Решение со сканом из браузера кажется идеальным,
    но всё что я тестировал было или очень дорого или очень глючно.
    Вот здесь есть пару ссылок: Инструмент который позволит сканировать из браузера
    Сам склоняюсь к костылю вроде сохранения на фтп, поскольку активХ подразумевает ИЕ, что не подходит по другим требованиям, а платить 500+ долларов это дороговато, да и там куча ограничений по совместимости, по колву копий, по платным обновлениям и т.п.
    Ответ написан
  • Как сделать шаг назад? Случайно сделал в папке проекта rm -rf *

    Mendel
    @Mendel
    PHP-developer
    Либо на ЛОРе вам сказали неверно либо Вы неверно поняли.
    git checkout — MyFile откатит конкретный файл к состоянию последнего коммита. Чудес не бывает и гит не знает что именно вы поленились закоммитить.
    Как правильно сказали — или отказывайтесь к последнему коммиту и пишите заново, по памяти, или ищите способы восстановить данные средством системы или утилит восстановления. Но гит к этому отношения не имеет.
    Ответ написан
    Комментировать
  • Как подружить Git с сетевой папкой?

    Mendel
    @Mendel
    PHP-developer
    Полагаю что у тебя (или точнее как я понимаю у Димы?) гит пытается писать в изначальный репозиторий исходя из текущего положения.
    Т.е. мы находимся непонятно где, а репозиторий у нас на Це. Пытаемся построить к нему путь, но поскольку родная среда это линукс то у нас это не выходит.

    Давай определимся с задачей.
    Если я правильно понял, то задача в синхронизации репозитория разработчика с продакшеном на сетевом диске?
    Если так, то нужно делать ДВА репозитория и синхронизировать их через пулл/пуш.

    Если я неверно понял задачу, то можно подробнее?
    Ответ написан
    7 комментариев
  • Поддержка production branch и merge отдельных коммитов в GIT?

    Mendel
    @Mendel
    PHP-developer
    Обычная стратегия это: «одна фича — одна ветка». Ну или группировать их осмысленными блоками, которые деплоятся одновременно.

    Другая распространенная стратегия это «редкие деплои». Т.е. мы пишем все в ветку дев, или в несколько. Мержим по необходимости, тестируем и т.п. а скажем раз в неделю сливаем все это в мастер, мигрируем базу и т.п. Если история коммитов ведется более-менее аккуратно, при необходимости подчищается на локальном репозитории, то ситуаций когда нужно отложить что-то в середине почти не бывает. А мелочи можно и подправить стандартными средствами.

    Вот здесь есть немного по переупорядывачиванию коммитов. Может что-то придумаете более удобное для Вас.
    git-scm.com/book/ru/%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B-Git-%D0%9F%D0%B5%D1%80%D0%B5%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D1%8C-%D0%B8%D1%81%D1%82%D0%BE%D1%80%D0%B8%D0%B8
    Ответ написан
    Комментировать
  • Расположение iframe, появляется случайным образом?

    Mendel
    @Mendel
    PHP-developer
    Посмотрите на даты изменения файлов. Далеко не все вирусы за собой это подчищают.
    Ответ написан
    1 комментарий
  • Как отправить разработку из Украины в Россию?

    Mendel
    @Mendel
    PHP-developer
    Если поезда нет подходящего, то можно автобус поискать.
    А на счет того что таким образом можно хоть оружейный уран передать так это факт.
    Знаю некоторых врачей которые регулярно обмениваются лекарствами, в том числе и прекурсорами и т.п.
    Никого это не интересует.
    Мне вообще порой кажется что сюжет «Перевозчика» был писан с наших водителей и проводников.
    И снимали они часть сцен в Одессе вовсе не потому что в Марселе нет таких мест, а чтобы поближе к оригиналу :)
    Ответ написан
    Комментировать
  • Защита платежей через API Приват24

    Mendel
    @Mendel
    PHP-developer
    В похожей ситуации мы ни до чего лучше не додумались как вынести взаимодействие с таким АПИ на отдельный домен, на отдельном ВДС, запросы на который с сайта шли через почти такое же АПИ, лишь чуть подправленное.
    Удаленный безопасный сервер сломать сложнее ибо там меньше точек соприкосновения, принимает запросы он только от нашего сайта и т.п. Конечно имея реквизиты полученные на сайте и внеся изменения в сам сайт можно отправлять свои запросы, но не все взломы позволяют изменять код, плюс на защищенной стороне были добавлены несколько эвристик на подозрительные запросы, на количество запросов за период, объемы и т.п. Что-то получало задержку, что-то выполнялось но с отправкой смс администратору…
    Ответ написан
    1 комментарий
  • Получить несколько ip по dhcp с одного интерфейса?

    Mendel
    @Mendel
    PHP-developer
    ИМХО только брать роутер на который есть кастомные прошивки с нормальным бизибоксом и прочим набором софта, и настраивать самому. Цена и размеры будут как у обычного роутера, гибкость как у самособранного компа.
    Ну или как вариант может быть у вас есть возможность не получать их динамически а прописать жестко?
    Ответ написан
  • Покупка доменного имени через namedrive.com

    Mendel
    @Mendel
    PHP-developer
    Конечно на себя, на кого же еще?
    НД это довольно известная парковка. Домен 99.99% что не их а клиентский.
    Именно с ними не работал но полагаю что они как все будут выступать гарантом между Вами и продавцом.
    Ответ написан
  • Двухсторонний шаблонизатор?

    Mendel
    @Mendel
    PHP-developer
    Сейчас плотно курим такой подход:
    Вьювы с помощью простых классов генерируют простой хтмл через ДОМ.
    Этот код не содержит оформления, а только контент, более менее семантично оформленный.
    Для оформления используется CSS и JS
    Я знаю что все так делают, но я имею ввиду ВСЁ оформление выносить туда.
    Примерно вот так:
    jsfiddle.net/x8mmC/

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

    Всё вышеописаное в принципе у нас работает, хоть и не до конца отлажено.
    Но вот что еще хочется сделать — по аяксу отдавать не новую страницу, а ее разницу в сравнении с текущей.
    т.е. некий DOMdiff или в виде jquery (как стиль в примере) или в более сжатом виде — не важно.
    НО пока до этого не доходят руки. Надо для начала формализовать первую часть, переписать все классы на чистовик и т.п.
    Ответ написан
  • Выиграет ли быстродействие от такой оптимизации?

    Mendel
    @Mendel
    PHP-developer
    В сферическом случае выигрыш будет.
    Стоит ли оно того?
    Тут ответ кроется в последнем слове вопроса — оптимизация.

    Одно из правил оптимизации гласит — не нужно оптимизировать то, что не нужно оптимизировать.
    Ну или «преждевременная оптимизация — зло».
    Вы испытываете проблемы с производительностью? Эти проблемы связаны с базой данных? Именно с этими запросами?
    Откуда Вы об этом узнали?
    Если вы не можете положительно ответить на эти вопросы, то оптимизация преждевременная, т.е. сам процесс оптимизации и сложности с ним связанные будут хуже чем выигрыш от оптимизации когда она еще не нужна.

    Еще одно правило плавно вытекает из последнего вопроса — откуда вы узнали что это узкое место? Вы выполняли какие-то тесты? Использовали профилировщик? Ну так любая оптимизация всегда проверяется на практике. Измерьте нагрузку, измените схему, измерьте заново. Эксперимент займет меньше времени чем ждать ответа здесь. И самое главное — ответ на хабре не спасает от того чтобы потом его проверить. Это разумно только в том случае если вы уже убедились что оптимизация вам всё-таки нужна…

    ПЫСЫ: не сочтите за грубость. Просто мне так показалось что вы не совсем понимаете о чем спрашиваете. Буду рад ошибиться…
    Ответ написан
    1 комментарий
  • Критерии перенесения постов в «Я пиарюсь» и подобные хабы?

    Mendel
    @Mendel
    PHP-developer
    1 Модератор всегда прав
    2 Если модератор не прав см. пункт первый

    На самом деле если у них нет отдельного подразделения модераторов на зарплате со строгими критериями и довольно большого штата чтобы каждому всё объяснять, то даже администрации приходится смиряться с тем, что субъективное мнение модератора не всегда подчиняется строгим правилам и т.п.
    Главное чтобы в среднем всё было в порядке.

    А в среднем температура по больнице нормальная, и модерация работает как и везде — тут бьем, тут прощаем.
    Прежде чем это критиковать попробуйте сначала сами организовать отдел из модераторов, скажем человек на десять, на зарплате.
    Потом модераторский корпус человек тридцать бесплатных… А уже потом спорьте :)

    Мне самому это не нравится, но на самом деле ваш вопрос и не вопрос вовсе, а просто желание выплеснуть свою обиду. Это неконструктивно.

    Ну а если вопрос задан всерьез, то ответ на вопрос «что мне делать?» звучит просто — ничего.
    А таким вопросом только обозлите модера и он будет искать за что вас укусить…
    Ответ написан
    4 комментария
  • Странные боты с включенным javascript

    Mendel
    @Mendel
    PHP-developer
    Чьи AS? Это рученые сервера или зомби рабочие станции?
    В порядке бреда — может тренируют зомбаков? т.е. как вариант хождение ботов по нормальным сайтам для того чтобы набить статистику посещения этими ботами разных сайтов, чтобы поисковики воспринимали ботов более правдоподобно.
    Еще как вариант — склики рекламы для получения бана у рекламных сетей…
    Попробуйте сами проверить насколько рабочий у них жс. Может просто обманывают проверку у статистики?
    Как вариант испытание ботов.
    Ответ написан
  • Как у вас реализовано чпу?

    Mendel
    @Mendel
    PHP-developer
    А зачем вообще ЧПУ?
    ЧПУ это наследие стареньких движков.
    Решение должно быть изначально в архитектуре.
    т.е. ЧПУ как правило подразумевает, что у нас есть некая карта, а потом мы делаем ее более красивой…
    Мы все равно будем делать те или иные запросы в базу, так почему бы и не искать эту информацию по ключу в виде полноценного пути?
    Должная оптимизация с лихвой покроет издержки от того, что мы ищем по более длинному чем числовой индексу.
    Теоретически и тут можно оптимизировать но на практике лично я до этого не дошел.
    Была мысль использовать не сам путь а md5 от него, а если и это будет недостаточно быстро, то урезать его до bigint или даже до int ведь md5 это всего 16 байт, а при конфликте хэша мы просто получим две страницы вместо одной, и выберем перед выводом нужную…
    Хотя при разумном количестве страниц конфликты маловероятны даже для обычного int.

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

    Mendel
    @Mendel
    PHP-developer
    Один мой знакомый (ТМ)
    Нет, не так… на самом деле случай именно что не мой а знакомого. В то время я и сам был не безгрешен, ибо был молод а Интернет был дорог, но хоть сроки давности и вышли, но история не моя, но я за ней наблюдал лично и все ходы и уязвимости знал в лицо.

    В общем в те времена когда безлимитный диалап стоил как средняя зарплата в месяц один мой знакомый нашел уязвимость у одного провайдера. Почти случайно нашел, так просто глянул и нашел. В те времена чудес было много, и к примеру проверка твоего права зарегистрировать льготный тариф производилась на стороне браузера (что я считал бонусом за сообразительность а не взломом).
    Так вот — человек не прикладывал усилий, поэтому сразу же скинул им уязвимость. Естественно бесплатно. Правда малый был хоть и молод, но ума хватило писать не с основного адреса, а с защищенной аватары, где и прокси использовались, и чистый браузер с чистой системы, и антиаон умный на диалапе…
    Провайдер сказал ему сухое спасибо, и спросили нет ли еще чего у него интересного.
    Мой друг сказал что других уязвимостей у них он не знает, но судя по тому что была за уязвимость их должно быть много, но за символическую сумму он готов провести аудит безопасности (повторяю, это было очень давно, мы были молодыми и глупыми, и не думали кому такое предлагается). Те начали тянуть кота за гениталии, и вести пустую переписку…
    Чуть позже из своих источников в провайдерских и правоохранительных кругах мы узнаем, что оказывается возбуждено дело, и ищут хакера, по тем самым реквизитам, что светились при общении. Малый даже имел неприятный разговор с правоохранителями, которые хоть и были его знакомыми, но устроили ему вынос мозга, мол зачем было ЛОМАТЬ такого-то провайдера и все такое…
    Естественно официально его не нашли (да и не нашли бы, если бы просто людям которым это поручили не был бы знаком этот ник по сугубо личным связям).
    Ну а малый потом таки провел аудит))))
    Раз провайдер не захотел покупать его работу за символическую сумму (в цифрах не помню, но в ощущениях соизмеримо со стоимостью работы по созданию сайта-визитки из типовых скриптов) — то парень продал результаты анализа на черном рынке… в розницу так сказать.
    Если я не ошибаюсь, то денег с этого дела хватило на покупку плохенькой квартирки.

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

    А вообще как по мне так ИТ-мир держится исключительно на этике атакующих. Да, да, даже у «черных хакеров» как правило есть некая этика…
    Ответ написан
    4 комментария
  • В ресторане копируют карты и переписывают их данные — куда обращаться?

    Mendel
    @Mendel
    PHP-developer
    Если менты морозятся, то надо писать в прокуратуру.
    Заяву с двумя получателями — Полиция и Прокуратура. отправляем заказным, в заяве указываем что дяди милиционеры в устной форме принимать заявление отказались, и что имен и лиц отказавшихся вы не запомнили.
    Поскольку как Вам известно существует статья 30 УК РФ, и подобные кражи невозможно произвести самостоятельно, то с учетом части 4 статьи 158 УК РФ это таки тяжкое преступление и подпадает под действие статьи 30.
    Также по Вашим сведениям платежные системы обязуют банки брать с кассиров подписку о том, что «не влезай убью» именно по причине признака преступления, и доступа к конфиденциальной информации.

    Если оно будет не совсем юридически корректно то это не есть важно — вы не юрист, я не из РФ… главное описать суть, описать письменно, и добавить мотиватор в виде Прокуратуры.
    Ответ написан
    1 комментарий
  • Один плохой комментарий — смерть хабраюзеру

    Mendel
    @Mendel
    PHP-developer
    Вообще карма это хорошо, карма работает довольно верно.
    Карма отражает мнение большинства. В среднем большинство право.
    В большинстве своем сливают за форму.
    Бывают исключения типа меня, где в основном слили за суть, но тут всё равно с формой вопрос был.
    Я может и не особо хамил, но когда мне говорили «правильные вещи», а я упрямствовал и доказывал свою позицию, да еще и в таких вопросах где никто не будет соглашаться — в общем сам виноват…

    Что плохого в карме?
    В свое время немного экспериментировал с методами подсчета разных карм/рейтингов и т.п. и пришел к выводу, что картину сильно смазывают тролли и высокорейтинговые добряки. По моему опыту вес голоса при прочих равных должен так же зависеть от склонности пользователя голосовать в плюс или в минус. Т.е. грубо говоря если у человека на десять голосов один плюс, и девять минусов, то его минус должен весить 0.1 голоса, а его плюс должен весить как два плюса. С другой стороны если у человека на десять плюсов ни одного минуса, то когда он поставит минус это будет весить как три голоса…
    Я писал об этом в поддержку, но они сказали что «карма и так очень сложная, ничего переделывать не будем»…
    Поскольку от них по сто лет не дождешься даже того что они согласились сделать, то спорить бесполезно…

    Ну и да, согласен еще с тем, что запрет на тэги в большей степени бьет не по тому кто в минусе а по читающим.
    Нет оформления цитат, за картинками надо ходить по ссылкам, ссылки изуродованные, а не спрятанные…
    Ответ написан
    Комментировать
  • Судьба электронный адресов (Email) при увольнении работника (или приходе другого на позицию)?

    Mendel
    @Mendel
    PHP-developer
    Если почтовый архив хранится на собственных серверах, то логично переписку сохранить. Место сейчас недорого, а иногда письмо пятилетней давности может окупить все сервера вместе взятые. Ну заархивировать почту отключенного пользователя, ну индексы убрать, но удалять — не лучший выбор.

    Что касается приема на него почты, то ИМХО лучше делать автоответчик который будет сообщать, что сотрудник больше не работает, вместо него работает такой-то, с таким-то мылом.
    Ответ написан
    Комментировать