• Какую версию 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 комментария
  • Что является основной причиной говнокода?

    Moskus
    @Moskus
    Говнокод - код, который написан, исходя из сиюминутных критериев или критериев, которые основаны на какой-то задаче, противоречащей основной задаче проекта. Скажем, если программист получает деньги за объем кода, а не его качество, он будет писать говнокод. Или если ему важнее всего успеть (потратить минимум времени), а не соблюдать качество продукта. Это при важном условии, если программист способен вообще писать качественный код за разумное время. Если нет, то любой код, который он пишет, автоматически подчиняется только одному требованию - имитации деятельности, потому будет говнокод полностью или в большой степени.
    Ответ написан
    Комментировать
  • Что является основной причиной говнокода?

    dom1n1k
    @dom1n1k
    Тут как посмотреть. Непосредственных причин, которые приводят к говнокоду, может быть очень много:
    1. Отсутствие внятной аналитики и архитектуры
    2. Низкая квалификация исполнителей (он может и хотел бы сделать хорошо, но не знает и не умеет)
    3. Говнокодеры по складу характера (есть такие люди, которым даже если создать все условия, все равно сделают на от****сь, потому что и так сойдет)
    4. Недопонимание и сложные отношения в команде
    5. Сроки (бывают заведомо нереалистичные, а бывают просранные в процессе)
    6. Меняющиеся требования
    7. Плохо выстроенные процессы (документация, тесты и пр)
    8. Текучка кадров
    9. Политика руководства
    И тд и тп... Можно придумать ещё много пунктов.

    Но в конечном итоге все эти причины можно свести к одной первопричине - плохой менеджмент. Хороший менеджмент это такой непонятный зверь... Трудно сформулировать, понять, организовать. Косяки не сразу видны и ощутимы, но потом выливаются в проблемы. Если у вас есть хороший менеджер проекта - он на вес золота.
    Ответ написан
    1 комментарий
  • GitHub как установить ограничение на clone?

    maximkv25
    @maximkv25
    web-developer
    Расшарь экран и покажи.
    Ответ написан
    Комментировать
  • Влияет ли количество файлов в папке на скорость работы с файлом?

    @just_hank_moody
    Лучше разбить на древовидную структуру. Программы смогут без проблем работать с файлом, но если нужно читать список файлов из директории = будут дикие тормоза.
    Ответ написан
    Комментировать
  • В MySQL столько похожих типов данных. Как понять, когда какой именно использовать?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Не так уж и много, учитывая, что в основном каждый тип просто имеет несколько вариантов размера. Например, TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT - это всё один и тот же целочисленный тип, просто разного размера, от 1 до 8 байт.
    Есть, конечно, специфические типы, те же DECIMAL и BIT, но тут надо просто понять их предназначение.
    Начните с документации, там все типы неплохо описаны.
    Ответ написан
    Комментировать
  • Как правильно тюнить конфиги БД, распределять ресурсы?

    MaxDukov
    @MaxDukov
    впишусь в проект как SRE/DevOps.
    начните с понимания сколько данных и в каких БД у Вас. А то Вы начнете отдавать память Постгресу, храня основные данные в Мускуле.
    у мускуля отдельная песня - движки. Вы пишите про innodb - а в нем ли храните?

    Короче, первый шаг это сбор статистики.
    Ответ написан
    8 комментариев
  • Реклама в html5 игре, как?

    Посмотреть другие игры на Canvas чтобы увидеть в коде какие там используются рекламодатели, и перейти на их сайт для прочтения инструкций и условий
    Ответ написан
    Комментировать