Вы разработчик с небольшими или недостаточными ресурсами?

  • Вы постоянно чувствуете разочарование из-за этой недостаточности?
  • Хотите узнать, как максимально эффективно использовать эти ресурсы?

Хочу поделиться своей 4-летней историей о том, как я работал разработчиком на слабом ПК. Это было непросто, но я довел свой ноутбук до предела.

Мой папа дал мне свой ноутбук

Это был июнь 2020 года. Я только что закончил A-levels. Я встретил очень интересного парня, который создавал простые приложения на Python. Мне сразу же начали сниться мои предыдущие попытки изучения программирования. Вернувшись домой, я попросил у папы ноутбук, чтобы попрактиковаться в Python. Примерно через неделю он мне говорит: «Кажется, тебе нужен ноутбук, ты можешь оставить его на постоянной основе».

В моем сердце зажегся огонь. Я провел бесчисленное количество часов, изучая учебники на YouTube. Иногда я переключался между Python, HTML и CSS. Внезапно я следил за учебником senddex по созданию чат-бота NLP. Потом начали сыпаться ошибки.

Мой первый опыт работы с Android Studio

В сентябре 2019 года я поехал на свою первую техническую конференцию. Я встретил старого разработчика. Он занимался программированием еще до того, как мои родители задумали меня зачать. Он был открыт для наставничества новых разработчиков. Я сразу подписался. Он начал знакомить меня с Java и проектированием баз данных в Microsoft Access.

Затем он решил, что мы должны попробовать разработать мобильное приложение.

Нужна Android Studio.

Разочарование, через которое я прошел, было за пределами рассуждений. От нагревания моего ноутбука до кричащих в отчаянии фанатов — это было невыносимо. Мне приходилось много раз перезагружать компьютер во время одного сеанса разработки.

Затем я начал узнавать о флаттере и дартсе и решил вместо этого попробовать. Опыт был немного проще, потому что мне не нужно было открывать Android Studio.

Я продолжал программу наставничества до марта 2020 года, когда мне пришлось вернуться домой из-за пандемии COVID.

Моя первая работа веб-разработчика и переход на Linux

Я получил свою первую работу в области веб-дизайна в октябре 2020 года. Я получил ее от брата-христианина, который руководил образовательным учреждением. Я переехал в штат Ибадан, где находилась компания. Это было потому, что я тоже собирался работать инструктором по программированию. Подробнее здесь.

Я всегда слышал, что переход на Linux освободит много оперативной памяти. «Производительность увеличится». Кроме того, я начал интересоваться CyberSecurity. Я решил перейти на Кали Линукс.

У меня не было возможности сделать резервную копию моих файлов. К сожалению, мой аккумулятор был очень плох. Также часто отключали электричество. Дважды я пытался использовать Gparted для разделения диска. Электричество отключилось, и мои файлы не проиндексировались (как будто файлы были удалены. На самом деле они все еще были в памяти, просто недоступны через графический интерфейс).

Я отказался от файлов и отформатировал весь диск. Я решил перейти на Кали Линукс. Процесс установки прошел достаточно гладко. Я был в восторге. Спектакль был намного лучше, но не так уж лучше. Но было лучше.

Я также был счастлив, потому что теперь я мог экспортировать приложения Android в iOS.

Спектакль через некоторое время начал нырять в нос.

Моя первая поломка линукса

В начале 2021 года я вернулся в университет. Я работал над проектом в javascript.

Начали появляться проблемы с Linux. Пока я пытался установить некоторые пакеты npm, я продолжал получать ошибку chown. У него не было необходимых разрешений. Разрешение на доступ к месту, где установлены пакеты. Местоположение было /usr/local/bin. Я бы подумал, что его нужно было установить в доступную для записи папку. Это было то, что я ожидал, потому что я установил npm с помощью apt. Вспоминая об этом, возможно, проблема была бы решена, если бы я удалил глобальный флаг (-g). Это приводит к установке пакетов npm во всей системе.

