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

backend developer, java, go

Отправить сообщение

Матрица Вандермонда

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров8.6K

Александр Теофил Вандермонд (28 февраля 1735 - 1 января 1796) - французский музыкант и математик, известный благодаря своей работе в области высшей алгебры.

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

В честь Александра Теофила был назван специальный класс матриц - матрицы Вандермонда, о котором пойдет речь в данной статье. [1]

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

Создание микросервисов на Java с Dropwizard

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров2.4K

Dropwizard — это комплексный фреймворк, созданный с целью упростить разработку RESTful веб‑сервисов, объединяя в себе множество проверенных временем библиотек и инструментов.

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

Нагрузочное тестирование в разработке веб-приложений

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров3.1K

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

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

Топ-30 платных и бесплатных уроков программирования в Minecraft для детей

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров4K

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

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

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

Хотите, чтобы ваш ребенок научился кодить? Тогда эта подборка платных и бесплатных уроков Minecraft программирования для вас.

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

Сложно о простом. Физический уровень (L1) модели OSI

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров24K


Приветствую, коллеги! Меня зовут ProstoKirReal, и сегодня я хочу обсудить с вами физический уровень (L1) модели OSI. Понимание этого уровня является основополагающим для всех, кто только начинает свой путь в сетевых технологиях.
Читать дальше →
Всего голосов 37: ↑26 и ↓11+21
Комментарии25

Golang: bytes.Buffer изнутри

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров4.5K

Работая с кодом на Go, любому специалисту приходилось сталкиваться со стандартным пакетом bytes . Внутри него лежит определение Buffer . Что же это такое?

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

Как сделать пароль менеджер

Уровень сложностиПростой
Время на прочтение55 мин
Количество просмотров20K

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

Читать далее
Всего голосов 20: ↑12 и ↓8+5
Комментарии39

Тестирование производительности виртуальных потоков Java в Jetty

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров2.4K

Больше года я сравнивал обычные и виртуальные потоки в Java. На основе превью 19 версии JDK. Сравнение виртуальных и обычных потоков в Java. tldr: Чуда тогда не случилось, одинаковый код работает одинаково.

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

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

Кратко про класс CompletableFuture в Java

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров8.3K

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

Асинхронное программирование уже давно является полноценной частью Java. С появлением Java 8 и введением класса CompletableFuture, асинхронное программирование стало более доступным.

CompletableFuture — это класс в пакете java.util.concurrent, предоставляющий возможности для асинхронного программирования. Он поддерживает выполнение задач в фоновом режиме, цепочки задач, обработку исключений и многое другое.

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

Превращаем Android-смартфон в USB-клавиатуру, мышь и флешку

Уровень сложностиСложный
Время на прочтение29 мин
Количество просмотров26K

Android-смартфон при подключении к компьютеру через USB может выглядеть как медиаустройство, модем или хранилище файлов. В этой статье мы научимся делать из него USB-клавиатуру, мышь и флешку.
Читать дальше →
Всего голосов 59: ↑59 и ↓0+82
Комментарии48

Создание дистрибутивов для разных операционных систем в Java 21 и 22

Время на прочтение6 мин
Количество просмотров4.7K


Статья рассказывает о построении дистрибутивов приложений для операционных систем Windows, macOS и Linux в случае использования Java 21 и 22.

Продолжает ранее опубликованную статью о создании дистрибутивов в предыдущих версиях Java, подробно описывая кардинальные изменения, произошедшие с того времени.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+7
Комментарии1

От и Go: доклады для гоферов про инструменты для фаззинга, kuber-кластер на Go и не только

Время на прочтение3 мин
Количество просмотров2.6K

Бывает, перед инженерами встает выбор: использовать существующее open source-решение задачи или написать свое. И часто, изучив все возможные опции, разработчики предпочитают второй вариант.

Большинство докладов в нашей подборке — инструкции по созданию кастомных решений, которые инженеры и разработчики из YADRO, Avito Tech, Ozon Fintech и других технологических компаний уже опробовали в собственных продуктах. Если вашей команде не хватает инструмента для фаззинга или обработки ошибок на Go — можете сделать их по примерам, которые представили инженеры в выступлениях и презентациях.

Зайти в Go-портал
Всего голосов 7: ↑6 и ↓1+7
Комментарии0

