Задать вопрос
  • Какую базу данных лучше всего использовать для обучения новичка?

    sim3x
    @sim3x
    Начать с SQLite
    Когда переместитесь на линукс и/или начнете делать серьезные вещи - PostgreSQL
    Ответ написан
    6 комментариев
  • Какую базу данных лучше всего использовать для обучения новичка?

    keine-lust
    @keine-lust
    В основном все уроки сделаны с mysql. Но в будущем нельзя останавливаться только на ней.
    Ответ написан
    Комментировать
  • Как откатить права на файлы на час назад в Ubuntu?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Есть подозрение, что "откатить права в системе на "15 минут назад" - никак, если до этого не был сделан снапшот системы или что-то в таком духе... но, решение, относительно не сложное есть.

    1. Берёте такую же точно систему (аналогичный сервер например)
    2. Пишите скрипт, который будет перебирать всю файловую систему и записывать в текстовый файл, в строчку: путь до файла (каталога) + права на него
    3. Закидываете на сервер готовый файл с получившимся результатом и запускаете обратную операцию, аналогичным скриптом (установка прав в соотв. с указанным путём)

    Либо, берёте аналогичный работающий сервер и перекидываете все данные туда...

    P.S. Возможно, есть более красивые решения, или даже какие-то системные скрипты (готовые), которые установят нужные права правильно, но, "по быстрому" мне в голову приходит решение которое я озвучил выше.
    Ответ написан
    1 комментарий
  • Как откатить права на файлы на час назад в Ubuntu?

    customtema
    @customtema
    arint.ru
    Потом перезапустил nginx и получил ошибку "500" на одном из хостов, мне сказали что дело в правах на файлы.


    Жесть. А зачем лезть туда, в чем вот настолько прям не разбираешься?

    Систему можно просто переставить, чтобы не мучаться. Ошибка 500 лечится художественным чтением лога (вы нашли его вообще???) и последующим релаксационным гуглением. Крайне желательно найти человека, который отдает отчет в своих действиях, и чуть-чуть хотя бы понимает, как работает сервер.

    Когда появится время, почитайте Ubuntu Server Guide какой-нибудь, что-ли.

    P.S. Реально ничего сложного нет, но разобраться надо.
    Ответ написан
    2 комментария
  • Как оценить "качество" тренда?

    sergiks
    @sergiks Куратор тега Алгоритмы
    ♬♬
    Похоже, вас интересует значение минимизируемой при линейной регрессии функции. Обычно это сумма квадратов расстояний каждой из точек до прямой. Собственную реализацию написать несложно. Как называются готовые функции в перечисленных продуктах, не подскажу, увы.

    Если со 100% всё понятно – когда все точки на прямой и сумма = 0; то что брать за максимум, за 0% аккуратность, хуже которой быть уже не может? : )
    Ответ написан
    Комментировать
  • Как работать с реверс прокси для .net?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Да, можно. Примерно так.
    ...
    location /images/ {
        try_files $uri @mysite;
    }
    ...
    location @mysite {
    ...
       proxy_pass http://localhost:8080;
    ...
    }

    Если не будет картинки в /images, то сработает проксирование на localhost:8080
    Ответ написан
    1 комментарий
  • Как фильтровать письма, закодированные в ХЗ что?

    Переведите текст, который хотите фильтровать, в кодировку windows-1251 и закодируйте в quoted-printable - по полученной строке ваш фильтр сработает. Проще всего просто скопировать соответствующую уже кодированную строку из исходника письма.
    Ответ написан
    Комментировать
  • Как фильтровать письма, закодированные в ХЗ что?

    Moskus
    @Moskus
    Это не "ХЗ что", а кодировка quoted-printable. https://en.wikipedia.org/wiki/Quoted-printable
    Далее, возможны варианты (потому что вы, как это традиционно бывает на Тостере, привели только фрагмент информации, который посчитали важным, а не код всего исходника письма, например):
    - либо ваша почтовка не понимает эту кодировку (маловероятно), а система фильтрации - понимает,
    - либо письма сформированы с ошибками (например, содержат неправильное указание кодировки в заголовке, потому почтовка их не раскодирует,
    - либо вы что-то делаете неправильно (что - угадать сложно).
    Однако, это не слишком важно, потому что невозможно фильтровать письма только по кодировке (полезные письма тоже могут быть отправлены в QP), маловероятно также, что их можно фильтровать по тексту, потому что спам может быть разный.
    Ответ написан
    Комментировать
  • Какую версию linux, выбрать для обучения?

    sim3x
    @sim3x
    убунту
    Ответ написан
    Комментировать
  • Как работает история комманд в bash?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    1) при выходе, баш просто пишет все выполняемые команды в $HISTFILE файл (по умолчанию это ~/.bash_history.
    До выхода история хранится в памяти, и параметры HISTSIZE и HISTFILESIZE могут быть разными.

    Можно сбросить текущую историю из памяти в файл командой history -a

    2), 3). вы можете попробовать добавить нужные команды в prompt, тогда при выполнении любой команды будет выполняться блок ваших команд. Но это несколько костыльное решение. Например добавить history -a в PROMPT_COMMAND, чтобы хистфайл обновлялся после каждой команды. можно добавить туда и вывод history 1 с перенаправлением в скрипт, который отправляет почту, но это вызовет задержку на выполнение каждой команды. лучше из отдельной сессии следить за этим файлом.
    Ответ написан
    2 комментария
  • Как добавить расширение к имени файла (автоматизировать)?

    GavriKos
    @GavriKos
    В TotalCommander есть очень недурственная утилитка для группового переименования, и такой же недурственный поиск, к результатам которого можно применить переименование.
    Ответ написан
    4 комментария
  • Какие действия несут эти знаки @ & % # ^ в delphi или pascal?

    @Mercury13
    Программист на «си с крестами» и не только
    Это символ не Delphi, а Win32. Как налаживается горячая клавиша в других ОС — я не в курсе, но в Qt под всеми ОС горячая клавиша задаётся точно так же, амперсандом. В текстовой системе Turbo Vision было ~H~otkey.
    Никакого особого смысла эти символы в окнах Win32 не несут. Но могут нести где-то в других местах, сами понимаете:
    • на некоторых сайтах #hashtag или @user
    • в строках типа printf процент — это символ подстановки типа «Привет, %s»
    • а какой смысл несут все эти символы в Паскале — вы и так должна знать.
    Ответ написан
    Комментировать
  • Можно ли сервером-балансером отдавать статический контент?

    @HeyAway Автор вопроса
    Ошибка -- плохо гуглил.

    Решение -- на сайт devacademy. Ссылку режут.
    Название: Балансировка нагрузки для NGINX
    Спасибо автору.



    Главный - master сервер

    Сервер, отвечающий за балансировку нагрузки, я называю главным, но он так же может выступать в роли обработчика запросов, как и два остальных. В этом примере допускается использовать главный сервер для обработки запросов.

    Другой сценарий: используем балансировщик нагрузки для обработки запросов. Мы применим небольшой трюк. Заменим следующие настройки на сервере:


    upstream balancer {
      server 192.168.1.100:80 ; 
      server 192.168.1.106:80 ;
    }
    
    server {
      listen 192.168.1.100:80;
      server_name yoursite.com;
      error_log /var/log/yoursite.com-error.log;
      location / {
          proxy_pass http://balancer;
      }
    
    }


    на


    server {
        access_log off;
        error_log /var/log/yoursite.com-error.log;
        listen 127.0.01:80;
        server_name  yoursite.com www.yoursite.com;
    
        location ~* .(gif|jpg|jpeg|png|ico|wmv|3gp|avi|mpg|mpeg|mp4|flv|mp3|mid|js|css|wml|swf)$ {
          root   /var/www/yoursite.com;
          expires max;
          add_header Pragma public;
          add_header Cache-Control "public, must-revalidate, proxy-revalidate";
        }
    
        location / {
          root   /var/www/yoursite.com;
          index  index.php index.html index.htm;
        }
    }
    
    upstream balancer {
      server 192.168.1.100:80 ; 
      server 192.168.1.106:80 ;
      server 127.0.0.1:80 ;
    }
    
    server {
      listen 192.168.1.100:80;
      server_name yoursite.com;
      error_log /var/log/yoursite.com-error.log;
      location / {
          proxy_pass http://balancer;
      }
    }



    Как вы видите, мы внесли два изменения: добавили виртуальный хост по адресу 127.0.0.1 и настроили его на обработку запросов на 80 порт. Затем добавили тот же сервер к вышестоящим серверам, то есть он будет использован для обработки запросов от Nginx запущенного на вашем localhost компьютере.

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

    Vlad_IT
    @Vlad_IT
    Front-end разработчик
    Для ютуба на 720p нужно 2.5 мегабит, на 1080p минимум 4 мегабит. Я думаю, 10 мегабит будет норм, главное чтобы была стабильная скорость и пинг.
    Ответ написан
    3 комментария
  • Какая скорость интернета нужна для домашнего использования?

    @Django-197
    Соединяю компьютерные сети между собой
    Обычному пользователю достаточно 10-20 Мбит\с.
    Ответ написан
    Комментировать
  • Как сделать тяжелый импорт из excel 800к товаров?

    syschel
    @syschel
    freelance/python/django/backend
    1. У вас именно EXEL файл или всётаки CSV который вы открываете на десктопе с помощью экселя?
    2. Если всётаки EXEL файл. Там слишком много всего нагорожено, на вроде вёрсток и формул или голые таблицы?
    3. Если всётаки голые таблицы. Вы можете делать именно CSV файл?

    Если данные будут в CVS формате, то можно всё загрузить средствами MYSQL и не использовать для обработки PHP или его библиотеки. Тогда результат будет в разы выше, чем если перебирать с помощью ПХП и потом кормить в MSQL

    Когда я в своё время сталкивался с проблемой загрузки файла товаров в базу, там было несколько миллионов единиц, то оптимальным стало именно такое решение > LOAD DATA

    Кусок моего старого MySQL кода, для наглядности
    // Загружаем кашерный файл
    LOAD DATA LOCAL INFILE '/srv/cms_cpa/files/adimport_items.csv' INTO TABLE adimport_tmp CHARACTER SET utf8 FIELDS TERMINATED BY '|' ENCLOSED BY "'" LINES TERMINATED BY '\n' IGNORE 1 LINES (id_adimport,article,available,currencyId,delivery,description,id,name,oldprice,param,picture,price,url,vendor,advcampaign_id,advcampaign_name);
    
    // Загружаем только нужные поля (!!!)
    LOAD DATA LOCAL INFILE '/srv/cms_cpa/files/adimport_items.csv' INTO TABLE adimport_tmp CHARACTER SET utf8 FIELDS TERMINATED BY '|' ENCLOSED BY "'" LINES TERMINATED BY '\n' IGNORE 1 LINES (id_adimport,@ISBN,@adult,@age,article,@attrs,@author,available,@barcode,@binding,@brand,@categoryId,@country_of_origin,currencyId,delivery,description,@downloadable,@format,@gender,id,@local_delivery_cost,@manufacturer_warranty,@market_category,@model,@modified_time,name,oldprice,@orderingTime,@page_extent,param,@performed_by,@pickup,picture,price,@publisher,@sales_notes,@series,@store,@syns,@topseller,@type,@typePrefix,url,vendor,@vendorCode,@weight,@year,advcampaign_id,advcampaign_name,@deeplink);
    
    // Все поля
    LOAD DATA LOCAL INFILE '/srv/cms_cpa/files/adimport_items.csv' INTO TABLE adimport_tmp CHARACTER SET utf8 FIELDS TERMINATED BY '|' ENCLOSED BY "'" LINES TERMINATED BY '\n' IGNORE 1 LINES (id_adimport,ISBN,adult,age,article,attrs,author,available,barcode,binding,brand,categoryId,country_of_origin,currencyId,delivery,description,downloadable,format,gender,id,local_delivery_cost,manufacturer_warranty,market_category,model,modified_time,name,oldprice,orderingTime,page_extent,param,performed_by,pickup,picture,price,publisher,sales_notes,series,store,syns,topseller,type,typePrefix,url,vendor,vendorCode,weight,year,advcampaign_id,advcampaign_name,deeplink);

    Ответ написан
    Комментировать
  • Сократить кол-во запросов в БД?

    @RidgeA
    Можно одним insert обойтись
    INSERT INTO `tableName` VALUES (`first`, `row`), (`second`, `row`), (`third`, `row`);


    И в приведенном коде уязвимость - SQL Injection - почитай про использование подготовленных запросов.
    Ответ написан
    Комментировать
  • Сократить кол-во запросов в БД?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    INSERT INTO games (one, two, three) VALUES (1, 2, 3), (4, 5, 6), (7, 8, 9);
    https://dev.mysql.com/doc/refman/5.7/en/insert.html
    Ответ написан
    Комментировать
  • Как лучше бекапить проект с большим количеством контента?

    Jump
    @Jump Куратор тега Резервное копирование
    Системный администратор со стажем.
    К тому же, в идеале хочется иметь инкрементальные бекапы - т.е. один раз скопировать всю папку, а потом досылать только свежие изменения.
    Есть много разных способов.
    Вот один из них - zpaq
    - сжатие, дедупликация, инкременты.
    И что очень полезно и есть не у всех - индексный файл имеющихся блоков.
    Т.е двухтеррабайтный архив у вас лежит где-то там далеко, а индексный файл этого архива размером в десяток мегабайт лежит рядом, с данными, и по нему формируется сжатый, дедуплицированный инкремент.
    Ответ написан
    Комментировать
  • В чем смысл ВУЗа?

    @garik_R
    On my way
    В ВУЗе учат взаимодействовать с людьми. Не в том смысле, что прогулять пары, прибухнуть, а наоборот, решить проблемную контрольную, написать курсовую. Развивать навыки, в любой сфере. Часто, именно этим, люди в Вузе и пренебрегают. Это социальная структура, где, по идеи, должны были собраться люди со схожими интересами. К сожалению, у нас это простой способ откосить от армии. Или родители сказали: "Ты должен поступить..." еtc. Кроме того, диплом поможет устроиться на хорошую работу у нас в стране или где-то в другой.

    Зачем учить? Что касается "странных" предметов, которые, казалось бы, никому не нужны - это ошибочная точка зрения. Любая работа сталкивает нас с такими неожиданностями, о которых мы и не думали. Вот тогда и вспоминаешь про какое-то ОБЖ и так далее. Часто негодование на этот счет связано не с большим умом, а наоборот, с большим незнанением и узким взглядом на жизнь. Подобные предметы нужно проглотить, отмучаться и знать где подсмотреть в случае чего. Или просто посмотреть шире. Вы же не станете отрицать, что даже если Вы учитесь на программиста, знать основы экономики необходимо, верно? А потом вы можете устроиться на работу, где будете писать какой-то софт где уже и не помешают и глубокие знания?

    Без математики можно заниматься только формошлепством. Везде так или иначе нужна математика. Где-то простая арифметика, где-то нюансы шифрования.

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

    Учить наизусть? Скажем так - хуже не будет. Да, сейчас всё немного изменилось. Если до ~2000х важно было иметь хорошую память. По книгам сложней искать, но других способов тогда не было. Сейчас нет острой необходимости помнить важную информацию. Сейчас важно знать где найти. Это умение стало более важным сейчас, из-за доступности интернета. Важная информация откладывается у вас в голове, если вы её постоянно используете - этого не избежать. Тут действительно, сейчас важно знать где найти, чем помнить досконально. Но человек, который является ходячей библиотекой оставляет гаааараздо более интересное впечатление, нежели тот, который говорит: "Щас, сек, я точно знаю, это вот здесь было написано". Перед работодателем это совершенно точно. Если вы помните, умеете развивать мысль, а не тупо заучили - то вы оставите более яркое впечатление. Мне кажется, это старомодный подход и со временем действительно можно будет погуглить и это всех будет устраивать. Но сейчас имидж умного, начитаного человека всё еще очень важен. Всё еще интересно поговорить вживую, с телефоном в кармане, нежели общаться отрывками статей, которые только что прочитал.

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

    ВУЗ нужен. Он учит, учит общению с людьми, решению социальных проблем. Учит решать поставленные задачи, порой, которых вы не ожидали. Дает возможность встретить людей, которым интересна таже область, что и Вам. Встретить людей, которые умнее Вас и прокачаться до их уровня. И да, как ни крути он даёт вам бумажечку. Может быть, она Вам и не пригодится, а может, вы в какой-то момент сильно пожалеете, что не получили её. Я бы даже сказал, что ВУЗ - это часть молодости, и не нужно её себя лишать. :-) И добавил бы, что желательно учится не в родном городе. Но это уже лирика :)
    Ответ написан
    4 комментария