Pull to refresh
123
0

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

Send message

Полный релиз бесплатного интерактивного 700-страничного учебника по тестированию

Level of difficultyEasy
Reading time12 min
Views100K

Гуд ньюз эвриван! Спустя полтора года работы восьми айтишников с суммарным опытом в IT 130 лет достигнут результат в виде учебника по тестированию, которого еще никто и никогда не делал.

Читать далее
Total votes 160: ↑159 and ↓1+158
Comments162

PHP-SPX простой профайлер трейсер для PHP

Reading time4 min
Views12K
Работая с различными PHP проектами часто приходится дебажить приложение чтобы найти и исправить ошибку. Во многих случаях вполне хватает xDebug, однако он не подходит для всех задач. Иногда нужно понять почему та или иная страница долго загружается, что съедает так много памяти или просто как работает большой и запутанный код.
php-spx logo webmageic
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments3

Четыре способа написать Hello world, или инструменты для создания GUI на Python

Level of difficultyEasy
Reading time5 min
Views29K

После написания программы ее можно модифицировать и добавить графический интерфейс — с Python это проще, чем кажется. Для программирования красивого и функционального GUI иногда достаточно простого знания html и css.

Под катом — подборка некоторых инструментов для создания интерфейсов на Python. Сохраняйте статью в закладки и предлагайте свои варианты в комментариях!
Читать дальше →
Total votes 56: ↑53 and ↓3+50
Comments61

Механические клавиатуры 2023

Level of difficultyEasy
Reading time28 min
Views46K

Эта статья возникла как результат моих попыток разобраться в рынке механических клавиатур в 2023 году. На Хабре уже был неплохой материал по этой теме, опубликованный в 2012 году - https://habr.com/ru/post/140454/. Поэтому самые полезные блоки оттуда я честно скопипастил (благо лицензия статьи позволяет), но изменилось на самом деле гораздо больше, чем я ожидал. Для всех интересующихся, я также порекомендую https://wiki.geekboards.ru/, где вы можете найти еще больше технических деталей и несколько исторических экскурсов про устройство клавиатур.

Осторожно, дальше будет много букв и картинок (под спойлерами)

Читать далее
Total votes 72: ↑70 and ↓2+68
Comments115

Наиболее распространенные типы поломок ноутбуков в моей практике: топ-5 простых причин выхода устройства из строя

Reading time6 min
Views52K


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

Через мои руки прошли сотни ноутбуков, как с очень сложными поломками, так и очень простыми. Не скажу, что я мастер высочайшего класса, но, например, заменить VRAM, процессор или хаб могу. Имею в виду, конечно, те компоненты, что распаяны на плате, а не съемные. Сегодня расскажу о наиболее распространенных видах поломок ноутбуков, починить которые достаточно просто, но многие из них ставят в тупик обычных пользователей. Если вы — мастер высокого класса, вряд ли почерпнете что-то для себя. Но если начинающий или просто пользователь — думаю, будет интересно.
Читать дальше →
Total votes 168: ↑167 and ↓1+166
Comments194

Unity UI Toolkit: MVVM ннада?

Reading time4 min
Views6.1K

Ни для кого не секрет, что Unity сейчас активно работают над новой системой создания пользовательского интерфейса UI Toolkit. Это инструмент разработки интерфейсов вдохновлённый стандартными подходами веб-разработки.

И всё бы хорошо, но каково было моё удивление, что, проделав такую работу, они не предоставили механизма связывания данных...

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments3

Заметка о полезных возможностях современного CSS

Reading time10 min
Views13K


Привет, друзья!


В данной заметке я расскажу вам о некоторых полезных возможностях, предоставляемых современным CSS. Также мы немного поговорим о полезных "фичах", которые ждут нас в ближайшие 2 года.


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

Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments11

Бесплатные инстансы в облаках — это ловушка

Reading time6 min
Views33K


Говорят, что бесплатный сыр бывает только в мышеловке. С облачными сервисами похожая ситуация. Конечно, можно получить что-то бесплатно или с большой скидкой. У компании есть бюджет на привлечение клиентов. Но потом она рассчитывает всё окупить сполна.

В итоге вокруг бесплатных сервисов начинается игра в кошки-мышки. Пользователи в роли мышки пытаются стащить «сыр». А облачный провайдер применяет всякие трюки, чтобы списать с «халявщиков» деньги и прихлопнуть самых живеньких.
Читать дальше →
Total votes 79: ↑52 and ↓27+25
Comments57

Git. Коротко о главном

Reading time15 min
Views56K

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

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

Читать далее
Total votes 28: ↑21 and ↓7+14
Comments18

8 способов вызвать утечки памяти в .NET

Reading time9 min
Views21K

Опытные .NET-разработчики знают, что даже несмотря на наличие в .NET сборщика мусора (Garbage Collector), утечки памяти все равно возникают с завидной регулярностью. Утечки возможны не из-за ошибок в сборщике мусора, а потому что даже в управляемом коде есть множество способов их появления.

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

Читать далее
Total votes 28: ↑25 and ↓3+22
Comments44

Графика для JVM

Reading time5 min
Views16K


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

Почему именно JVM?


Это производительность на достаточно высоком уровне, но не заставляет вас слишком много задумываться о каждом выделение памяти. Это кроссплатформенно. В нем есть отличные языки — Kotlin, Scala и, конечно же, Clojure. C # тоже подойдет, но в нем нет Clojure.

Разве вы уже не можете создавать десктопные приложения на JVM?


Вы можете. Но традиционно AWT, Swing и JavaFX сопровождались множеством недостатков в качестве и производительности. Они были настолько существенными, что только одной компании удалось создать прилично выглядящее приложение на Swing. Это возможно, но требует огромных усилий.

Разве не все пользовательские интерфейсы Java прокляты?


Нет, не совсем. У AWT, Swing и JavaFX есть свои проблемы, но это исключительно их проблемы. Нет фундаментальной причины, по которой невозможно создать высококачественный пользовательский интерфейс на JVM. Просто это еще не было сделано.

Почему это еще не было сделано?


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

Почему не Electron?


Первая причина — производительность. JS — отличный язык для создания пользовательского интерфейса, но он намного медленнее, чем JVM. Wasm может быть быстрым, но подразумевает C ++ или Rust.
Читать дальше →
Total votes 45: ↑35 and ↓10+25
Comments30

Памятка/шпаргалка по SQL

Reading time29 min
Views865K

Доброго времени суток, друзья!


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

Читать дальше →
Total votes 50: ↑46 and ↓4+42
Comments18

Что такое функциональное программирование?

Reading time7 min
Views73K

Эта статья является переводом материала «What is functional programming?».

В этой статье Владимир Хориков попытается ответить на вопрос: что такое функциональное программирование?

Итак, что такое функциональное программирование? Этот термин возникает довольно часто, и каждый автор, пишущий о нем, дает собственное объяснение. На взгляд автора оригинала, самым простым и в то же время точным определением является следующее: функциональное программирование - это программирование с математическими функциями.

Математические функции не являются методами в программном смысле. Хотя мы иногда используем слова «метод» и «функция» как синонимы, с точки зрения функционального программирования это разные понятия. Математическую функцию лучше всего рассматривать как канал (pipe), преобразующий любое значение, которое мы передаем, в другое значение

Читать далее
Total votes 32: ↑27 and ↓5+22
Comments108

WPF, UWP, WinUI, MAUI, Windows App SDK

Reading time6 min
Views24K

Человека далёкого от клиентской разработки на Windows все эти термины определённо путают. И даже среди MS-сообщества регулярно возникают споры жив UWP или мёртв. Причем главный вопрос в этом споре - а что же такое UWP?

Вот уже года 3 Microsoft проводит "рефакторинг" в своём "королевстве".  Несколько устав видеть одни и те же споры в твиттере, и оставлять одни и те же комментарии на хабре, я решил расписать как же многочисленные UI-фреймворки MS соотносятся между собой. Кто из них больше мёртв. Возможно, кому-то это поможет в выборе технологии для будущего проекта.

Читать далее
Total votes 32: ↑31 and ↓1+30
Comments40

HTML трюки

Reading time2 min
Views14K
image

1. Атрибут `loading=lazy`


Совет по производительности. Вы можете использовать атрибут loading = lazy, чтобы отложить загрузку изображения до тех пор, пока пользователь не домотает до них.

<img src='image.jpg' loading='lazy' alt='Alternative Text'>  
Total votes 40: ↑31 and ↓9+22
Comments16

Бесплатные сервисы для разработчиков — огромный список

Reading time8 min
Views54K

Бесплатное хранилище артефактов PackageCloud

Удивительно, но в интернете сотни сервисов, которыми разработчик может пользоваться совершенно бесплатно. «Бесконечное» время (пока компания не обанкротится или не изменит условия), без рекламы, пробного периода и других подводных камней.

Недавно мы обсуждали эту тему в статье «Боль разработчика: “Никогда не давайте пользователям бесплатный тариф”». Речь шла о том, что на самом деле бесплатный план вовсе не бесплатен — приходится тратить массу времени и усилий на поддержку этих тарифов.

Но для некоторых бесплатный тариф — единственный способ завлечь новых клиентов. Это просто замечательно с точки зрения самих пользователей. Ведь перед нами десятки бесплатных хостингов, API, CMS, CDN, сервисов обработки данных, поисковых движков, репозиториев, инструментов проверки кода и других. Бесплатный тариф идеален для опенсорс-разработчиков, любительских и некоммерческих проектов, маленьких стартапов. Ни за что не надо платить.
Читать дальше →
Total votes 83: ↑77 and ↓6+71
Comments15

Детальная настройка браузера Firefox

Reading time15 min
Views119K

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

Надеюсь она немножко поможет в популяризации этого чудесного браузера.

Читать далее
Total votes 53: ↑50 and ↓3+47
Comments96

Почему вам следует использовать pathlib

Reading time15 min
Views84K

От переводчика: Привет, хабр! Представляю вашему вниманию перевод статьи Why you should be using pathlib и её продолжения, No really, pathlib is great. Много внимания нынче уделяется таким новым возможностям Python, как asyncio, оператору :=, и опциональной типизации. При этом за радаром рискуют пройти не столь значительные (хотя, := назвать серьёзным нововведением язык не поворачивается), но весьма полезные нововведения в язык. В частности, на хабре статей, посвящённых сабжу, я не нашел (кроме одного абзаца тут), поэтому решил исправить ситуацию.


Когда я открыл для себя тогда еще новый модуль pathlib несколько лет назад, я по простоте душевной решил, что это всего лишь слегка неуклюжая объектно-ориентированная версия модуля os.path. Я ошибался. pathlib на самом деле чудесен!


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

Читать дальше →
Total votes 43: ↑41 and ↓2+39
Comments17

8 команд для Python по работе с файлами и файловой системой, которые обязательно нужно знать

Reading time4 min
Views87K

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

Эта статья предназначена как раз для начинающих разработчиков. В ней описаны 8 крайне важных команд для работы с файлами, папками и файловой системой в целом. Все примеры из этой статьи размещены в Google Colab Notebook (ссылка на ресурс — в конце статьи).
Читать дальше →
Total votes 60: ↑46 and ↓14+32
Comments15

Настройка собственного почтового сервера

Reading time7 min
Views143K

Зачем нужен собственный почтовый сервер можно почитать в оригинальной статье. А поскольку на "habr" обретает надежду всяк сюда входящий, то далее пошаговая инструкция как сделать все настройки, чтобы почтовый сервер функционировал правильно: мог достучаться до любого адресата и сообщения не помечались как спам.

Читать далее
Total votes 28: ↑27 and ↓1+26
Comments123

Information

Rating
Does not participate
Registered
Activity