Подписки на GraphQL: Почему мы используем SSE/Fetch вместо Websockets

Время на прочтение10 мин
Количество просмотров1.7K

WunderGraph предоставляет подписки GraphQL через SSE (Server-Sent Events) или Fetch (в качестве резервного варианта). В этом посте объясняется, почему мы решили выбрать этот подход и считаем его лучше, чем использование WebSockets.

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

Представляем планировщик Go: Вы никогда не смотрели на горутины с этой стороны

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров14K

Вероятно, вы слышали о планировщике Go раньше, но насколько хорошо мы знает о том как он работает? Как он связывает горутины с потоками?

Разберем по очереди операции, которые выполняет планировщик.

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

Аутентификация для WebSocket и SSE: до сих пор нет стандарта?

Уровень сложностиСредний
Время на прочтение21 мин
Количество просмотров13K

WebSocket и SSE появились более десяти лет назад, однако до сих пор в стандартах отсутствуют рекомендации по решению задачи аутентификации для подобных соединений.

В статье разберем особенности аутентификации применительно к протоколу WebSocket и технологии Server-Sent Events, обсудим, какие нюансы могут быть, когда клиентская часть находится в браузере, и на что еще стоит обратить внимание, чтобы избежать неочевидных проблем.

А еще заодно поговорим про уязвимость Cross-Site WebSocket Hijacking (CSWSH) и в целом посмотрим на многие вопросы через призму информационной безопасности.

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

Прокси-сервер для Android на Go

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров7.6K

Реализация простого HTTP CONNECT прокси-сервера на Go, квест с маркировкой сетевых пакетов и запуск программы в Android.

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

Некоторые возможности ssh в golang

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.5K

Создать ssh-сервер на Go можно при помощи модуля golang.org/x/crypto/ssh.

А при помощи пакета github.com/gliderlabs/ssh можно разработать ssh-сервер легко и быстро. Ssh подразумевает не только доступ к оболочке(shell), но и прочие возможности: файловый сервер(sftp), проброс портов.

README пакета gliderlabs/ssh содержит минимальный пример, выводящий строку "Hello world" любому подключенному ssh-клиенту.

Реализуем же полноценный терминальный интерфейс.

go next()
Всего голосов 10: ↑9 и ↓1+9
Комментарии1

TLS Client Hello — перехватываем и парсим — Nginx + Lua / Go

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров3.7K

Возникла на днях достаточно интересная задачка - по образу сайта https://www.howsmyssl.com/ получить на страничке список Cipher Suites которые при TLS Handshake клиент передает в своем Client hello.

А заодно обдумать инструмент, который позволит работать с другими заголовками, в частности - Proxy-Connection

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

Мат (часть 8)

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров12K

Что самое главное в шахматах? Конечно МАТ! Именно умение ставить его, искать в любой ситуации путь к мату – определяет способность выигрывать. Если игрок не умеет ставить простейшие маты, не видит их – он просто не сможет выиграть шахматную партию. А еще - у матов есть различные названия. И об этом я тоже хочу рассказать. Так что - запасаемся терпением, берем мышку в руки чтобы решать задачи и добро пожаловать во вселенную мата!

А забегая вперед - самое смешное название у мата — «Слепые поросята»... Но об этом уже в статье.

Мат в шахматах
Всего голосов 26: ↑23 и ↓3+28
Комментарии64

Здоровая конкуренция в GO. Главное не перехитрить самого себя

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров14K

Несколько лет назад я прочитал статью о параллелизации в GO и ничего не понял – я тогда только начинал программировать на этом языке. Но размышления автора мне очень понравились – они подкреплялись бэнчмарками, что было довольно убедительно. Автор игрался c параметром GOMAXPROCS и показал, что увеличение этого параметра не всегда приводит к увеличению производительности. Под конец статьи он подобрал такое значение, которое будет максимально эффективным для его функции, на мое удивление, это значение оказалось равно единице! Т.е. его код работал максимально эффективно, если работал всего на одном ядре процессора! Однако, в одном из комментариев под той статьей я прочел, что все эти изыскания нелепы, поскольку та же самая функция из статьи запущенная всего в один поток оказывается эффективнее любой ее параллельной реализации.


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



Читать дальше →
Всего голосов 33: ↑31 и ↓2+39
Комментарии21

Информация

В рейтинге
1 336-й
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность