Pull to refresh
2
0
Кайрат Рахимов @BlackSCORPION

User

Send message

Тебе нужна своя стратегия

Level of difficultyEasy
Reading time10 min
Views32K

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

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

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

Создать свою стратегию
Total votes 39: ↑27 and ↓12+26
Comments50

Создаем свой блог на Github и Hugo

Reading time7 min
Views8K

Привет, хабр! Сегодня я расскажу вам, как создать свой блог на Github Pages, используя hugo!

Хотите создать свой собственный блог, но не хотите привязываться к каким-либо крупным хостинговым решениям или издательским сайтам по подписке? Решение есть!

Читать далее
Total votes 13: ↑10 and ↓3+8
Comments20

Разработка с помощью Yocto

Level of difficultyEasy
Reading time8 min
Views9.5K

Привет Хабр! Недавно принял участие в достаточно интересном воркшопе и хотел бы поделиться приобретенными навыками.

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

Читать далее
Total votes 9: ↑8 and ↓1+8
Comments17

Устройство кучи для прожженных самоваров. Часть 1

Level of difficultyEasy
Reading time3 min
Views4.1K

В реалиях нашего мира, программисты пользуются ООП и препочитают динамическую память, а не статическую. В нашей жизни, вне CTF, все работает именно в куче, потому что это удобно и практично. Речь пойдет о динамической памяти - куча (heap). Если взглянуть на статистику cvedetails, то можно увидеть, что большинство критических уязвимостей связаны именно с динамической памятью.

В цикле статей будет рассказано об устройстве кучи, атаках на них и все в духе бинарной эксплуатации.

Читать далее
Total votes 3: ↑2 and ↓1+1
Comments5

Продвинутый телеграмм бот на Java (Spring, postgres и free deploy)

Level of difficultyMedium
Reading time13 min
Views22K

На дворе 2023 год. На хабре до сих пор пишут статьи по созданию телеграмм ботов, скажите вы, но не спешите с выводами. Во-первых, пожалеем студентов, во многих вузах на программистских направлениях до сих пор заставляют писать ботов хотя бы раз в течение обучения. И многие гайды в интернете немножко outdated в плане деплоя (хероку умер, доздравствует... но об этом немного позже). Т.е. основным уклоном данной статьи будет именно этот аспект. Ну и сам бот у нас будет также не скучный и не самый простой, какие часто в гайдах, а с полноценной привязкой к базе данных, т.е. полноценное Spring приложение.

Ну так о чем же бот и как мне пришла в голову такая идея?

Читать далее
Total votes 5: ↑3 and ↓2+1
Comments2

Датчик присутствия для Home Assistant с использованием Zigbee

Level of difficultyEasy
Reading time5 min
Views20K

Для своего умного дома решил собрать датчик присутствия на доплеровском датчике rcwl-0516 и микроконтроллере Zigbee — cc2530, работающий на протоколе Zigbee, отличающийся низким энергопотреблением.

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

Лонгрид по полезному чтению в 2023 году: 39 книг, которые помогут писать красивый <код>

Reading time17 min
Views32K
image

≀И эта статья ответит на вопрос, зачем вообще читать книги в 2023 году при великом разнообразии онлайн-курсов.

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

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

Для вашего удобства добавил рейтинг, ссылки на переводы и картинки для тех, кто просто добавляет статью в закладки, не читая. Enjoy на новогодних праздниках или прямо сейчас.
Читать дальше →
Total votes 29: ↑26 and ↓3+27
Comments12

Проецирование вершин графа в векторное пространство. Часть 2. Марковская цепь и Word2Vec

Reading time6 min
Views2.5K

И снова здравствуйте! Меня зовут Илья Котов, я Data Scientist в Сбере, участник профессионального сообщества NTA. Эта статья — вторая часть небольшого цикла, посвящённого алгоритмам вложений вершин графа в векторное пространство. Сегодня рассмотрим главную идею алгоритмов, основанных на случайных блужданиях. Перед прочтением рекомендуем прочитать первую часть.

Читать далее
Total votes 7: ↑5 and ↓2+9
Comments0

Заметки о зубной эмали и зубной пасте

Reading time13 min
Views23K

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

