• Как научится понимать Bitrix за один вечер?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Найдите подходящий скринкаст на Ютубе
    Ни пуха ни пера вам -- для верстальщика это будет испытание:)
    Там не все так просто, как с обычными легкими цмс, у которых есть шаблоны

    Время на теорию у меня всего один вечер (а скорее всего ночь).

    Помимо Битрикса вам нужно изучить методологии разработки, в частности ФФФ, где подразумевается ТРЕЗВАЯ оценка и договоренность по времени с запасом, чтобы не планировать ВПРИТЫК (я молчу про дичайший дедлайн в один вечер), тк в ее основе лежит принцип:
    "Всегда пойдет все не так, как задумал, тк живем среди живых людей и что-то обязательно сдвинет сроки"

    - Пообещали сделать за вечер и сделали за вечер -- всего лишь выполнили обещанное (хотя вам это много стоило)
    - Пообещали за вечер и сделали за 3 -- вы облажались в 3 раза
    - Пообещали сделать за неделею и сделали за вечер или за 3 -- вы супер обслужили быстрее в разы и потрясли заказчика
    Выбирайте
    Ответ написан
    1 комментарий
  • В какой последовательности изучать JavaScript?

    rim89
    @rim89
    программист-велосипедист
    Нет
    1. Сперва нужно понять для чего он вам нужен
    После выбрать стек для этого:
    JS - это нативный язык, основа.
    Всё остальное - это дополнения.
    JQUERY - самое просто из списка, доп библиотека, которая облегчала работу с селекторами и XHR запросами
    Gulp - это менеджер задач, т.е. автоматизация рутинных работ, например по сборке проекта
    WebPack - это большой комбайн, в который перекрывает своим функционал Gulp и другие "помощники"
    Angular / Vue / React - это фреймворки, экосистемы со своими особенностями.
    Angular - требует знания TypeScript - надмножество над JS со строгой типизацией и не только.

    Node.js - это серверная вариация JS
    MongoDB - база данных

    Т.е. как видно отдельные области применимости. Чтобы решать какую то задачу все знать не нужно. Поэтому нужно определиться что нужно / требуется.
    Ответ написан
    Комментировать
  • Стоит ли вставлять настройки приложения в миграциях?

    dmitriylanets
    @dmitriylanets
    веб-разработчик
    Данные вставляют при миграциях, но статические, которые не изменяются пользователями системы , например список валют, городов, стран и т.д и т.п.
    Но соответственно данные которые изменяются пользователями, а настройки перечисленные вами к ним относятся не стоит трогать, возможно их нужно установить на момент инсталяции системы
    Ответ написан
    Комментировать
  • Локальный сайт (страница) для работы с БД?

    2ord
    @2ord
    Можно использовать СУБД встроенную в браузер: IndexedDB (SQL), можно LocalStorage (K/V). В таком случае данные хранятся локально в профиле браузера в учётной записи пользователя. Переносить их с компьютера на компьютер будет неудобно. Однако можно реализовать функцию экспорта и импорта данных в JSON для переноса данных на флэшке.
    Альтернативно, можно реализовать серверную часть - HTTP API сервер, который будет принимать запросы через AJAX. Его можно реализовать на любом подходящем технологическом стеке. В таком случае независимо от клиента данные всегда будут доступны через локальную сеть или интернет.
    Ответ написан
    2 комментария
  • Что лучше или быстрее, memcached или redis?

    selivanov_pavel
    @selivanov_pavel
    Linux admin
    memcache умеет только строкоые данные, а redis умеет разные типы данных, включая комплексные - массивы, множества, и так далее. Плюс redis умеет кластеризацию и репликацию.
    Ответ написан
    Комментировать
  • Как ускорить вставку данных в таблицу с 500 млн записей?

    @AlexHell
    Тут пишут про "не лучшее решение" а для каких задач? Автор скажите как пользоваться планируете! Для чтения много запросов? Пропорция чтения / записи какая? 80 чтений, 20 записи? Тогда индексы не удалять точно. Да и вообще вредные советы в духе "вставить пакетно без индексов".. угу, а потом ждать пока индексы построятся по этим миллионам? А если у человека записи идут постоянные, т.е это не 100% чтений, ему что удалять каждый раз индексы, вставлять данные, и заного индексы создавать? Удалять индексы можно 1 раз, для огромного пакета и при отсутствии последующих вставок в течении продолжительного времени, иначе пересоздавать и удалять - не вариант.

    Далее, советовали поменять на InnoDB - полностью поддерживаю. MyISAM очень привередлив и может легко корруптится (пруф сейчас не найду), и рекомендуется уж большие то базы (а особенно важные, даже не большие, но большие особенно) точно держать в InnoDB или xtraDB (MariaDB улучшенная версия InnoDB). Там восстановление после сбоев адекватное. По скорости работы надо проводить конкретные замеры для вашей нагрузки (чтений, записи, вашего железа), чтобы еще найти момент на котором MyISAM будет быстрее, что не факт. А восстановление после сбоев дорогого стоит.

    Что касается основного подхода: держите индексы в ОЗУ, впрочем Mysql сам это и делает, когда выделяете достаточно оперативки. в MyISAM опции погуглите для задания (если на нем останетесь). А для InnoDB нужно задавать следующие параметры
    innodb_buffer_pool_size=1024M
    innodb_log_buffer_size=4M
    innodb_log_file_size=48M
    innodb_log_files_in_group = 2
    по их настройке есть целые статьи и книги (от Зайцева в оригинале найдите если нужны подробности). От себя скажу что innodb_buffer_pool_size основная опция для держания всего в ОЗУ, если не умещаются индексы, данные, т.е. по замерам идет подкачка на диск смотрите read/write по дискам.. под linux iostat -dx 5 ; vmstat 5 ; iotop в помощь
    innodb_log_buffer_size и innodb_log_file_size задается от размера вставок, чтобы не копились в оперативке слишком много или мало - влияет на сброс лога на диск, читайте подробности и настраивайте по своей нагрузке на запись, точные цифры никто не скажет (правило настройки есть в книге и статьях).
    innodb_flush_log_at_trx_commit - доп опция, читайте что делает, может пригодиться, но для надежности лучше default.

    Если есть достаточное железо т.е. ОЗУ и диски в raid 10, то InnoDB (xtraDB) обеспечат вам адекватную вставку в 500млн таблицу с вашей несложной структурой. И чтение из нее обеспечат.

    p.s. еще человек предложил "нужно делать шардинг и держать данные в разных базах " -- частично поддерживаю. Т.е. это может быть решением если вы сможете на нескольких физических дисках (или даже серверах, но можно и на разных дисках одного серва) держать разные шарды (по-простому - части (не копии) своей области таблицы). Но это если у вас прям очень много записей. Шардинг призван ускорить запись за счет распараллеливания (по дискам, серверам).

    Хотя по вашей базе я не вижу где тут прямо очень часто надо что-то менять. Новые юзеры часто добавляются? Данные меняются каких полей и как часто? Может не всю таблицу привели и там еще что-то?
    Ответ написан
    Комментировать
  • Как извлечь картинку с сайта?

    alsolovyev
    @alsolovyev
    ¯\_(ツ)_/¯ Enjoy life, Eat well & Laugh often
    1. Ctrl+shift+i (консоль разработчика) или правой кнопкой мыши по странице -> Исследовать (Inspect)
    2. Вкладка network
    3. В шапке выбрать img(изображения)
    4. Обновить страницу
    В ответ вы получите все изображения со страницы. и Вот ваша картинка
    Ответ написан
    8 комментариев
  • Какие есть интересные free API для веб проекта?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    Комментировать
  • Почему C# не подходит для ML, а python подходит?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Для ML нет разницы на каком языке писать, т.к. это просто алгоритм, реализованный на любом из языков. Поэтому писать, что "С# не подходит для ML" не корректно.
    На C# тоже полно реализаций ML:
    https://www.microsoft.com/net/learn/apps/machine-l...
    accord-framework.net/intro.html

    Python получил широкое распространение, скорее всего, из-за более низкого порога входа, для него не нужна громоздкая Visual Studio и вообще .NET Framework, он кроссплатформенный и прочие плюсы
    Ответ написан
  • Проблема c настройками SSH после взлома сервера. Как можно изменить поведение сервера и клиента без изменения ssh_config и sshd_config ?

    demimurych
    @demimurych
    Правилом номер один при компромитации системы является ее полная переустановка.
    Нет ни одного надежного способа диагностировать изменения в системе проведенные злоумышлеником, в случае если у него был рут и был достаточно квалифицирован.
    Я имею ввиду при помощи самой это системы.
    Ответ написан
    2 комментария
  • Какие минусы в использовании Windows через virtualbox?

    bingo347
    @bingo347
    Crazy on performance...
    Многие графические пакеты от Adobe активно используют видеокарту для вычислений
    из виртуалок более менее адекватно эмулирует видеокарту насколько знаю только VMWare

    Но лучше все таки сделать так:
    1. В качестве хост-ОС поставить гипервизор (например Xen)
    2. Создать в нем 2 виртуалки (под линь и под винду)
    3. настроить, чтоб при старте ПК стратовали обе
    4. разделить между ними оперативу (самому гипервизору хватит 256-512МБ, остальное между виртуалками по нуждам)
    5. на виртуалку с виндой пробросить дескретную видяху
    6. на виртуалку с линем пробросить встройку от i5 (после всех основных настроек гипервизора и открытие ssh сервера в его VNet)
    7. на винде поднимаем VNC сервер и добавляем в автозагрузку
    8. врубаем моник на встройку, виндой управляем через VNC
    Ответ написан
    5 комментариев
  • Почему некоторые пакеты по wifi идут до 2,5 сек?

    Jump
    @Jump
    Системный администратор со стажем.
    На ПК всё норм среднее время ожидания ответа 32мс минимум 30 мс максимум 38
    Ну разумеется, провод это стабильно.

    В основно пакеты приходили как и на компе по 32мс, но где-то каждый каждый 20 пакет и следующие за ним штуки 3 приходят с сильным опозданием(До 2810мс).
    Это характерно для WiFi, если вы знаете как он работает, то ничего удивительного в этом не обнаружите, совершенно штатная ситуация.

    Эфир один, и все устройства которые в нем работают делят его.
    Поскольку работают все устройства WiFi практически на одной частоте, делят они в основном по времени.
    В один момент времени вещает одно устройство, чем больше устройств в эфире, тем дольше ждать своей очереди.
    Поэтому никакой гарантии - пакет может уйти очень быстро, или придется ждать очень долго.
    А еще может быть коллизия, и пакет испортится, и будет передан повторно.
    Ответ написан
    6 комментариев
  • Фреймворк, макро-Фреймворк для разработки портала?

    @xfg
    Да по хорошему нужно делать на микрофреймворке. Самый популярный из них slim. Весь остальной необходимый функционал собирают из библиотек. Но желательно иметь представление о многоуровневой архитектуре иначе будет спагетти-код. Без опыта да, лучше выбрать yii или laravel. Поскольку документация ответит на все ваши вопросы от старта и до релиза сайта. Но поскольку документация описывает RAD (rapid application development) будьте готовы, что на выходе получится спагетти-код. Но на микрофреймворке без опыта будет еще хуже.

    Выбирайте любой. Разницы особой нет. У yii сильное русскоязычное сообщество. Разработчики и сообщество иногда делятся информацией о том как строить многоуровневую архитектуру. Получите опыт и придет осознанное понимание что достаточно микрофреймворка.

    Обычный путь разработчика: plain php -> mvc framework -> microframework -> plain php
    Ответ написан
    1 комментарий
  • Как спрятать файл на Гитхабе?

    delphinpro
    @delphinpro
    frontend developer
    config.php должен быть исключен из индекса (добавлен в гитигнор) и вообще не попадать в коммиты.
    Вместо него в индекс следует включить файл config-EXAMPLE.php, в котором не будет ваших реальных настроек, а лишь примеры настройки.
    Ответ написан
    Комментировать
  • Как спрятать файл на Гитхабе?

    sim3x
    @sim3x
    Как поступают в таких ситуациях?
    все наcтройки идут в переменних окружения
    php.net/manual/en/reserved.variables.environment.php
    php.net/manual/en/function.getenv.php
    Ответ написан
    Комментировать
  • ActiveRecord для Mongo?

    qonand
    @qonand
    Software Engineer
    ActiveRecord не налаживает ограничений на способ реализации базы данных. Он подходит как для реляционных БД т.к. и для остальных ... Поэтому для монги он вполне имеет право на жизнь
    Ответ написан
    Комментировать
  • Заказчик сует доработки очень маленькими порциями, как брать оплату?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    требуйте доплату маленькими порциям*

    даже если доработка реально на 5 минут.. все дело в специфике работы программиста..
    1 - у вас похоже каждый раз типа окончания
    2 - .. и вы с чистой совестью взяли другую задачу (и клиента это не касается)
    3 - в итоге - его запрос на 5минут - ломает вашу текущую ситуацию - вам надо переключаться между контекстами.. мало того - сохранить олимпийское спокойствие... и это всегда дороже чем 5 минут (даже если в этот период ни хрена не делаете на самом деле)

    ps * - ну а если все перечитать.. то даже и не маленькими.. ))

    удачи!
    Ответ написан
    Комментировать
  • Проверять ли массив для foreach?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    $this->orderRepository->getList();

    Если getList вернул null вместо пустого итерируемого объекта, то это имхо неправильный дизайн самого getList
    Ответ написан
    1 комментарий
  • Как посмотреть логи Docker?

    r0zh0k
    @r0zh0k
    Site Reliability Engineer
    AWS не пересобирает образ, AWS рестартует контейнер если тот завершился.
    Ваш контейнер скорее всего писал логи в stdout.
    Зайдите на инстанс по SSH, затем сделайте docker ps -a, там можно будет увидеть только что завершенный контейнер. Раньше AWS их оставлял, но сейчас, в связи с обновлением ECS-агента, судя по всему, он их подчищает, поэтому свой контейнер вы можете не увидеть.
    Если же старый контейнер еще остался то все равно можно посмотреть его логи – docker logs <container_id>

    Тем не менее, желательно прикрутить внешний сервис логирования, например LogEntries, Papertrail или другие подобные системы.
    Ответ написан
    Комментировать