Задать вопрос
  • Как вы работате с гитом?

    2ord
    @2ord
    git add, git commit следует выполнять лишь тогда, когда наращивается значимый функционал или полноценное исправление ошибки, при этом каждая фиксация (commit) должна означать, что программа будет работать исправно как до, так и после фиксации. То есть полурешения, приводящие к неисправной работе программы, фиксировать не следует.
    Просто "написал функцию" - это не функционал, а мёртвый код. До тех пор пока эта функция не будет вызываться где-то из кода. Желательно ещё дописать модульный тест для проверки работоспособности данной функции. Вот тогда имеет смысл фиксировать изменения.
    Или любое исправление, при котором с новым решением программа работает исправно (сбой не вызыван логическими ошибками и т.д.).
    Ответ написан
    3 комментария
  • Программа для чтения логов?

    2ord
    @2ord
    В Линуксе/Cygwin можно использовать в командной строке less -R log/development.log . Тогда будет выводиться подсветка с разными цветами. При помощи команды / пожно указать regexp-шаблон для поиска по логу. SQL запросы можно также скопировать в редактор с подсветкой синтаксиса, или IDE.
    Можно воспользоваться сервисом Papertrail, предлагающим удобный поиск по логу и архивацию. Логи будут направляться в их удалённый сервис.
    Ответ написан
  • Как выполнить частичный импорт данных определённого проекта с продакшн БД 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 комментария