Задать вопрос
  • Можете накидать идеи для проектов на rust?

    romesses
    @romesses
    Backend инженер
    Открываете Гитхаб, Гитлаб и пр.
    Находите любой понравившийся проект с открытым кодом на Rust.
    Открываете Issues и анализируете проблему.
    Свяываетесь с авторами проекта и решаете вполне конкретную проблему, предлагая PR/MR.
    Тогда и сообщество и вы довольны.
    Ответ написан
    Комментировать
  • Как ускорить HTML5 в Tor?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Вопрос-то не к содержимому сайта (раз через обычный браузер и интернет он работает быстро), а к особенностями Tor Browser и скорости передачи внутри самого Тора.

    Что с этим сделать? Глобально, наверное, ничего - но Тор и не создан, чтобы через него работало быстро.
    Ответ написан
    Комментировать
  • Можно ли размещать на сайте http-ссылки?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Это не ссылка, а пространтво имён. Аудит вы заказали не у специалиста.
    Ответ написан
    Комментировать
  • Почему установка Visual Studio каждый раз начинается заново?

    BasiC2k
    @BasiC2k
    .NET developer (open to job offers)
    В меню Пуск есть два ярлыка:
    - Visual Studio Installer
    - Visual Studio 2019
    Запускайте второй ярлык.
    Ответ написан
    Комментировать
  • Что значит поддержка проекта?

    Griboks
    @Griboks
    Поддержка или сопровождение проекта - это техническая поддержка, которая включает доработку и исправление ошибок + ещё несколько вещей, но конкретный перечень услуг надо уточнять в договоре. Подробнее.
    Ответ написан
    Комментировать
  • Почему такие дешевые видеокарты?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    1. НИКОГДА не покупайте ничего в магазинах, у которых нет нормальных контактов. А в идеале реального адреса магазина с улицей, домом, куда можно прийти и купить живьем.

    2. Обращайте внимание на контакты - если там даже телефон не указан, а будет только обратный звонок, это должно насторожить потенциальную жертву

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

    alexgp13
    @alexgp13
    Руководитель ИТ-проектов
    Если есть голова, то месяца достаточно, чтобы освоить азы синтаксиса Java и научиться собирать приложения в Android Studio, благо, уроков в интернете море, да и официальные инструкции вполне понятные.
    не знаю, на кого Вы учитесь, но, судя по наличию приложения в курсовой и незнании языков, учат Вас очень плохо.
    Изучайте:
    https://developer.android.com/
    Ответ написан
    2 комментария
  • При попытке установить ругается на сломанные пакеты. Как вылечить linux?

    svsd_val
    @svsd_val
    Разработчик & администратор M$, GNU/Linux
    Тут всё просто у вас есть пакеты не из бастера, вам нужно создать pref файл и указать что бастер имеет приоритеты выше чем левые репозитории и если нужно с возможностью удаления не корректных зависимостей и всё у вас заработает.
    записать в файл /etc/apt/preferences.d/buster.pref
    Package: *
    Pin: release n=buster
    Pin-Priority: 1001

    Но учтите что это может понизить версии многих пакетов и часть из них могут быть удалены если нет возможности поставить их с бастера.... Либо можете поставить приоритет у другого репозитория и всё будет ставиться как укажите. В любом случае вам нужно почитать про приоритеты.
    Ответ написан
    Комментировать
  • Идеальный алгоритм вёрстки сайта?

    delphinpro
    @delphinpro Куратор тега Вёрстка
    frontend developer
    В целом согласен. До пункта №7.

    Я обычно придерживаюсь принципа верстки независимыми блоками.
    Поэтому после анализа макетов, я делаю одну-две-три (смотря по объему макетов) вспомогательных страниц, на которых верстаю:

    1. Базовые элементы. Общая типографика, кнопки, ссылки и т.п.
    2. Общие блоки. То что повторяется на нескольких страницах и/или может быть переиспользовано, какие-то виджеты, менюшки, и т.п.

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

    Для этого всё закидываю на гитхаб-пейдж, чтобы по ссылке я мог открыть с телефона или попросить знакомого проверить на другой ОС c телефона


    Это лишняя трата времени. Пусть небольшая, но все же. Плюс, отслеживать качество верстки все-таки удобнее в процессе, а не по окончании подкручивать.
    Поэтому используем browser-sync. Поднимается сайт, доступный по IP в домашней локалке с любого устройства. Совет: использовать всегда один порт в browser-sync, а на устройствах сделать закладки на этот адрес. Любой сайт, который в данное время разрабатывается, открывается одним тапом по закладке.
    Кроме того BS дает бонус в виде синхронизации действий сразу на всех устройствах: клики, прокрутка, ввод. Это мега-удобно — кликаешь на компе, краем глаза смотришь в планшет и телефоны, сразу видишь там все изменения и поведение.

    Всё готово, сжимаю CSS, JS. через веб-сервисы.


    Опять тратите время. Настроенный Gulp в одну команду проделает все оптимизации (на больших проектах даже кофе можно успеть сделать, пока собирается билд=).

    Еще обратите внимание на инструмент lighthouse в инструментах разработчика.

    скриншот
    608fcaa260f31153020142.png


    Не нужно никуда сайт заливать, чтобы проверить на доступность, производительность и т.п.

    Про CMS ничего не скажу. Клиенту удобнее кнопочки тыкать в условном вордпрессе.

    Я не упомянул SASS-фигас и т. д, так как не увидел практической пользы для проектов на 1-15 страниц.


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

    Ну вот зачем PUG? Как конкретно он помогает на небольших проектах 1-15 шаблонов страниц.


    Помогает. Нет, конкретно Pug я очень не люблю. Но другой, более "хэтээмэльный" шаблонизатор бывает полезен. Я уже упомянул выше о верстке независимыми блоками. Шаблонизатор позволит не копипастить эти блоки, а использовать их как компоненты.

    Префиксы? В кодовом редакторе они и так есть.


    Я считаю, что исходный код должен быть чистым, без префиксов. Это лишний визуальный мусор. Пусть лучше автопрефиксер этим занимается. К тому же этот плагин использует актуальную базу caniuse на основе вашего .browserlist. Пусть профит и не большой, но все же поменьше на выходе неактуальных свойств.
    Ответ написан
    2 комментария
  • Как вывести ключи и значения вложенных словарей?

    Убери статус "Я знаю язык программирования Python 50/50)", 50 процентов это слишком много, без обид, но оно так и есть, вот почитай: https://docs.python.org/3/
    for dict_ in data.values():
         for key, value in dict_.items():
               print(f"{key}: {value}"
    Ответ написан
    Комментировать
  • Отдельный VPS для защиты от DDOS?

    Sanasol
    @Sanasol
    нельзя просто так взять и загуглить ошибку
    В образовательных целях может стоит в гугле почитать тогда?
    ДДОС никуда нельзя деть полностью, чтобы защититься надо понять что вы хотите защитить и от какого типа ддоса.

    Если речь про самый простой когда тупо забивают весь интернет канал, то единственная защита это иметь интернет канал больше чем мощность ддос атаки. На коленке через VPS это никак не сделать.

    Всё что можно отбить софтом это не ддос, а баловство которое обычно через iptables/fail2ban лечится или капчей на сайте.

    В общем нет никакого софта чтобы понять что это ддос и что-то с ним сделать.
    От ддоса у вас просто всё ляжет, остальное это спам который лечится уже в зависимости от того что за софт у вас и т.д.
    Ответ написан
    Комментировать
  • Как сделать так, что бы нумпадовская точка всегда писала бы точку, а не запятую при используемых 3 раскладках?

    @Konf
    Редактирую ответы на 2 + 2 по 4 раза
    Это можно сделать с AutoHotkey - утилита для автоматизации выполнения задач

    1. Для начала надо где-нибудь создать папку где будут лежать файлы скрипта
    Структура папки готового скрипта

    608d4ddd3689d161442144.png

    2. Затем надо скачать компилятор AutoHotkey. Прямая ссылка: тут
    В корне архива надо выбрать AutoHotkeyU32.exe или AutoHotkeyU64.exe
    Выбор зависит от разрядности Windows
    Через этот файл запускаются все AHK скрипты

    3. Сам скрипт будет выглядеть как-то так:

    script.ahk
    #NoEnv
    SendMode Input
    SetWorkingDir %A_ScriptDir% 
    #SingleInstance force
    #Persistent
    Menu, Tray, Tip, % "AHK: Закрепить точку нампада"
    
    
    NumpadDot::
      Send .
      Return

    Код скрипта нужно скопировать в любой текстовый редактор и сохранить с расширением .ahk
    Запустить скрипт можно "перетащив" файл скрипта в файл AutoHotkey.exe
    Иконка скрипта появится в трее Windows
    Подробнее про каждую строку скрипта можно найти
    в поиске по документации
    608d5479103a8554424084.png


    4. Для удобства, чтобы всё время не "перетаскивать" файл скрипта на файл AutoHotkey.exe, стоит создать vbs скрипт, который будет запускать скрипт не показывая командную строку...

    fixed-num-dot.vbs
    opener = ".\AutoHotkeyU64" ' предположим что разрядность Windows = 64
    file = ".\script.ahk"
    
    set WShell = WScript.CreateObject("Wscript.Shell")
    WShell.Run  opener & " " & file, 0, false

    На этом всё. Ярлык на vbs скрипт можно вывести на рабочий стол или даже в папку автозагрузки
    Ответ написан
    4 комментария
  • Как узнать какой процесс запускает кнопка в windows 10?

    KoyaKoya
    @KoyaKoya
    IT Lover
    1. Запускаем PowerShell от имени администратора.
    2. Вставляем команду:
    Disable-PnpDevice -InstanceId 'device'

    3. В Диспетчере устройств, в Свойствах устройства идем на вкладку Сведения, в списке Свойство выбираем Путь к экземпляру устройства и копируем значение.
    4. В PowerShell вставляем скопированное значение в нашу команду вместо слова device (кавычки должны остаться).
    5. Подтверждаем выполнение, введя [Y].

    Чтобы включить обратно устройство, в команде меняем Disable на Enable.
    Вы можете сделать из этого скрипт и по ярлыку выполнять это действие.
    Ответ написан
    1 комментарий
  • Не будет гонки и повреждения данных в памяти?

    @falconandy
    По-моему вы переусложняете без необходимости. Если значения из конфига только читаются, то потокобезопасность не нужна. Если же у вас предполагается еще и изменение, то в пул возвращаются указатели на "порченные" объекты, что тоже неправильно.
    Если возможно, конфиг лучше прочитать в начале выполнения, а также паниковать на уровне main.
    В результате и код проще, и тормозить нечему:
    package config
    
    import (
    	"encoding/json"
    	"fmt"
    	"os"
    )
    
    type Cfg struct {
    	// Fields
    }
    
    var (
    	cfg *Cfg
    )
    
    func Config() *Cfg {
    	return cfg
    }
    
    func LoadConfig() error {
    	f, err := os.Open("./config/config.json")
    	if err != nil {
    		return fmt.Errorf("can't open config file: %w", err)
    	}
    	defer f.Close()
    
    	dec := json.NewDecoder(f)
    	var c *Cfg
    	if err := dec.Decode(c); err != nil {
    		return fmt.Errorf("can't decode config file: %w", err)
    	}
    
    	if err := validate(c); err != nil {
    		return fmt.Errorf("can't validate config file: %w", err)
    	}
    	
    	cfg = c
    
    	return nil
    }
    
    func validate(cfg *Cfg) error {
    	// Logic
    	return nil
    }
    Ответ написан
    Комментировать
  • MikroTik. Разрывы связи каждые пару минут?

    @nApoBo3
    Уровень лога info не достаточен в данном случае, нужен debug.
    Но предположу, что перегружен канал из-за этого падает туннель.
    Делайте qos и посмотрите, что у вас так аплодит, не исключено, что кто-то в офисе или стримит, или "торрентит".
    Ответ написан
    Комментировать
  • Как управлять биткоином через сайт?

    @PapaStifflera
    Родился, вырос...
    Вы совсем не умеете пользоваться поисковыми системами? Ответ на ваш вопрос легко ищется по ключевым словам
    PHP и BITCOIN.
    Документация по API: https://en.bitcoin.it/wiki/API_reference_(JSON-RPC)
    Одна из библиотек: https://github.com/Bit-Wasp
    Ответ написан
    Комментировать
  • Asus zenfone max pro m1 не включается, мастера тут есть?

    15432
    @15432
    Системный программист ^_^
    у вас есть оборудование для выпаивания, реболла и замены BGA чипов? микроскоп, трафареты, паяльная станция?

    в домашних условиях самое простое - купить новую плату на разборе и заменить её в телефоне, и то бывают ситуации, когда даже разобрать и собрать телефон - целое приключение
    Ответ написан
    3 комментария
  • Вредны ли для роутера еженедельные перезагрузки?

    Keffer
    @Keffer
    ICANN
    эта функция - перезагрузки по расписанию, присутствует в самых дешевых китайских копеечных роутерах. Потому что без перезагрузок периодических они тупо зависают. Задача - перезагрузить раньше, чем случится зависание. Вместо того чтобы пилить годное железо и прошивку, китайские кодеры пошли по пути наименьшего сопротивления, рестарт программный.
    Ответ написан
    Комментировать
  • Маркетинговые ходы вокруг языка Ассемблер?

    @galaxy
    Ведь опытные программисты укладываются в набор команд 8086
    Нет. Лет 30 уже никто не пытается уложиться в 8086. Наоборот, если уж берутся писать на ассемблере, то часто с целью использования каких-то железо-зависимых вещей.

    Как и программы на Си, программы на Ассемблере нужно пересобирать под каждую следующую платформу. Разве нет?
    Что вы вкладываете в слова "новая платформа"?
    Другая ОС? - да, надо пересобирать, и часто менять, ведь API разных ОС отличается. При этом C часто позволяет исходный код программы не трогать, т.к. функции стандартной библиотеки, POSIX API предоставляют платформонезависимый интерфейс. А вот в программе на asm соответствующий код придется переписать.

    Новая версия ОС? - здесь есть свои нюансы, но собранная статически программа обычно прекрасно работает на протяжении многих поколений ОС (вы же не загружаете новую версию, допустим, игры под каждую версию Windows? Взять вон diablo 2 - как работала она под Win 98, так же отлично тот же бинарник заведется в Win 10).

    Новый процессор? - эти вообще паталогически обратно совместимы. Код, написанный или скомпилированный чисто под 30-летний 386 будет работать на i9 (при условии совместимости по пунктам выше).

    Возвращаясь к первоначальному вопросу: вы, видимо, не понимаете или не придаете значения тому, что существуют не только x86 процессоры. Изначально ЯП высокого уровня разрабатывались именно с целью абстагировать код программы от конкретного железа. В 60-80-е годы не было единой и даже какой-то одной распространенной железной платформы, что же прикажете, допустим, стандартные утилиты Unix переписывать каждый раз с начала и до конца на новом (подчеркну, НОВОМ, другом) ассемблере?
    Даже сейчас, когда вроде бы кругом x86, есть Itanium (ну ок, был в недавнем прошлом), ARM (в виде нескольких версий архитектуры и огромном количестве железных воплощений), где-то теплятся SPARC и PowerISA. Наконец, микроконтроллеры (привет ардуинщикам).

    Коротко: ЯП высокого уровня (не только C) позволяются абстагироваться (до определенных пределов) от железа и от ОС и не менять исходный код программ при переносе на другую платформу, ограничиваясь механической процедурой перекомпиляции.
    Ответ написан
    7 комментариев
  • Маркетинговые ходы вокруг языка Ассемблер?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Сразу видно человека, который ни Таненбаума не читал, ни даже Википедию не открыл. Ассемблер это не язык, это транслятор инструкций в машинный код. Ассемблеров ровно столько же столько аппаратных архитектур. Инструкций для одного процессора не будет в другом процессоре и они не взаимозаменяемые. Это самый низкий уровень где нет абстракций (немного утрирую, но по отношению к другим языкам это так)
    Ответ написан
    Комментировать