• Как выполнить частичный импорт данных определённого проекта с продакшн БД MySQL?

    2ord
    @2ord Автор вопроса
    Отвечу как решил задачу:
    1. Построить граф зависимостей связей между таблицами
    2. Подключить 2 БД к одной программе-скрипту: БД-донор, полученная путём восстановления резервной копии с продакшна и основная БД как реципиент (обе СУБД одного типа)
    3. Начиная с корневой таблицы проходить построчно, поочерёдно создавая новые записи, попутно заменяя первичные ключи на свежесозданные в дочерних объектах.

    Изучение путей решения заняло половину рабочего дня. Ещё 1 рабочий день ушёл на написание программы и отладку.
    Ответ написан
    Комментировать
  • Как сделать выделение этажей для сайта?

    2ord
    @2ord
    Ответ написан
    Комментировать
  • Как поменять кодировку,когда импортирую в mysql из файла csv?

    2ord
    @2ord
    Перед импортом указать в коде:
    SET NAMES = utf8;

    Есть ещё и другие способы импорта:
    1. LOAD DATA LOCAL INFILE
    2. mysqlimport
    3. HeidiSQL
    Ответ написан
    Комментировать
  • Какие алгоритмы нужно знать веб разработчику?

    2ord
    @2ord
    Не помню когда какой алгоритм использовал последний раз в веб-разработке.
    Из алгоритмов порой может использоваться разве что линейный и бинарный поиск в массивах. В любом случае, как правило, такие алгоритмы реализованы в стандартных библиотеках и поэтому остаётся лишь вызвать нужную функцию.
    Порой нужно посчитать что-то несложное, например статистику с выборкой по разным таблицам в БД или что-то по простенькой формуле. Изредка-изредка попадаются немного более сложные задачи. Но задач типа динамического программирования или по искусственному интеллекту не жди - такие задачи обычно решаются программистами с другой квалификацией, независимо от веб-разработки.

    В веб-разработке важно чтобы запрос к серверу занял как можно меньше времени. Для этого нужно быстро обратиться к БД, что-то посчитать и вернуть ответ. Пользователь не любит ждать. Порой нужно использовать техники кеширования данных и некоторые другие оптимизации.
    По-моему, основными факторами задержки являются:
    1. неоптимальные запросы к БД
    2. неоптимальный выбор структур данных и, как следствие, понижение скорости работы и повышенные требования к памяти
    3. повторяющиеся операции в коде
    4. блокирующие операции в коде
    5. неоптимальная отдача статического контента сервером
    Ответ написан
    Комментировать
  • Почему dropbox создает копию всех файлов на моей жестком диске?

    2ord
    @2ord
    Можно в настройках выставить какие папки не нужно зеркалировать на локальный диск. В таком случае такие папки будут присутствовать только в "облаке". Позже можно выставить галочку в настройках клиента для включения папки обратно.
    Ответ написан
  • Как "прорядить" данные с мониторинга?

    2ord
    @2ord
    Можно узнать как это делается в базах данных временных рядов: RRDtool и Whisper (Graphite)

    Он оба предназначены для мониторинга сервисов.
    Ответ написан
    Комментировать
  • PascalABC.NET и FreePascal имеют более низкий порог вхождения,чем Python3?

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

    Паскаль - очень простой язык и интуитивно понятный. Пайтон - простой только до некоторых пор.
    Если программку нужно написать и потом про неё забыть - то тогда проще выучить Python. На каком ЯП быстрее писать - зависит больше от навыков.

    Допустим в
    python3:
    >>> 5/2
    2.5

    python2:
    >>> 5/2
    2


    Паскаль более требователен, но с ним проще разрабатывать в долгосрочной перспективе.
    Ответ написан
    2 комментария
  • Возможно ли скопировать текстовую таблицу в редактор Brackets или Sublime Text как в Word 2016?

    2ord
    @2ord
    По-моему, это из-за того что Sublime Text является не структурным редактором, а простым текстовым. То есть при любых операциях с буфером обмена всё предварительно преобразуется в простой текст. В таких редакторах как Sublime Text вёрстка текста отсутствует.
    Ответ написан
    Комментировать
  • Какой первый Linux-дистрибутив поставить?

    2ord
    @2ord
    Сегодня Linux Mint (основан на Убунту) - самый популярный дистрибутив согласно статистике distrowatch.com
    Не обязательно устанавливать OS на физический том диска. Для первого знакомства проще установить в качестве виртуальной машины при помощи VirtualBox.
    Ответ написан
    Комментировать
  • Как реализовать архитектуру web приложения?

    2ord
    @2ord
    Паттерн EAV
    Ответ написан
    Комментировать
  • Как исполнить Go - код на PHP?

    2ord
    @2ord
    Не знаю что там за тяжёлые задачи. Они хотя бы оформлены у вас как фоновые задачи? Тяжёлые задачи - это такие, которые сильно загружают ресурсы сервера (CPU, I/O, сеть) или которые длятся дольше, чем пользователь хотел бы ждать.
    К тяжёлым запросам можно относить пред/пост-обработку каких-либо данных, генерацию отчётов для бизнес аналитики, т.е. операции, которые могут быть совершены без ожидания пользователем ответа.

    Обычно их выносят в обработчик очередей (Gearman, Beanstalk, ZeroMQ, RabbitMQ, ...). А воркер очереди может быть написан на любом языке, если, допустим, используется протокол MsgPack. Также могут быть использованы Tarantool со встроенным языком Lua, а также Redis - в качестве хранилищ данных очередей.
    То есть это переход с монолитного приложения на микросервисы.
    Ответ написан
    Комментировать
  • Ошибка при переходе в каталог на Ruby?

    2ord
    @2ord
    Командой gem надо пользоваться только с командной строки cmd.exe. В интерпретаторе языка (irb) же нужно вводить команды синтаксиса Ruby. Поскольку C:\Ruby23\bin это команда для cmd.exe, то логично что интерпретатор Ruby жалуется на неверный синтаксис.

    Для того, чтобы cmd знал местонахождение ruby.exe, надо выставить пользовательскую переменную среды
    PATH=%PATH%;C:\Ruby23\bin

    Если всё правильно сделал, то при выводе команды ruby -v выведет версию Ruby.
    Теперь не важно в какой директории находишься и можно вызывать скрипты Ruby вызовом команды
    ruby hello.rb

    Проверить какая версия gem можно так:
    cmd.exe:
    gem -v
    Ответ написан
    Комментировать
  • Куда переходить с Ubuntu 14.04?

    2ord
    @2ord
    В целом, компания NVidia повёрнута к сообществу Linux задом. Разработчикам альтернативных свободных драйверов приходится изгаляться для того, чтобы драйвера работали более-менее достойно.
    https://askubuntu.com/questions/751888/3-monitors-...

    Возможно, в новой версии Убунту, при более новом ядре, драйвера работают хуже. Это может быть следствием недружелюбности разработчиков NVidia к Linux. Однако, пользователю обычно наплевать на политику, поскольку он хочет чтобы всё просто работало.

    Согласно этим цитатам fman2:
    Ubuntu 16.04 зависает сразу же после установки и виснет до тех пор, пока я не поставлю проприетарные драйвера от Nvidia через терминал. После этого система запускается и работает нормально, но я также получаю ошибку в системе после apt-get update, появляется окно - произошла ошибка в unity..., не заскринил к сожалению. Система работает нормально, больше ошибок не было, но ресайз окна в Google Chrome происходит не то что фризами, рывками! С Intel HD 4600 все было окей. Тиринга нет на NVidia.


    Linux Mint 18.1 - то же зависание, что и у Ubuntu 16.04.2 (и почему я не удивлен?), когда ставишь последний проприетарный драйвер от Nvidia, все окей, за исключением дерганного перемещения окон. На LOR про это писали, там комментаторы сказали - сам дурак. Проблема есть и ее я подтверждаю. Тиринга нет, но работать с окнами из-за этого бага невозможно.


    Ubuntu 16.04 Mate - я пробовал 17.04 Beta, думал в стабильной версии будет получше. Но нет. Система не зависает, но тиринг везде, в том числе и на драйверах от Nvidia.
    проблема состоит именно в графике (функционировании видеокарты Nvidia). Маловероятно, что на других дистрибутивах Linux всё будет прекрасно работать, если проблема состоит в драйверах.

    Можно попробовать установить проприетарные драйвера так: https://askubuntu.com/questions/716668/geforce-gtx...

    Если не получится, то выбор может состоять либо в переходе на Windows (в силу проприетарности ОС и входящих в неё драйверов), либо в покупке подходящей для пользователя видеокарты, которая при этом совместима к Linux.
    Ответ написан
    1 комментарий
  • Какими средствами делается рассылка пользователям (нотификации)?

    2ord
    @2ord
    Рассылка писем в RoR делается при помощи ActionMailer (руководство на англ.).
    Такие сервисы как Mailgun, SendGrid и т.д. позволяют заниматься массовыми рассылками.
    На сайтах этих сервисов можно почитать о лучших практиках в рассылке.
    Ответ написан
    3 комментария
  • Как кешировать динамические изображеия с помощью PHP?

    2ord
    @2ord
    В качестве предложения, можно выдавать
    HTTP заголовок Expires, указывающий когда истекает 5 минут. Тогда веб клиенты смогут узнать когда обновлять картинку.
    Ответ написан
  • Эффективный алгоритм сжатия массива float'ов и int'ов?

    2ord
    @2ord
    Рекомендую послушать подкаст #44 автора проекта Akumuli (БД для хранения временных рядов, TSDB). Он рассказывает разные интересные вещи о хранении данных, в том числе о хранении массивов чисел.
    Ответ написан
  • Какие конвертеры HTML страницы в PDF существуют?

    2ord
    @2ord
    Ответ написан
    Комментировать
  • Как добавить ssl сертификат для s3 бакета?

    2ord
    @2ord
    Если я правильно понимаю,
    при условии, что имеется сертификат SSL wildcard, то при помощи CNAME можно указывать на домен Амазона.

    В качестве CDN следует использовать CloudFront (кеширование), настроенный на S3 букет где находятся картинки.
    В настройках DNS своего сайта указываешь CNAME
    images .mywebsite.com -> d111111abcdef8.cloudfront.net

    https://deliciousbrains.com/wp-offload-s3/doc/cust...

    docs.aws.amazon.com/AmazonCloudFront/latest/Develo...
    Ответ написан
    Комментировать