Как стать автором
Обновить
3
0

Пользователь

Отправить сообщение

«Отдых — это непросто»: Андрей Бреслав о жизни после Kotlin

Время на прочтение15 мин
Количество просмотров17K

Для многих в IT-сообществе имя Андрея Бреслава было почти синонимичным с названием языка программирования: «мы говорим Бреслав, подразумеваем — Kotlin». Неудивительно, поскольку Андрей возглавлял этот проект десять лет подряд, с самого его создания. Но теперь ситуация изменилась, потому что в ноябре он объявил об уходе из проекта.

Беспокоиться за будущее языка не приходится: там всё в надёжных руках Романа Елизарова, и недавно мы опубликовали наш диалог с ним. Но захотелось расспросить и Андрея:

Какими он видит итоги своей работы над Kotlin?

Как выглядит его жизнь сейчас? Как отдыхать, когда привык много работать?

Что он сейчас делает в стартапе Alter? Каково после громадного проекта заниматься менее масштабным? И почему Alter написан не на Kotlin?

Читать далее
Всего голосов 38: ↑37 и ↓1+49
Комментарии1

Отдых при профилактике эмоционального (профессионального) выгорания

Время на прочтение4 мин
Количество просмотров11K

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

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

Читать далее
Всего голосов 10: ↑8 и ↓2+6
Комментарии4

Отдых как ключ к высокой продуктивности

Время на прочтение6 мин
Количество просмотров19K


Сейчас очень популярны всевозможные техники повышения собственной продуктивности. Оптимизация выполнения работ, тайм-менеджмент, приоретизация — всё это призвано максимально повысить производительность труда. Но в сумасшедшем ритме нашей современной жизни многие из нас забывают, что такое отдых и расслабление. Даже в выходные дни наши головы зачастую заняты рабочими проблемами и переживаниями. Но постоянно перерабатывая и отказывая себе в отдыхе и сне, мы тем самым снижаем собственную продуктивность и, что самое главное, не получаем удовольствия от жизни. Хотя второй попытки с проделанной «работой над ошибками» ни у кого не будет.
Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии5

Telegram удалил нашего ChatGPT-бота на 27,000 пользователей без объяснения причин

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров42K

Несколько недель назад мы с коллегой сделали ChatGPT-proxy бота в Telegram, который помогал в наших рабочих чатах и просто развлекал нас. Он написан на TypeScript и потрясающем фреймворке Grammy, использует Open AI API, а именно модель gpt3.5-turbo, которая используется в оригинальном ChatGPT.

Читать далее
Всего голосов 65: ↑48 и ↓17+39
Комментарии116

Сообразим на троих. Троичные компьютеры

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров17K
image

В повседневной жизни мы используем десятичную систему счисления. Почему именно её — это вопрос отдельный. В конце концов, существуют системы с основанием 12 (по фалангам пальцев без большого), 5 (пальцы на одной руке), 20, 60 и так далее. В компьютерах всё несколько проще — там (можно даже сказать, «Традиционно») используется двоичная система, как самая лёгкая для воплощения. Есть ток — нету тока. Есть отверстие в перфокарте — нет отверстия. Ноль или единица. Короче говоря, «да» или «нет» — третьего не дано. А что будет, если дать? Об этом и поговорим.
Читать дальше →
Всего голосов 40: ↑33 и ↓7+37
Комментарии101

Как закалялась сталь современной симметричной криптографии. Глава 1. Классическая криптография

Уровень сложностиСредний
Время на прочтение49 мин
Количество просмотров9.6K

Современные симметричные шифры, которыми мы пользуемся неявно, но повсеместно, появились в ходе своей многовековой эволюции, в ходе продолжительных и постоянных этапов собственного совершенствования. Каждый новый шаг улучшения приводил одновременно к разрушению старых уязвимых шифров и к порождению новых, более качественных и безопасных. Тем не менее, само разрушение старых алгоритмов всегда двояко свидетельствовало как об их недостатках, которые необходимо было искоренять, так и об их достоинствах, которые нужно было наследовать. В следствие этого, каждый новый, более качественный шифр, представлял собой количественный синтез старых, менее качественных алгоритмов шифрования.

Читать далее
Всего голосов 25: ↑25 и ↓0+25
Комментарии5

Дайджест  ̶л̶е̶н̶т̶я̶я̶ уставшего человека: как отдыхать без угрызений совести

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров20K

