Диджитализируй! – Telegram
Диджитализируй!
27.6K subscribers
461 photos
55 videos
11 files
531 links
Авторский канал Алексея Голобурдина о разработке ИТ систем и прочем важном

ПРАВИЛА — https://news.1rj.ru/str/t0digital/200

ЛАЙВ-КАНАЛ — @smthisgoingon

Дать много деняк — sterx@rl6.ru

Роскомнадзор: https://vk.cc/cJmDDB
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
69👍46😁7🔥62
Опчки, великолепные друзья из ДМК сделали нам промокоды на чёрную тяпницу!

30% на бумагу
t0digital_Black Friday 2023

40% на PDF
t0digital_Black Friday 2023_PDF

Предвосхищая вопрос — да, пробел в промокоде:)

Я тут сейчас читаю на Amazon Kindle Scribe (сделаю обзор на неё) и в очередной раз кайфую от возможности читать PDF — они, во-первых, не занимают физическое место, а то чёт моё цундоку, боюсь, стеллаж сломает:), во-вторых, не надо ждать доставку или ехать самому, в-третьих, PDF часто дешевле, в-четвертых, буржуйские книги заказать с доставкой сейчас вообще неоправданно сложно, в-пятых, несколько книг на одной читалке с собой взять в поездку — легко. Ляпота.

Бумажные тоже люблю, конечно. Хорошие книги хочу, чтобы были в бумаге. Иногда даже по оформлению могу что-то купить, бывает:) Но айтишное нередко один раз прочёл-впитал и пошёл дальше, незачем иметь физический экземпляр.

Кстати, у Любановича, который автор Простого Python, тут по FastAPI книга вышла в Oreilly;)
🔥89👍405😁2
Запустил отдельный канал по ррум. Буду писать о проекте там. Это книжный ресурс для тех, кто читает или хочет начать читать. Сейчас есть дизайн сайта, а реализацию буду делать на курсе и показывать весь процесс там, после чего проект будет жить своей жизнью, расти и развиваться:)

«Книги, которые нас формируют»

Вжух!

@rroom_io
🔥123👍406😁1
Amazon Kindle Scribe — лучшая электронная книга за мои 15 лет опыта с читалками на eink. Экран 10.2" с 300ppi и подсветкой, удобнейшая работа с PDF-книгами, рукописные заметки, продуманные особенности дизайна и ПО, беспроводные возможности соединения с внешним миром. Но главное — distraction free. Красота!

YouTube | VK | RuTube
👍131🔥469😁3
Диджитализируй!
Amazon Kindle Scribe — лучшая электронная книга за мои 15 лет опыта с читалками на eink. Экран 10.2" с 300ppi и подсветкой, удобнейшая работа с PDF-книгами, рукописные заметки, продуманные особенности дизайна и ПО, беспроводные возможности соединения с внешним…
В комментариях всё одно — 50К за книгу это дорого, средняя ЗП в России полторы копейки (во всём виноват Вован), копить десятилетия, бессмысленная трата денег, пойду удавлюсь где моя веревка жена тащи мыло.

Охххх:)

Ну, во-первых. Вот циферки Росстата. Если набраться мужицкой силушки и их открыть, то можно с неприятным ощущением узнать (у таких комментаторов ощущение будет именно что неприятное), что, оказывается, средняя ЗП по стране в 3 квартале 2023 года — 70 639 руб. Это чуть-чуть больше, чем полторы копейки. Даже чуть-чуть больше, чем стоит читалка в минималке сейчас на авито, 30 тыс. Ну да, надо подкопить или найти дополнителный источник дохода, нормально.

За август 2023го:
— в зажравшейся Москве средняя ЗП — 122 329 руб;
— незажравшаяся Чукотка получает всего-навсего 141 412 руб;
— в нищем Ямало-Ненецком АО выживают на 140 715 руб;
— в Ненецком АО едят сухари с водой — 116 939 руб;
— на Камчатке бесплатно нюхают воздух — 121 514 руб;
— в Магаданской области грустно грустят — 118 851 руб.

