Pull to refresh
4
0
Виктор @Greben86

Программист

Send message

Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному

Level of difficultyMedium
Reading time45 min
Views136K

Поскольку блокировки интернета в РФ в последние недели и месяцы многократно активизировались, а маразм все крепчает и крепчает, стоит еще раз поднять тему обхода этих самых блокировок (и делаем ставки, через сколько дней на эту статью доброжелатели напишут донос в РКН чтобы ограничить к ней доступ на территории страны).

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

Читать далее
Total votes 506: ↑498 and ↓8+490
Comments351

Введение в Java Process Memory Model

Level of difficultyMedium
Reading time4 min
Views12K

Каждое Java приложение, после запуска, создаёт десятки, сотни, тысячи объектов в памяти компьютера на котором оно запущено. Память, при этом, ресурс не бесконечный, и поэтому необходимо использовать его эффективно. Виртуальная Машина Java (Java Virtual Machine, далее JVM) умеет грамотно распоряжаться памятью и помогает нам, разработчикам, управляя ею автоматически.

О том, как именно JVM работает с памятью во время работы Java приложения мы поговорим в этой статье.

Читать далее
Total votes 11: ↑8 and ↓3+5
Comments5

Дозиметр для Серёжи. Часть II. «столетние трубки» vs мирный атом

Reading time27 min
Views58K
В первой части своего повествования я рассказал о производителях, без сомнения, ТОП-овых белорусских дозиметров. Несмотря на все их достоинства, основные недостатки — отсутствие в розничной продаже и высокая цена даже на вторичном рынке — сводят полезность упомянутых приборов для рядового пользователя к нулю. Основная претензия к оборудованию для контроля радиационного фона со стороны обывателя — должно быть просто и дешево. Поэтому сегодня я попробую описать свое видение простых, сделанных на коленке сигнализаторов радиоактивности. Никаких там сцинцилляторов за сотни и тысячи долларов, намотки трансформаторов и травления печатных плат. Сегодня под катом то, что под силу каждому человеку обладающему стандартным уровнем технической грамотности.

Читать дальше →
Total votes 86: ↑82 and ↓4+78
Comments176

Такой дозиметр может сделать каждый

Level of difficultyEasy
Reading time16 min
Views17K

Хомяки приветствуют вас друзья!

Сегодняшний пост будет посвящен радиометру Atom-Scan, универсальному самодельному прибору, который может работать c разными счетчиками Гейгера включая слюдяные, а так же детектировать альфа, бета и гамма излучение. В ходе поста посмотрим как собрать такое устройство, где достать дефицитные радиокомпоненты и как правильно настроить схему чтобы все работало. По традиции смоделируем и напечатаем корпус на фотополимерном 3D принтере, проведем сравнительный тест счётчиков, а так же попытаемся разобраться какой дозиметр на сегодняшний день самый лучший.

Читать далее
Total votes 68: ↑62 and ↓6+56
Comments28

Подготовка к Spring Professional Certification. Контейнер, IoC, бины

Reading time10 min
Views104K

Доброго времени суток, Хабр.


Сегодня я решил представить вам перевод цикла статей для подготовки к Spring Professional Certification.


Это перевод только первой статьи, если он зайдет аудитории, я продолжу выпуск переводов.  


Зачем я это делаю, ведь уже есть куча профильных материалов?
  1. Часто в них информация не структурирована, не собрана, или не актуальна
  2. Молодые разработчики могут не знать английский. Этот цикл можно использовать не только для сертификации, но и для самообучения/повторения материалов.
  3. Этими материалами можно пользоваться при подготовке к собеседованию, т.к. они выстроены в виде вопросов и ответов.
  4. Важное, и самое главное преимущество — этот QA сделан из вопросов из  официального Study Guide от Pivotal. 

  • Некоторые вопросы, которые казались мне лишними или которых не было в гиде я осознанно упустил.

Оглавление
  1. Внедрение зависимостей, контейнер, IoC, бины
  2. AOP (аспектно-ориентированное программирование)
  3. JDBC, транзакции, JPA, Spring Data
  4. Spring Boot
  5. Spring MVC
  6. Spring Security
  7. REST
  8. Тестирование

Читать дальше →
Total votes 30: ↑29 and ↓1+28
Comments53

Действительно ли Apache Kafka сохраняет правильный порядок сообщений?

Reading time6 min
Views9.3K

Нам говорят, что Apache Kafka сохраняет порядок сообщений для каждой темы/раздела, но насколько это правда? В этой статье мы проанализируем несколько реальных сценариев, в которых слепое принятие этой догмы, может привести к неожиданным и ошибочным последовательностям сообщений.

Читать далее
Total votes 17: ↑10 and ↓7+3
Comments24

Учимся конфигурировать и настраивать Jenkins

Reading time8 min
Views8.4K

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

Читать далее
Total votes 16: ↑10 and ↓6+4
Comments3

JVM internals

Level of difficultyMedium
Reading time20 min
Views16K

Статья объясняет внутреннюю архитектуру виртуальной машины Java (JVM). Диаграмма отображает ключевые внутренние компоненты типичной JVM, которая соответствует спецификации The Java Virtual Machine Specification Java SE 7 Edition

Читать далее
Total votes 20: ↑16 and ↓4+12
Comments8

6 способов выполнения метода при старте Spring Boot приложения

Reading time8 min
Views42K

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

Рассмотрим различные способы выполнения метода после запускаSpring Boot.