Как проходят выходные? Встречаете весну на улице, чистите тающий снег у дома или гаража, гуляете с детьми, тягаете железо в зале, засели в любимой игре или работаете работу вне работы, потому что привыкли работать? Каждый из нас волен проводить свободное время так, как считает нужным. Но не факт, что нужное окажется правильным и полезным, позволяющим перезагрузить организм, дать ему отдых — физический, интеллектуальный, эмоциональный. Впрочем, нельзя сказать, что какой-то паттерн отдыха однозначно универсальный и правильный для всех: виды отдыха и их эффективность зависят от возраста, телосложения, рода занятий, привычек, склада личности, региона проживания и массы других факторов. Что не отменяет общих рекомендаций, на которые стоит обратить внимание, чтобы находиться в ладах со своим организмом.

Читать далее
Всего голосов 23: ↑21 и ↓2+33
Комментарии11

Быстрый поиск изоморфных подграфов

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров4.6K

Привет, Хабр!

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

Сначала будет приведён алгоритм поиска паттернов рекуррентным перебором, потом его быстрая модификация с минимальным отсечением.

Примеры кода написаны на C++, исходники всей библиотеки лежат здесь. Также написана копия библиотеки на Java, исходники лежат здесь.

Читать далее
Всего голосов 12: ↑10 и ↓2+12
Комментарии12

Всё, о чём должен знать разработчик Телеграм-ботов

Время на прочтение15 мин
Количество просмотров643K

Вы вряд ли найдете в интернете что-то про разработку ботов, кроме документаций к библиотекам, историй "как я создал такого-то бота" и туториалов вроде "как создать бота, который будет говорить hello world". При этом многие неочевидные моменты просто нигде не описаны.

Как вообще устроены боты? Как они взаимодействуют с пользователями? Что с их помощью можно реализовать, а что нельзя?

Подробный гайд о том, как работать с ботами — под катом.

Читать далее
Всего голосов 127: ↑127 и ↓0+127
Комментарии73

Как вкатиться в геймдев начинающему винтику

Уровень сложностиПростой
Время на прочтение18 мин
Количество просмотров40K

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

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

Если вы готовы пройти через всё это, чтобы создавать игры — добро пожаловать под кат. Я покажу путь.

Портал в ад
Всего голосов 44: ↑42 и ↓2+61
Комментарии31

Как и зачем тестировать код на бэкенде: рекомендации для новичков

Время на прочтение13 мин
Количество просмотров13K

Расскажем, как автоматизировать тесты так, чтобы не тратить на них кучу времени, быстрее находить баги и не повторять их. А ещё поделимся секретом идеального теста. Спойлер: его не существует, но решение есть.

Также разберём базу: виды тестов, их отличия друг от друга, плюсы и минусы. Если вы только начинаете разбираться в тестировании, вам это точно пригодится.

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии6

Как пользоваться дизайнером

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров4.4K

Вот уже семнадцать лет я работаю графическим дизайнером. Как в найме, так и для частных заказчиков. Я не тот дизайнер, чьи работы лайкают на behance, растаскивают по доскам на pinterest и кидают референсами заказчику. Я обычный ремесленник и трудяга, продавший душу корпорации за комфортный соцпакет и стабильную зарплату. И нас таких – легион. Если вы хоть раз заказывали дизайн, вы почти наверняка имели дело с человеком вроде меня. В этой статье опишу жёстко и честно, почему работа с нами обычно строится через жопу.
И подскажу решение.

Читать далее
Всего голосов 21: ↑20 и ↓1+28
Комментарии11

Перевод первой части учебника Patterns.dev

Время на прочтение11 мин
Количество просмотров15K

Привет! Меня зовут Айнур, и я frontend-разработчик SimbirSoft. Более 6 лет я работаю над коммерческими проектами, создаю и улучшаю интерфейсы, поэтому в работе достаточно часто использую паттерны проектирования. Неоднократно я обращался за идеями и лайфхаками к книге Patterns.dev, которая содержит очень современный взгляд на шаблоны проектирования, рендеринга и производительности JavaScript.

Авторы Patterns.dev:

Лидия Холли — штатный консультант и преподаватель по разработке программного обеспечения, которая в основном работает с JavaScript, React, Node, GraphQL. Она также занимается наставничеством и проводит личные тренинги.

Эдди Османи — технический менеджер, работающий над Google Chrome. Его команды работают над такими проектами, как Lighthouse, PageSpeed ​​Insights, Chrome User Experience Report и другими.

