Pull to refresh
163
0

java / open source

Send message

Один клик в интерфейсе Booking com может испортить отпуск или почему важна работающая система рейтингов

Reading time12 min
Views31K
Итак, у сервиса-посредника есть правила и большинство клиентов их соблюдает. Казалось бы, что если их нарушаешь, тебя ждёт бан, голод и банкротство. Так только в теории, есть некоторый процент пользователей сервиса который процветает и здравствует, «прокачивает» свой рейтинг всеми возможными способами и избегает негативных оценок грязными методами игры.



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

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

Публикацию разделю на части — теоретическую о состоянии отрасли и практические примеры из пользовательского опыта на основе которого появилась эта теория. Прежде всего желаю читателям, чтобы ни одна из описанных ситуаций с вами не случилась. Но если вдруг произошло, то предупреждён — значит вооружён.
Total votes 43: ↑25 and ↓18+7
Comments94

Жизнь с Java SE 8 и Java SE 11 по $25 за процессор в месяц

Reading time2 min
Views34K
Java разработчики завороженно наблюдают за выходом java 9, 10 и на подходе 25 сентября 2018 должна выйти Java 11. Чехарда релизов — то о чем так долго просили состоялось и новые фичи JVM выходят каждые пол года. Во многом это идет на пользу экосистеме, но при этом создает множество сложностей для эксплуатации ПО на JVM. Java release train мчит по рельсам навстречу!



Все бы хорошо, но при этом в январе 2019 прекращается бесплатная поддержка Java SE 8. Для тех же компаний, кто не успевает тестировать приложение на новых версиях Oracle предлагает купить коммерческую лицензию на Java SE 8 для получения обновлений. Для разработчиков и для персонального пользования заявляют о поддержке обновлений по крайней мере, до конца 2020 года.
Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments80

Взаимные превращения JSON, YAML, XML

Reading time4 min
Views17K
JSON, YAML сейчас популярны, а XML технологии считаются пережитком прошлого.


Попробуем использовать «ретро технологии» для работы с данными в формате JSON и YAML. И порассуждаем о причинах применять их в наши дни.
Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments11

Девчачьи радости в интерьере — не розовая полка с интернет-радио и RGB подсветкой

Reading time6 min
Views16K
Осталось пара недель до 8 марта и если верить поговорке, сапожник обычно остается без сапог. Так же и Надя, дизайнер по текстилю в интерьере, жила без удобной мебели. Многие знают, как сложно найти в компактное пространство российской квартиры идеально подходящую по размерам полку или тумбочку.



Когда обошли почти все магазины, стало ясно что проще всего сделать такую мебель самим. Можно смастерить индивидуальную не только габаритами, но и функциями полку и сэкономить свободное пространство в комнате.
Осторожно! Под катом видео tutorial, много фото и диаграмм.
Total votes 37: ↑30 and ↓7+23
Comments54

Как новичку сделать вклад в open source проект с 20К звездами?

Reading time3 min
Views17K
На хабре публикуют перевод статей про участие в open source продуктах и складывается впечатление что жизнь, полная энтузиастов, где-то за границей. Что новичку страшно участвовать в крупных проектах, что у него обязательно должны быть там кураторы и его pull request вместе с ним точно пройдет через все круги ада.

Опыт друга, новичка в open source, говорит об обратном. Первый его pull request #11680 приняли в звездный spring-boot без обсуждения и без единого комментария от мейнтейнеров. Его исправления будут доступны уже в версии 2.0.0.RC1



Не боги горшки обжигают. Рассуждения о возможности стать контрибьютором крупного проекта на github…
Читать дальше →
Total votes 31: ↑25 and ↓6+19
Comments46

Как изменение двух строк кода может занять несколько дней

Reading time3 min
Views21K
Интересно верит ли кто-либо еще что работу разработчика можно измерить количеством строк кода? Попробуем вместе развенчать этот старый, как мир, миф своими красными глазами.


Сложно ли изменить две строчки кода?
Как прочувствовал это на своей шкуре...
Total votes 45: ↑37 and ↓8+29
Comments44

Потрошитель исходников и AST дерево Spring Boot

Reading time11 min
Views5K
Недавно мне попалась необычная задача получить доступ к комментариям кода в рантайм.



Это поможет поймать сразу 3х зайцев — кроме документации в коде проекта из тестов проекта легко будет сгенерировать sequence diagram, которые смогут читать аналитики, а QA сможет сравнить свои тест планы с автотестами проекта и дополнить их при необходимости. Появляется общий язык в команде между теми кто пишет код и теми кто не может его читать. Как результат — лучшее понимание проекта всеми в процессе разработки ну и с точки зрения разработчика не нужно рисовать ничего вручную — код и тесты первичны. Больше шансов что такая документация будет самой актуальной на проекте, так как генерируется из работающего кода. Заодно дисциплинирует разработчика документировать классы и методы, которые участвуют в диаграммах.

В этой публикации я расскажу как же извлечь javadoc из исходного кода проекта.
И в финале распотрошим документацию Spring Boot
Total votes 6: ↑6 and ↓0+6
Comments1

CrateDB: снаружи как PostgreSQL, а внутри Elasticsearch

Reading time3 min
Views9.1K
С моей прошлой публикации о распределенной базе данных CrateDB прошло около года. Проект на основе Elasticsearch и PrestoDB написан на Java. Он за это время активно развивался и обрастал новым функционалом в github репозитарии:

  • поддержка outer join;
  • case when… then… end в запросах;
  • функции для работы с пространственными(Geospatial) данными;
  • возможно отображение данных временных рядов (Time Series) в Grafana;
  • ограниченная поддержка подзапросов;
  • узлы кластера работающие в режиме только чтения;
  • эмуляцией подмножества протокола PostgreSQL 9.5;


Приятной неожиданностью было обнаружить в github проекта, что в команде CrateDB есть русскоговорящий разработчик Руслан. Достаточно быстро получил от него ответ на вопросы про внутреннее устройство и зависимости проекта.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments4

GitHub Pages для сайта на 8 марта

Reading time8 min
Views33K
Что такое HTML, CSS, JavaScript и Bootstrap фреймворк сложно объяснять человеку который далек от IT. А что если нужен сайт на бесплатном хостинге, без привязки к онлайн конструкту именно этого хостинга?!



Как думаете, реально научить девушку обновлять свой сайт на GitHub Pages к Международному женскому дню?! Расскажу как мне это удалось с помощью генератора сайта, который доступен на Github и написан на Java + FreeMarker, к тому же старался автоматизировать публикацию контента в git репозитарий.
Total votes 34: ↑23 and ↓11+12
Comments56

Разработка JDK 9 прошла фазу «Feature Complete»

Reading time2 min
Views11K
Марк Рейнхольд (Mark Reinhold) главный архитектор платформы Java в Oracle на днях сообщил в рассылке что разработка JDK 9 прошла фазу «Feature Complete».
image

Что значит, что добавление новой функциональности в проект приостановлено и теперь необходимо сконцентрировать усилия сообщества разработчиков на исправлении ошибок.
Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments13

Модуляризация в JavaSE без OSGI и Jigsaw

Reading time7 min
Views6.7K
mvn-classloader — загрузчик классов и ресурсов из maven совместимых репозитариев. Этот проект позволяет добавить ограниченную по возможностям и не сложную систему модулей в JavaSE приложение, где не нужна вся мощь и сложность OSGI.


Про то что еще позволяет делать mvn-classloader кроме модулей узнаете в статье.
Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments22

Первые шаги в Java: как начать разрабатывать ничего не устанавливая

Reading time5 min
Views81K
По прошествию многих лет я подумал, а как бы я разрабатывал свою первую программу на Java, если бы я начал сегодня?


Знакомство с Java было в университете и при воспоминаниях об этом бросает в холодный пот. Кроме нового незнакомого языка, приходилось устанавливать какой-то JDK, потом IDE, потом создавать первый проект и вручную добавлять в него библиотеки. Делать по аналогии с готовыми программами и ловить неизведанные java.lang.ClassNotFoundException и java.lang.NoSuchMethodException и тому подобный ужас. Когда знал как работать только в операционной системе Windows и доступ в интернет был по модему через телефонную линию.

Надеюсь интересно будет как тем, кто делает первые шаги в java и тем, кто помнит jdk 1.4. Попробуем online IDE Eclipse Che.
Узнаем новое или попробуем повторить первые шаги в java сейчас...
Total votes 23: ↑18 and ↓5+13
Comments41

Сигнализация для холодильника. Не жизнь, а «малина» c RaspberryPi 3

Reading time11 min
Views21K
Запылилась за месяц у меня на полке Raspberry Pi 3 со встроенным Wi-Fi. Ресурсов процессора и объема памяти уже достаточно для запуска ресурсоемких программ. Как же быстро разработать и запустить на ней свою программу состоящую всего из одного небольшого файла с отправкой фото на почту и веб сервером мониторинга?



Соберем простую систему для охраны холодильника от незаконного проникновения с фото регистрацией и интеграцией в интернет через smtp. Устроим у себя настоящий интернет вещей на кухне!
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments15

