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

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

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

Плагинное приложение на Java без боли

Время на прочтение8 мин
Количество просмотров13K
В этой статье я хотел бы рассказать, как быстро и просто сделать каркас приложения на Java с поддержкой динамической загрузки плагинов. Читателю наверняка сразу в голову придёт, что такая задача уже давно решена, и можно просто использовать готовые фреймворки или написать свой загрузчик классов, но в предлагаемом мною решении ничего этого не потребуется:

  • Нам не понадобятся специальные библиотеки или фреймворки (OSGi, Guice и т.п.)
  • Мы не будем использовать парсинг байткода с помощью ASM и подобных библиотек.
  • Не будем писать свой загрузчик классов.
  • Не будем использовать рефлексию и аннотации.
  • Не понадобится возня с classpath для поиска плагинов. Мы вообще не будем трогать classpath.
  • Также мы не будем использовать XML, YAML или какие-либо другие декларативные языки для описания точек расширений (extension point’ов в плагинах).

Однако всё же есть одно требование — такое решение будет работать только на Java 9 или выше. Потому что оно будет основано на модулях и сервисах.
Читать дальше →
Всего голосов 18: ↑16 и ↓2+20
Комментарии49

10 самых популярных курсов Microsoft на русском

Время на прочтение5 мин
Количество просмотров40K
Привет, Хабр! Совсем недавно мы выложили первую часть серии подборок полезных обучающий курсов для программистов. И вот незаметно подкралась последняя пятая часть. В ней мы перечислили некоторые из самых популярных IT-курсов, которые доступны на нашей учебной платформе Microsoft Learn. Все они, конечно же, бесплатны. Подробности и ссылки на курсы под катом!

Темы курсов в этой подборке:

  • Python
  • Xamarin
  • Visual Studio Code
  • Microsoft 365
  • Power BI
  • Azure
  • ML

Новая серия статей


Следующая серия статей, начало 2020 года


Эта серия статей, 2019 год


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

Великий порноэксперимент: история Интернета для взрослых

Время на прочтение14 мин
Количество просмотров85K
Сайты для взрослых, или простым языком, порносайты, занимают ключевое место во Всемирной паутине и её развитии. Если вспомнить недавний сериал «Холивар. История рунета. Часть 1. Начало: хиппи из Калифорнии, Носик и лихие 90-е» и термин «две девушки в час», «то есть это тогда, когда было fido, были модемы 1200 бит, и вот ты сидел и у тебя в час две картинки девушек эротического содержания проходило», становится очевидным, что трафик для взрослых сыграл свою немаловажную роль. Ведь зачем ещё развивать сети, если не для стриминга порно?

Знаете ли вы какой процент мирового трафика составляет порнография и какой сумме он эквивалентен в долларах США в год? Какие ухищрения придумывают порносайты и какого типа бывают проекты для привлечения своей аудитории? Несёт ли порно вред или пользу?

Отдельные разделы нашего рассказа мы посвятим «Великому порноэксперименту» и приведём научные факты и данные, которые говорят, как о пользе, так и о вреде порно. Бесконечная новизна! Эффект Ку́лиджа и последствия воздействия на не окрепшую психику или наоборот помощь в формировании устойчивой и более окрепшей психики? С помощью интернет-порно парень может увидеть больше горячих девушек за 10 минут, чем его предки могли за несколько жизней. Проблема в том, что у парня мозг охотника-собирателя.
Всего голосов 82: ↑70 и ↓12+88
Комментарии219

Python или не Python

Время на прочтение3 мин
Количество просмотров4.6K
Я расскажу о проблемах с которыми столкнулся, выбрав Python3 первым языком.
Я не изучал программирование в университете.
Я не хочу начинать holywar.

В 2016 Google советовал учить Python3 если нужен:

1. Легкий для старта язык.
2. Язык для машинного обучения.
3. Язык для простых 2d игр.

1. Я посмотрел первую лекцию курса Harvard CS50 на сайте JavaRush и понял, что не хочу:

#include <stdio.h>
int main(int argc, const char *argv[]) {
    printf("Hello world\n");
    return 0;
}

Когда можно так:

print('Monty Python')

JavaScript испугал комбинацией из трех систем: JS/HTML/CSS.

2. Машинное обучение вдохновляло тем, что все статьи и примеры напоминали киберпанк и научную-фантастику.

3. Можно программировать игры? Супер!
Читать дальше →
Всего голосов 8: ↑4 и ↓4+2
Комментарии14

RE: Страх и ненависть в IT

