it compiles; ship it
39 subscribers
18 photos
14 links
На этом канале я делюсь своими мыслями о лучших практиках, новых трендах и эффективных подходах к разработке SE.

My Python course (uz): https://dasturlab.uz

На развитие моего творчества: https://tirikchilik.uz/islomcodes
Download Telegram
Наткнулся на интересную статью, где объясняют разницу между Redis cache vs. using memory directly.

Вкратце, если вам нужно, чтобы ваше приложение масштабировалось на нескольких узлах, использующих одни и те же данные, тогда потребуется что-то вроде Redis (или любого другого удаленного хранилища ключей/значений).

Ссылка на статью

@islomcoding
🔥4
Если ты не платишь за продукт, ты сам и есть продукт.

If you are not paying for the product, then you are the product

В конце концов, кто смотрел такие документалки, как Сноуден или На взводе: Битва за Uber, тот знает, что личные данные — это настоящая валюта в мире IT. Не зря говорят: "Кто владеет информацией, тот владеет миром". В сериале про Uber, например, был интересный (но уже закрытый) проект, где компания собирала данные о пользователях, даже те, на которые они не давали согласие, и использовала это в коммерческих целях.

В добавок к этому, советую посмотреть интересное видео с TED, где Тристан Харрис утверждает, что горстка людей в нескольких технологических компаниях ежедневно управляет мыслями миллиардов. От уведомлений Facebook до автоматического воспроизведения на YouTube — все эти сервисы борются за наше внимание. Харрис объясняет, как они используют нашу психологию ради прибыли, и призывает к новому подходу, при котором технологии будут помогать нам жить так, как мы сами хотим.

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

@islomcoding
🔥4💯1
Channel name was changed to «it compiles; ship it»
Почему именно Python, а не другие языки?

Наверное, вам тоже знакомо чувство рутины, когда в какой-то момент хочется сказать: «Как бы всё это автоматизировать?» 😅

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

Но почему именно Python?

1. Простота и читаемость: Python известен своей лаконичностью и понятностью. Даже если вы новичок, вам будет легко начать. В отличие от других языков, Python не перегружает вас сложными синтаксическими конструкциями.

2. Гибкость: Python можно использовать в разных областях — от автоматизации задач и веб-разработки до аналитики данных и машинного обучения. Это универсальный инструмент, который открывает огромные возможности.

3. Большое сообщество и ресурсы: Python имеет огромное сообщество и множество библиотек, что значительно ускоряет процесс разработки. Есть готовые решения для большинства задач, и если что-то нужно сделать, скорее всего, уже есть готовая библиотека!

4. Подходит для начинающих: В отличие от других языков программирования, таких как C++ или Java, Python не требует глубокой подготовки и сложных теоретических знаний, чтобы начать создавать реальные проекты.

Итак, научившись Python, вы сможете строить почти всё — от личных проектов, таких как трекер бюджета, до более сложных вещей, вроде виртуальных помощников, которые могут сделать почти всё за вас (кроме ужина — над этим нужно еще поработать). 🍝🤖

И самое главное: чтобы начать, не нужно быть гением! Всё, что нужно — это желание, усидчивость и немного времени.

Если вы решили, что Python — это то, что вам нужно, то приглашаю вас на мой курс по Python на xorazmiy.dev (на узбекском языке, o‘zbek tilida). На моем курсе можно быстро освоить все основы и начать применять их на практике.

@islomcoding
🔥7👍31
💻 Working Code is Not Enough: Tactical vs. Strategic Programming

Что важнее — быстрое решение задач или долговременная стратегия?

Если вы хоть раз ловили себя на мысли: "Главное, чтобы заработало", — поздравляю, вы знакомы с тактическим программированием. На первый взгляд, это кажется разумным: сосредоточиться на скорости, закрыть баг или внедрить фичу как можно быстрее. Но в долгосрочной перспективе это превращается в бесконечный рефакторинг, горящие дедлайны и желание как говорится - начать всё с нуля.

🎯 Тактический подход: быстро, но с последствиями

Это не баг, это особенность. Но я уже забыл, как она работает.

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

🚀 Стратегический подход: думай наперёд
"Рабочий код — это хорошо. Но хороший дизайн — ещё лучше."

Я мог бы сделать это за час... но через полгода никто бы меня не поблагодарил.

Стратегия — это про долгосрочную выгоду: продумывать архитектуру, постепенно улучшать систему и избегать накопления "технического долга". Это не означает, что нужно проектировать всё идеально с самого начала (привет, waterfall), но маленькие шаги вперёд в дизайне сэкономят вам часы (или дни) в будущем.

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

Итог: программируй с умом
Лучший код — это тот, к которому вы возвращаетесь с мыслью: "Кто написал это? О, это был я. Неплохо)"

Ссылка на мою статью (medium)

@islomcoding
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2
Почему problem solving важнее, чем просто уметь писать код?

Многие разработчики считают, что главное — знать синтаксис и фреймворки. Но настоящая ценность программиста не в том, насколько он быстро пишет код, а в том, как он решает задачи.

В этом плане лучше подойдет стратегический подход, в котором говорилсоь в предыдщуем посте.

Код — это инструмент, а не цель
Можно идеально знать C#, Python или JavaScript, но без умения анализировать проблему и находить оптимальное решение этот навык мало что даст. Хороший код — это не просто «работающий» код, а код, который эффективно решает поставленную задачу.

Способность к анализу
Problem-solving включает:
Разбор требований и понимание сути задачи
Выявление потенциальных узких мест и рисков
Поиск наилучшего решения, а не первого, что пришло в голову
Способность объяснить решение и обосновать его выбор

Почему это важно?
📍 Оптимизация — вместо того, чтобы тупо следовать ТЗ, можно предложить более элегантное и производительное решение.
📍 Масштабируемость — хороший архитектор думает не только о том, как сделать «чтобы работало», но и о том, как система будет развиваться.
📍 Отладка и поддержка — если код написан без глубокого понимания проблемы, его сложнее поддерживать и расширять.

Как развивать навык?
🔹 Больше решать алгоритмических задач (Leetcode, Codeforces)
🔹 Практиковаться в написании собственных проектов (pet проекты)
🔹 Разбирать чужой код и анализировать (строить проекты с нуля)
🔹 Задавать себе вопросы: «А можно ли лучше?», «Почему именно так?»

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

@islomcoding
Please open Telegram to view this post
VIEW IN TELEGRAM
💯4👍3🔥3
Наткнулся на интересный сервис relocate.me, который упрощяет процесс релокации.
(не реклама)

Вкратце - это платформа, которая помогает разработчикам и IT-специалистам найти вакансии с релокацией по многим странам, включая такую информацию как,

🔹 Виза
🔹 Налоги
🔹 Стоимость жизни
🔹 Зарплаты
🔹 Медицина (страховка и тд)

🚀 Можно сразу искать вакансии с релокацией, не тратя время на фильтрацию. Работодатели знают, что тебе нужна помощь с переездом; а также полезные советы по адаптации в новой стране.

PS. Прикрепил пару скриншотов для наглядного примера.

@islomcoding
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍21
Как Uber решил проблему машстрабирования с БД и Транзакциями.
(разбираем кейс)

Uber обрабатывает миллионы запросов (одновременно), и их архитектура должна выдерживать огромные нагрузки. Изначально они использовали Cassandra на своих серверах, но при масштабировании столкнулись с такими проблемами как:

Высокая задержка при записи;
Сложные операции с множеством таблиц;
Риск несогласованности данных; (например, два водителя могут получить одного пассажира - супер критично!)

Чтобы решить эти проблемы, Uber решила перейти на Spanner — распределённую реляционную базу данных, которая поддерживает глобальные транзакции.
Но ключевым решением стало — внедрение Saga-паттерна для управления транзакциями.

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

Существует два подхода к Saga:

🔹 Хореография – микросервисы обмениваются событиями без централизованного управления.
🔹 Оркестрация – есть центральный контроллер, который управляет последовательностью шагов.

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

@islomcoding
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥92👨‍💻2
🛫 Финансовая грамотность: 751510 набор цифр?

Если не управлять деньгами — они будут управлять тобой. Один из самых простых и рабочих принципов — финансовая стратегия 751510, которая помогает навести порядок в личных финансах без сложных таблиц в excel и кучу разных фин. приложений.

История из жизни: финансовое восприятие реальности (до/после)

Когда Х было 19 лет, он работал графическим дизайнером на фрилансе. Доход нестабильный, в среднем выходило 150-200$ в месяц.

Раньше он жил по логике “от зарплаты до зарплаты”. Деньги приходили — и сразу исчезали: аренда, еда, доставка, спонтанные покупки, немного на развлечения.
К концу месяца — на счёте почти ноль. Про сбережения и инвестиции даже не думал.

"Откладывать с такого дохода? Смешно…"


Однажды он увидел подкаст, где обсуждали тему финансовой грамотности (Are You Under 45? You Won't Get A Pension! Don't Buy A House!) и решил просто попробовать — из любопытства, а может и сработает.

Сделав простую разбивку:

- 70% — на повседневные расходы (жильё, еда, проезд)
- 5% — записался на курсы по UX-дизайну
- 15% — стал откладывать на отдельный счёт в банке
- 5% — отправлял родителям, близким
- 5% — позволил себе поход в кино и поездку в соседний регион.

Спустя 3 месяца, он почувствовал уверенность: на счету были накопления, он стал спокойнее относиться к деньгам и чётко понимал, куда они уходят, ввел небольшую страницу в Notion. Он стал стабильнее работать с клиентами - доход вырос до 500-600$ в месяц (за счет саморазвития 5%).

15% он продолжал откладывать, и за 8 месяцев накопилось около 680$ сбережений ($75–90 × 8 месяцев = 600–720$), повышение от клиента после прокачки навыков и первый отпуск, оплаченный полностью из "фонда удовольствий".

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

P.S.: Рост доходов был следствием улучшения финансового поведения и навыков, а не случайного увеличения заработка.


А теперь пару слов о финансовой стратегии 751510: How to manage?

- 70% - Базовые расходы
Всё необходимое для жизни: еда, аренда, проезд, коммуналка, связь. Это ваша зона комфорта — старайтесь не выходить за рамки.

- 5% - Образование
Курсы, книги, тренинги. Инвестиции в знание — самые окупаемые. Даже подписка на полезный контент — уже считается небольшим вкладом.

- 15% — Сбережения и инвестиции
Откладывайте на подушку безопасности (3–6 месяцев жизни), крупные цели или инвестируйте. Это ваша защита и свобода в сложные моменты.

- 5% — Благотворительность или помощь
Родители, приюты, друзья в трудной ситуации. Деньги, которые делают вас человеком.

- 5% — Развлечения, Отдых
Хобби, кино, вкусная еда, отпуск. Важно жить, а не выживать.


📌 Вывод
Финансовая стратегия 751510 — это не про ограничения, а про осознанность. Даже при небольшом доходе он помогает выстроить здоровые финансовые привычки.

@islomcoding
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍31💯1
💵 Финансовая грамотность: от теории к практике

В дополнение к предыдущей статье про управление личными финансами — делюсь полезным ресурсом от Центрального банка Узбекистана для тех, кто хочет не только читать про финансы, но и применять знания на практике.

Что такое
Finlit.uz?
Образовательный веб-сайт по финансовой грамотности, где собраны:

◾️ статьи и видеоматериалы по ключевым финансовым вопросам
◾️ мнения экспертов и ответы на частые вопросы
◾️ полезные инфографики для наглядного понимания
◾️ интерактивные сервисы (депозитные/кредитные калькуляторы)

Что немало важно, вся информация доступна на двух языках — узбекском и русском.


Чему можно научиться?
— Правильно вести личный бюджет и копить
— Разбираться в банковских продуктах: кредиты, вклады, карты
— Избегать финансовых ошибок и мошенников
— Планировать долгосрочные финансовые цели

Медиа-проекты
Телепрограммы «Молиявий билим» и «Молиявий маданият», публикации в СМИ («Даракчи», «Сугдиёна»), а также образовательные статьи на популярных порталах.

Следить за обновлениями можно в телеграм каналах:
[@finlituzb] [@finlituzb_ru]

@islomcoding
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥5👍31
📈 Почему хотя бы раз в жизни стоит поработать в стартапе — и чему это вас научит?

Когда вы работаете в стабильной компании, у вас есть зона ответственности, процессы, комфорт. Но в стартапе всё иначе: никакой зоны комфорта, никакой "моя задача — вот тут заканчивается". Зато — экспоненциальный рост, реальные вызовы и настоящее понимание, как работает продукт и бизнес.

Я прошёл через это сам. И вот, что понял.

От исполнителя — к продукт-ориентированному мышлению

Когда я попал в стартап, мой взгляд на работу изменился. Я перестал думать категориями: "вот задача, надо закрыть". Вместо этого я стал задаваться вопросами:

🔹 зачем мы это делаем?
🔹 как это повлияет на клиента?
🔹 будет ли этим удобно пользоваться?

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

📊 По данным Harvard Business Review, сотрудники стартапов на 46% чаще развивают кросс-функциональное мышление, чем те, кто работает в крупных компаниях.

Почему в стартапе вы растёте быстрее?

Стартап — это хаос, где нужно действовать быстро и точно. У вас нет времени ждать "правильных вводных" или согласований. Вы либо решаете, либо мешаете.

В стартапе вы:

🔹 сами себе менеджер, инженер, аналитик и даже немного дизайнер;
🔹 учитесь брать ответственность за результат, а не за процесс;
🔹 действуете не по инструкции, а по контексту;
🔹 учитесь быстро обучаться и работать в условиях ограниченности ресурсов.

🧠 Исследование Startup Genome: сотрудники стартапов приобретают в 3–5 раз больше новых навыков за первые 12 месяцев, чем в корпорациях за тот же срок.


Стартап как катализатор инициативы

История из моего опыта: на одном корпоративе официант никак не мог найти наш стол — путались заказы, терялись позиции. Тогда и пришла идея: QR-коды на столах, через которые можно делать заказ прямо с телефона. Так и родился продукт, который мы потом начали валидировать в HoReCa-сегменте.

Это ключевой момент: в стартапе вы не ждёте задачу — вы видите проблему и начинаете её решать.

У вас формируется предпринимательское мышление — это то, чего не дают ни в университете, ни в больших корпорациях.


Деньги, риски и реальность

Да, в стартапе нет стабильного оклада, соцпакета и офисной йоги. Тут все на грани:

🔹 завтра может не прийти следующий раунд инвестиций,
🔹 команда перегорит,
🔹 рынок не примет продукт.

Поэтому важно понимать: стартап не гарантирует стабильность — он предлагает возможность.

📉 По данным CB Insights, 90% стартапов закрываются, а 38% — из-за отсутствия product-market fit. Но: среди тех, кто выжил — максимальный рост, опционы, доли и реальная экспертиза.


Именно поэтому первые 10 сотрудников в компаниях вроде Stripe, Notion, Figma — сейчас долларовые миллионеры, не будучи основателями.

Для кого это вообще подходит?

Не каждый человек "создан" для стартапа. Стартап - это высокий уровень неопределённости, отсутствие границ между ролями, работа без чёткого плана и гарантий. Но, если вы хотите:

🔹 учиться быстро, а не формально;
🔹 не боитесь брать на себя ответственность;
🔹 ищете не "позицию", а развитие;

То стартап — это карьерный акселератор, который за 1 год даст вам больше, чем 3 года в "комфортной зоне".

📊 LinkedIn-полл: 57% участников считают, что они созданы для стартапов, но 28% — предпочитают стабильную работу. Остальные — в поиске. Это нормально.


Вывод: стоит ли это того?

Да — если вы хотите взрывного роста, широкого кругозора, умения действовать в неопределённости. Нет — если вы ищете структурную среду, процессы и чёткую карьерную лестницу.

Но даже один год в стартапе:

🔹 надолго изменит ваше мышление,
🔹 научит вас работать на результат,
🔹 сделает вас гораздо более зрелым специалистом — неважно, чем вы займетесь дальше.

Стартап — это не просто работа. Это тест на гибкость, мышление и готовность влиять. Проходите его — становитесь на порядок сильнее.

@islomcoding
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍8🔥7💯31