Представляем первую статью в серии, задуманной, чтобы помочь быстро разобраться в технологии глубокого обучения; мы будем двигаться от базовых принципов к нетривиальным особенностям с целью получить достойную производительность на двух наборах данных: MNIST (классификация рукописных цифр) и CIFAR-10 (классификация небольших изображений по десяти классам: самолет, автомобиль, птица, кошка, олень, собака, лягушка, лошадь, корабль и грузовик).
Пользователь
6 концепций функционального программирования. Польза и примеры использования
9 мин
40KДоброго времени суток! Меня зовут Иван Смолин, я разработчик мобильных приложений на платформе iOS. Сегодня предлагаю вам окунуться в мир функционального программирования. Статья носит по большей части теоретический характер, нежели практический. В ней я постараюсь дать определения основным понятиям функционального программирования и покажу примеры реализации на C, Objective-C, Swift, Haskell.
Функциональное программирование — это парадигма программирования, которая акцентируется на вычислении через функции в математическом стиле, неизменяемость, выразительность и уменьшение использования переменных и состояний (ссылка).
Существует 6 основных концепций:
Функциональное программирование — это парадигма программирования, которая акцентируется на вычислении через функции в математическом стиле, неизменяемость, выразительность и уменьшение использования переменных и состояний (ссылка).
Существует 6 основных концепций:
- концепция первого класса и функций высшего порядка
- концепция чистых функций
- концепция неизменяемого состояния
- концепция опциональности и сопоставления с образом
- концепция ленивости и бесконечных структур данных
- концепция лямбда-исчислений
+40
Сложности нагрузочного тестирования – интервью с Владимиром Ситниковым (Netcracker) и Андреем Дмитриевым
16 мин
13KВ преддверии конференции Heisenbug мы поговорили о тонкостях нагрузочного тестирования с Владимиром vladimirsitnikov Ситниковым (уже 10 лет работает над производительностью и масштабируемостью Netсracker OSS — ПО, используемого операторами связи для автоматизации процессов управления сетью и сетевым оборудованием, увлекается вопросами производительности Java и Oracle Database) и Андреем real_ales Дмитриевым (java-программист, разрабатывал JDK в компании Sun и Oracle, руководил командой разработки под Android в QuickOffice. В компании Netcracker руководил группой, занимающейся нагрузочным тестированием OSS-платформы (Java, OracleDB, JMeter, etc.)).
JUG.ru: Расскажите, пожалуйста, о своей работе и той роли, которую играет в ней нагрузочное тестирование.
+30
Это маленькое чудо — алгоритм Кнута-Морриса-Пратта (КМП)
9 мин
180KТуториал
Алгоритм Кнута-Морриса-Пратта используется для поиска подстроки (образца) в строке. Кажется, что может быть проще: двигаемся по строке и сравниваем последовательно символы с образцом. Не совпало, перемещаем начало сравнения на один шаг и снова сравниваем. И так до тех пор, пока не найдем образец или не достигнем конца строки.
+65
[ В закладки ] Зоопарк архитектур нейронных сетей. Часть 2
8 мин
40KПеревод
Публикуем вторую часть статьи о типах архитектуры нейронных сетей. Вот первая.
За всеми архитектурами нейронных сетей, которые то и дело возникают последнее время, уследить непросто. Даже понимание всех аббревиатур, которыми бросаются профессионалы, поначалу может показаться невыполнимой задачей.
Поэтому я решил составить шпаргалку по таким архитектурам. Большинство из них — нейронные сети, но некоторые — звери иной породы. Хотя все эти архитектуры подаются как новейшие и уникальные, когда я изобразил их структуру, внутренние связи стали намного понятнее.
+36
[ В закладки ] Алгоритмы и структуры данных в ядре Linux, Chromium и не только
9 мин
86KПеревод
Многие студенты, впервые сталкиваясь с описанием какой-нибудь хитроумной штуки, вроде алгоритма Кнута – Морриса – Пратта или красно-чёрных деревьев, тут же задаются вопросами: «К чему такие сложности? И это, кроме авторов учебников, кому-нибудь нужно?». Лучший способ доказать пользу алгоритмов – это примеры из жизни. Причём, в идеале – конкретные примеры применения широко известных алгоритмов в современных, повсеместно используемых, программных продуктах.
Посмотрим, что можно обнаружить в коде ядра Linux, браузера Chromium и ещё в некоторых проектах.
Посмотрим, что можно обнаружить в коде ядра Linux, браузера Chromium и ещё в некоторых проектах.
+140
[ В закладки ] Зоопарк архитектур нейронных сетей. Часть 1
10 мин
94KПеревод
Это первая часть, вот вторая.
За всеми архитектурами нейронных сетей, которые то и дело возникают последнее время, уследить непросто. Даже понимание всех аббревиатур, которыми бросаются профессионалы, поначалу может показаться невыполнимой задачей.
Поэтому я решил составить шпаргалку по таким архитектурам. Большинство из них — нейронные сети, но некоторые — звери иной породы. Хотя все эти архитектуры подаются как новейшие и уникальные, когда я изобразил их структуру, внутренние связи стали намного понятнее.
+49
Ликбез по типизации в языках программирования
12 мин
514KЭта статья содержит необходимый минимум тех вещей, которые просто необходимо знать о типизации, чтобы не называть динамическую типизацию злом, Lisp — бестиповым языком, а C — языком со строгой типизацией.
В полной версии находится подробное описание всех видов типизации, приправленное примерами кода, ссылками на популярные языки программирования и показательными картинками.
+225
Нейронные сети для начинающих. Часть 1
7 мин
1.6MПривет всем читателям Habrahabr, в этой статье я хочу поделиться с Вами моим опытом в изучении нейронных сетей и, как следствие, их реализации, с помощью языка программирования Java, на платформе Android. Мое знакомство с нейронными сетями произошло, когда вышло приложение Prisma. Оно обрабатывает любую фотографию, с помощью нейронных сетей, и воспроизводит ее с нуля, используя выбранный стиль. Заинтересовавшись этим, я бросился искать статьи и «туториалы», в первую очередь, на Хабре. И к моему великому удивлению, я не нашел ни одну статью, которая четко и поэтапно расписывала алгоритм работы нейронных сетей. Информация была разрознена и в ней отсутствовали ключевые моменты. Также, большинство авторов бросается показывать код на том или ином языке программирования, не прибегая к детальным объяснениям.
Поэтому сейчас, когда я достаточно хорошо освоил нейронные сети и нашел огромное количество информации с разных иностранных порталов, я хотел бы поделиться этим с людьми в серии публикаций, где я соберу всю информацию, которая потребуется вам, если вы только начинаете знакомство с нейронными сетями. В этой статье, я не буду делать сильный акцент на Java и буду объяснять все на примерах, чтобы вы сами смогли перенести это на любой, нужный вам язык программирования. В последующих статьях, я расскажу о своем приложении, написанном под андроид, которое предсказывает движение акций или валюты. Иными словами, всех желающих окунуться в мир нейронных сетей и жаждущих простого и доступного изложения информации или просто тех, кто что-то не понял и хочет подтянуть, добро пожаловать под кат.
+50
+42
Основы компьютерных сетей. Тема №1. Основные сетевые термины и сетевые модели
14 мин
1.4MТуториал
Всем привет. На днях возникла идея написать статьи про основы компьютерных сетей, разобрать работу самых важных протоколов и как строятся сети простым языком. Заинтересовавшихся приглашаю под кат.
+25
Основы компьютерных сетей. Тема №3. Протоколы нижних уровней (транспортного, сетевого и канального)
26 мин
357KТуториал
Приветствую всех читателей. Пришло наконец время поговорить о протоколах, находящихся на нижних уровнях. В этой статье будут разобраны протоколы канального, сетевого и транспортного уровней. Присаживайтесь поудобнее и читайте на здоровье.
+38
Обработка строк в Java. Часть II: Pattern, Matcher
6 мин
332KТуториал
Вступление
Что Вы знаете о обработке строк в Java? Как много этих знаний и насколько они углублены и актуальны? Давайте попробуем вместе со мной разобрать все вопросы, связанные с этой важной, фундаментальной и часто используемой частью языка. Наш маленький гайд будет разбит на две публикации:
Сегодня поговорим о регулярных выражениях в Java, рассмотрим их механизм и подход к обработке. Также рассмотрим функциональные возможности пакета java.util.regex.
+10
О некоторых аспектах ремонта платы электроники жесткого диска
4 мин
174KЗдравствуйте, уважаемые хабравчане! Это первая публикация в недавно открытом корпоративном блоге компании “Хардмастер”, специализирующейся на профессиональном восстановлении данных с накопителей. И с вами я, ведущий инженер Артем Макаров aka Robin. В этом блоге я и мои коллеги в меру сил будем стараться выкладывать материалы, которые смогут реально помочь всем желающим самостоятельно справляться с задачами по ремонту вышедших из строя девайсов и восстановлению информации с них.
Одной из распространенных причин выхода из строя жестких дисков являются проблемы с платой электроники.
(в простонародье это называют контроллером HDD, что конечно же некорректно)
И мы начинаем цикл публикаций по обзору поломок плат HDD и методов их устранения. Подписывайтесь и следите за обновлениями!
Одной из распространенных причин выхода из строя жестких дисков являются проблемы с платой электроники.
(в простонародье это называют контроллером HDD, что конечно же некорректно)
И мы начинаем цикл публикаций по обзору поломок плат HDD и методов их устранения. Подписывайтесь и следите за обновлениями!
+38
Как навести порядок в почтовом ящике с помощью нейронной сети. Часть 1
6 мин
21KВ нашем блоге мы много пишем о создании email-рассылок и работе с электронной почтой. Мы уже обсудили сложности борьбы со спамом, будущее email, вопросы защиты почтовой переписки, а также техники работы с email, применяемые руководителями крупных ИТ-компаний.
В современном мире люди получают множество писем, и в полный рост встает проблема с их классификацией и упорядочиванием почтового ящика. Инженер из США Андрей Куренков в своем блоге рассказал о том, как решил эту задачу с помощью нейронной сети. Мы решили осветить ход этого проекта и представляем вам первую часть рассказа.
+16
Современные RAID контроллеры Adaptec от А до Я. Часть 1
16 мин
94KНедавно наткнулся на полезную и очень подробную статью Adaptec, которая описывала ну просто все нюансы работы контроллеров, пугал разве что объем в 60 страниц. Возникло естественное желание сократить и разделить статью на 2 куска:
Материал будет интересен всем, кто связан с хранением данных – инженерам-интеграторам, системным администраторам и конечным пользователям.
Собственно, Часть 1.
- Часть 1. Общие сведения о RAID контроллерах (много теории, азы)
- Часть 2. Классификация контроллеров Adaptec (здесь всё очень конкретно – серии контроллеров, функции каждой серии, таблицы, картинки)
Материал будет интересен всем, кто связан с хранением данных – инженерам-интеграторам, системным администраторам и конечным пользователям.
Собственно, Часть 1.
+4
Отличный консольный irc клиент «Weechat»
6 мин
17KКрайне давно, я использую замечательный консольный IRC клиент WeeChat. У него очень много достоинств, на пример для него можно написать расширения на пяти(!) языках: perl, ruby, python, lua, tcl). Русскоязычной документации по нему почти нету, и на хабре ни единого упоминания про него. Именно поэтому, я решил сделать копипасту со своего блога сюда, в хабрахабр.
+3
Паять просто (комикс)
1 мин
64KБуквально неделю назад ребята из MightyOhm выпустили 8ми страничный комикс об азах пайки. Он понравился мне тем, что не смотря на свой формат и объём, в мелких деталях объясняет основные принципы этого процесса, которые совсем не очевидны для людей ни разу не державших в руках паяльник (как показывает практика, для многих державших тоже).
В общем, потратив сутки я всё там перевёл, постаравшись сохранить оригинальную верстку и стиль.
Если вы давно хотели научиться паять сами, или планируете научить этому своих детей, то все необходимые ссылки под катом.
В общем, потратив сутки я всё там перевёл, постаравшись сохранить оригинальную верстку и стиль.
Если вы давно хотели научиться паять сами, или планируете научить этому своих детей, то все необходимые ссылки под катом.
+216
40 ключевых концепций информационных технологий доступно и понятно
16 мин
160KПеревод
Представляю вашему вниманию перевод очень ёмкой, и в то же время достаточно краткой (для такого масштаба проблемы) статьи Карла Чео. Я решил, что очень хочу сделать её перевод практически сразу, как только начал читать, и очень рад, что в итоге сделал это.Для того, чтобы сделать обучение более веселым и интересным, представляю вам перечень важных теорий и концепций информатики, объяснённых с помощью аналогий с минимальным количеством технических деталей. Это будет похоже на очень быстрый курс информатики для всех с целью просто дать вам общее представление об основных концепциях.
Важные замечания:
- Пункты с неуказанным источником написаны мной самостоятельно. Поправьте меня, если вы заметите какие-то неточности. Предложите лучшую аналогию, если это возможно.
- Заголовки ссылаются на соответствующие им статьи в Wikipedia. Пожалуйста, читайте эти статьи для более серьезных и детальных объяснений.
- Аналогии — отличный способ объяснить материал, но они не идеальны. Если вы хотите по-настоящему понять перечисленные концепции, вам следует начать с фундаментальных азов и рассуждать, исходя из них.
Также зацените эту инфографику (вариант на русском), если вы просто начинающий программист.
+88
Артем Гавриченков, Qrator — DDoS-атаки [Видеолекция]
1 мин
43KПару недель назад нам удалось вытащить на CodeFreeze с докладом Артема Гавриченкова aka ximaera, CTO в Qrator Labs — компании, которая является одним из мировых лидеров по вопросам борьбы с DDoS-атаками.
Собственно, я позвал Артема сделать нам обзорную лекцию о том, что такое DDoS-атаки, какие они бывают и как с ними бороться.
Если конкретнее:
Собственно, я позвал Артема сделать нам обзорную лекцию о том, что такое DDoS-атаки, какие они бывают и как с ними бороться.
Если конкретнее:
- История термина. Чем отличаются DoS- и DDoS-атаки?
- DDoS-атаки с точки зрения специалистов по информационной безопасности, оценка рисков;
- Виды атак и их классификация;
- Противодействие для каждого вида атак;
- DDoS-атаки в Интернете будущего: как IPv6, IoT и рост числа участников Сети повлияет на её, Сети, безопасность?
+20
Информация
- В рейтинге
- Не участвует
- Зарегистрирован
- Активность