Пытаясь исправить ошибку, я исследовал Google. кто-то посоветовал мне запустить sudo chown -R имя пользователя: имя пользователя. Я запустил это, и конец пришел. Я пробовал запускать приложения на своем компьютере, и они не запускались. Позвольте мне сломать команду.

  • sudo означает суперпользователь. Это как администратор в винде
  • chown меняет владельца файлов и каталогов.
  • -R означает рекурсивный. Примените команду к каждому файлу в каждом подкаталоге в этом каталоге.

Файлы в /usr/local/bin были исполняемыми. Некоторые из них были автономными, а другие зависели от других приложений. Итак, все приложения сломались.

Причина заключалась в том, что эти файлы принадлежали пользователю root и могли запускаться только пользователем root. Даже команда sudo была в каталоге. Поэтому я не мог отменить команду.

Если бы я только запускал рекурсив только в папке npm.

Позже мне удалось ее решить. Я сделал живой USB и использовал его собственный непрерывный sudo, чтобы изменить владельца файлов обратно на root. Я скоро напишу об этом статью.

Мой первый раз со стартапом

Перенесемся в июль 2022 года. Теперь я обосновался в Литве. Я уехал из Нигерии. Всю зиму и весну я искал работу, и вот, наконец, летом у меня появилась работа в стартапе.

Они создавали SAAS для малого и среднего бизнеса. SAAS удовлетворит все потребности их бизнеса. Такие потребности, как доставка, инвентарь, квитанции, цифровые продукты и т. д.

Мне дали кодовый сервер. Среда VS Code онлайн. Мне не пришлось делать какую-то сумасшедшую настройку среды разработки. Это также помогло моему компьютеру выдержать нагрузку.

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

Затем основатель дал мне один из своих старых ноутбуков с 8 ГБ оперативной памяти. Пока он у меня был, это творило чудеса в моей жизни.

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

Работа с компанией в Германии

Проекты, которые мне здесь давали, обычно были очень легкими. Это было просто написание скриптов на Python на основе файла Excel. Сценарий Python создавал файл конфигурации JSON для промышленных датчиков.

Я набросал несколько отличных сценариев и очень быстро прорабатывал их всякий раз, когда мне давали задание. Я не стала спрашивать, могут ли они помочь с компьютером. Мой компьютер работал нормально, если я просто использовал легкую IDE, например возвышенный текст.

Мой контракт был расторгнут в ближайшее время. 2 месяца. Технический директор поставил передо мной задачу, с которой я не мог справиться быстро. Он дал мне дизайн-документ, но в то время у меня также были вопросы. К счастью, следующая работа, за которую я возьмусь, уже была в разработке.

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

Работа с провайдером IAAS на Upwork

Эта работа упала мне на колени. Я только что нашел запрос Upwork на мои услуги. Убедитесь, что все ваши онлайн-платформы для поиска работы актуальны и привлекательны. О том, как это сделать, я пишу для Linkedin здесь.

В данном случае я разрабатывал систему IAAS, очень похожую на Linode. Мы также создавали общие системы выставления счетов. Мне пришлось перемещать данные в MySQL.

Опять же, нагрузка была не настолько велика, чтобы мой компьютер не выдерживал ее. Это не помешало моему компьютеру время от времени зависать.

Запись видео для ютуба

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

Я не открываю больше, чем OBS, приложения для потоковой передачи аудио и Chrome. Иногда я быстро открываю какое-то приложение, которое мне нужно на мгновение, и закрываю после его использования. Особой мудрости в этом не было. Мне просто очень повезло во время записи.

Зависание компьютера произошло только во время редактирования, которое мне больше не нужно делать. У меня есть надежный брат-христианин, который теперь делает это за меня.

Как я выживаю сейчас и как вы можете выжить?

  • ОС: Удалите раздувание, если хотите остаться на Windows. Christitustech имеет для этого большие ресурсы. Лучше сменить ОС на Linux. Ваша оперативная память меньше загружена системными службами, например, в Windows. Меньше раздутых пакетов. Установите только самые необходимые пакеты и удалите остальные. Обновляйте свой Linux ежедневно/еженедельно. Сделайте это, чтобы получить новые оптимизации ядра и различного программного обеспечения. Как это сделать? Я выпускаю видео на YouTube в ближайшее время. В прошлом году скорость одного драйвера ядра увеличилась в 1000 раз.
  • IDE: используйте возвышенный текст и терминал или изучите vim. Чем ближе вы подходите к терминалу, тем меньше нагрузка на ваш компьютер. Когда я ничего не знал о кодовых серверах, я изучил и использовал vim для создания крупных проектов. Я бы открыл только терминал и браузер. Когда проекты требовали некоторой утонченности, такой как мобильная разработка Flutter, я использовал возвышенный текст.
  • Code Server: Это спасение. Это полноценная среда Linux, в которой я могу писать и запускать код. Вы можете установить его бесплатно у многих облачных провайдеров, если у вас есть их бесплатный уровень. Когда уровень бесплатного пользования закончится, зарегистрируйтесь снова и используйте уровень бесплатного пользования. Для тех, у кого нет бесплатного уровня, найдите промо-коды от YouTubers. Хороший способ использовать один и тот же адрес электронной почты для регистрации несколько раз — использовать адрес электронной почты + любое_слово@provider.com. Я могу использовать [email protected] и [email protected] на адресе электронной почты [email protected]. Я не знаю, есть ли у других провайдеров такая функция, но у Gmail она есть. Я сделаю полное прохождение по этому позже. Единственным недостатком может быть отсутствие доступа к Интернету. Но если бы у вас завалялся старый компьютер, вы могли бы превратить его в сервер и получить к нему доступ локально, а не через Интернет. Хорошо то, что с несколькими ГБ ОЗУ сервер Code работает на удивление хорошо.
  • Обучение ИИ: когда мне нужно было обучить ИИ для некоторых личных проектов, я пошел в Google Colab. Я изменил среду выполнения на GPU и закончил обучение. Не пытайтесь повторить это на своем ПК с 4 ГБ ОЗУ.
  • Браузеры: используйте браузер Opera для очень низкого использования оперативной памяти. Однако Opera не позволяет вести прямые трансляции. Вы также можете попробовать Chromium, который дает вам хромированные функции, но на более низком уровне оперативной памяти. Chrome теперь немного легче, просто убедитесь, что у вас не открыто более 2-3 вкладок одновременно.
  • Расширения браузера: вам не нужно больше 5–7 расширений, если только они не являются действительно легкими расширениями. Вы можете использовать диспетчер задач для просмотра использования оперативной памяти расширениями. В хроме нажмите Shift+Esc
  • Забудьте о красоте: вы все еще можете получить ее с Fedora или пользовательской оболочкой рабочего стола. Но просто оставьте это, так как это использует больше оперативной памяти. Сосредоточьтесь на скорости, а не на красоте.

Вот основные принципы мышления человека с недорогим ПК:

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

Присоединяйтесь ко мне на YouTube, чтобы вы могли ознакомиться со всем, что я здесь сказал.

Присоединяйтесь ко мне в моей рассылке новостей, чтобы получать больше статей.

Вы никогда не пропустите обновление, когда я опубликую статью. Если у вас нет премиального среднего членства, я также буду публиковать статьи там.

Secundum Allos Parakletos

Повышение уровня кодирования

Спасибо, что являетесь частью нашего сообщества! Перед тем, как ты уйдешь:

  • 👏 Хлопайте за историю и подписывайтесь на автора 👉
  • 📰 Смотрите больше контента в публикации Level Up Coding
  • 🔔 Подписывайтесь на нас: Twitter | ЛинкедИн | "Новостная рассылка"

🚀👉 Присоединяйтесь к коллективу талантов Level Up и найдите прекрасную работу