Время на прочтение12 мин
Количество просмотров10K
Писать ответы на статьи легко и приятно. Не надо часами корпеть над структурой статьи, достаточно следовать чужому плану и лишь внятно изложить мысли на бумаге. Тем не менее, рискну предположить, что критический взгляд «с другой стороны» на проблемы, поднятые в статье "Страх и ненависть в IT" уважаемым eugene_crabs, все же будет интересен. В роли адвоката дьявола, защищающего бесчеловечную системы выступаю сегодня я.

image

Я, в отличии от него, лычек сеньора не ношу, и стаж разработки у меня на пару лет поменьше, да и профильного образования, у меня, если честно, нет. Но вот проблем у меня с базовым интересом к работе не было, и мне кажется — причина в несколько ином восприятии реальности.
Статья для широкого круга читателей.
Читать дальше →
Всего голосов 37: ↑23 и ↓14+18
Комментарии49

«Спокойной ночи» – как умные гаджеты лишают людей сна

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

С чего начинается каждое мое утро? Звонок будильника, беру в руки айфон и… проверяю через приложение, как же я там сегодня поспала.

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

Уверена, я не одна такая. Согласно этому исследованию, 10% американцев уже носят умные часы, а 50% — рассматривают возможность такой покупки в ближайшем будущем. На Reddit есть канал r/Biohackers, и там куча сообщений в таком духе:
«Ребята, помогите! Мое кольцо Oura стабильно показывает 55 баллов или даже ниже. И это несмотря на все мои усилия по улучшению сна – активность в течение дня, медитации, холодный душ, никакой еды за 4 часа до сна, блокировка голубого экрана на смартфоне. Что делать?»
То есть человек чувствует себя нормально, но трекер говорит, что, мол, ничего подобного! Ему-то виднее!

О пользе сна и ужасах от его лишения долго расписывать, думаю, смысла нет: все и так знают, что спать нужно 7-8 часов и делать это качественно, то есть засыпать в течение 30 минут и просыпаться не более одного раза за ночь.

Но помогает ли изучение данных о сне лучше спать?

Читать дальше →
Всего голосов 22: ↑15 и ↓7+15
Комментарии56

Краткое пособие для изучающих иностранный язык

Время на прочтение12 мин
Количество просмотров18K
как все непросто в этой жизни!

Доброго дня, уважаемое сообщество!

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

Для начала очень коротко о себе: мне 39 лет, 14 из которых я живу за границей. В настоящий момент я владею 5 языками, в числе которых 1 родной (русский) и 4 выученных (украинский, английский, греческий и немецкий). Мне довелось пережить на себе многие подходы к изучению. Кроме того, я провел много времени помогая своим детям освоить тот или иной язык, с очень разными результатами, поэтому я считаю, что мой опыт достоин того, чтоб на его основании делать какие-то выводы.

Сразу хочу сказать, что изучение языка — дело кропотливое! Я способный к языкам и справляюсь быстрее большинства. При этом, на изучение до уровня В2 у меня ушло 1,5 года и вот сейчас, почти через 2, я подошел вплотную к сдаче С1. Причем, вообще не факт, что С1 я сдам с первого раза. Реально очень сложный экзамен. Поэтому забудьте о 2х, 3х или 6 месяцах, забудьте о годе. Минимальный необходимый срок для освоения иностранного языка, не входящего в одну группу с родным, 2 года. Я правда не знаю ни кого, кто справился бы быстрее. Возможно они и есть, но ориентировать себя на быстрое изучение точно не стоит!

Итак, поехали :)
Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии37

Зарплатная вилка. Ты ж у мамы программист

Время на прочтение7 мин
Количество просмотров160K
Думаю что у каждого ИТ-специалиста наступает тот момент, когда он хочет написать подобный текст может и не для себя, а для десятков знакомых, которые не работают в этой сфере и не понимают как и что. Возможно кому-то будет полезно просто дать ссылку на подобную статью, чем в 10 раз объяснять самому.

Дело в том, что ИТ-сфера одновременно бурно развивается (все еще) и в то же время полна множества устоявшихся стереотипов.
Читать дальше →
Всего голосов 249: ↑195 и ↓54+141
Комментарии472

Что изучают на специальности Data Science в зарубежных вузах

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

«Будь то компания, предоставляющая финансовые услуги, которая хочет снизить риски, или ритейлер, пытающийся предсказать поведение покупателей, сценарий применения ИИ и машинного обучения основан на эффективной стратегии использования данных», — слова Рёхея Фуджимаки, основателя компании dotData и самого молодого научного сотрудника в истории 119-летней IT-корпорации NEC.


С ростом спроса, растет и количество программ Data Science в университетах. Какие модули изучают студенты, какие визовые возможности предусмотрены для выпускников вузов — разбираемся ниже.

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

Конспект по «Машинному обучению». Математическая статистика. Метод максимального правдоподобия

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