Читать далее
Total votes 15: ↑14 and ↓1+13
Comments7

Как мы выбирали процессный движок: месяц мучений ради идеала

Level of difficultyMedium
Reading time12 min
Views8.4K

Хабр, привет! Меня зовут Артем Терзьян, я Java-разработчик в IBS. Именно на мои плечи пала нелегкая задача выбора идеального BPMN-движка для реализации с его помощью бизнес-процессов в рамках нашей собственной платформы. Надеюсь, приведенный обзор поможет кому-то сэкономить время при столкновении с аналогичной задачей.

Подробнее о моих экспериментах
Total votes 14: ↑11 and ↓3+8
Comments7

Справочник по синхронизаторам java.util.concurrent.*

Reading time14 min
Views269K
Целью данной публикации не является полный анализ синхронизаторов из пакета java.util.concurrent. Пишу её, прежде всего, как справочник, который облегчит вхождение в тему и покажет возможности практического применения классов для синхронизации потоков (далее поток = thread).

В java.util.concurrent много различных классов, которые по функционалу можно поделить на группы: Concurrent Collections, Executors, Atomics и т.д. Одной из этих групп будет Synchronizers (синхронизаторы).



Синхронизаторы – вспомогательные утилиты для синхронизации потоков, которые дают возможность разработчику регулировать и/или ограничивать работу потоков и предоставляют более высокий уровень абстракции, чем основные примитивы языка (мониторы).
Читать дальше
Total votes 45: ↑41 and ↓4+37
Comments15

Холостые циклы в Java

Reading time19 min
Views15K

Привет, сегодня поговорим о тонкостях реализации холостых циклов (холостого ожидания) в Java. Эта задача встречается нечасто: за девять с небольшим лет работы я столкнулся с ней лишь пару раз. Тем не менее, тема видится интересной и по ней есть что сказать, так что добро пожаловать! Исходный код примеров доступен здесь.

Читать далее
Total votes 42: ↑41 and ↓1+40
Comments10

Реализация gRPC с помощью Java и Spring Boot

Reading time11 min
Views24K

Хорошо бы понимать различия между HTTP/1.1 и HTTP/2, поскольку gRPC использует HTTP/2 по умолчанию.

Характеристики HTTP/1.1:

- Текстовый формат
- Заголовки в текстовом формате
- TCP-соединение требует «трехстороннего рукопожатия» (three-way handshake) — один запрос и ответ с одним единственным TCP-соединением.

Характеристики HTTP/2:

- Бинарный формат
- Сжатие заголовков
- Управление потоком
- Мультиплексирование (одно и то же TCP-соединение может быть повторно использовано для мультиплексирования. Потоковая передача с сервера — потоковая передача от клиента — возможна двунаправленная потоковая передача)

Читать далее
Total votes 14: ↑12 and ↓2+10
Comments0

Как новичку подарить жизнь telegram-боту на java

Level of difficultyMedium
Reading time5 min
Views8.1K

Мне 43 года и я профессиональный юрист. Неуемная интеллектуальная энергия и неудовлетворенность основной профессией 2,5 года назад привели меня в IT. Да-да, вот так – взрослая тетя с гуманитарным образованием решила попробовать себя на ниве программирования и замахнулась аж на такой язык как… JAVA!!!

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

Оглянувшись по сторонам и не встретив направленных на меня глаз я поняла – все эти глаза устремлены в гаджеты! Месседжеры и социальные сети правят умами. Значит, надо действовать через них.

И тут я вспомнила, что самый частый юридический вопрос, с которым ко мне обращаются друзья/знакомые – это просьба дать ту или иную форму документа (договора, расписки, заявления, доверенности и т.д.). Эврика! – нужна несложная мобильная программа с формами самых востребованных документов, чтобы их оставалось просто скачать и наполнить необходимыми сведениями. И тут самым коротким путем к конечному пользователю мне представился telegram-бот.

Поскольку на курсах таким тонкостям не учили, вооружившись статьями и видеороликами из всемирной паутины, закатав рукава я принялась создавать свою первую «взрослую» программу-помощника человечеству!

Читать далее
Total votes 20: ↑18 and ↓2+16
Comments9

Гугл таблица как БД для телеграм бота (продолжение)

Level of difficultyMedium
Reading time6 min
Views5K

Продолжение статьи про использование гугл таблиц в качестве бд.

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

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

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

Почему мужикам нужно качать орех?

Reading time3 min
Views57K

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

Читать далее
Total votes 155: ↑104 and ↓51+53
Comments257

Как разработать драйвер Linux с нуля

Level of difficultyHard
Reading time11 min
Views17K
image

Недавно я занимался изучением IoT и, так как мне не хватало устройств, при попытках симулировать работу прошивки я часто сталкивался с неимением нужного /dev/xxx. Так что я стал задумываться, а могу ли написать драйвер самостоятельно, чтобы заставить прошивку работать. Независимо от того, насколько сложно это будет, и удастся ли воплотить такое намерение, в любом случае вы не пожалеете, если научитесь разрабатывать драйвер Linux с нуля.
Читать дальше →
Total votes 47: ↑41 and ↓6+35
Comments7

А давно ли вы измеряли радиацию у себя дома? Делаем дозиметр из Flipper

Reading time9 min
Views13K

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

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

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

Читать далее
Total votes 95: ↑94 and ↓1+93
Comments36
1
23 ...

Information

Rating
Does not participate
Location
Нижний Новгород, Нижегородская обл., Россия
Date of birth
Registered
Activity