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

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

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

Применение машинного обучения и Data Science в промышленности

Время на прочтение22 мин
Количество просмотров67K
Хабр, привет. Перевел пост, который идёт строго (!) в закладки и передаётся коллегам. Он со списком блокнотов и библиотек ML и Data Science для разных отраслей промышленности. Все коды на Python, и размещены на GitHub. Они будут полезны как для расширения кругозора, так и для запуска своего интересного стартапа.

image

Отмечу, что если среди читателей есть желающие помочь, и добавить в любую из подотраслей подходящий проект, пожалуйста, свяжитесь со мной. Я их добавлю в список. Итак, давайте начнём изучение списка.
Читать дальше →
Всего голосов 77: ↑71 и ↓6+65
Комментарии13

Реализация Spring Framework API с нуля. Пошаговое руководство для начинающих. Часть 1

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


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

Я хотел бы предложить вам принципиально новый подход к изучению Спринга. Он заключается в том, что человек проходит через серию специально подготовленных туториалов и самостоятельно реализует функционал спринга. Особенность этого подхода в том, что он, помимо 100%-го понимания изучаемых аспектов Spring даёт ещё большой прирост в Java Core (Annotations, Reflection, Files, Generics).

Статья подарит вам незабываемые ощущения и позволит почувствовать себя разработчиком Pivotal. Шаг за шагом, вы сделаете ваши классы бинами и организуете их жизненный цикл (такой же, как и в реальном спринге). Классы, которые вы будете реализовывать — BeanFactory, Component, Service, BeanPostProcessor, BeanNameAware, BeanFactoryAware, InitializingBean, PostConstruct, PreDestroy, DisposableBean, ApplicationContext, ApplicationListener, ContextClosedEvent.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии17

Бесшовная DECT-сеть своими руками

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


Есть много способов организации телефонной связи в офисе компании, и выбор конкретной технической реализации зависит от многих факторов. Если в здании изначально заложены телефонные коммуникации, грех ими не воспользоваться. Еще можно построить телефонную сеть на основе компьютерной. Но когда сотрудникам требуется мобильность и они не сидят на одном месте, а вместо десктопов со стационарными телефонами предпочитают ноуты и мобильники, есть повод задуматься о создании в офисе беспроводной телефонной связи.
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии8

Duplicity — резервное копирование с шифрованием

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

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

Недавно мы узнали еще об одном интересном инструменте — Duplicity. Duplicity не только архивирует данные и загружает их на локальный или удаленный файловый сервер, но еще и шифрует их при помощи утилиты GnuPG, обеспечивая тем самым дополнительную защиту.
Читать дальше →
Всего голосов 39: ↑36 и ↓3+33
Комментарии23

Очень простое объяснение принципов SOLID

Время на прочтение5 мин
Количество просмотров67K
Disclaimer: Всем можно, ну а я чем хуже?!

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

Попробуем разобраться в этих принципах на пальцах, без примеров кода и СМС.
Читать дальше →
Всего голосов 60: ↑53 и ↓7+46
Комментарии60

Алан Кей (и коллективный интеллект Хабра): какие книги формируют мышление тру инженера

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

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

Ключевой частью инженерии является любовь к тому, чтобы делать вещи, особенно к тому, чтобы делать их сразу же и делать их хорошо. Большая часть инженерии возникла из “tinkering” (aka “hacking”), добавив к этому желания «принципиального проектирования и создания», «целостности» и т. д. Все великие инженеры, которых я знаю лично, имеют глубокие моральные убеждения касательно того, что они делают, и почему это «должно быть сделано как можно лучше». Часть наложения темперамента на науку это своего рода «лабораторная крыса», которая наиболее счастлива, когда она в курсе эксперимента или создания нового экспериментального аппарата.
Всего голосов 21: ↑20 и ↓1+19
Комментарии35

Пол Грэм: как делить доли в стартапе

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

Июль 2007

Инвестор готов дать вам деньги за некий процент вашего стартапа. Соглашаться? Вы вот-вот наймете своего первого сотрудника. Сколько акций ему пообещать?

Это одни из тех сложных вопросов, которые встают перед основателями. Но на это есть ответ:

1/(1 — n)

На что бы вы ни собирались обменять акции вашей компании, будь то наличные, или сотрудники, или акции другой компании — формула та же. Вам следует менять n процентов вашей компании в том случае, если в итоге оставшиеся у вас (100 — n)% больше, чем стоила компания до обмена.

Например, если инвестор хочет купить половину вашей компании, насколько эти инвестиции должны увеличить стоимость всей компании, чтобы вы остались при своем? Очевидно, стоимость должна увеличиться в двое: если вы продаете половину за что-то, удваивающее стоимость вашей компании, вы не останетесь в убытке. У вас останется половина, которая будет стоить как целое.

В общем, если n является той частью компании, которой вы жертвуете, сделка будет хорошей в том случае, если стоимость компании будет больше чем 1/(1 — n).
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии7

10-гигабитный Ethernet: советы новичку

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


Вдохновившись интернет-запросами в стиле «как сделать спиннер из картонки», я решил рассказать о том, что близко мне: как самому построить 10-гигабитную сеть. Гигабитный Ethernet вопросов уже не вызывает – справится даже школьник: потребуется коммутатор, медная витая пара и привычные RJ-45 разъемы.

А если хочется больше? Например, 10-гигабитное соединение для небольшого офиса или серверной. Какое оборудование понадобится и как его подключать – просто и по шагам в моей сегодняшней статье.
Читать дальше →
Всего голосов 65: ↑62 и ↓3+59
Комментарии95

Честный подход к управлению людьми, или Почему я никогда не делаю контрофферы

Время на прочтение9 мин
Количество просмотров63K
К сожалению, в условиях жёстких бизнес-целей честность иногда отодвигается на второе место. Осознанно занижают зарплаты, рисуют заведомо недостижимые карьерные перспективы, с помощью ловких манипуляций провоцируют на переработки, которые ничем не компенсируются. Мы так не делаем принципиально. И это не донкихотство, а вполне осознанное решение, которое вполне можно обосновать прагматически. В этой статье мы поговорим о честности на примере контрофферов. Надеюсь, в результате станет понятно, почему я считаю их крайне вредной затеей.



Дисклеймер: Яндекс очень большой и разный, и я описываю здесь только принципы, принятые в разработке Яндекс.Здоровья. Уверен, что коллеги из других подразделений могут не разделять мои (довольно радикальные) убеждения и не видят ничего зазорного в том, чтобы удержать хорошего человека, сделав ему контроффер.

Пару слов о себе. Я CTO в сервисе Яндекс.Здоровье, отвечаю за всю его техническую часть: разработку, тестирование, эксплуатацию и т. д. Сервис растёт стремительными темпами, мы активно расширяем команду, собеседуем технарей (разработчиков, тестировщиков, админов) и в большом количестве приглашаем их на работу. Время от времени случается, что хорошие кандидаты отказываются от подтверждённого ими на словах оффера. В большинстве случаев, расспросив кандидата, мы узнаём, что на текущей работе ему или ей сделали встречное «предложение, от которого нельзя отказаться», и оно звучит вкуснее и интереснее, чем наше.
Читать дальше →
Всего голосов 156: ↑122 и ↓34+88
Комментарии336

Optional: Кот Шрёдингера в Java 8

Время на прочтение5 мин
Количество просмотров222K
Представим, что в коробке находятся кот, радиоактивное вещество и колба с синильной кислотой. Вещества так мало, что в течение часа может распасться только один атом. Если в течение часа он распадётся, считыватель разрядится, сработает реле, которое приведёт в действие молоток, который разобьёт колбу, и коту настанет карачун. Поскольку атом может распасться, а может и не распасться, мы не знаем, жив ли кот или уже нет, поэтому он одновременно и жив, и мёртв. Таков мысленный эксперимент, именуемый «Кот Шрёдингера».



Класс Optional обладает схожими свойствами — при написании кода разработчик часто не может знать — будет ли существовать нужный объект на момент исполнения программы или нет, и в таких случаях приходится делать проверки на null. Если такими проверками пренебречь, то рано или поздно (обычно рано) Ваша программа рухнет с NullPointerException.
Читать дальше →
Всего голосов 28: ↑20 и ↓8+12
Комментарии51

Путь запроса по внутренностям Spring Security

Время на прочтение15 мин
Количество просмотров87K
Большинство разработчиков имеет только примерное представление о том что происходит внутри Spring Security, что опасно и может привести к появлению уязвимостей.

В этой статье шаг за шагом пройдемся по пути http запроса, что поможет с пониманием настраивать и решать проблемы Spring Security.

image

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

Обзор высокотемпературных FDM-пластиков для промышленной 3D-печати

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


Сфера применений аддитивных технологий широка: на одном полюсе — настольные принтеры «только PLA», для декоративного применения, на другом — установки для прямой печати металлами, между ними — оборудование и материалы в ассортименте. Чтобы понять, какие материалы необходимы для получения прочной и легкой детали, двигаемся от персональной печати к промышленной. PLA, ABS, SBS — расходники, которые знакомы всем печатникам. PETG, нейлон, поликарбонат — скорее экзотика. Но это далеко не самые серьезные материалы.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии21

Системы ИИ научились создавать умные модели для ML: дайджест для начинающих

Время на прочтение5 мин
Количество просмотров14K
В ноябре участники исследовательского проекта Google Brain опубликовали результаты эксперимента AutoML. Им удалось создать систему, которая порождает новые ИИ-модели, используя метод обучения с подкреплением. Реализованный таким образом алгоритм уже справляется с задачей лучше решений, полностью написанных человеком.

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

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