Нет, ну да, разумеется, Росстат всё врёт, это понятно, кругом обман, а жизнь боль, одно счастье верёвочка и мыльце. Что надо считать медиану (и там непременно 1.5 копейки и получится, да). А еще я говорил о том, как заработать те же 50 тыс руб здесь. Вот прям пачку вариантов накидал. Для самых унылых нытиков.

Во-вторых. Книги для меня — это инструмент повышения дохода. Это актив. Это то, что делает меня ценнее и позволяет зарабатывать больше. У тебя есть телефон за 100К+, но читалка за 50К это дорого? Всё нормально там в логике, противоречий незаметно:)?

Один подписчик из Ботаним устроился недавно в Авито. Он, кстати, курс мой проходил еще старый, но сейчас не об этом. Спросил его, цитирую: «Вот скажи, интересно твое мнение - можно было нормально пройти эти собеседы, не читая книжек? То есть просто на своей практике, на статьях в инете?» Его ответ, если сократить — нет, нельзя, и дальше пачка пояснений, почему именно нельзя.

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

Это актуально только для ИТ? Пф, нет, конечно, так везде. Если ты маркетолог и не втыкаешь в свою тему через книги, то ты так себе маркетолог. Последние исследования, открытия, тренды, да и нестареющая база, в которой тоже накоплены горы знаний. И тд, и тп.

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

Есть такое мнение (по-моему, от Гоблина — значит, можете ему не доверять, кому он не нравится, мне пофик), что в Америке люди с большим доходом и бедняки говорят по-разному. То есть речь это яркий показатель дохода человека. Я думаю, что и у нас этот показатель работает, возможно, в меньшей степени, но тоже работает.

У Билла Гейтса есть раздел с книгами на его личном сайте, вот прям самая заметная ссылка в шапке, Books. И email-подписка, в которой он пишет о книгах. В духе «My recommendations for the holidays» — и 4 или 5 книг. Так чисто, на holidays почитать.

Большинство в широком смысле успешных людей читает. Неважно, считаете ли вы это занятие бестолковым, а траты на книги бессмысленными, или нет. Снег белый, зимой холодно. Как-то так. Это одна из целей @rroom_io — показать это. Будем работать:)
👍414🔥53😁362310
А вы знали, что pip requirements может быть вложенным? То есть один файл зависимостей для прода, второй для тестов и тестовый включает в себя зависимости прода и добавляет свои (pytest и прочие ништяки).

prod.txt содержит главные пакеты.

dev.txt это перечень пакетов для среды разработки, он включает всё, что есть в проде плюс в данном примере pytest:

-r prod.txt
pytest
Вжух!
👍194🔥50😁108🎉2
Какой сервис транзакционных email-писем вы используете? Отправлять письма с паролями, спасибами и прочим таким. Чёт unione пригрустил:)
11👍4
Кстати, мы тут сейчас поднимаем продакшн нашей LMS (готовим курс к запуску) и гоняем по сети всякие ключи-пароли и прочую конфиденциальную информулечку.

Чтобы ниггадяи её не спёрли, шифруем её с GPG. Ыыы!

Про GPG у меня был видос здесь. Если коротенько, это open source утилита шифрования и подписи данных. Ты генерируешь с GPG постоянную пару — приватный ключ и публичный ключ, твой собеседник генерит свою пару, и вы обмениваетесь публичными ключами (и только публичными, приватные остаются у вас). Информация шифруется публичным ключом собеседника и может быть расшифрована только с его приватным ключом.

И никакой коварный Павлентий не получит доступа к вашим данным!

После установки GPG — на докер-контейнер с Debian поставился с apt install gpg — генерим пару ключей:

gpg --gen-key

Указываем имя, email и пароль. По мейлу будет идентифицироваться эта пара ключей. Для примера, указали, alexey@yandex.ru.

Экспорт своего публичного ключа, чтобы отправить его собеседнику:

gpg --export --armor --output alexey.pub alexey@yandex.ru

В файле alexey.pub сохранился наш публичный ключ, который передаём собеседнику. Импорт публичного ключа собеседника из файла sergey.pub происходит так:

