Про "войтишников"
В последнее время все чаще сталкиваюсь с людьми, которые идут в IT только ради денег. Сейчас очень популярно стало «войти в айти». Огромное количество бесплатных и платных курсов, предлагающих за 2 часа стать гуру программирования, только подогревают интерес новичков.
Вот только есть один маааленький нюанс, хотя если разобраться, не один.. Но для начала, вам должно это нравиться! Если вы хотите войти в айти только из-за денег - ничего из этого не получится)) Вы потратите время, нервы и бросите это дело. Те, кто говорят, что зарабатывать программистом легко - врут. Мозг настолько устает, что иногда уже перестаешь понимать где реальность..
А ещё, в зависимости от сферы IT, нужно обладать определенными качествами. Если вы хотите стать программистом - нужно иметь математический склад ума, уметь анализировать, прогнозировать, продумывать различные варианты возможных ситуаций. Если решите стать дизайнером - нужно обладать хорошим вкусом, следить за трендами и вообще быть творческим человеком. И тд. и тп...
И запомните, деньги в айти есть, но до них нужно дорасти, как и в любой другой сфере. А если вам кто-то обещает чудо курс, после которого вы начнёте получать тысячи $ - вас тупо разводят 😁
В начале своей карьеры я делал работу и бесплатно, ради опыта, дополнительно зарабатывая положительные отзывы от довольных клиентов. Я очень любил то, что делаю и это очень помогло мне в профессиональном росте. Удачи вам, друзья, и занимайтесь тем, что вам нравится! 😉
В последнее время все чаще сталкиваюсь с людьми, которые идут в IT только ради денег. Сейчас очень популярно стало «войти в айти». Огромное количество бесплатных и платных курсов, предлагающих за 2 часа стать гуру программирования, только подогревают интерес новичков.
Вот только есть один маааленький нюанс, хотя если разобраться, не один.. Но для начала, вам должно это нравиться! Если вы хотите войти в айти только из-за денег - ничего из этого не получится)) Вы потратите время, нервы и бросите это дело. Те, кто говорят, что зарабатывать программистом легко - врут. Мозг настолько устает, что иногда уже перестаешь понимать где реальность..
А ещё, в зависимости от сферы IT, нужно обладать определенными качествами. Если вы хотите стать программистом - нужно иметь математический склад ума, уметь анализировать, прогнозировать, продумывать различные варианты возможных ситуаций. Если решите стать дизайнером - нужно обладать хорошим вкусом, следить за трендами и вообще быть творческим человеком. И тд. и тп...
И запомните, деньги в айти есть, но до них нужно дорасти, как и в любой другой сфере. А если вам кто-то обещает чудо курс, после которого вы начнёте получать тысячи $ - вас тупо разводят 😁
В начале своей карьеры я делал работу и бесплатно, ради опыта, дополнительно зарабатывая положительные отзывы от довольных клиентов. Я очень любил то, что делаю и это очень помогло мне в профессиональном росте. Удачи вам, друзья, и занимайтесь тем, что вам нравится! 😉
Привет, друзья! Коллекция моих ботов пополнилась очередным музыкальным ботом @imuzzbot.
Вот за что я люблю телеграм - так это за всё😁 И общаться в нем удобно, и стикеры зачётные, и ботов делать одно удовольствие.
Боты телеграм для меня наверное больше как хобби, заработка на них почти нет, так на оплату сервера и на пиво с рыбкой. Но я испытываю огромный кайф от того, что ими пользуются десятки тысяч человек. Кайф от того, что моя работа несёт какую-то пользу для других людей. В конце концов не все в этом мире только про деньги😉 Нужно что-то делать и для общества.
Поэтому стараюсь всегда делать ботов максимально простыми и удобными, без лишнего функционала, который будет вводить в заблуждение пользователей или тормозить работу.
Вот за что я люблю телеграм - так это за всё😁 И общаться в нем удобно, и стикеры зачётные, и ботов делать одно удовольствие.
Боты телеграм для меня наверное больше как хобби, заработка на них почти нет, так на оплату сервера и на пиво с рыбкой. Но я испытываю огромный кайф от того, что ими пользуются десятки тысяч человек. Кайф от того, что моя работа несёт какую-то пользу для других людей. В конце концов не все в этом мире только про деньги😉 Нужно что-то делать и для общества.
Поэтому стараюсь всегда делать ботов максимально простыми и удобными, без лишнего функционала, который будет вводить в заблуждение пользователей или тормозить работу.
Часто для нормальной работы всяких парсеров, граберов, ботов нужны прокси, причем не какие-то бесплатные паблик прокси, а нормальные, которые будут стабильно работать. Для большинства сайтов хватает ipv6 прокси, которые стоят на порядок дешевле, чем ipv4.
Я для этих целей использую proxy6.net, работаю с ними уже третий год и абсолютно доволен качеством и невысоким ценником. Российский IPv6 на месяц обойдется всего в 25.2 рублей! Это копейки на самом деле, учитывая сколько проблем решает использование прокси))
И кстати, по купону 8x1XPVCLQV можно получить 5% скидку на покупку новых прокси. Пользуйтесь на здоровье! 😊
Я для этих целей использую proxy6.net, работаю с ними уже третий год и абсолютно доволен качеством и невысоким ценником. Российский IPv6 на месяц обойдется всего в 25.2 рублей! Это копейки на самом деле, учитывая сколько проблем решает использование прокси))
И кстати, по купону 8x1XPVCLQV можно получить 5% скидку на покупку новых прокси. Пользуйтесь на здоровье! 😊
Mail запустил прикольный сервис для совместного написания кода.
Можно использовать без регистрации и писать на нескольких языках.
Сервис поддерживает Python 3.8, Java 11, C++ 17, PHP 7.4, Node JS 14, Go 1.15, Erlang OTP 23, Rust 1.51 и Swift 5.3.3. Обещают добавить позже ещё больше языков.
Подсветка синтаксиса кода, результат выполнения кода, вывод ошибок - удобно для проведения интервью👍
https://interview.cups.online/
Можно использовать без регистрации и писать на нескольких языках.
Сервис поддерживает Python 3.8, Java 11, C++ 17, PHP 7.4, Node JS 14, Go 1.15, Erlang OTP 23, Rust 1.51 и Swift 5.3.3. Обещают добавить позже ещё больше языков.
Подсветка синтаксиса кода, результат выполнения кода, вывод ошибок - удобно для проведения интервью👍
https://interview.cups.online/
This media is not supported in your browser
VIEW IN TELEGRAM
Когда я пытаюсь разобраться в коде, написанном позавчера.
Чем занято место в linux?
Рано или поздно любой человек сталкивается с тем, что места на его компьютере или сервере становится недостаточно. Хуже всего, когда это происходит на сервере с работающими сайтами))
Из-за нехватки места на сервере начинает отваливаться mysql, некорректно работают скрипты, начинают сыпаться многочисленные ошибки. В такие моменты нужно быстро найти в чем проблема и решить эту проблему.
Для анализа занятого места в linux есть множество утилит, в том числе и графических. Но когда у нас нет места, а утилита еще не установлена - это становится проблемой. В моем случае сервер был занят на 98% и жутко лагал. Но эти свободные 2% мне дали возможность установить утилиту и провести анализ, затем почистить место.
Утилита ncdu - очень маленькая, но при этом достаточно функциональная, чтобы провести анализ, пробежаться по дереву файлов и сразу в ней удалить лишнее!
Вначале устанавливаем ее через консоль
Для Debian систем (rpm-пакеты) (в т.ч. Ubuntu) командой apt-get install ncdu
Для Red Hat систем (dpkg-пакеты) командой yum install ncdu
Затем запускаем команду ncdu и ждем результатов анализа. Дальше при необходимости бегаем по дереву файлов/папок и смотрим где у нас то, что можно удалить. Удалить можно прямо в утилите, выделив нужный файл или папку и нажав на клавиатуре d
Вот список всех доступных команд:
d — удалить выбранный файл или папку с файлами;
n — отсортировать файлы и папки по имени;
s — отсортировать файлы и папки по объему занимаемого места;
t — показывать сначала папки, затем файлы;
g — режим отображения (в процентах, графически, комплексно);
a — режим отображения (размер файла, занятое место на жестком диске)
e — включить/отключить отображение скрытых файлов;
i — показать дополнительную информацию о папке или файле;
r — заново пересчитать занимаемое место;
q — выйти из программы;
Программа очень удобная, простая и выполняет задачу по анализу и освобождению свободного места полностью, рекомендую ее к использованию! 👍
Рано или поздно любой человек сталкивается с тем, что места на его компьютере или сервере становится недостаточно. Хуже всего, когда это происходит на сервере с работающими сайтами))
Из-за нехватки места на сервере начинает отваливаться mysql, некорректно работают скрипты, начинают сыпаться многочисленные ошибки. В такие моменты нужно быстро найти в чем проблема и решить эту проблему.
Для анализа занятого места в linux есть множество утилит, в том числе и графических. Но когда у нас нет места, а утилита еще не установлена - это становится проблемой. В моем случае сервер был занят на 98% и жутко лагал. Но эти свободные 2% мне дали возможность установить утилиту и провести анализ, затем почистить место.
Утилита ncdu - очень маленькая, но при этом достаточно функциональная, чтобы провести анализ, пробежаться по дереву файлов и сразу в ней удалить лишнее!
Вначале устанавливаем ее через консоль
Для Debian систем (rpm-пакеты) (в т.ч. Ubuntu) командой apt-get install ncdu
Для Red Hat систем (dpkg-пакеты) командой yum install ncdu
Затем запускаем команду ncdu и ждем результатов анализа. Дальше при необходимости бегаем по дереву файлов/папок и смотрим где у нас то, что можно удалить. Удалить можно прямо в утилите, выделив нужный файл или папку и нажав на клавиатуре d
Вот список всех доступных команд:
d — удалить выбранный файл или папку с файлами;
n — отсортировать файлы и папки по имени;
s — отсортировать файлы и папки по объему занимаемого места;
t — показывать сначала папки, затем файлы;
g — режим отображения (в процентах, графически, комплексно);
a — режим отображения (размер файла, занятое место на жестком диске)
e — включить/отключить отображение скрытых файлов;
i — показать дополнительную информацию о папке или файле;
r — заново пересчитать занимаемое место;
q — выйти из программы;
Программа очень удобная, простая и выполняет задачу по анализу и освобождению свободного места полностью, рекомендую ее к использованию! 👍
Установка свежей версии Node.js за минуту
Бывает такое, что на сервере или в docker контейнере устанавливается старая версия Node.js, а для корректной работы скриптов нужна свежая. Так случилось и у меня - в docker по умолчанию ставилась 10я версия node, а нужна была минимум 12!
После недолгого "гугления" нашел лучший, на мой взгляд, вариант, которым и решил поделиться. Для этого мы будем использовать утилиту nvm - Node Version Manager. Инструкцию пишу под linux. Итак, в консоли запускаем команду:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
После этого устанавливаем желаемую версию node, например 14.17.0:
nvm install v14.17.0
В случае успеха мы увидим что-то вроде этого:
Now using node v14.17.0 (npm v6.14.13)
Вот и все) Теперь мы можем использовать свежую версию Node.js🤟
Бывает такое, что на сервере или в docker контейнере устанавливается старая версия Node.js, а для корректной работы скриптов нужна свежая. Так случилось и у меня - в docker по умолчанию ставилась 10я версия node, а нужна была минимум 12!
После недолгого "гугления" нашел лучший, на мой взгляд, вариант, которым и решил поделиться. Для этого мы будем использовать утилиту nvm - Node Version Manager. Инструкцию пишу под linux. Итак, в консоли запускаем команду:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
После этого устанавливаем желаемую версию node, например 14.17.0:
nvm install v14.17.0
В случае успеха мы увидим что-то вроде этого:
Now using node v14.17.0 (npm v6.14.13)
Вот и все) Теперь мы можем использовать свежую версию Node.js🤟
Такими темпами скоро от программистов совсем откажутся 😁
https://tproger.ru/news/ii-pomoshhnik-dlja-razrabotchikov-predstavila-microsoft/
https://tproger.ru/news/ii-pomoshhnik-dlja-razrabotchikov-predstavila-microsoft/
Tproger
Бесплатный ИИ-помощник от Microsoft подсказывает, как лучше писать код. Вот, где его можно протестировать
Microsoft и OpenAI запустили сервис GitHub Copilot. Это ИИ-инструмент для разработчиков, который подсказывает, как лучше писать код.
Привет, друзья! Стыдно, что совсем забил на блог, но так сложились обстоятельства.
За это время много всего изменилось в моей жизни. Из глобального - переезд в другой город, другую страну. Теперь я живу в Питере и кайфую от этого города. После моего родного провинциального Тирасполя, тут я почувствовал себя живым😊 Ритм жизни совершенно иной, много интересного вокруг - красивые места, развлечения.
Но есть и обратная сторона медали - расстояния.. Когда тебе куда-то нужно поехать, это занимает достаточно много времени. И этого времени постоянно не хватает. А писать сюда просто так, для галочки, или постоянно делиться контентом из других каналов - это не мое.
За это время было много интересных проектов, постоянно приходится обучаться новому и расти. Не будешь следить за тенденциями - вылетишь нафиг с трассы😄 Из-за пандемии количество желающих войти в айти увеличилось, из-за чего увеличился и демпинг. А клиент не всегда понимает, чем час условного сеньора стоимостью за 2к отличается от часа джуна за 700 р.
За этот год суммарное количество пользователей моих ботов переросло 100к и это очень радует! Вот так мое хобби начало приносить пассивный доход. Да немного, но по крайней мере окупается сервер и остаётся ещё на вкусняшки))
Хочу всем пожелать в Новом 2022 году крепкого здоровья, имхо, сейчас это как никогда важно. А ещё желаю вам удачи и упорства! Двигайтесь к намеченной цели и все получится! Пусть в новом году жизнь станет хоть немного, но лучше, проще, легче, позитивнее. Пусть исполнятся заветные мечты. С наступающим Новым годом!
🍾🍾🍾🎊🎊🎊🎄🎄🎄
За это время много всего изменилось в моей жизни. Из глобального - переезд в другой город, другую страну. Теперь я живу в Питере и кайфую от этого города. После моего родного провинциального Тирасполя, тут я почувствовал себя живым😊 Ритм жизни совершенно иной, много интересного вокруг - красивые места, развлечения.
Но есть и обратная сторона медали - расстояния.. Когда тебе куда-то нужно поехать, это занимает достаточно много времени. И этого времени постоянно не хватает. А писать сюда просто так, для галочки, или постоянно делиться контентом из других каналов - это не мое.
За это время было много интересных проектов, постоянно приходится обучаться новому и расти. Не будешь следить за тенденциями - вылетишь нафиг с трассы😄 Из-за пандемии количество желающих войти в айти увеличилось, из-за чего увеличился и демпинг. А клиент не всегда понимает, чем час условного сеньора стоимостью за 2к отличается от часа джуна за 700 р.
За этот год суммарное количество пользователей моих ботов переросло 100к и это очень радует! Вот так мое хобби начало приносить пассивный доход. Да немного, но по крайней мере окупается сервер и остаётся ещё на вкусняшки))
Хочу всем пожелать в Новом 2022 году крепкого здоровья, имхо, сейчас это как никогда важно. А ещё желаю вам удачи и упорства! Двигайтесь к намеченной цели и все получится! Пусть в новом году жизнь станет хоть немного, но лучше, проще, легче, позитивнее. Пусть исполнятся заветные мечты. С наступающим Новым годом!
🍾🍾🍾🎊🎊🎊🎄🎄🎄
Проверка ip на вхождение в подсеть по маске в php
Бывает так, что нужно обязательно проверить, пришел ли запрос с допустимого ip. Например при написании платежных модулей мы знаем, что запрос должен прийти с одного из банковских ip и нам обязательно нужно проверить этот ip, дабы исключить несанкционированный доступ злоумышленника.
Когда у банка десяток заранее известных ip, решение сводится к банальной проверке if (in_array($ip, $ipArray)), но что делать, если таких ip может быть например 510? (реальный пример - банк Тинькофф присылает запросы с маски сети 91.194.226.0/23). В этом случае нужно проверять по маске.
Я давно уже предпочитаю не изобретать велосипеды, а искать адекватные готовые решения и в этот раз тоже погуглил и нарыл отличное решение:
Используем таким способом:
ps. телеграм добавил возможность ставить реакции на посты, так что прошу использовать эту возможность, чтобы я понимал насколько интересна вам данная тема
Бывает так, что нужно обязательно проверить, пришел ли запрос с допустимого ip. Например при написании платежных модулей мы знаем, что запрос должен прийти с одного из банковских ip и нам обязательно нужно проверить этот ip, дабы исключить несанкционированный доступ злоумышленника.
Когда у банка десяток заранее известных ip, решение сводится к банальной проверке if (in_array($ip, $ipArray)), но что делать, если таких ip может быть например 510? (реальный пример - банк Тинькофф присылает запросы с маски сети 91.194.226.0/23). В этом случае нужно проверять по маске.
Я давно уже предпочитаю не изобретать велосипеды, а искать адекватные готовые решения и в этот раз тоже погуглил и нарыл отличное решение:
protected function isCorrectIp($ip, $range): bool
{
list ($subnet, $bits) = explode('/', $range);
if ($bits === null) {
$bits = 32;
}
$ip = ip2long($ip);
$subnet = ip2long($subnet);
$mask = -1 << (32 - $bits);
$subnet &= $mask;
return ($ip & $mask) == $subnet;
}
Используем таким способом:
if ( ! $this->isCorrectIp($ip, '91.194.226.0/23')) {
$this->logWrite('wrong ip: '.$ip);
die();
}
ps. телеграм добавил возможность ставить реакции на посты, так что прошу использовать эту возможность, чтобы я понимал насколько интересна вам данная тема
Очистка логов docker контейнеров
Если не настроить логирование в докер и не ограничить размер файлов логов, их размер может быть ооочень большим))
Сегодня решил проверить свободное место на своем сервере и был шокирован, что занято почти 80% места. Начал анализировать куда ушло место с помощью утилиты ncdu, о которой писал тут и увидел, что один из контейнеров в docker на свой лог сожрал более 30 гигов😱 30 гигов мусора это серьезно))
В первую очередь нужно очистить эти логи, а уже потом по-хорошему настроить ограничения на размер файлов логов. Для очистки всех контейнеров сразу можно использовать простую команду:
Если хотите проверить размер логов, можно использовать:
Ну и конечно стоит настроить логирование https://docs.docker.com/config/containers/logging/json-file/ 😉
Если не настроить логирование в докер и не ограничить размер файлов логов, их размер может быть ооочень большим))
Сегодня решил проверить свободное место на своем сервере и был шокирован, что занято почти 80% места. Начал анализировать куда ушло место с помощью утилиты ncdu, о которой писал тут и увидел, что один из контейнеров в docker на свой лог сожрал более 30 гигов😱 30 гигов мусора это серьезно))
В первую очередь нужно очистить эти логи, а уже потом по-хорошему настроить ограничения на размер файлов логов. Для очистки всех контейнеров сразу можно использовать простую команду:
sudo sh -c "truncate -s 0 /var/lib/docker/containers/*/*-json.log"
Если хотите проверить размер логов, можно использовать:
sudo sh -c "du -ch /var/lib/docker/containers/*/*-json.log"
Ну и конечно стоит настроить логирование https://docs.docker.com/config/containers/logging/json-file/ 😉
Запуск python скриптов в Windows 10
Решил написать небольшую заметку для себя и для всех, кто столкнется с такой ситуацией, когда нужно запустить некий скрипт на python из под windows 10. Расписывать как установить сам python не буду, будем считать что он уже установлен)
Переходим в папку с python проектом и открываем там консоль. Далее пишем поочередно:
Если все прошло успешно и виртуальное окружение env создано и активировано - запускаем установку зависимостей (если необходимо)
Ну и далее уже запускаем сам скрипт в окружении.
А чтобы выйти из окружения, набираем
#python #памятка #windows10
- - - - - - - - - -
ставь лайк, если было полезно😉
Решил написать небольшую заметку для себя и для всех, кто столкнется с такой ситуацией, когда нужно запустить некий скрипт на python из под windows 10. Расписывать как установить сам python не буду, будем считать что он уже установлен)
Переходим в папку с python проектом и открываем там консоль. Далее пишем поочередно:
python -m venv env
.\env\Scripts\activate
Если все прошло успешно и виртуальное окружение env создано и активировано - запускаем установку зависимостей (если необходимо)
python -m pip install -r requirements.txt
Ну и далее уже запускаем сам скрипт в окружении.
А чтобы выйти из окружения, набираем
deactivate
#python #памятка #windows10
- - - - - - - - - -
ставь лайк, если было полезно😉
Файловая система доступна только для чтения
Бывает такой баг, когда используется 2 системы на одном жестком диске (windows и linux). В моем случае винда была первой, а потому у старых разделов файловая система стоит NTFS. Потом я поставил manjaro (на котором уже почти год работаю) и иногда при доступе к старым NTFS разделам (после включения винды) получаю ошибку доступа. Решается все довольно просто:
Ставим пакет
После окончания исправления при необходимости назначаем пользователя разделу или папке
Бывает такой баг, когда используется 2 системы на одном жестком диске (windows и linux). В моем случае винда была первой, а потому у старых разделов файловая система стоит NTFS. Потом я поставил manjaro (на котором уже почти год работаю) и иногда при доступе к старым NTFS разделам (после включения винды) получаю ошибку доступа. Решается все довольно просто:
Ставим пакет
ntfs-3g
Потом выполняем исправление нашего разделаsudo ntfsfix /dev/nvme0n1p8
/dev/nvme0n1p8
- тут пишем название нужного раздела (у меня это /dev/nvme0n1p8)После окончания исправления при необходимости назначаем пользователя разделу или папке
sudo chown -R root:root /media/E/
#памятка #linuxРешение проблемы Docker: (Permission denied)
Создайте группу Docker, если ее еще нет:
Создайте группу Docker, если ее еще нет:
sudo groupadd docker
Просмотрите количество суперпользователей в системе: grep -Po '^sudo.+:\K.*$' /etc/group
Экспортируйте пользователя в командной оболочке Linux: export USER=demoUser
Добавьте пользователя в группу Docker: sudo usermod -aG docker $USER
Запустите следующую команду/ войдите или выйдите из системы: newgrp docker
Проверьте, работает ли Docker исправно или нет: docker run hello-world
Если проблема сохраняется, перезагрузите систему: reboot
Если это не помогло, выполните следующую команду: sudo chmod 660 /var/run/docker.sock
#памятка #docker #права #linux