Материал книги будет полезен не только React-разработчикам, но и всем, кто так или иначе интересуется или сталкивается с frontend-разработкой.

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

Источник: https://www.patterns.dev/
Данный адаптированный материал распространяется на условиях лицензии Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)

Читать далее
Всего голосов 5: ↑4 и ↓1+5
Комментарии5

Python, Django и немного защиты кода

Время на прочтение4 мин
Количество просмотров9.9K

Привет, Habr! Компания, в которой я работаю, занимается системами умного дома и видеонаблюдения. Услуга работает по форме SaaS. Но недавно было решено продавать и локальное решение. За основу «коробки» было решено взять облако, немного его переделать и вот готов новый продукт…

С переездом с облачных «рельс» возник ряд вопросов. Один из них в том, что весь проект написан на Python‑ язык интерпретируемый на лету и не защищенный от копирования от слова совсем. Второй момент, что в проекте используется Django. Фреймворк со своими зависимостями, которые еще аукнулись нам в процессе поиска решений. То с чем мы столкнулись и к чему пришли далее в статье.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии16

Предметно-ориентированное проектирование (DDD) | Эванс Эрик — обзор книги и рекомендации

Время на прочтение4 мин
Количество просмотров34K

В одном романе для того, чтобы подчеркнуть бесспорную красоту и поразительную сексуальность одной из героинь, автор использовал фразу: "She was a such kind of woman, that every man look at twice". Что в литературном переводе можно понять: "Одна была такой женщиной, что каждый мужчина оборачивался ей в след".

И точно такую же фразу я могу применить к бесподобной книге "Предметно-ориентированное проектирование (DDD)" Эванса Эрика. К ней хочется возвращаться каждый раз, когда ты садишься за проектирование системы в незнакомой тебе области. Словно маяк во время шторма, она помогает вести вашу галеру через сложности, чтобы все гребцы увидели землю, а проект увидел успешный старт.

И в этом обзоре, я расскажу, почему, по моему мнению, это MUSH HAVE книга для каждого middle+ разработчика.

Читать далее
Всего голосов 6: ↑4 и ↓2+3
Комментарии28

Почему в вашем коде так сложно разобраться

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров15K

Сейчас 1:30 ночи, и я смотрю на фрагмент кода, который написал около месяца назад. В то время он казался мне произведением искусства. Все здесь имело смысл. Он был элегантен, прост и замечателен. Но больше нет. У меня завтра дедлайн, а я обнаружил баг всего несколько часов назад. То, что казалось простым и логичным в то время, сейчас просто не поддается моему пониманию. Конечно, если я написал этот код, мне ведь должно хватить мозгов, чтобы понять его?

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

Читать далее
Всего голосов 20: ↑18 и ↓2+21
Комментарии7

Как я попала на стажировку тестировщиком и осталась в Яндексе

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров31K

Всем привет! И это мой опыт вхождения в профессию тестировщика через стажировку в Яндексе. Для большего понимания всей картины, я 3,5 года училась в вузе на лингвиста и 4,5 года параллельно работала в общепите (то менеджер, то бариста, то всем и вся). Поэтому мой опыт можно назвать «практикой выжившего», а можно взять как вполне себе вариант возможного. Сразу сообщаю, что в профессии я только (уже) 7–8 месяцев, и мой опыт скорее для тех, кто боится пытаться в стажировки, потому что «не учился на профиль».

Кому интересно - welcome
Всего голосов 21: ↑13 и ↓8+12
Комментарии19

Пагинация в telegram-боте для чайников

Время на прочтение8 мин
Количество просмотров17K

В телеграм бот нужна пагинация но все не понимаешь как ее сделать? Читай эту статью, станет понятно!

Читать статью
Всего голосов 12: ↑11 и ↓1+12
Комментарии11

Как подружить Celery и SqlAlchemy 2.0 с асинхронным Python

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров9.7K

Недавно, я столкнулся с задачей, когда с проекта на Python нужно было стряхнуть пыли и заставить работать чуточку производительнее. В следствии чего монолит был распилен на микросервисы, а брокером между сервисами стали всем знакомый RabbitMQ и такой же старый как сам Python - Celery. Проект был перенесен с Django на FastAPI, который по-моему субъективному мнению является идеальным решением для любых бэкендов на Python. Проблема с которой я столкнулся во время подключения Celery описана в данном посте.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии11

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Дата рождения
Зарегистрирована
Активность