Как я добавил 30000 человек в первый круг контактов, а эту соцсеть заблокируют в РФ

Reading time6 min
Views29K
Вспоминая собеседования из своего прошлого решил «не идти в гору», а чтобы гора сама пришла ко мне, точнее кадровые сотрудники с вакансиями. Опять поиск работы и теперь на рынке где реальные доходы стали меньше, а соискателей больше…

Но тратить время на рутинные операции по поиску и добавлению профессионалов в социальной сети не хотелось. После 2000 кликов вручную критерии поиска у меня оказались формализуемые. Поэтому написал скрипт который экономит мое время и зрение. К общению с людьми я не пускаю бездушного «робота». Сам пишу и сам отвечаю.



Мне посчастливилось познакомиться и пообщался с интересными людьми из индустрии, получить сотни сообщений со спамом и ссылки на сотни вакансий. Готового скрипта здесь не будет, но в публикации есть пара фрагментов кода для магии webdriver и ссылки. Также вы узнаете последние новости про поиск работы в России и описание моего опыта по продвижению в соцсети…
Читать дальше →
Total votes 64: ↑37 and ↓27+10
Comments64

Как разработать приложение для автоматизации почти не умея программировать. Придется выучить IDE…

Reading time5 min
Views19K
Хочешь создать свой проект в «железе», который перевернет мир с ног на голову? Или автоматизировать управление светом в коридоре. При этом ты не специалист в программировании микроконтроллеров, но разобрался с arduino и тем как моргать её светодиодами и только узнал о полевых транзисторах, симисторах, 1-Wire. Теперь хочешь управлять всем этим хозяйством и предоставить доступ через интернет и хранить данные в облаке.



Или ты дружишь с паяльником, гуру программирования ПЛК, снифишь PDU в modbus. Но компьютер с Windows и SCADA слишком дорог для проекта или не подходит почему-то еще… И хочется запускать программу на одноплатном компьютере Raspberry PI с доступом к ее переферии GPIO, I2C.
Читать дальше →
Total votes 18: ↑15 and ↓3+12
Comments17

Управляем автоматом на Groovy/Java. Как ЧПУ станку в домашней мастерской не превратиться в мульт героев «двое из ларца»

Reading time9 min
Views17K
Поговорим на темы от труда и работы, станков, автоматизации на java/groovy до прогнозов о будущем человечества.

Узнаете про персональное автоматизированное производство в домашней мастерской, как идея творца превращается в готовое изделие. Рассмотрим подход по отправке G-code инструкций из JVM и groovy/java на исполнение ЧПУ станку для автоматизации того, чего нет в системе «из коробки».


Надеюсь, эта публикация будет познавательна программистам работающих с JVM, тем кто интересуется темой IoT, кому не чуждо мастерить, кто думает о покупке 3D принтера, кто делал прототип какой-либо системы и запускал ПО на Raspberry PI/Beagleboard Black. То про что расскажу, можно повторить используя open source software и open hardware.
Внимание, в публикации много иллюстраций! И лучше не есть при просмотре техники безопасности...
Total votes 21: ↑19 and ↓2+17
Comments36

Суд Северной Калифорнии отказал Oracle в ходатайстве на новое рассмотрение по делу против Google

Reading time2 min
Views6.9K
Незамеченным на хабре прошло решение судьи Вильяма Алсупа (William Alsup) из окружного суда Сан-Франциско, вынесенное 27 сентября 2016. Он отклонил ходатайство Oracle в суд на новое рассмотрение и судейство на основании норм права (judgment as a matter of law) по делу против Google. Напомню, что речь идет об использовании реализации Java в Android и ChromeOS.
Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments4

Упаковка jvm приложения в docker образ

Reading time3 min
Views28K
Все плюсы docker для приложения, уже много раз описывали на Хабре, как и его архитектуру.

Мы же решим практическую задачу по упаковке jvm приложения и получим контейнер с миниатюрным Linux, JDK и нашим приложением, который опубликуем на hub.docker.com и сможем запускать где угодно.
Читать дальше →
Total votes 27: ↑20 and ↓7+13
Comments38

Превращаем Java/JVM приложение в демона

Reading time4 min
Views14K
Часто ли вы пишите shell скрипт и пакетный файл для запуска своего jvm приложения, а как часто копируете из другого проекта?


Если используете maven, эта информация вам поможет.
Total votes 20: ↑17 and ↓3+14
Comments15

Information

Rating
Does not participate
Location
Россия
Registered
Activity