Search
Write a publication
Pull to refresh
2
0
Send message

Вы НЕ сошли с ума (о режиме сна в Windows)

Reading time8 min
Views157K

Вы сталкивались с тем, что ноутбук случайно включается, хотя вы уверены, что отправляли его в сон?

Бывало, что батарея оказывалась пустой, хотя вы точно-точно помните, как убирали в сумку заряженный на 100% ноутбук?

Тогда вам сюда:

Мне сюда

Экстремально уменьшаем размер NPM пакета

Reading time21 min
Views8K

Однажды я захотел создать небольшую NPM библиотеку по всем “best practices” - с покрытием тестами, написанием документации, ведением нормального версионирования и changelog'а и т.п. Даже написал пару статей, которые в деталях описали, какие вопросы решает библиотека и как её использовать. И одной из интересных для меня меня задач при создании библиотеки была задача по максимальному уменьшению размера выходного NPM пакета - того, что в конечном итоге в теории будет использовать другой программист. И в этой статье я бы хотел описать, к каким методам я прибегал для того, чтобы достигнуть желанной цели.

Читать далее

3D-моделирование в Blender для подростков: чему можно научиться

Reading time5 min
Views29K

В начале года многие школьники ищут новые направления для развития. Одним из наиболее популярных сегодня является 3D-моделирование. Рассказываем, как начать обучение анимации для детей и подростков и делимся полезной информацией.

Читать далее

Советы по архитектуре кода для начинающих

Reading time8 min
Views36K

Для кого статья

Вы уже написали свои первые 1000 строк кода и сейчас хотите сделать их понятнее, потому что внесение изменений занимает столько-же времени, сколько написать заново, но советы из ООП, SOLID, clean architecture и т.д. непонятны вам.

О чем статья

Эта статья - не объяснение принципов ООП, SOLID своими словами, а попытка создать промежуточный уровень между никакой и чистой архитектурами. 100% советы будут накладываться друг на друга и перефразировать SOLID, но так даже лучше.

От кого статья

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

Отказ от ответственности

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

Формат статьи - наводящие советы / вопросы.

Читать далее

Мемы 2019 года: девушки с котом, волчьи цитаты и взаимный троллинг поколений

Reading time14 min
Views35K

Первая, вторая и третья части обзора повествовали об интернет-культуре и мемах с начала нулевых по середину десятых годов. Четвёртая завершилась на 2018 году. Пора добраться и до мемов рубежа десятых и двадцатых годов вплоть по конец ушедшего 2022 года.

Изначально я думал вместить их все в единую пятую часть, но ярких и заметных мемов последних лет оказалось столько, что даже краткое их описание потребовало бы или выкинуть 90% контента, или описывать всё совсем уж однострочно. Посему я счёл за более рациональный вариант описать каждый год отдельно. С одной стороны, всё это было недавно, а с другой — кажется, в совсем ином мире.
Читать дальше →

Этапы и принципы развития навыка говорения

Reading time7 min
Views37K

«Гло́кая ку́здра ште́ко будлану́ла бо́кра и курдя́чит бокрёнка». Эту фразу из несуществующих слов предложил в начале XX века академик Л.В. Щерба. Из неё ясно, что «будлану́ла» — действие, которое ку́здра (ж.р.) совершила в отношении бо́кра (м.р.); бокрёнок, скорее всего, детёныш бокра. Для русского это очевидно сразу. Иностранцу придётся сначала выучить русский. Фраза показывает, что язык — это НЕ СЛОВА. Слова легко переходят из одного языка в другой. Язык  это принципы, по которым слова связываются друг с другом.

В том, чтобы научиться говорить, ничего сложного нет — проблема это придуманная. А все неудачи от того, что люди, как говорится, put the cart before the horse, ставят телегу впереди лошади. Пытаются говорить, не понимая, как связываются слова в языке. Это как пытаться бегать, не научившись ходить.

Не будем обсуждать руссо туристо, когда говорят наполовину инфинитивами, наполовину знаками. Выделим три уровня «говорения»:

1-й уровень: говорим по-простому, но +/- грамматически правильно. Например, не зная выражения «прикрой форточку», говорим проще: «закрой маленькое окно, но не до конца».

2-й уровень: говорим на конкретные темы именно теми фразами, которые используют носители языка («прикрой форточку»).

Есть реальная история про русского математика, который читал лекцию на английском в Оксфорде. Упоминал степени, корни, дроби и прочие математические штуки, которые не каждый переводчик сумеет описать без подготовки. А после лекции к нему подошла студентка и попыталась заговорить. Математик улыбнулся: «Sorry, I don’t speak English». Лекцию он прочитал настоящими фразами носителей, но за пределами описания математических формул и действий едва говорил на 1-м уровне.

Читать далее

Парсили сайты, парсим и будем парсить. И не нужно этому мешать

Reading time12 min
Views18K

Здравствуйте, меня зовут Максим Кульгин. Моя компания xmldatafeed.com занимается парсингом много лет. На днях мы вернули 16 000 руб. клиенту, так как не смогли парсить весь iherb.com с нужной клиенту скоростью (а там очень много товаров). Проверил и оказалось, что это единичный случай за весь год и родилась эта, чуть-чуть философская статья.

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

Читать далее

Как хостить телеграм-бота (и другие скрипты на Python) на Repl.it бесплатно 24/7

Reading time3 min
Views166K

Очень часто возникающий вопрос: где можно разместить скрипты на Python, Flask-приложение, телеграм или дискорд ботов?

