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

Все потоки

Сначала показывать
Порог рейтинга
Уровень сложности

enum class и мой первый раз (использования Source Generator)

Уровень сложности Простой
Время на прочтение 15 мин
Количество просмотров 35
C# *.NET *
Кейс

Приветствую.

Выбор между enum и собственным классом перечислений в C# был для меня сложной темой. Но когда увидел enum class из Kotlin, мое мировоззрение немного поменялось, я захотел иметь их в C#.

Но делать proposal мне не хотелось. И тут я вспомнил про генераторы исходного кода, добавленные в .NET 5, и решил, что пришло время их потрогать.

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

Читать далее
Рейтинг 0
Комментарии 0

Новости

Как упростить импорт JavaScript модулей с помощью Node.js Subpath Imports

Уровень сложности Простой
Время на прочтение 14 мин
Количество просмотров 99
Разработка веб-сайтов *JavaScript *Node.JS *TypeScript *
Туториал

Существует множество библиотек для настройки алиасов в Node.js, таких как alias-hq и tsconfig-paths. Однако однажды, изучая документацию Node.js, я обнаружил возможность настройки алиасов без использования сторонних библиотек. Более того, данный подход позволяет использовать алиасы без сборки кода. Знакомо ли вам поле imports в package.json? В этой статье мы рассмотрим, что такое Node.js Subpath Imports, узнаем о тонкостях настройки и разберемся с поддержкой в актуальных инструментах разработки.

Читать далее
Рейтинг 0
Комментарии 0

«Мне нужны ваши глаза!». Так ли хорош новый криптостартап Сэма Альтмана, как про него говорят?

Время на прочтение 8 мин
Количество просмотров 516
Искусственный интеллект Финансы в IT Криптовалюты Будущее здесь IT-компании

Worldcoin кажется идеальным web3-проектом. Прорывная технология в основе + крипта и блокчейн + миссия, связанная с развитием ИИ + Сэм Альтман (тот самый, который из OpenAI) в числе фаундеров. Неудивительно, что инвесторы быстро раскошелились на 115 млн долларов. Но есть мнение, что пиара здесь больше, чем реального технологического прорыва. Разбираемся, как оно на самом деле.

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

Наиболее раздражающие причины поломок ноутбуков в моей практике: топ-5 проблем

Время на прочтение 5 мин
Количество просмотров 5.8K
Блог компании Selectel Компьютерное железо Ноутбуки DIY или Сделай сам Электроника для начинающих
Whats-App-2023-05-30-01-12-47
Игровой ноутбук, в котором был треснут керамический SMD-конденсатор на линии питания видеочипа, что приводило к разнообразным проблемам

Привет, Хабр! Около месяца назад я публиковал статью «Наиболее распространенные типы поломок ноутбуков в моей практике: топ-5 простых причин выхода устройства из строя». Сейчас я хотел бы поделиться типами поломок, которые отнимают много времени, порой, ресурсов, а положительный результат вовсе не гарантирован.

Напомню, что через мои руки прошли сотни ноутбуков, с самыми разными поломками. Некоторые из них я вполне способен решить, другие — нет, но, в целом, большую часть поломанных устройств, которые ко мне попадают, я чиню. Сам пост может быть интересен как профессионалам, так и начинающим ремонтникам, либо обычным пользователям. Если у вас есть собственный топ раздражающих вас причин поломок ноутбуков — делитесь в комментариях, думаю, будет интересно многим.
Читать дальше →
Всего голосов 14: ↑13 и ↓1 +12
Комментарии 7

Истории

Шарды? Репликация? Part 1: Подбор БД на примере URL-сокращателя

Время на прочтение 6 мин
Количество просмотров 1K
Высокая производительность *Анализ и проектирование систем *Восстановление данных *Data Engineering *
Из песочницы

Даже немножко страшно думать, что еще несколько лет назад, когда использование k8s разрасталось до сегодняшних масштабов, люди предлагали и даже пытались разворачивать в нем базы данных с прикрученными volume-ами около своих приложений. Говоря о дизайне высоконагруженных систем, хоть и с минимумом бизнес-логики, иногда задумываешься даже о bare-metal имплементации, сравнивая ее с виртуализацией (в некоторых компаниях иногда и второго порядка). Чтобы избежать подобных мыслей, я решил для себя подумать, как можно организовать что-нибудь простое, но масштабированное и к чему однозначно не подойдут требования к нагрузке в 1 запрос в секунду. Дальше - интереснее.

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

Пишем на Python, как будто это Rust

Время на прочтение 19 мин
Количество просмотров 2.1K
Python *Программирование *Совершенный код *Rust *
Перевод

