Задать вопрос
  • Почему переменную не видно внутри iife?

    @historydev Куратор тега JavaScript
    Mistkerl, drück den Knopf.
    Потому-что точки с запятой ставить нужно.
    const url = 'https://jsonplaceholder.typicode.com/todos/1';
    
    (async () => {
    	
    	console.log(url)
    })()
    Ответ написан
    Комментировать
  • Доход от мобильных приложений для одиночки?

    anmipo
    @anmipo
    Интересно, можно ли сейчас в одиночку зарабатывать на своем приложении сумму, сопоставимую с зарплатой разработчика на фуллтайм?


    Да, можно. Только для этого нужен нишевый продукт, доступ к целевой аудитории, везение, и несколько лет.

    Я когда перешёл на iPhone обнаружил, что там нет приличного приложения, совместимого с KeePass (которым я давно пользуюсь). В мире 1Password и Bitwarden, KeePass — удел гиков и технарей. То есть имеем нишу "пользователи KeePass, которые сидят на iOS".

    Полистал реддит. В 2018 году r/KeePass имел 1500 подписчиков, которые регулярно спрашивали "А чем пользоваться на iOS?" и получали в ответ "А нечем, всё тлен". То есть имеем доступ к глазам сотен людей, у которых есть эта проблема.

    Начал писать своё приложение по вечерам. Где-то через полгода в одном из свежих постов "а чем пользоваться?" обронил комментарий "Я пишу новое приложение, свистите в личку, если хотите потестить". За месяц у меня было 40 бета-тестеров.

    Летом 2019 был релиз. За монетизацию подпиской меня, конечно, сильно критиковали. Но одни критиковали, а другие подписывались. Я считаю, повезло — пользователи KeePass привыкли к бесплатному ПО.

    Два-три года спустя приложение стало генерить полноценную зарплату и я перешёл в автономный полёт. Пока полёт нормальный :)

    Где копать дальше и набираться вдохновения

    Если английский не проблема, в интернетах есть и сообщества (IndieHackers), и интервью с создателями, как успешными (Startups for the rest of us) так и не очень (Failory).

    Меня в своё время вдохновил блог автора fman.io — эдакая история разработчика, который замахнулся сделать свой файловый менеджер и продавать его. Он таки не взлетел, но на пике генерил $500 в месяц.

    Ещё очень полезной была книга Start Small, Stay Small: A Developer's Guide to Launching a Startup (автор Rob Walling). Да, она 2010 года, но написана для человека который умеет писать код, и в принципе больше ничего. Как выбрать проблему, как оценить её перспективность (нет, не у друзей поспрашивать), как выставлять цены — ну, в общем, всё, к чему типичного программиста жизнь не готовила.
    Ответ написан
    1 комментарий
  • Игра Сталкер Зов Припяти и ноутбука 2005г.?

    Раз жалуется на малое количество оперативки - увеличь файл подкачки.
    Но тк даже по минимальным системным требованиям требуется в 2 раза больше видеопамяти - "логать" не перестанет.
    Ответ написан
    3 комментария
  • Поможет ли изучения C++ выучить C#?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Это 2 Си подобных языка, они очень похожи, за исключением управления памятью.
    Чем С++ вам поможет:
    * Понимание как работает память, это кстати поможет разобраться как работает GC а это важно
    * Дженерики
    * Лямбды
    * Наследование, да и вообще все принципы ООП
    * Как работает ОС (тут правда с) но для вызова PInvoke как минимум нужно это знать
    Ответ написан
    Комментировать
  • Поможет ли изучения C++ выучить C#?

    Хорошее понимание C++ значит хорошее понимание работы компьютера, памяти, ОС.
    На понимание C#, кмк, знание C++ влияет не очень сильно. Хотя мб какие-то моменты в C#, после плюсов будут казаться невероятно удобными и понятными, почему они сделаны именно такими
    Ответ написан
    2 комментария
  • Seagate Expansion Plus 1TB - Возможна ли замена гермоблока или его отдельное испльзование?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Это обычный HDD с SATA-интерфейсом. Ничего специального в нём нет. Меняется на любой другой HDD или SSD с SATA.
    Ответ написан
    4 комментария
  • OS desktop для слабого VPS (512Ram 5Gb)?

    ValdikSS
    @ValdikSS
    https://notes.valdikss.org.ru/linux-for-old-pc-fro...
    https://www.linux.org.ru/gallery/workplaces/16862790
    На фотографии представлен веб-браузер Qutebrowser с 7 открытыми вкладками, в режиме работы с QtWebkit. Как видно, даже с 7 вкладками (2 из которых ­— страницы Википедии с большим количеством картинок) браузер потребляет около 140 мегабайт, что позволяет комфортно сёрфить интернет на смешных 512 МБ RAM.
    Из других браузеров, до сих пор поддерживающих QtWebkit, можно отметить Otter Browser и KDE’шный Konqueror, который дополнительно поддерживает еще и KHTML (3 движка в одном браузере), но в Debian собран только с WebEngine. Первый в репозиториях Debian не присутствует.
    Браузер Seamonkey, актуальная версия которого построена на базе движка из Firefox 60, работает более-менее сносно, но не блестяще — рендерит дольше QtWebkit’а примерно в 2-3 раза, потребляет заметно больше памяти, зато работает со всеми современными сайтами. Можно использовать в качестве запасного варианта, когда QtWebkit не справляется.
    Ответ написан
    3 комментария
  • Интеграция C++ в Electron'е?

    C++ умеет компилироваться в wasm, а wasm умеет работать с канвасом через webgl.

    Но, ИМХО, если идти в эту сторону, то использование какого-нибудь tauri+Rust выглядит разумнее, чем Electron + C++
    Ответ написан
    1 комментарий
  • Не включается пк после первой сборки, что стало причиной?

    @nehrung
    Не забывайте кликать кнопку "Отметить решением"!
    3. Если БП нормально прошёл тест с измерением напряжений, далее надо разбираться, почему не вертится кулер. Во многих продвинутых БП кулер крутится не постоянно, а меняет обороты в зависимости от температуры внутри БП. Вхолостую, т.е. без электрической нагрузки, он не вертится, потому что БП на холостом ходу не греется. Значит, организуйте ему эту нагрузку - подключите между жёлтыми и чёрными проводами что-нибудь 12-вольтовое (например, галогеновые лампочки накаливания мощностью этак ватт на сто, только не держите их в руках - обожжётесь). Если всё ОК, то через некоторое время после включения кулер обязан завертеться.
    4. Если с кулером всё ОК, то далее надо искать, какой из подключаемых к БП девайсов создаёт ему короткое замыкание и срабатывание защиты. Начните с тех же самых индикаторов на корпусе, затем подключите по очереди дисковые устройства, и напоследок материнку. То устройство, при подключении которого опять вернётся ваша неприятность, несите продавцам для обмена по гарантии.
    Ответ написан
    Комментировать
  • Что делать если не включается новый пк?

    CityCat4
    @CityCat4
    Дома с переломом ноги
    1. Проверка БП (автономно). Закоротить две ноги разьема (какие, на память не скажу, гугл подскажет). Если БП запустился - живой.
    2. Проверка старта матери. Закоротить ноги на разьеме матери, где кнопка питания. Если БП автономно заводится, а на матери нет - возможно КЗ на корпус, защита срабатывает. Если БП стартует и выключается через пару секунд - однозначно КЗ на корпус.
    3. Если БП стартует ровно, вентиляторы работают, но изображения нет - откинуть кулер, запустить, держа палец на проце. Если не чувствуется нагрев - проц или дохлый или не стартует.
    4. Если нагрев есть, вынуть память и стартовать БЕЗ памяти - система должна непрерывно пищать
    Ответ написан
  • Какой бесплатный VPN для Ubuntu посоветуете?

    Adamos
    @Adamos
    Если вы поднимаете свой сервер - wireguard.
    Если хотите чужой халявный - ну, нагуглите, какой. У того, который я нашел первым же (но не помню названия), была даже инструкция для Ubuntu - как установить vpn-плагин к Network Manager и что в него прописать. Соответственно, включается и выключается этот VPN с иконки сетевого соединения в трее, вариант для чайников.
    Ответ написан
    Комментировать
  • Какие есть анализаторы трафика?

    @q2digger
    никого не трогаю, починяю примус
    NetLimiter , использую долгие годы. https://www.netlimiter.com/products/nl4
    Ответ написан
    7 комментариев
  • Как сбрасывать windows при каждом запуске устройства?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    На ум приходит Shadow Defender, но прога платная, или как минимум была.
    Впрочем, есть бесплатные аналоги, но навскидку не вспомню.
    Ответ написан
    Комментировать
  • Возможно ли изменять windows 10 с помощью c++?

    Adamos
    @Adamos
    Это возможно с помощью байтов и битов.
    Изучайте байты и биты, у них огромные возможности.
    Ответ написан
  • Мотор включается от 5V но не включается от пинов Ардуино?

    @evgeniy_lm
    Абалдеть!!! Может вам стоит отложить ардуину и моторчик в сторону и заняться изучением теории. В частности узнать что такое напряжение и ток.

    Моторчик игрушки потребляет ток без нагрузки 50-100мА, а с нагрузкой до 1А. Про стартовый ток я вообще молчу. В то же время максимальный ток с выхода максимум 40мА.
    Ответ написан
    5 комментариев
  • Литература по этапу инициации IT стартапа?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Учебники по маркетингу и экономике.
    Ответ написан
    3 комментария
  • Почему при подключении сдд через карман в двд (asus x541) пропадает звук?

    xez
    @xez
    TL Junior Roo
    Маловероятно, что напряжения не хватает.
    Скорее всего при сборке/разборке где-то что-то пошло не так.
    Ответ написан
    1 комментарий
  • С чего начинать?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    кафедра радиофизики. ну извиняйте нагрузят вас там достойно, но жаловаться не будете
    Ответ написан
    Комментировать
  • Как создать объект с регистронезависимыми ключами?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Если завернуть объект в Proxy, можно будет изменять ключи при обращениях к объекту:

    const obj = new Proxy({}, {
      get(target, key) {
        const lowerKey = key.toLowerCase();
        return target[Object.hasOwn(target, lowerKey) ? lowerKey : key];
      },
      set(target, key, val) {
        target[key.toLowerCase()] = val;
        return true;
      },
      has(target, key) {
        return key in target || key.toLowerCase() in target;
      },
      defineProperty(target, key, descriptor) {
        return Object.defineProperty(target, key.toLowerCase(), descriptor);
      },
      deleteProperty(target, key) {
        return delete target[key.toLowerCase()];
      },
      getOwnPropertyDescriptor(target, key) {
        return Object.getOwnPropertyDescriptor(target, key.toLowerCase());
      },
    });
    Ответ написан
    1 комментарий