Один из вариантов — на своем компьютере при наличии внешнего IP-адреса и опыта в настройке проброса портов на роутере.

Цель этот статьи - подробная инструкция, как сделать хостинг Python-скриптов бесплатно и доступным 24/7 на примере телеграм-бота

Читать далее

Вычисление сигнатуры строки для её применения в сортировке строк в алфавитном порядке по всем символам

Reading time3 min
Views3.8K

Динамическое вычисление сигнатуры строки с возможностью применения этих сигнатур для сортировки строк в алфавитном порядке по всем символам.

Как отсортировать строки в алфавитном порядке не сортируя их в алфавитном порядке.

Читать далее сортировка строк в алфавитном

Все эссе Пола Грэма на русском

Reading time1 min
Views7.6K

Журналисты издания The New York Times сообщили, что Пол Грэм является одним из самых уважаемых людей среди разработчиков, основателей и инвесторов. Он является профессиональным программистом, хакером, создателем дерзкого инкубатора Y Combinator, философом.

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

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

К началу работы я сумел найти 156 эссе, хотя переводов существовало больше, я не сумел восстановить утерянные. В 22 переводах не было примечаний и еще 56 эссе не были переведены целиком.

С начала работы у меня были сомнения по оформлению переводов: оставлять ли оригинальное форматирование эссе, вставлять ли ссылки из оригинала, вставлять ли примечания. Я постарался оставить эссе в том виде, в котором Пол хотел донести их до читателя.

Я регулярно отслеживаю выход новых эссе на сайте Пола и перевожу их.

Ознакомьтесь с переводами и следите за новыми на сайте.

Читать далее

Как мы запускали сервис по продаже подписок на Spotify, Netflix, PlayStation

Reading time9 min
Views16K

Меня зовут Рома Васильев, я дата-инженер. В марте 2022 года мы с коллегой создали стартап — сервис-посредник, через который в России можно купить подписки на Netflix, Spotify, PlayStation, Steam и другие площадки, которые ушли с рынка. 

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

Читать далее

Создаём тематические иконки для приложения на Android 13

Reading time2 min
Views11K

В 2021 году Google анонсировал Material You и тем самым взял курс на персонализацию Android-устройств.

Одним из способов настройки внешнего вида своего рабочего стола для пользователя стала добавленная в этом году в Android 13 новая функция - "Тематические значки".

Читать далее

Принципы SOLID коротко и простым языком (на JS)

Reading time2 min
Views32K

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

Читать далее

Популяризация JSON-RPC (часть 1)

Reading time8 min
Views37K

Для передачи данных по сети есть хорошо зарекомендовавшие себя стандарты - например, SOAP, gRPC, AMQP, REST, GraphQL.

При создании вебсайтов малой, средней и большой сложности с потоками данных к бэкенду и обратно в JSON формате обычно используются последние два с их вариантами. Верней, только варианты, потому что REST и GraphQL - ресурсо-ориентированные стандарты. Это как бы просто перенос элементарной работы с базой данных на клиента (хотя под "ресурсом" может пониматься и абстракция). Обычно таких запросов не больше трети от всего бэкенд API.

Попытка сделать весь API максимально RESTful страшно раздувает код и грузит сеть. Потому что остальные две трети запросов - в форме команд на бэкенд проделать какие-то действия, слабо отображающиеся на CRUD над некими ресурсами. И вариантов послать такие запросы достаточно много. Даже, чересчур.

Читать далее

Как всё успеть? | Мой тайм-менеджмент

Reading time5 min
Views14K

Прежде чем начать говорить про тайм-менеджмент и как всё успевать, начну с плохой шутки про электрика. Как определить является электрик хорошим или плохим? Правильно! Любой живой электрик автоматически хороший. Теперь немного обо мне. Я работаю преподавателем в университете, учусь в магистратуре, веду YouTube-канал по программированию PyLounge, занимаюсь репетиторством, пишу статьи, выступаю на конференциях, мастер-класса, параллельно изучаю новые технологии, хожу в спортзал, а ещё у меня есть семья и друзья. Не воображаемые. Это важно. И если я до сих пор жив, и сейчас пишу это, значит что-то в распределении времени и тайм-менеджменте я знаю.

Читать далее

Пять шаблонов загрузки данных для повышения быстродействия сайтов

Reading time13 min
Views16K

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

Это ужасно бесит — подборка косяков, постоянно встречающихся от сайта к сайту, от приложения к приложению

Reading time5 min
Views37K

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

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

Читать далее

Как правильно писать API авто тесты на Python

Reading time18 min
Views63K

Как правильно писать API авто тесты на Python используя Pytest, Pydantic, Httpx, Allure.

Эта статья как продолжение статьи Как правильно писать UI авто тесты на Python. Если мы говорим про UI автотесты, то тут хотя бы есть паттерны Page Object, Pagefactory; для API автотестов таких паттернов нет. Да, существуют общие паттерны, по типу Decorator, SIngletone, Facade, Abstract Factory, но это не то, что поможет протестировать бизнес логику на уровне API тестируемой системы

Читать далее

Как собрать базу организаций за час

Reading time2 min
Views12K

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

Читать далее

6 Python декораторов, которые значительно упростят ваш код

Reading time5 min
Views66K

"Простое лучше сложного".

Лучшая функция Python, которая применяет эту философию из "дзен Python", - это декоратор.

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

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

Болтать не буду. Давайте посмотрим на отобранные мной 6 декораторов, которые покажут вам, насколько элегантен Python.

Читать далее

Information

Rating
6,417-th
Registered
Activity