Как стать автором
Обновить
0
0
Дмитрий Купченко @dummy2002

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

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

Вы неправильно пишете животных

Время на прочтение 5 мин
Количество просмотров 357K
Животные – это платформы с очень ограниченной памятью, вычислительными способностями и возможностями модификаций. Разработчикам энимал-сцены приходится выдавать практически гениальные низкоуровневые алгоритмы. Правда, большое количество хардкода вызывает характерные проблемы с отсутствием проверки в экзотических условиях. Та же фильтрация входных данных делается очень и очень криво.


Уязвимость рекурсивных алгоритмов навигации муравья: спираль смерти

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

Но пойдём далее. Я не знаю, кто разрабатывал архитектуру ящериц, но они бегают в одном процессе, а дышат в другом. При этом платформа не поддерживает многозадачность, поэтому костыль с максимальной длиной бега в 4-6 секунд просто эпичен.
Читать дальше →
Всего голосов 442: ↑438 и ↓4 +434
Комментарии 350

Вопросы к собеседованию Java-backend, Java core (60 вопросов)

Время на прочтение 17 мин
Количество просмотров 241K
image

Добрый день! Представляю вашему вниманию список вопросов к собеседованию Java Backend, которые я оформлял на протяжении около 2х лет.

Вопросы разбиты по темам: core, collections, concurrency, io, exceptions, которые задают основные направления хода технического собеседования. Звездочками отмечен субъективный (с точки зрения автора) уровень сложности вопроса, в сноске спойлера — краткий ответ на вопрос. Ответ представляет для интервьювера правильное направления развития мысли кандидата.
Читать далее
Всего голосов 31: ↑23 и ↓8 +15
Комментарии 76

История эволюции интерфейсов в Java

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

Интерфейс в Java сильно эволюционировал за прошедшие годы. Давайте рассмотрим, какие изменения произошли в процессе его развития.
Читать дальше →
Всего голосов 20: ↑19 и ↓1 +18
Комментарии 3

Как я изучаю фреймворк Spring (помощь начинающим — дело рук самих начинающих)

Время на прочтение 6 мин
Количество просмотров 31K
Добрый день!

Я поставил себе цель изучить фреймфорк Spring для языка Java. Во время изучения решил проверить на себе алгоритм обучения Ричарда Фейнмана: организовать-упростить-обучить другого. В общем, я стал записывать серию коротких уроков для начинающих по работе в Spring. Для желающих повторить выложил исходный код.
Читать дальше →
Всего голосов 17: ↑12 и ↓5 +7
Комментарии 6

LTSP: Терминальный сервер на Linux

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


Сейчас я расскажу вам о том, как можно сэкономить немалое количество времени и денег на вашей IT-инфраструктуре.
Как централизованно админить большое количество linux рабочих станций не разводя при этом хаос в вашей экосистеме.
И так, что же такое LTSP?


LTSP — Это терминальное решение на Linux.
Говоря "терминальное", я в первую очередь имею в виду не подключение к удаленному рабочему столу как в Windows. Я подразумеваю гораздо более гибкую и продвинутую систему доставки ПО, конфигов, домашенего каталога, да и самой операционной системы на клиентские рабочие станции с вашего терминального сервера.


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


У LTSP есть несколько режимов работы:


  • тонкий клиент
  • толстый клиент
Читать дальше →
Всего голосов 16: ↑15 и ↓1 +14
Комментарии 28

Ubiquiti LiteBeam AC– строим радиосети по-новому и бюджетно

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


События прошлых лет сильно отразились на всех, кто был связан с долларовым импортом.
За несколько месяцев даже наиболее недорогие решения радиодоступа стали вдвое дороже в рублях. К счастью, сегодня у нас появилась возможность приобрести новый комплексный продукт Ubiquiti для построения сетей малой плотности — LiteBeam AC по докризисной цене.
Рассмотрим это решение, позиционирующееся как канал «точка-точка» или сектор малой плотности, и стоящее менее 65 долларов за абонентское устройство и менее 100 за базовое устройство с интегрированной антенной.
Читать дальше →
Всего голосов 9: ↑8 и ↓1 +7
Комментарии 2

Бесплатный кластер (Proxmox + Nexenta)

Время на прочтение 6 мин
Количество просмотров 59K
Наверное многие из нас, решая задачу организации небольшой IT-инфраструктуры, сталкивались с проблемой выбора гипервизора. Каким функционалом должен обладать софт и сколько за это стоит платить? А будет ли та, или иная часть решения совместима с тем, что уже есть?
И как бы, всё это погонять на стенде, чтобы убедиться в правильности выбора?
С учетом курса одной, всем известной валюты, хочется чего-то простого, без излишеств и, по возможности, бесплатного. Тем более, когда речь идет о малой или средней компании (стартапе), ограниченной в бюджете.

