• Как правильно настроить обработку больших текстовых файлов на сервере, используя php?

    xpert13
    @xpert13
    Full Stack Developer
    Какие есть решения?

    Да всё в принципе просто: не нужно загонять содержимое всего файла в оперативку, его можно считывать небольшими блоками.
    Ответ написан
    Комментировать
  • Как скрыть путь к файлу скрипта в form?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Не нужно ничего ни от кого скрывать, это бессмысленно. И к "информационной безопасности" такое втыкание головы в песок не имеет ни малейшего отношения.
    Ответ написан
    2 комментария
  • Какие рекламные сети дают возможность использовать такие баннеры (анимация SVG)?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Какие рекламные сети разрешают использовать у себя подобную SVG/HTML анимацию

    тут не только в svg может быть проблема, но и в анимации через js
    Каждая рекламная сеть имеет свои методы "упаковки" и "технические требования". Иногда это вообще gif. Чаще это разные варианты. Вряд ли есть список сетей с поддержкой svg. Это как "какие сайты используют с своем css display:none". Тут только открывать и проверять.

    Какие технические требования?

    зависит от сети

    Как упаковать конечный продукт?

    зависит от сети
    Ответ написан
    6 комментариев
  • Для чего делают ховеры на js?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Можете не искать подвоха, его нет. Всё очень просто и прозаично — это их родной БЭМ в его чистейшей интерпретации. Они же используют полный стек БЭМа, а не только нотацию имен классов. Любой стиль определяется только классом. Каждый компонент лежит в отдельной папке, внутри js/css/img, стили разбиты еще на файлы — стили блока/элемента/модификатора в отдельных файлах. Всё это собирается чудо-машиной БЭМ.js.
    Ответ написан
    4 комментария
  • Какой фреймворк для создания веб-форм самый лучший?

    usdglander
    @usdglander Куратор тега PHP
    Yipee-ki-yay
    Zend - это из пушки по воробьям. На вашем месте я бы взял что-нибудь простое и компактное. Slim, Silex, Lumen.

    upd: Пожалуй дополню свой ответ в свете ответа aleksejjjj . Можно на самом деле взять чистый php, а в качестве валидатора формы использовать сторонний компонент, коих на github тысячи. Например вот этот https://github.com/symfony/validator
    Ответ написан
    2 комментария
  • Вопрос о новых веяниях и требованиях во фронтенде?

    1. Если курс рассчитан на нулевой уровень, то вам и не будут давать фреймворки.
    2. На фреймворках никто не помешан, на нем просто быстрее можно решать задачи, а скорость для бизнеса - все.
    3. Требования к кандидату зависят от компании, в которую вы хотите пробиться. В шарашкиных конторах от вас нужно будет не только в фулстек, но и уметь варить кофе, печь блины и жонглировать шарами перед начальником. В нормальных компаниях есть четкая градация, однако, разбираться в том, чем занимаются ваши коллеги по цеху - полезно, без этого не стать хорошим специалистом.
    4. Планировать идти на курсы не нужно, нужно идти прямо сейчас, и сразу принять тот факт, что за 2 недели вы не станете "мастером фронтенда" и не сможете получать 100k+ в месяц.
    Ответ написан
    Комментировать
  • LINQ или foreach?

    @EvgeniiR
    https://github.com/EvgeniiR
    1. Такая ситуация складывается от того что бизнесу обычно нужно чтобы было готово ещё вчера, и плевать ему какие костыли при этом будут в коде, в худшем случае он не подумает даже о сложности поддержки всего этого.

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

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

    https://habr.com/company/badoo/blog/430722/ - хорошая статья от badoo, с выводами на счёт целесообразности оптимизировать код / добавлять сервера
    Ответ написан
    Комментировать
  • Как узнать на какой запрос пришел ответ?

    Griboks
    @Griboks
    Запрос тут не причём. Вы отправляете запрос и получаете ответ. Если вы отправляете параллельный запрос, синхронизируйте код вашего приложения, а не интернет протоколы, они работают правильно.

    P. S.
    На всякий случай поясню, что запрос-ответ неразделимы. Не может прийти ответ на другой get/post запрос на прикладном уровне.
    Ответ написан
  • Как сверстать такую форму регистрацию?

    prrrrrrr
    @prrrrrrr
    Верстаю сразу на PHP.
    Хотелось бы сверстать форму регистрацию так чтобы она 1,2,3,4,5,6
    — это вам к фрилансерам
    Ответ написан
    2 комментария
  • Как закинуть результат document.querySelector() в localStorage?

    Stalker_RED
    @Stalker_RED
    querySelector возвращает ссылку на HTML элемент, а не JSON.
    localStorage хранит строки.

    Попробуйте внятно описать что вы делаете и зачем.
    Может быть вам подойдет old.outerHTML, но это не точно.
    Ответ написан
    Комментировать
  • Отображение элементов jQuery-UI?

    NeiroNx
    @NeiroNx
    Программист
    На первый взгляд просто тема не подключенна в стилях. Или вообще все стили.
    Ответ написан
    5 комментариев
  • Какой php-фреймворк сейчас стоит изучать в качестве первого?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Смотря какие у вас цели)). Пилить небольшие говносайтики - laravel. Что-то среднее - yii. Что-то серьезное - symfony. Что-то серьезное, но для крепких нервов - zend. "не хочу ничего учить" - code igniter. "тупой и жадный" (с) - bitrix.

    Рекомендую взглянуть: Попросили проверить код, на что смотреть нужно?
    Ответ написан
  • В чем разница между архитектурой Linux и Windows с точки зрения программиста?

    Adamos
    @Adamos
    С точки зрения системного программиста, Винды и Линь в принципе разные темы, и сравнивать их бессмысленно - ты пишешь либо под одну, либо под другую.

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

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

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Принцип KISS не означает что надо использовать самые примитивные инструменты.
    Он означает, что не надо переусложнять систему без нужды.
    Если так рассуждать, так и высшее образование не нужно: "Дед отличные бани строил, хотя вовсе был неграмотный. Я и без сопромата небоскреб построю!"
    Если вы пока ещё не понимаете назначение всех этих "лееров, провайдеров и репозиториев", это не значит, что они вообще никому не нужны.

    Для того, чтобы упростить управление системой, её надо усложнить.
    Этот принцип относится к любой области человеческой деятельности, от постройки ракет до управления государствами.
    Чем сложнее система, тем больше накладные расходы на ее управление. Хоумпейдж с котиками можно и нужно делать примитивными средствами. В большом проекте надо сразу закладываться на будущую расширяемость. То есть, заранее делить ответственность между "леерами".

    И кстати. Код, в котором "всё друг на друге завязано" - это очень плохой код. Собственно, предназначение всех этих "лееров, провайдеров и репозиториев" как раз в том, чтобы компоненты были как можно более независимы друг от друга.
    Ответ написан
    1 комментарий
  • С какой целью может быть создан подозрительный WiFi у соседей с моими SSID/Ключом?

    Jump
    @Jump
    Системный администратор со стажем.
    Был у меня не самый сложный пароль, но 100% уникальный SSID
    SSID это имя сети, оно открыто передается в эфир, не обязательно должно быть уникальным.

    Понадобилось взять роутер на работу, а из списка доступных сетей мой WiFi никуда не делся. Причём, подключиться к нему я смог по своему паролю.
    Ничего не понятно. Причем тут роутеры, списки сетей, и кто куда должен подключаться.

    Вряд ли я мог подключиться к их сети, когда под боком жарит мой роутер.
    Не надо ничего жарить на роутере.
    По поводу подключения - к какой сети подключение настроено, к той и подключитесь

    Причём я вижу в WinBox (утилита для конфигурирования Mikrotik) их роутер с ip адресом 0.0.0.0.
    И что?
    Ответ написан
    5 комментариев
  • Зачем давать право выбора машине?

    sergiks
    @sergiks Куратор тега Алгоритмы
    ♬♬
    Эксперимент Машины Морали – пока чисто теоретический, и имеет больше отношения к исследованию общества, чем к воплощению в железе.

    Поэтому прямой ответ: машине выбор никто и не даёт.
    Ответ написан
    Комментировать
  • Как перенести состояния checkbox на новую страницу?

    @JuniorNoobie
    Сижу в поддержке, пишу мелкие проекты
    Если вы делаете фильтр и хотите его куда-нибудь передавать, например, другому человеку копированием ссылки, то следует состояния хранить в адресной строке в качестве параметра. Пример: demo.com?mychecker=1.
    Затем уже на этой странице строить и фильтровать что нужно, извлекая информацию из адресной строки.
    Ответ написан
    Комментировать
  • Как люди делают полный дамп сайта?

    Заходят на сайт через админку и делают дамп. Либо подключаются к серверу по ssh и тоже делают дамп.

    Как закрыть уязвимости:
    Смените пароль с 123456 на какой-нибудь менее предсказуемый (Нет, qwerty тоже не подходит).
    Удалить на сервере FTP.
    Не подключайтесь к серверу по SSH из под Windows.
    Удалите все сомнительные плагины с сайта.
    Регулярно обновляйте CMS, устанавливая все последние одновления.
    Если сайт самописный - удалите его и замените на CMS.
    Если сайт на сервере к которому есть доступ из Интернета - отключите сеть.
    Если сервер работает - обесточьте его.
    Выньте устройства хранения данных из вашего сервера и положите его в микроволновку. Включите программу разморозки на 2 минуты.
    Сожгите микроволновку.
    Если вы помните содержимое сайта по памяти [УДАЛЕНО РОСКОМНАДЗОРОМ]
    Ответ написан
    Комментировать
  • Как соединить 2 таблицы по 2 колонкам и возможно ли это?

    VladimirAndreev
    @VladimirAndreev
    php web dev
    Select b1.title, b2.title as title_r
    Join b as b1 on a.left_id=b1.id
    Join b as b2 on a.right_id=b2.id
    Ответ написан
    2 комментария
  • Прокомментируете тестовое на react?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    1. Хотелось бы видеть в проекте использование redux. react+redux - это самый распространенный и востребованный стек в React разработке.

    2. Почему все хандлеры и состояния находятся в App, а не в Main? Как вы потом эту кашу собираетесь масштабировать? Переносите все, что связанно только с Main в Main. По-хорошему смотрите пункт 1.

    3. Слишком много функциональных компонентов. Подумайте их где можно заменить на классы с реализованным shouldComponentUpdate или на PureComponent, чтобы убрать лишние вызовы render этих компонентов.

    4. import Logo from 'images/Logo.png';
    называть пути к ресурсам с заглавной буквы неправильно.

    5. Вместо:
    const StyledLogo = styled.img.attrs({
      src: Logo,
      alt: 'Aviasales'
    })`
      width: 60px;
      height: 61px;
    `;

    Удобней в использовании:
    const StyledLogo = styled.img`
      width: 60px;
      height: 61px;
    `;

    и:
    <StyledLogo src={logo} alt="Aviasales" />

    6.
    const Error = ({ text }) => (
      <StyledError dangerouslySetInnerHTML={{__html: text}} />
    );

    зачем тут html?
    Для сохранения переносов строки есть css правило:
    white-space: pre-line;

    7. Вместо:
    let element;
    
    if (error && !isLoading) {
      element = <Error text={error} />;
    }
    if (!error && isLoading) {
      element = <Loader />;
    }
    if (!error && !isLoading) {
      element = (
        <>
        <Heading />
        <Main
        isCurrencyExchanging={isCurrencyExchanging}
        activeCurrency={activeCurrency}
        handleCurrencyChange={this.handleCurrencyChange}
        ticketsFilteredByStops={ticketsFilteredByStops}
        stops={stops}
        handleStopsChange={this.handleStopsChange}
        handleUncheckOther={this.handleUncheckOther}
        />
        </>
      );
    }
    return element;

    Лучше:
    if (isLoading) return <Loader />;
    
    if (error) return <Error text={error} />;
    
    return (
      <>
        <Heading />
        <Main
          isCurrencyExchanging={isCurrencyExchanging}
          activeCurrency={activeCurrency}
          handleCurrencyChange={this.handleCurrencyChange}
          ticketsFilteredByStops={ticketsFilteredByStops}
          stops={stops}
          handleStopsChange={this.handleStopsChange}
          handleUncheckOther={this.handleUncheckOther}
        />
      </>
    );


    8. Вместо:
    filterTickets = (tickets, stops) => {
      return tickets.filter((ticket) => {
        return values(stops).indexOf(ticket.stops) !== -1;
      });
    };

    Лучше:
    filterTickets = (tickets, stops) => tickets.filter(
      ticket => values(stops).includes(ticket.stops),
    );


    9. Не пропускайте отступы между методами и между вложенными свойствами css.

    10. Вместо:
    componentsDidMount() {
      // много кода
    }


    Лучше:
    componentsDidMount() {
      this.fetchSomeData();
    }


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

    12. Loader и Error самое место в директории components/core или что-то вроде того. Там же, по-хорошему, должны находиться базовые компоненты: кнопки, инпуты, табы, чекбоксы.

    13. Styled компоненты, имхо, лучше писать в файле с компонентом, где они применяются. Так анализ кода происходит гораздо быстрей и легче поддерживать. Исключение - переиспользуемые компоненты.
    Даже если вам больше нравится выносить, называть файл style неправильно, вы там описываете компоненты, а не просто стили.
    Ответ написан
    3 комментария