Материал я собрал, изучая такие сайты, как researchgate.net, sciencedirect.com, www.ncbi.nlm.nih.gov, escholarship.org и другие. Опираясь на эти данные, я занимаюсь разработкой оптимальной рецептуры гигиенической (т.е. не лечебную) зубной пасты, стараясь добиться оптимального баланса между абразивными, антибактериальными и реминерализирующими свойствами (плюс - еще желательно позаботиться об окружающих зуб тканях).

Зачем? 1. Потому что очень интересно; 2. Потому что не хватает этого баланса в современных не лечебных продуктах (лечебные должны работать в одну цель, там совсем иная история в этом плане).

Читать далее
Total votes 47: ↑46 and ↓1+67
Comments52

Как соединить Low Code и Serverless-архитектуры (и не платить вендору)

Reading time4 min
Views4.3K

Как нередко бывает - новое, это хорошо забытое старое. Эволюция инструментов разработки напоминает колебания маятника от универсального мощного инструмента для написания кода и навигации по проекту до визуального конструирования описания процессов из алгоритмических блоков (начиная от блок-схем и заканчивая executable BPMN). Были и остаются популярными среды разработки, включающие элементы визуального проектирования интерфейсов и быстрого прототипирования с использованием готовых компонентов (например RAD-среды от Embarcadero) и конструкторы и среды выполнения BPMN-процессов (например Activiti Engine, Camunda, jBPM и др.) и это в значительной степени стало основой для создания инструментов для разработки low-code приложений.

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

В этой статье мы рассмотрим один из возможных вариантов организации архитектуры приложения, сконструированного с использованием подходов low-code и запуска приложения и его компонентов в управляемой инфраструктуре.

Читать далее
Total votes 7: ↑5 and ↓2+3
Comments2

Bluetooth Low Energy: подробный гайд для начинающих

Reading time16 min
Views76K

Создание кастомного сервиса и тем более клиента Bluetooth Low Energy – прогулка по граблям с завязанными глазами. По крайне мере так было для меня 4 года назад, когда я только начинал работать с BLE-устройствами. Сейчас почти каждый мой проект предусматривает использование этого протокола, поэтому в свое время пришлось в нем долго и мучительно разбираться. 

Разложить все по полкам помогла книга Мохаммада Афане "Intro to Bluetooth Low Energy" и серия постов на Novel Bits. Лично для меня эта книга стала настоящим открытием. Изначально я делал ее перевод на русский для своих коллег, не имеющим опыт работы с BLE. С согласия автора (огромное ему спасибо) решил опубликовать свою работу здесь. Надеюсь, перевод окажется полезным.

Это первая часть перевода (всего их будет 5), которая рассказывает, что такое BLE, ее возможности и отличия от Bluetooth Classic и описывает архитектуру протокола.

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

BLE под микроскопом. Модемы

Reading time19 min
Views5K
image

BLE под микроскопом (модемы)


Так получилось, что мне пришлось заниматься темой BLE, используя модемы MC60E от Quectel и SIM868E от SIMCom. Изначально они не могли работать с протоколом BlueTooth 4.0, но их доработали и вот. В модемы добавили модули BLE, а в конце названия букву 'E'. Сегодня мне хотелось бы поговорить об этих устройствах в свете протокола BLE, поэтому я буду рассматривать только те команды, которые к нему относятся. Скачать фирменное описание на команды MC60E можно здесь, а на команды SIM868E здесь.
Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments7

Анонимный VPN роутер на pfSense

Reading time7 min
Views20K

Итак, у нас есть туннель до VPN-провайдера и мы хотим быть уверены что весь трафик, включая DNS запросы, идёт только через этот туннель, а в случае его недоступности пользователи ни в коем случае не должны выходить напрямую через сеть провайдера. Установлена pfSense CE версии 2.6.0, регистрация на CyberGhost пройдена - поехали.

У вас может быть и другой VPN-провайдер,- CyberGhost выбран ввиду простоты настройки и для демонстрации настройки получения DNS серверов при подключении. Если в вашей стране не заблокирован ExpressVPN, то настройки будут практически идентичны.

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

Как я домашний Git-сервер Gogs на Alpine linux устанавливал

Reading time6 min
Views7.9K