Реактивное программирование со Spring Boot 2. Часть 1

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

Не так давно вышла новая версия самого популярного фреймворка на Java: Spring Framework 5. Новая версия принесла много нового. Одно из самых больших нововведений — модель реактивного программирования. Совсем скоро выйдет Spring Boot 2, который существенно упростит создание микросервисов c данным подходом.

Если вы, как и я, хотите разобраться подробнее, что это такое и как это используется, то добро пожаловать под кат. Статья делится на две части — теоретическую и практическую. Сейчас мы постараемся разобраться, что значит быть реактивным. После чего попробуем использовать полученные знания для написания собственного микросервиса(часть 2).
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии7

О выборе структур данных для начинающих

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

Часть 1. Линейные структуры


Массив


Когда вам нужен один объект, вы создаёте один объект. Когда нужно несколько объектов, тогда есть несколько вариантов на выбор. Я видел, как многие новички в коде пишут что-то типа такого:

// Таблица рекордов
int score1 = 0;
int score2 = 0;
int score3 = 0;
int score4 = 0;
int score5 = 0;

Это даёт нам значение пяти рекордов. Этот способ неплохо работает, пока вам не потребуется пятьдесят или сто объектов. Вместо создания отдельных объектов можно использовать массив.

// Таблица рекордов
const int NUM_HIGH_SCORES = 5;
int highScore[NUM_HIGH_SCORES] = {0};

Будет создан буфер из 5 элементов, вот такой:



Заметьте, что индекс массива начинается с нуля. Если в массиве пять элементов, то они будут иметь индексы от нуля до четырёх.
Читать дальше →
Всего голосов 42: ↑40 и ↓2+38
Комментарии32

7 правил хорошего тона при написании Unit-тестов

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

“Хорошими манерами обладает тот,
кто наименьшее количество людей
ставит в неловкое положение.”
Дж. Свифт


Привет, коллеги! Сегодня я бы хотел поговорить о Unit-тестировании и некоторых “правилах” при их написании. Конечно, они неформальные и не обязательны к выполнению, но при их соблюдении всем будет приятно и легко читать и поддерживать тесты, которые вы написали. Мы в Wrike видели достаточно Unit-тестов, чтобы понять основные проблемы, которые возникают при их написании и поддержке, и сформулировать несколько правил для их предотвращения.

Читать дальше →
Всего голосов 36: ↑30 и ↓6+24
Комментарии223

Используйте Stream API проще (или не используйте вообще)

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

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


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

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

Открытый курс машинного обучения. Тема 1. Первичный анализ данных с Pandas

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров1M


Открытый курс машинного обучения mlcourse.ai сообщества OpenDataScience – это сбалансированный по теории и практике курс, дающий как знания, так и навыки (необходимые, но не достаточные) машинного обучения уровня Junior Data Scientist. Нечасто встретите и подробное описание математики, стоящей за используемыми алгоритмами, и соревнования Kaggle Inclass, и примеры бизнес-применения машинного обучения в одном курсе. С 2017 по 2019 годы Юрий Кашницкий yorko и большая команда ODS проводили живые запуски курса дважды в год – с домашними заданиями, соревнованиями и общим рейтингом учаcтников (имена героев запечатлены тут). Сейчас курс в режиме самостоятельного прохождения.

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

Нейрокурятник: часть 4 — итоговая модель и код на прод

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

Типичный день в нейрокурятнике — куры часто еще и крутятся в гнезде

Чтобы довести, наконец, проект нейрокурятника до своего логического завершения, нужно произвести на свет работающую модель и задеплоить ее на продакшен, да еще и так, чтобы соблюдался ряд условий:

  • Точность предсказаний не менее 70-90%;
  • Raspberry pi в самом курятнике в идеале мог бы определять принадлежности фотографий к классам;
  • Нужно как минимум научиться отличать всех кур друг от друга. Программа максимум — также научиться считать яйца;

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

Статьи про нейрокурятник

Заголовок спойлера
  1. Вступление про обучение себя нейросетям
  2. Железо, софт и конфиг для наблюдения за курами
  3. Бот, который постит события из жизни кур — без нейросети
  4. Разметка датасетов
  5. Работающая модель для распознавания кур в курятнике
  6. Итог — работающий бот, распознающий кур в курятнике
Всего голосов 42: ↑40 и ↓2+38
Комментарии6

Ускоряем работу WSUS

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

Свежеустановленный сервер обновлений WSUS через несколько лет эксплуатации превращается в неповоротливое чудовище. Клиенты медленно обновляются и долго ищут обновления, журналы WindowsUpdate.log пестрят ошибками HTTP, а администратор впадает в депрессию.
Вот несколько советов, которые могут во многих случаях значительно ускорить сервер.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии25
1
23 ...

Информация

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