Задать вопрос
  • Какой взять macbook в 2020 для веб-программирования?

    Kozack
    @Kozack
    Thinking about a11y
    Поделюсь личным опытом. Пользовался macbook pro 2016 (15'', 16GB RAM, 256 SSD) чуть больше двух лет.
    Потом переехал на машинку под управлением Windows.
    Я занимаюсь веб-разработкой и не только: JS/TS NodeJs, PHP WordPress, JS/TS Electron.

    Из плюсов macbook
    • Отличный 15' экран. Хотя и этого мне было маловато, поэтому переехал на 17.
    • Отличная отрисовка шрифтов. Под Windows весь код как будто размазан. Это сильно бросается в глаза и утомляет.
    • Удобная навигация жестами (когда нужно милиард раз в час переключаться между редактором/браузером/месенджером). На винде тоже есть жесты, но:
      1. Они сделаны не так удобно
      2. Тачпад просто кошмарный


    • Относительно не плохая производительность, до определённого момента. Работа с средними nodejs проекрами даётся ему легко.
    • Хорошая автономность. Половину рабочего дня можно просидеть без подключения к сети и лишних проводов.
    • Он очень тихий. Даже под нагрузками шумит лишь немного больше, чем моя новая машинка в состоянии покоя.
    • Есть возможность тестировать в Safari


    Из минусов
    • Недостаточная производительность с определённого момента. Когда запускается IDE в ней зборщий с наблюдателями, пара браузеров и пара приложений на electron система начинает нещадно греться. Охлаждение не справляется. Ничего не лагает, но руки обжигает.
    • Просто омерзительная клавиатура. Но вроде как в версии 2020 года с этим делом должно быть получше. Печатать на ней не комфортно, а надежность клавиш ... Первая клавиша сломалась спустя месяц после покупки.
    • Очень маленькое хранилище. В моей конфигурации было 256ГБ SSD. Этого катастрофически мало. Особенно, если вы работаете с npm и каждый проект весит не меньше гигабайта. В такие моменты начинаешь ценить подход к зависимостям в Deno.
    • Как ни крути а есть необходимость ставить на него windows. Частенько возникает необходимость протестировать сайт в браузере под windows. Или проверить работоспособность приложения написанного под windows. Установить его не сложно, но работать -- это те ещё танци с бубном. И это отнимает добрый кусок и без того маленького SSD.
    • Постоянные проблемы из-за "безопасности" MacOS. Вы то и дело не можете запустить что-то, скомпилировать какой-то пакет npm, или ещё что, потому что MacOS ... Часто для установки какого-то пакета из npm обязательно нужно установить xcode. А эта собака весит, если не ошибаюсь, 18 гигабайт. А я повторюсь -- маленький SSD где каждый килобайт на счету.
    • Есть возможность тестировать в Safari. А значит вам придётся это делать. Safari -- ужасный браузер. Даже не столько для пользователя, сколько для разработчика.
    Ответ написан
    2 комментария
  • Как работает буферизация в php?

    Stalker_RED
    @Stalker_RED
    ob_start()
    Эта функция включает буферизацию вывода. Если буферизация вывода активна, никакой вывод скрипта не отправляется (кроме заголовков), а сохраняется во внутреннем буфере.

    Содержимое этого внутреннего буфера может быть скопировано в строковую переменную, используя ob_get_contents(). Для вывода содержимого внутреннего буфера следует использовать ob_end_flush(). В качестве альтернативы можно использовать ob_end_clean() для очистки содержимого буфера.


    Если вы убираете ob_start, выводите какой-то текст или теги, а потом пытаетесь вывести заголовок - получаете ошибку, что заголовки уже отправлены. Они же заголовки, они должны в начале идти, ну!
    Ответ написан
    8 комментариев
  • Какие именно практические навыки необходимы для фриланса на php?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Умение пользоваться поиском в первую очередь. У вас оно явно не прокачано, потренируйтесь на тостере.
    Ответ написан
    Комментировать
  • Какие именно практические навыки необходимы для фриланса на php?

    inoise
    @inoise Куратор тега PHP
    Solution Architect, AWS Certified, Serverless
    Те что решают проблему заказчика. Надо просто открыть фриланс-биржи и посмотреть на заказы. Это так сложно?
    Ответ написан
    Комментировать
  • Как научить нейросеть здороваться?

    @dmshar
    Хотелось бы уточнить, если позовлите.

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


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

    А поскольку хотелось бы знать, на какой уровень подготовки ориентировать свой краткий ответ, расскажите пожалуйста, что по теме вы уже прочитали, какие книжки (не научную фантастику, а по теме) или с какими видеокурсами вы уже ознакомились, и главное - что конкретно осталось непонятным. Это поможет людям тут немножко сэкономить свое время для более полного удовлетворения вашего запроса.
    Ждем.
    Ответ написан
    Комментировать
  • Почему не могу загрузить файлы на гит?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Не можете перевести текст "Updates were rejected because the remote contains work that you do not have locally. You may want to first integrate the remote changes hint: (e.g., 'git pull ...') before pushing again."? В нём и причина написана и решение.
    Ответ написан
    Комментировать
  • Как найти битый *.png файл?

    ky0
    @ky0 Куратор тега Системное администрирование
    Миллиардер, филантроп, патологический лгун
    ...но получаю только ответ Could not find file: *.png

    Зачем же вы подсовываете тулзе несуществующие файлы? Подсовывайте существующие:
    find . -type f -name "*.png" -exec pngcrush -n -q "{}" \;
    Ответ написан
    1 комментарий
  • Есть ли программа для Linux, конструктор команд в терминале?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Бывает нужно найти какую то определённую команду. Если бы все команды были доступны в одном месте - было бы намного удоблней, чем искать по разным сайтам.

    А для виндовс вы как ищете конструктор команд? Где-то есть конструктор команд в котором будет рассказано про фотошоп, эксель, акробат?

    Вы видимо не осознаете, что командная строка в линукс - это полноценная оболочка со своей вселенной консольных утилит, которые можно скачивать и устанавливать, и писать самому. Их список неограничен.
    В основном это
    1) стандартный набор gnu-tools, где можно собственно почитать о них https://www.gnu.org/software/coreutils/manual/core...

    2) сама командная строка является оболочкой, со своими внутренними командами, о чем можно почитать в справке к этой оболочке (команда help, или гуглить в инете bash, ksh, zsh в зависимости от того, чем пользуетесь)

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

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

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

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

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

    Для некоторых отдельных команд типа find,grep, curl есть графопостроители, типа
    https://curlbuilder.com/
    https://marcin-chwedczuk.github.io/assets/apps/fin...
    Но честно говоря, лучше почитать справку.

    Просто вам нужно научиться работать в командной строке - она была СОЗДАНА быть гибкой настолько, что универсальный билдер для нее написать крайне сложно
    Ответ написан
    2 комментария
  • Как запретить локальное редактирование input значения перед отправкой формы?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Непреложная истина: Все что находится на/приходит с клиента может и будет изменено с целью взлома/вреда.

    Защищать что-либо на фронтэнде абсолютно нет смысла, все проверки делаются на сервере.

    Если открыть консоль браузера и в ручную изменить код инпута, к примеру на value=2222
    То и POST спокойно отправит это значение.
    Ваша задача проверить имеет ли клиент право на изменение объекта с данным значением. Остальное не особо важно, даже если он подставил это значение руками.
    Ответ написан
    Комментировать
  • Хочу просматривать нетворк сайтов через питон, как это делать?

    deepblack
    @deepblack Куратор тега Python
    Хочу просматривать нетворк сайтов через питон, как это делать?


    Может всё-же вкладку Network консоли разработчика а не "нетворк сайтов" ?

    Код

    Отсюда
    import json
    from selenium import webdriver
    from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
    
    caps = DesiredCapabilities.CHROME
    caps['loggingPrefs'] = {'performance': 'ALL'}
    driver = webdriver.Chrome(desired_capabilities=caps)
    driver.get('https://stackoverflow.com/questions/52633697/selenium-python-how-to-capture-network-traffics-response')
    
    def process_browser_log_entry(entry):
        response = json.loads(entry['message'])['message']
        return response
    
    browser_log = driver.get_log('performance') 
    events = [process_browser_log_entry(entry) for entry in browser_log]
    events = [event for event in events if 'Network.response' in event['method']]



    Используя selenium и browsermob-proxy:

    from browsermobproxy import Server
    from selenium import webdriver
    
    server = Server("path/to/browsermob-proxy")
    server.start()
    proxy = server.create_proxy()
    
    # Configure the browser proxy in chrome options
    chrome_options = webdriver.ChromeOptions()
    chrome_options.add_argument("--proxy-server={0}".format(proxy.proxy))
    browser = webdriver.Chrome(chrome_options = chrome_options)
    
    #tag the har(network logs) with a name
    proxy.new_har("google")
    
    browser.get("http://www.google.co.in")
    print(proxy.har) # returns a Network logs (HAR) as JSON 
    server.stop()
    browser.quit()

    код отсюда
    Ответ написан
    Комментировать
  • Почему MYSQL запрос так мало живёт в КЕШе?

    2ord
    @2ord
    1. Оптимизировать долгий запрос.
    2. Использовать кеширование в приложении с нужным сроком жизни.
    Ответ написан
    Комментировать
  • Считать ли опыт разработки под битрикс полноценным опытом в php?

    Смотря, что будете делать в битриксе.

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

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

    @PetrPo
    в доках черным по белому написано

    arFields
    Массив вида Array("поле"=>"значение", ...), содержащий значения полей элемента инфоблоков и дополнительно может содержать поле "PROPERTY_VALUES" - массив со всеми значениями свойств элемента в виде массива Array("код свойства"=>"значение свойства"). Где "код свойства" - числовой или символьный код свойства, "значение свойства" - одиночное значение, либо массив значений если свойство множественное


    Ты создаешь новый элемент $el->Add($arLoadProductArray)

    В $arLoadProductArray у тебя написано
    $arLoadProductArray = Array(
    //........................
            "SPRAV" => $arResult["ID"], // отзыв клиента
    //........................


    А надо
    1. Если свойство НЕ множественное
    $arLoadProductArray = Array(
    //........................
            "PROPERTY_VALUES" => array(
    			"SPRAV" => $arResult["ID"]
    		),
    //........................

    2. Если свойство множественное
    $arLoadProductArray = Array(
    //........................
            "PROPERTY_VALUES" => array(
    			"SPRAV" => array($arResult["ID"])
    		),
    //........................
    Ответ написан
    Комментировать
  • Как можно автоматически создавать уникальный домен 3 уровня для каждого пользователя?

    Просто, a запись с *.domain.com
    Ответ написан
    Комментировать
  • На какой хостинг можно выложить telegram-бота, написанного на .net core?

    @FODD
    На любой VPS. Например рядом на хабре один хостинг постоянно ведёт блог.
    Проблему с сертификатом можно решить, взяв бесплатный .tk домен и получить к нему честный и доверенный сертификат от LetsEncript
    Ответ написан
    Комментировать
  • Почему не работает функция, возвращает "undefined"?

    KickeRocK
    @KickeRocK
    FrontFinish
    Вот это console.log(num);
    выполнится раньше чем придёт ответ в вашей getx
    await гуглите
    Ответ написан
    Комментировать
  • Программирование деформирует человека как личность?

    milssky
    @milssky
    Координатор племени фиолетовых обезьянок
    Выгорание в чистом виде.
    1. Сходить к психологу.
    2. Решить остальные проблемы со здоровьем.
    3. Оставлять работу на работе.
    Ответ написан
    Комментировать
  • Как на JS узнать время проведенное на сайте (с листанием страниц)?

    Zoominger
    @Zoominger
    System Integrator
    Мне нужно показать попап пользователю, который провел на сайте 1 минуту.

    Ненавижу эти ублюдские попапы и эти поганые чаты, которые вылезают и пердят каким-нибудь звуком мне в наушники и ещё отрисовываются несколько секунд, не давая закрыться. Кому не плевать, что там пишется в попапе, если все автоматом эту срань закрывают? Чёрт возьми, 2k20 на дворе, но дурачки всё равно пихают это кал на страницы.

    По теме: используйте куки, отмечайте там время, в которое зашёл юзер и проверяйте каждые 10 секунд, не превысило ли время 60 секунд.
    Ну и на попапе можете написать: "Прощайте!" своему посетителю.
    Ответ написан
    Комментировать
  • Как получить данные перед рендерингом компонента?

    //
    <ElTable
      v-if="getAllBrands.length > 0"
      :data="getAllBrands"
    >
    //
    Ответ написан
    Комментировать