“Опасное это дело, Фродо, выходить за порог: стоит ступить на дорогу и, если дашь волю ногам, неизвестно куда тебя занесет.” (с)  Властелин Колец: Братство Кольца

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

Читать далее
Total votes 10: ↑5 and ↓5+3
Comments11

В нативный код из уютного мира Java: путешествие туда и обратно (часть 1)

Reading time18 min
Views31K


Java и другие управляемые языки просты и удобны во многих случаях, но иногда их возможностей недостаточно — например, если нужна библиотека, написанная только на C или C++. Иногда хочется позвать пару методов из системного API, или попытаться улучшить производительность для модуля — и тогда прямой путь в нативный код.


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


Иван Углянский (dbg_nsk) из Huawei разбирается со всем по порядку: что необычного в интеропе между Java и нативным кодом, как оно работало раньше и что нужно делать для их нормальной совместной работы (и можно ли это вообще сделать). Иван рассказывает, как избежать просадок производительности, внезапных OOM и размышляет на тему будущего — в контексте проектов Panama и Sulong.


Мы подготовили текстовую версию доклада о работе с нативами в Java. В первой части:


  • Зачем вообще работать с нативным кодом в Java.
  • С какими ошибками и проблемами придётся столкнуться при работе с нативами.

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


Далее — повествование от лица спикера.

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

Маленькие оптимизации в Java 9-16

Reading time29 min
Views17K

Когда выходит новая версия Java, главные фичи всегда активно обсуждают. Но есть и работа, которая обычно остается «невидимой»: небольшие оптимизации в стандартной библиотеке. Они помогают нам, незаметно ускоряя наш код и ничего не требуя взамен, а мы даже ничего о них не знаем!


Эту ситуацию исправляет Тагир Валеев (lany), рассказывая о таких оптимизациях. Сначала он выступил на Joker 2019 с докладом «Java 9-14: маленькие оптимизации», можете посмотреть его видеозапись. Затем, поскольку зрителям очень понравилось, на JPoint 2020 он развил тему. А теперь мы решили сделать из второго доклада пост для Хабра, чтобы его можно было не только увидеть, но и прочитать.



Далее под катом текст пойдет от лица спикера.

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

Как выбрать красивые цвета для вашей инфографики

Reading time10 min
Views39K


Очень трудно выбрать хорошие цвета для инфографики. Постараемся разобраться с этой проблемой.

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

Статья не поможет найти хорошие градиенты или оттенки. Она предназначена для подбора красивых, чётких цветов для различных категорий информации (например, континентов, отраслей промышленности, видов птиц) в линейных, круговых, полосковых диаграммах и так далее.
Total votes 34: ↑33 and ↓1+44
Comments6

Передовой опыт тестирования в Java

Reading time20 min
Views28K


Чтобы покрытие кода было достаточным, а создание нового функционала и рефакторинг старого проходили без страха что-то сломать, тесты должны быть поддерживаемыми и легко читаемыми. В этой статье я расскажу о множестве приёмов написания юнит- и интеграционных тестов на Java, собранных мной за несколько лет. Я буду опираться на современные технологии: JUnit5, AssertJ, Testcontainers, а также не обойду вниманием Kotlin. Некоторые советы покажутся вам очевидными, другие могут идти вразрез с тем, что вы читали в книгах о разработке ПО и тестировании.
Читать дальше →
Total votes 40: ↑40 and ↓0+40
Comments23

Эмулятор RFID

Reading time14 min
Views69K

Эмулятор карт EM Marine



Наверняка каждому из нас, кто хоть раз бывал в обычных офисах, было интересно, как же функционируют эти бесконтактные пропуска. В данной статье мы разберёмся с принципом работы бесконтактных карт и сделаем эмулятор буквально из трёх радиодеталей.
Читать дальше →
Total votes 124: ↑120 and ↓4+164
Comments91

Операционные усилители: 10 схем на (почти) все случаи жизни

Reading time15 min
Views486K
Всем привет!

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


Читать дальше →
Total votes 102: ↑100 and ↓2+135
Comments54
1

Information

Rating
Does not participate
Location
Караганда, Карагандинская обл., Казахстан
Date of birth
Registered
Activity