Что нам требуется?


image

  • Совместимый с оборудованием гипервизор
  • Кластер, с доступом к админке через веб-интерфейс
  • High Availability для виртуальных машин в кластере
  • Функция бэкапа и восстановления из коробки
  • Доступность для понимания и работы среднему администратору (вчерашнему школьнику-студенту).

Из Open-Source решений, наиболее простым в установке и настройке является Proxmox. Чтобы не оскорблять любителей oVirt и пр. (это не рекламная статья), оговорюсь, что изначальное требование к простоте установки и администрирования, на мой взгляд, у Proxmox все же более выражено. Также, повторюсь, у нас не ЦОД, а всего лишь кластер из 2-3 нод для небольшой компании.
В качестве гипервизоров он использует KVM и LXC, соответственно держит KVM ОС (Linux, *BSD, Windows и другие) с минимальными потерями производительности и Linux без потерь.
Итак, поехали!
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 71

Литье пластмасс в силикон — доступное мелкосерийное производство в домашних условиях

Время на прочтение 8 мин
Количество просмотров 337K
Многие из тех, кто печатает на 3D-принтере сталкиваются или с необходимостью получить партию моделей в короткие сроки, или скопировать удачно получившуюся деталь, или получить изделия с прочностными характеристиками, превосходящими таковые у пластиков для домашней 3d-печати.

3D-принтер далеко не всегда способен выполнить такие задачи, но отлично подойдет для создания единственного образца, или мастер-модели. А дальше на помощь нам приходят материалы производства компании Smooth-On, наверное, самого популярного производителя материалов холодного отверждения.

image

В этом обзоре мы сравним самые основные и популярные силиконы, полиуретаны и добавки к ним, кратко посмотрим на основные способы создания форм и изделий, подумаем, где это может найти применение и, наконец, создадим свою силиконовую форму и модель.
Перед написанием этого поста мы прошли трехдневный тренинг у официального дилера Smooth-On в России, чтобы разобраться во всех тонкостях литья в силикон.
Читать дальше →
Всего голосов 45: ↑44 и ↓1 +43
Комментарии 26

АЦП в качестве генератора случайных чисел

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

Доброго времени суток! Решил рассказать о простом и интересном способе получения честных случайных чисел на микроконтроллерах, не имеющих на борту аппаратного генератора случайных чисел. Достаточно, чтобы у микроконтроллера был АЦП и один свободный вход. Подробности под катом.
Читать дальше →
Всего голосов 28: ↑20 и ↓8 +12
Комментарии 34

Делаем свой «умный дом» чуть более безопасным

Время на прочтение 3 мин
Количество просмотров 35K
В посленее время мир «умного дома» стал более близок для начинающих энтузиастов, благодаря наличию большого количества аппаратных решений с низким порогом вхождения (речь конечно про платформу Arduino и немалому набору модулей/сенсоров для неё) и уже готовых библиотек и фреймворков для работы с ними. Как правило они имеют настройки по-умолчанию (мак-адреса, каналы и т.п.), которые нетронутыми и остаются в руках этих самых начинающих… Например фреймворк MySensors, упоминавщийся не так давно на Хабре, имеет файл настроек «MyConfig.h», который многие (мой незадачливый сосед в частности) даже не правят.

С одной стороны мне все равно, что в многоэтажном доме кто-то сможет «подслушать» температуру на кухне (а то и позвонить с вопросом «Что готовишь?»), но с другой стороны не хотелось бы, чтобы кто-то смог (хоть бы и теоретически) управлять силовыми нагрузками (включить любимую кофе-машину, например). Хочется быть чуть более уверенным, что комманда исходит от моего управляющего устройства, а не подставного (в криптографии, это известно как «проверка подлинности»).

Реализовать такой подход сравнительно просто…
Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 10

Аарон Леви: Разработка B2B-продуктов

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


Cтэнфордский курс CS183B: How to start a startup. Стартовал в 2012 году под руководством Питера Тиля. Осенью 2014 года прошла новая серия лекций ведущих предпринимателей и экспертов Y Combinator:


Первая часть курса
Читать дальше →
Всего голосов 16: ↑14 и ↓2 +12
Комментарии 3

Мод USB-COM переходника, который сэкономит вам нервы при прошивке Arduino Pro Mini и не только

Время на прочтение 2 мин
Количество просмотров 111K
Вы прошиваете Arduino Pro Mini? Вы устали нажимать на кнопку reset, чтобы залить ваш скетч?

image