Я начал программировать Rust несколько лет назад, и эта работа постепенно позволила мне изменить подход к проектированию программ и на других языках. В особенности заметен этот эффект был на Python. Прежде, чем я приступил к использованию Rust, я обычно писал код Python в очень динамичном стиле со свободной типизацией, без подсказок типов. Я повсюду передавал и возвращал словари, от случая к случаю прибегая к интерфейсам со «строковой типизацией». Правда, ощутив на себе всю строгость системы типов Rust и познакомившись со всеми теми проблемами, которые Rust решает «по природе», я вдруг сильно разволновался, когда пришлось вернуться к Python – и оказалось, что там и близко нет таких гарантий, как в Rust.

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

UML: обзор основных типов диаграмм, диаграмма Классов. Часть 1

Время на прочтение 7 мин
Количество просмотров 1K
Проектирование и рефакторинг *UML Design *Подготовка технической документации *
Из песочницы

Хабр, привет! Меня зовут Витя, я работаю системным аналитиком, сегодня хочу рассказать про такой обязательный навык аналитиков, как проектирование процессов. Думаю, что каждый, кто будет работать на позиции системного/бизнес аналитика, рано или поздно столкнется с такой задачей.

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

Тайм-трекер — от поиска до собственных «костылей» и «велосипеда»

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 1.3K
Управление разработкой *Удалённая работа
Из песочницы

Меня зовут Наташа и, так сложилось, что я работаю frontend разработчиком. За этот период мне посчастливилось поработать как в офисе, так и на удаленке. Одним из важных этапов в этой отрасли является тайм-менеджмент. Важно не только уметь планировать свое время, но и, как итог, отчитываться перед работодателем сколько времени на какую задачу или проект ты потратил. Скажу сразу, у нас нет тотального контроля за сотрудниками: нам не нужно ставить софт, который отслеживает твою активность, делает скриншоты или записывает запись видео рабочего экрана. Достаточно в конце дня или в конце рабочей недели затрекать тайминг по своим задачам. Отсюда вытекает ряд достаточно простых требований к сервису:

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

Lua: маленький язык, который смог

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 5.3K
Программирование *Lua *Софт Изучение языков
Мнение
Перевод

Lua — это, пожалуй, мой любимый "маленький язык", с низкой когнитивной нагрузкой и простотой в изучении и использовании. Он встроен во многое ПО, такое как Redis, NGINX через OpenResty и Wireshark (прим. перевод.: и многое другое). Он также используется в качестве скриптового языка в таких играх, как World of Warcraft и Roblox через Luau (прим. перевод.: и многих других). Этот пост — краткое признание в любви языку с некоторыми примерами того, почему он мне так нравится.

Читать далее
Всего голосов 15: ↑14 и ↓1 +13
Комментарии 19

Как развернуть свой Wireguard VPN сервер с WEB-интерфейсом за одну команду

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 2.5K
Информационная безопасность *
Туториал
Recovery mode

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

Исходники

Читать далее
Всего голосов 9: ↑2 и ↓7 -5
Комментарии 15

Apple Pro Weekly News (22.05 – 28.05.23)

Время на прочтение 5 мин
Количество просмотров 660
Гаджеты Компьютерное железо Смартфоны IT-компании
Дайджест

Конференция Apple WWDC23 уже близко, есть даже расписание, а ещё важный анонс. Коротко о том, что нас может ждать в iOS 17, а также какой сервис Apple этим летом прекратит работу. Несколько очень дальновидных слухов и новости для любителей кинопроектов от Apple Original Films. Затишье перед самой настоящей бурей новостей уже началось, а пока обсудим то, что есть – в этом выпуске Apple Pro Weekly News!

Перейти к новостям
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

Три примечательных IT-компаний из Сербии

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 2.2K
Блог компании Онлайн Патент Читальный зал Патентование *IT-компании
Обзор

«Делать хорошо или никак» — такое ощущение, будто IT-компании в Сербии руководствуются именно этим лозунгом. Многие из них выросли из желания поменять индустрию. Их труды не прошли даром — некоторые из них вышли на мировой уровень и уже завоевали миллионы пользователей.   

Читать далее
Всего голосов 14: ↑11 и ↓3 +8
Комментарии 2

Security Week 2322: практический пример атаки с использованием домена .zip

Время на прочтение 3 мин
Количество просмотров 2.6K
Блог компании «Лаборатория Касперского» Информационная безопасность *
В середине мая открылась свободная регистрация имен в доменных зонах .ZIP и .MOV. Эти TLD вошли в список из сотен коммерческих доменных зон, обслуживанием которых занимаются частные компании. В данном случае регистратор, обслуживающий эти два TLD, принадлежит Google. От всех остальных доменов верхнего уровня эти два отличаются тем, что соответствующие URL крайне трудно отличить от имен файлов с таким же разрешением. Среди специалистов по безопасности это сразу же вызвало опасения: кликабельные ссылки в мессенджерах и соцсетях, похожие на имена файлов, теоретически должны упростить кибератаки.



Как подобная атака может выглядеть на практике, на прошлой неделе показал исследователь, известный под ником mrd0x. Он зарегистрировал доменное имя mrd0x.zip, на котором детально воспроизвел интерфейс архиватора WinRAR.
Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 5

В лаборатории впервые воспроизвели эволюцию многоклеточного организма, создав многоклеточные дрожжи за 600 дней

Время на прочтение 6 мин
Количество просмотров 4K
Научно-популярное Биотехнологии Биология
Перевод

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

Читать далее
Всего голосов 17: ↑16 и ↓1 +15
Комментарии 20

Крипта не пошла, будем «стричь» на нейросетях

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 4.3K
Научно-популярное Искусственный интеллект
Мнение

Не далее, как вчера схлестнулся в словесной баталии с созидателями очередного "ChatGPT 4, Mindjourney и всех-всех-всех без СМС и VPN" на почве легальности их сервисов и обмана пользователя. Поэтому решил обсудить с сообществом, прав ли я, что большая часть различных сервисов, ботов и прочего, которые обещают вам ChatGPT 4 или MJ таким образом это скам и даже опасная вещь.

Читать далее
Всего голосов 23: ↑18 и ↓5 +13
Комментарии 10

Spring Data JPA: разница между методами findById, getOne, getById и findOne

Время на прочтение 8 мин
Количество просмотров 898
Блог компании OTUS Java *
Перевод

JpaRepository Spring Data предоставляет огромный набор методов, упрощающих реализацию операций над базой данных. С их помощью вы можете сохранять, удалять и считывать объект сущности (entity object). Однако одна из немногих проблем, являющаяся следствием изобилия возможностей, которые дают нам эти интерфейсы, — это выбор правильного метода для вашего конкретного случая. И иногда это совсем не так просто, как могло бы показаться с первого взгляда. Хорошим примером этой проблемы являются методы findById, getOne, getById, и findOne. Судя по их именам, все они делают одно и то же. Так когда и какой из них вы должны использовать?

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

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

Может ли DDoS-атака быть форс-мажором для хостинг-провайдера?

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 897
Хостинг
Из песочницы

Многие считают, что DDoS-атаки могут являться форс-мажором. Учитывая это мнение, нерадивые компании IT-сферы готовы оправдывать ими свои огрехи и недоработки, иногда даже включая упоминание о них в пункты своих договоров. И правда, очень удобно в случае любого ЧП сказать своему недовольному клиенту: «Извини, дорогой, DDoS-атаки все сломали, мы здесь ни причем». В этой статье мы расскажем почему DDoS-атака не может считаться форс-мажорным обстоятельством и на конкретном кейсе разберем как его применяют хостинг-провайдеры, включая пункты о нем в свои договоры.

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

Layout библиотека для iOS проектов

Время на прочтение 2 мин
Количество просмотров 306
Разработка под iOS *Swift *
Recovery mode

Несмотря на то, что UIKit постепенно уступает место более современному во всех отношениях SwiftUI, до сих пор остается огромное количество проектов, которые основаны на фреймворке UIKit. Далее будет представлена библиотека, которая позволяет выполнять конструирование внешнего вида намного быстрее и удобнее, чем стандартные средства.

Читать далее
Всего голосов 2: ↑0 и ↓2 -2
Комментарии 1

Display scaling в Linux. Часть 2 — определение scale factor для X11 приложений

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 764
Ненормальное программирование *Open source *.NET **nix *Разработка под Linux *
Туториал

В первой части были рассмотрены системные настройки масштабирования, предоставляемые встроенными утилитами, и набор возможностей отличается кардинально. Почему? Потому что в Linux нет единого API для работы с масштабированием, каждое окружение конфигурирует по своему и каждый UI-toolkit определяет их по своему, в итоге шанс того, что что-то где-то будет отображаться криво очень велик.

В этой статье мы рассмотрим то, как определить коэффициенты масштабирования для X11 приложения самостоятельно.

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

Что такое COM объект, как происходит его разработка, какие особенности реализации COM Microsoft?

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 1.8K
Habr Программирование *C++ *Visual Studio *ООП *
Мнение

Что такое COM объект, как происходит его разработка, какие особенности реализации COM Microsoft?

Мне попался на глаза такой вопрос:

Всем добрый день. Хотел бы получить краткие и понятные для новичка ответы на следующие вопросы:

1) Что такое COM объект?

2) Как происходит разработка COM объекта?

3) Какие особенности реализации COM Microsoft?

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

Предлагаю свой развернутый ответ. Интересно получить оценку сообщества профессионалов. Надеюсь и для новичков найдется что-то полезное.

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