gpg --import sergey.pub

И всёёёё! И понеслась!

Зашифровать файл my-secret-information.txt ключом собеседника:

gpg --encrypt --sign -r sergey@yandex.ru my-secret-information.txt

Появится файл my-secret-information.txt.gpg — это и есть зашифрованный файл. Отправляем его собеседнику и он расшифровывает его командой:

gpg my-secret-information.txt.gpg

Вжух!
👍239🔥6212😁7
Давайте рассмотрим некоторые абстрактные поинты.

1) Врать в резюме — ништяк

2) Врать работодателям и делать свою работу за 2 часа в день, чтобы иметь возможность остальное время работать на другой работе или гонять лысого — ништяк

3) Менять работодателей хоть каждую неделю для роста ЗП — ништяк

Работают ли такие подходы? Пф, конечно. Вообще работает много интересных подходов.

Можно брать в долг и не отдавать. То есть устроился на работу в компанию, прозанимался у коллег и свалил в другую компанию, сливаясь от вопросов. Профит.

Можно тырить запчасти у рабочих ноутов или скрепки с рабочих столов.

Можно ныкать туалетную бумагу из офиса, чтобы не покупать дома свою.

Можно продавать конкурентам секреты со своей текущей работы.

Можно без палева хантить коллег в компанию конкурентов и зарабатывать на этом.

Можно... Да много чо можно. Гипотетически.

Но у таких соблазнительных способов жить эту жизнь есть одна противная проблема — это работает на коротком промежутке времени и бьёт по башке на длинном. Вообще без эзотерики, тут масса вполне очевидных, лежащих на поверхности причинно-следственных связей вырисовывается.

Приятно верить в то, что можно обустроить свою жизнь легко. Наврать в резюме, обмануть тут, там. Капитализм, не мы такие и так далее. Такой взгляд легко продаётся. Продать то, что для долгосрочного стабильного и большого успеха нужны соооовсем другие подходы, куда менее соблазнительные — сильно тяжелее.

Think about it!

https://youtu.be/4CJRM7j9qbM
👍21720😁168🔥4
Важно прислушиваться к мнению зрителей!
😁601🔥56👍1710🎉6
А вот у нас есть же здесь великолепные специялисты из всяких хороших компаний, расскажите мне-бурундуку, пжалста, а с чем связано в альфа-банке, в яндексе и в ряде других компаний ограничение на используемые в пароле спецсимволы? Вот восклицательный знак, видите ли, можно в пароле использовать, а вопросительный — нннет.

Чем меньше разных символов в пароле, тем он безопаснее, да?

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

Вопросы собстна всё те же
😁112👍122
Если вдруг кто-то не знает, то получить текущую дату с таймзоной в Python уже давно (с 3.9) можно без pytz со стандартной либой:

from datetime import datetime
from zoneinfo import ZoneInfo

now = datetime.now(ZoneInfo("Europe/Moscow"))


Ляпота!
👍30343🔥2515😁7
Аааа вот в гошечке, вот в гошечке:) Пакет работы со временем вообще кайф.

Вот, например, измерение времени между двумя точками:

package main

import (
"fmt"
"time"
)

func main() {
start_time := time.Now()
sum := 0
for i:=0; i < 1_000_000; i++ {
sum++
}
fmt.Printf("прошло времени: %v", time.Since(start_time))
// прошло времени: 734.209µs

time.Sleep(1 * time.Microsecond)
}


Ы, каков! Обрати внимание на наличие в стандартной либе time.Since и его форматирование при выводе в строку — сразу красиво, не надо высчитывать нули самому сидеть. Или как интервалы задаются, через константы вроде time.Microsecond. Вах-вах.

И, конечно, это ещё не говоря о чисто-гошных приколдесах в духе select + time.After для ограничения максимального времени работы корутины. Хитры бобры!

Да, этот декабрь в Ботаним — месяц Go:) А в конце декабря стартуем DDD Хононова.
👍120🔥2410😁31
Ловите лайфхакушку.

Как гласят старцы, в питоне циклические импорты это косяк недоразумение, которое сигнализирует чаще всего о проблеме в коде — если два модуля импортируют друг друга, то надо подумать, кто виноват почему так случилось и кого бить как этого избежать (если 2 модуля так сильно связаны, то почему бы не сколбасить их в один модуль, например?).

Однако иногда импорт в одном из модулей нужен только для type hints и это не всегда сигнализирует о проблеме. Ну, кроме того, что код не работает из-за циклического импорта:)

Тогда тот модуль из двух, который импортирует зависимости только для типизации (class_a.py), можно написать так (class_b.py тут это второй модуль):

# class_a.py
from typing import TYPE_CHECKING

if TYPE_CHECKING:
from class_b import ClassB

class ClassA:
some_b_instance: "ClassB"

# class_b.py
from class_a import ClassA

class ClassB:
pass


Вот эта магическая константа TYPE_CHECKING принимает значение True только когда этот код проверяется тайп-чекером вроде mypy или pyright. В рантайме она False. И обратите внимание, что в type hint ClassB обёрнут в строку. Оборачивание в строку можно убрать, если добавить импорт from __future__ import annotations.

И так всё работает по красоте. Вжух!
👍199🔥363313😁7
tinypng — отличный быстрый бесплатный веб-сервис, жмущий PNG, JPG и WebP-изображения, значительно уменьшая их размер.

О способах сделать это кодом я рассказывал здесь и здесь, но если надо просто пожать картинку для, скажем, блога, чтобы загружалось быстрее — tinypng отлично подходит.
🔥67👍277😁2
Перевожу тут материалы курса из Notion в Obsidian и подключаю git. Удивился, что git из коробки на маке не умеет нормально отображать кириллические имена файлов. Чтобы это пофиксить, достаточно выполнить команду:

git config --global core.quotePath false


Кстати, да, на скрине видно название курса. Это будет МЯСО😂
🔥162👍42😁16116
Смотрю тут на курсы всякие разные.

Вот вам глава «Углублённый Python» курса по питону одной большой компании!

Как создавать функции и классы и работать с list, set, dict — это вам не хрен моржовый, а углублённый Python😂

А что тогда неуглубленный, такой вот, поверхностный Python, что в него входит? print и всё?

Чёт как-то я не удивлен, что с такими углублёнными познаниями на собеседы-то не зовут негодяйские эйчары:)))
😁292👍43🔥1676
Forwarded from IT-Helpers 🧠
Меня всегда радовал в человеке дух предпринимательства. Я считаю что за людьми, которые постоянно хотят создавать что-то новое - будущее!

Бытует мнение, что "предпринимательская жилка" есть не у многих, я этот тезис не разделяю. Я считаю, что если человек достиг определенного уровня в своём деле - это "дело" можно смело превращать в бизнес.

В этом мое мнение сходится с автором канала Диджитализируй, Алексеем. Мы поговорили и подняли различные вопросы в сфере ИТ и не только.

Приятного просмотра:

https://youtu.be/CPKlILIYLw8

@IT_Helpers
👍10320😁5🔥4
Листаю тут книжку по инфобезу. Забавное примечание:)

ПРИМЕЧАНИЕ. Если вы пишете или переписываете низкоуровневое приложение с нуля, всегда выбирайте язык Rust вместо С или С++. Rust — это новый язык программирования, который может выполнять низкоуровневые задачи так же хорошо, как С и С++, но, в отличие от них, Rust безопасен по памяти. Таким образом, при использовании этого языка проверка границ больше не потребуется, а переполнение переменных для создания потенциальных уязвимостей становится невозможным. По мнению создателя браузера Mozilla (Firefox), 73% уязвимостей только в стилевом компоненте браузера никогда бы не возникли, если бы он был написан на Rust, а не на С/С++. Даже одно это проектное решение может очень сильно сократить поверхность атаки, что сводит на нет все приемлемые деловые аргументы, которые могли бы оправдать написание новых приложений на С, когда доступен Rust. «Но мы умеем программировать на С» является недопустимой причиной не изучать и не использовать Rust.
🔥212😁79👍49196