Зачастую с первого раза не всегда получается, и приходится вылавливать тот момент- между компилированием и загрузкой.
Так давайте Мы это исправим.
Читать дальше →
Всего голосов 51: ↑44 и ↓7 +37
Комментарии 17

Бесплатный https сертификат + интеграция в Apache–TomCat

Время на прочтение 3 мин
Количество просмотров 18K
Доброго времени суток, дорогие друзья. У меня возникла необходимость настроить https на сервере, который используется в онлайн-игре. Для этого мне понадобится бесплатная регистрация на StartSSL и немного времени. Инструкции на самом сайте StartSSL довольно туманные. Эта публикация призвана пролить свет на детали.
Читать дальше →
Всего голосов 13: ↑8 и ↓5 +3
Комментарии 9

leOS — многозадачное ядро для Arduino

Время на прочтение 1 мин
Количество просмотров 31K
Итальянский разработчик Леонардо Милиани выложил в открытый доступ исходники leOS (little embedded operating system) – маленького многозадачного ядра для Arduino. В своем блоге он пишет:
To be honest, it should more correct to say that leOS is actually something that is halfway a simple prototype of an real-time operating system (RTOS) and a scheduler. [...]
leOS can run simple tasks that don’t require excessive CPU time but it can be useful in all of those situations where the user wants to let a task run itself out of the main loop.

Ядро leOS обеспечивает диспетчеризацию вызовов пользовательских функций согласно заданным временным интервалам. Для этого leOS использует аппаратный Timer2 для отсчета интервалов между вызовами пользовательских функций, поэтому теряется доступ к функциям ШИМ на пинах D3 и D11. В ядре используется 64-битный счетчик, так что переполнение планировщика произойдет только через 584 942 417 лет.
Читать дальше →
Всего голосов 32: ↑23 и ↓9 +14
Комментарии 13

Программируем Arduino на чистом Си

Время на прочтение 3 мин
Количество просмотров 137K
В жизни ардуинщика рано или поздно наступает момент, когда в штатной среде разработки становится тесно. Если скетчам перестает хватать памяти, требуется жесткий реалтайм и работа с прерываниями или просто хочется быть ближе к железу — значит пришло время переходить на C. Бывалые электронщики при упоминании Arduino презрительно поморщатся и отправят новичка в радиомагазин за паяльником. Возможно, это не самый плохой совет, но мы пока не будем ему следовать. Если отбросить Arduino IDE и язык wiring/processing, у нас в руках останется прекрасная отладочная плата, уже оснащенная всем необходимым для работы микроконтроллера. И, что немаловажно, в память контроллера уже зашит бутлоадер, позволяющий загружать прошивку без использования программатора.
Читать дальше →
Всего голосов 40: ↑36 и ↓4 +32
Комментарии 29

Timelapse с элементами видеонаблюдения

Время на прочтение 3 мин
Количество просмотров 45K
Здравствуйте, хабрапользователи.

Начитавшись на Хабре о timelapse с Raspberry Pi (раз, два) и после того как трем машинам на стоянке пробили за одну ночь колеса, а за неделю до того одну машину вскрыли, я решил, что нужно организовать малобюджетное видеонаблюдение.

На супер-крутую HD IP камеру с wi-fi бюджета нет, да и, честно говоря, желания, так как люблю покопаться в конфигах, потыкать провода и всякое прочее.

В общем, кому интересно, прошу под кат.
Читать дальше →
Всего голосов 24: ↑23 и ↓1 +22
Комментарии 12

Безопасность мобильного интернета изнутри и снаружи

Время на прочтение 6 мин
Количество просмотров 36K
С развитием мобильных сетей развивается и мобильный интернет. Все привыкли к обычному интернету: витая пара, Ethernet, TCP/IP. А что же скрывает в себе интернет мобильный? Попробуем выяснить! В нашем исследовании мы коснемся общих принципов работы мобильного интернета, рассмотрим поближе GPRS Tunneling Protocol, поговорим о GRX-сети и обсудим некоторые практические подходы к безопасности мобильной пакетной сети.

Как каждый из нас подключается к мобильному интернету? В принципе, необходимо знать только три параметра: APN, логин и пароль. APN — это точка доступа, через которую абонент может подключиться к необходимой ему услуге (WAP, MMS, Internet); у наших операторов она обычно выглядит как internet.<operator-name>.ru. Логин и пароль обычно простые: internet — internet или вроде того.
Читать дальше →
Всего голосов 41: ↑40 и ↓1 +39
Комментарии 16

Информация

В рейтинге
Не участвует
Откуда
Тирасполь, Молдова, Молдова
Дата рождения
Зарегистрирован
Активность