Вспомним некоторые определения математической статистики


Пусть задано вероятностное пространство $(\Omega, \Sigma, P)$.

Определение 1:

Случайной величиной $\xi = \xi(w)$, принимающей значения в множестве $S$ c $\sigma$-алгеброй подмножеств $\Phi$ называется любая $(\Sigma, \Phi)$-измеримая функция $\xi \colon \Omega \to S$, то есть $\forall A \subseteq S, A \in \Phi$ выполняется условие $\xi^{-1}(A)=\{\omega \in \Omega \space \colon \space \xi(w) \in A\} \in \Sigma$.
Читать дальше →
Всего голосов 14: ↑8 и ↓6+2
Комментарии1

Работа не волк, часть 1. Поиск работы: 9 кругов HR-a

Время на прочтение16 мин
Количество просмотров73K
Поиск работы вызывает неприятные тревожно-азартные ощущения и у вчерашнего студента, и у профессионала с годами опыта за плечами. Это не признак неуверенности в себе, это проблема всей отрасли поиска персонала: мы идём на собеседование и понимаем, что не всё может зависеть от профессионализма, что кому-то не понравятся наши софт-скиллы или внешний вид, кто-то упрется в вопрос о причинах ухода с предыдущего места. На Хабре может выйти 200 статей-обращений к HR-службами IT-компаний, где сами соискатели будут с пеной у рта рассказывать, как с ними (нами!) нужно разговаривать, как оценивать, но на первой встрече с будущим работодателем вам всё равно подсунут психологический тест, зададут странные вопросы и посмотрят на вас, как будто вы уже что-то нарушили и идёте в компанию, чтобы порушить устои и корпоративную культуру. Поэтому мы не будем рассказывать компаниям, в чём они не правы — мы расскажем вам, как с этим жить. 


Это первая часть нашего нового цикла «Работа не волк», который будет состоять из пяти частей, каждая из которых раскрывает важнейшие аспекты, связанные с трудоустройством. Как и в случае с циклом про образование, статьи будут субъективными, честными и основанными на обширной экспертизе. Вот что вас ждёт:

Часть 1. Поиск работы: источники, резюме, собеседование с HR
Часть 2. Устройство и адаптация: собеседуем с боссом, проходим испытательный срок с ветерком
Часть 3. Работа в роли новичка: рост в компании
Часть 4. Работа в роли опытного сотрудника: как не перегореть
Часть 5. Увольнение: я ухожу красиво
Читать дальше →
Всего голосов 52: ↑45 и ↓7+38
Комментарии37

Опровергаем мифы: реальные практики в Армении в сфере ИТ

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

Добрый день, уважаемые читатели! Благодаря вашим отзывам на предыдущую статью по ИТ-отрасли Армении созрела идея создать еще одну публикацию, которая даст максимально развернутый ответ о реальной практике IT-специалистов в южно-кавказском государстве. В этой публикации я познакомлю вас со «светилами» Армении, которые не только живут и работают на территории государства, но и активно наращивают объемы стартапов, разработок, идей, в том числе для выхода на международные рынки.

Читать дальше →
Всего голосов 14: ↑9 и ↓5+4
Комментарии2

Цифровизация образования

Время на прочтение3 мин
Количество просмотров4K
На фотографии дипломы дантиста и зубного врача конца 19 века.

image
Прошло более 100 лет. Дипломы большинства организаций и по сей день не отличаются от выдаваемых в 19 веке. Казалось бы, раз все и так хорошо работает, то зачем что‐то менять? Однако не все хорошо работает. У бумажных аттестатов и дипломов есть серьезные недостатки из‐за которых теряются время и деньги:

  • Бумажные дипломы выпускать долго и дорого. Необходимо тратиться на их дизайн, специальную бумагу, печать и доставку по почте.
  • Бумажный диплом легко подделать. Если же делать его сложно подделываемым, добавляя водяные знаки и другие методы защиты, то цена создания сильно возрастает.
  • Информацию о выданных бумажных дипломах нужно где‐то хранить. Если произойдет взлом реестра, в котором хранится информация о выданных документах, то невозможно будет более проверить их подлинность. Ну, бывает, что базы данных взламывают.
  • Запросы о подлинности сертификатов обрабатываются вручную. Из‐за чего процесс затягивается на недели.

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

  1. Сканы и фотографии бумажных документов.
  2. PDF сертификаты.
  3. Цифровые сертификаты различных видов.
  4. Цифровые сертификаты, выпущенные на едином стандарте.

Разберем каждый вид подробнее


Сканы и фотографии бумажных документов

Хоть их и можно хранить на компьютере и быстро отправлять другим людям, все равно для их создания нужно выпустить сначала бумажные, что не решает перечисленные проблемы.
Читать дальше →
Всего голосов 23: ↑15 и ↓8+7
Комментарии22

Почему топовые физики не любят многомировую интерпретацию

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

Последнее время из каждого утюга слышатся хвалебные высказывания о многомировой интерпретации квантовой механики и негативные в сторону Копенгагенской. Вот, например, относительно недавняя статья на Хабре. Приверженцев идей отцов-основателей (Нильса Бора, Вернера Гейзенберга, Пола Дирака, Вольфганга Паули) теперь считают динозаврами, отказывающимися принять современную (1957 год) многомировую трактовку.

Читать дальше →
Всего голосов 127: ↑90 и ↓37+53
Комментарии588

Стохастический градиентный спуск(SGD) для логарифмической функции потерь(LogLoss) в задаче бинарной классификации

Время на прочтение4 мин
Количество просмотров9.7K
Предыдущая часть (про линейную регрессию, градиентный спуск и про то, как оно всё работает) — habr.com/ru/post/471458

В этой статье я покажу решение задачи классификации сначала, что называется, «ручками», без сторонних библиотек для SGD, LogLoss'а и вычисления градиентов, а затем с помощью библиотеки PyTorch.
Читать дальше →
Всего голосов 10: ↑7 и ↓3+4
Комментарии1

Data-Oriented Design (или почему, используя ООП, вы, возможно, стреляете себе в ногу)

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

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

Такое развитие событий довольно точно описывает почти каждую игру, в разработке которой я участвовал на протяжении последних десяти лет. Причины заключаются не в языках программирования и не в инструментах разработки, и даже не в отсутствии дисциплины. По моему опыту, в большой степени в этом стоит винить объектно-ориентированное программирование (ООП) и окружающую его культуру. ООП может не помогать, а мешать вашим проектам!
Читать дальше →
Всего голосов 34: ↑30 и ↓4+26
Комментарии18

Предсказание наводнений в Google: взгляд изнутри

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


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

Модель наводнения


Критический шаг в разработке точной системы предсказания наводнений – разработать модели наводнений, использующие либо измерения, либо предсказания уровня воды в реке в качестве входных данных, и симулирующие поведение воды в её пойме.
Читать дальше →
Всего голосов 19: ↑13 и ↓6+7
Комментарии5

Первые полгода в роли тимлида: как не сойти с ума, если кажется, что все плохо

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


Первый квартал внутренний критик и синдром самозванца были моими двумя лучшими друзьями. Я с ними общалась каждый день. Систематически. И просто не могла расслабиться. Считала, что недостаточно сделала, недостаточно взяла задач, недостаточно хороша и вообще…

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

Всего голосов 37: ↑27 и ↓10+17
Комментарии14

Apple в 2019 году — это Linux в 2000 году

Время на прочтение3 мин
Количество просмотров145K
Примечание: этот пост — ироничное наблюдение на тему цикличности истории. Это самое наблюдение не несет какой-либо практической пользы, но в сути своей — весьма меткое, так что я решил, что им стоит поделиться с аудиторией. Ну и конечно же, встретимся в комментариях.



На прошлой неделе ноут, который я использую для разработки под MacOS, сообщил, что доступно обновление XCode. Я попытался его установить, но система сообщила, что ей недостаточно свободного места на диске для запуска программы установки. Окей, я удалил кучу файлов и попробовал снова. Все та же ошибка. Я пошел дальше и удалил еще кучу файлов и в довесок несколько неиспользуемых образов виртуальных машин. Эти манипуляции освободили на диске несколько десятков гигабайт, так что все должно было заработать. Я даже вычистил корзину, чтобы там ничего не «зависло», как это обычно бывает.

Но даже это не помогло: я получил все ту же ошибку.
Читать дальше →
Всего голосов 478: ↑439 и ↓39+400
Комментарии811

Телефонные мошенники. Действие второе, в котором я срываюсь и бегу до ближайшего банкомата

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


Итак, по реакции публики я увидел, что первое действие вполне «зашло», поэтому продолжу. Общий хронометраж моих разговоров составил (по «действиям»): 7:10, 18:23, 42:14, 3:51. Непродолжительность финального фрагмента связана с тем, что я понял, что с той стороны находятся исключительно непробиваемые личности. Я мог бы еще часами «ходить» по городу, но мои силы уже были на исходе. Поэтому я сознался в содеянном сам и попрощался.

Положив трубку после разговора с «лже-Дмитрием» я ожидал продолжения банкета на следующий день. Но нет, господа были весьма нетерпеливы и перезвонили мне почти сразу же. Чуток поломав свою легенду.
Читать дальше →
Всего голосов 126: ↑117 и ↓9+108
Комментарии331

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность