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

Программист

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

Нейросеть в 11 строчек на Python

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

О чём статья


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

Дайте код!


X = np.array([ [0,0,1],[0,1,1],[1,0,1],[1,1,1] ])
y = np.array([[0,1,1,0]]).T
syn0 = 2*np.random.random((3,4)) - 1
syn1 = 2*np.random.random((4,1)) - 1
for j in xrange(60000):
    l1 = 1/(1+np.exp(-(np.dot(X,syn0))))
    l2 = 1/(1+np.exp(-(np.dot(l1,syn1))))
    l2_delta = (y - l2)*(l2*(1-l2))
    l1_delta = l2_delta.dot(syn1.T) * (l1 * (1-l1))
    syn1 += l1.T.dot(l2_delta)
    syn0 += X.T.dot(l1_delta)


Слишком сжато? Давайте разобьём его на более простые части.
Читать дальше →
Всего голосов 47: ↑44 и ↓3+41
Комментарии17

Что же такое этот GraphQL?

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

Вашему вниманию предлагаю перевод статьи Sacha Greif "Что же такое этот GraphQL?"


Если вы такой же, как и я, вы обычно проходите через три этапа, когда узнаёте о новой технологии:


  • Отрицание: Ещё одна JavaScript библиотека?! Зачем? У меня уже есть jQuery!
  • Интерес: Хм, наверное мне следует взглянуть на эту библиотеку...
  • Паника: Помогите! Мне нужно изучить эту библиотеку прямо сейчас, иначе мои знания устареют!

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


Именно поэтому сейчас самое время узнать, что же такое этот GraphQL, о котором вы повсюду слышите.

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

Атаки на GraphQL

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

В ходе пентеста веб-приложений специалист по тестированию на проникновение достаточно часто сталкивается с необходимостью тестировать API. Как правило это REST API, про тестирование которого написано уже много. Однако все чаще и чаще встречается API на основе GraphQL.

Информации об этой технологии и вероятных атаках на нее в сети тоже достаточно. Но пентестеру, слабо знакомому с технологией, приходится небольшими частями собирать информацию во множестве разных источниках, чтобы сложилось целостное представление об объекте тестирования, о методологии и методиках тестирования. Я, так же столкнувшись с такой проблемой, скомпилировал полученную информацию в одном месте и решил ей поделиться с читателями Хабра.

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

Представляем .NET MAUI Preview 12

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

Сегодня мы выпускаем 12 превью-версию .NET Multi-platform App UI со многими улучшениями качества и некоторыми новыми возможностями. По мере того, как мы приближаемся к выпуску нашей первой стабильной версии, баланс работы начинает смещаться в сторону улучшения качества и стабильности, хотя есть еще и несколько интересных нововведений, на которые стоит обратить внимание, в том числе:

Новая документация по значкам приложений, жизненному циклу приложений, кистям, элементам управления и Single Project; Обработчик FlyoutView реализован на Android; Добавлены обработчики совместимости для RelativeLayout и AbsoluteLayout; Добавлено свойство Z Index; Унификация .NET 6 — типы iOS; Расширенная панель инструментов Windows — без оболочки.

В этом выпуске также представлено крутое усовершенствование Shell. Давайте более подробно рассмотрим Shell в Preview 12.

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

C++. Убираем приватные поля из описания класса или немного дурачества

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

Всем привет! Решил на выходных продолжить писать свой домашний проект и наступила пора реализовать платформозависимый код. Самым простым вариантом было бы описать классы в *.h файле, а в зависимости от платформы, Закрытые поля засунуть под #define. При этом, саму реализацию по конкретным платформам разнести по *.cpp файлам и включать их в компиляцию в зависимости от текущей платформы. Но... мне не нравится как выглядит описание класса с #define, поэтому я решил убрать препроцессор и оставить в описании класса только интерфейс. И да, я не пользовался абстрактными классами и pimpl, всё еще хуже :-)

Читать далее
Всего голосов 8: ↑5 и ↓3+6
Комментарии56

7 бесплатных курсов для разработчиков от Microsoft

Время на прочтение5 мин
Количество просмотров82K
Привет, Хабр! Сегодня мы начинаем серию статей, в которую войдет 5 подборок бесплатных обучающих курсов от компании Microsoft. В этой статье у нас самые крутые курсы для разработчиков, которые сильнее всего нравятся программистам.

Кстати!

  • Все курсы бесплатные (вы даже сможете попробовать платные продукты бесплатно);
  • 6/7 на русском языке;
  • Начать обучение можно мгновенно;
  • По окончании вы получите бейдж об успешном прохождении обучения.

Присоединяйтесь, подробности под катом!

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


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


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


Читать дальше →
Всего голосов 35: ↑31 и ↓4+27
Комментарии18

Подборка полезных материалов по разработке на Xamarin

Время на прочтение3 мин
Количество просмотров14K
Делимся полезным контентом по разработке на Xamarin: видео The Xamarin Show на Channel 9, базовый курс Microsoft Virtual Academy для новичков, список обучающих материалов и первый в России Moscow Xamarin Meetup.


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

17 убойных репозиториев GitHub, которые нужно сохранить

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

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

Читать далее
Всего голосов 153: ↑123 и ↓30+114
Комментарии44

Хабр умирает?

Время на прочтение2 мин
Количество просмотров108K
Я люблю писать тексты по мотивам проектов, которыми занимаюсь. За последний год я разместил на Хабре больше 20 постов. Меня постоянно удивляло, как мало толковых комментариев удаётся здесь получить. Просмотров много, а комментариев мало и большинство не по делу. Недавно я начал замечать, натыкаясь на старинные посты за 2012, 2013 годы, что в них обсуждение, как будто, более содержательное. Решил проверить это количественно. Скачал инфу по всем постам за все годы и построил несколько простых графиков. То что я увидел меня удивило и даже немного испугало. Решил разместить наблюдения здесь, чтобы проверить правильные ли я делаю выводы и всё ли учёл.

Для всех опубликованных на Хабре постов я собрал даты публикаций, число просмотров, число лайков и дислайков, число звёздочек и комментариев, список хабов и названия блогов компаний. В ходе прокачки узнал, что число плюсиков и минусиков может быть дробным и даже отрицательным, пост может быть опубликовал в блоги нескольких компаний и может не иметь автора. Если что, таблицу можно скачать из репозитория: github.com/alexanderkuk/analyze-habr/blob/master/data/posts.csv



Первым делом я посмотрел как менялось общее число постов со временем. Оно перестало расти в 2013 и немного падает с 2014, что уже немного тревожно:



Потом я построил такой же график для суммарного числа просмотров и испугался. С 2014 оно упало в 3.5 раза:


Это серьёзное утверждение, поэтому я решил свериться с Similarweb.
Читать дальше →
Всего голосов 331: ↑311 и ↓20+291
Комментарии802

Аппаратный взлом

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

Эта статья предназначается для всех, кто имеет опыт в разработке *nix/ПО/эксплойтов, но не обладает или почти не обладает знаниями оборудования/электроники! Хоть мы и не будем рассматривать все подробности простых схем (для этого есть множество отличных онлайн-ресурсов), информация изложена так, что не требует предыдущего опыта работы.

Основная задача статьи — помочь тем, кто пытается заниматься исследованием уязвимостей и/или разработкой эксплойтов физического устройства без системы отладки, оболочки и прошивки. Иными словами, мы попробуем добраться до root shell без сложностей поиска уязвимостей нулевого дня!
Читать дальше →
Всего голосов 35: ↑30 и ↓5+42
Комментарии16

EcoWatch: telegram + esp8266 = навык для Алисы

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

В связке метеостанции и telegram нет ничего нового, всё таки этот способ легко покрывает нужды переброски данных в сеть для быстрого к ним доступа. Моё же творение было вдохновлено идеей быстрого создания устройства, привязанного к Яндекс колонке, но под конец вылилась в минималистичные настольные часы-метеостанцию и относительно универсальный способ подключения к Алисе DIY IOT устройств без баз данных, только на контроллере и telegram API.

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

И целого проекта мало — как системному аналитику собрать побольше опыта и не сойти с ума

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

Предположим, вы в системных аналитиках недавно, например, на позиции джуна. Вы уже представляете, в чем заключается работа, и планируете развиваться в этой сфере. Еще с вами багаж общих IT-знаний, умение гуглить и/или грамотный ментор.Через какое-то время вы осваиваетесь в изначальном проекте. Но системная аналитика, как оказалось, штука очень интересная. Поэтому вы начинаете искать, во что бы еще вляпаться — в своей статье говорю про развитие soft skills. Случаи, когда базовых hard skills нет совсем, здесь не рассматриваются.

Короче, как жить и набраться опыта аналитику, когда почти научился жить и еще не сошел с ума!

Читать далее
Всего голосов 9: ↑8 и ↓1+7
Комментарии4

Как я пагинацию на telebot делал (пагинация для telegram бота)

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

История о том, как мы пагинацию для бота делали.

Разберемся с начала, что это за статья зачем она и для кого. Пришлось мне в рамках хакатона "Поколение ИТ" писать бота для телеги.

Но готового решения для пагинации, которое бы нам подходило мы не нашли. Поэтому было принято решение изобретать велосипед. Решение моих товарищей было максимально странным, брать количество записей и перебирать их в цикле от 1 до N (конца, записей), но данная идея сразу была отброшена. Поэтому предоставляю вашему вниманию наше творчество, которое мы изобрели.

Читать далее
Всего голосов 5: ↑2 и ↓30
Комментарии8

Лямбда-функция в Python простыми словами

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

В этой статье вы подробнее изучите анонимные функции, так же называемые "лямбда-функции". Давайте разберемся, что это такое, каков их синтаксис и как их использовать ( с примерами).

Лямбда-функции в Python являются анонимными. Это означает, что функция безымянна. Как известно, ключевое слов def используется в Python для определения обычной функции. В свою очередь, ключевое слово  lambda  используется для определения анонимной функции.

Читать далее
Всего голосов 20: ↑13 и ↓7+9
Комментарии12

Как я писал асинхронные веб-запросы на Python, или почему провайдер считает, что я бандит

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

На днях по работе потребовалось сделать утилиту, которая прямо вот из консоли ходит в апи нашего клауд сервиса и берет оттуда кое-какую информацию.

Подробности что и зачем - вне этого рассказа. Принципиальный вопрос здесь другой - скорость. Скорость реально важна (порядок количества запросов - десятки и сотни). Потому что ждать - не кайф.

Здесь я хочу поделиться своим ресёрчем на тему запросов, как делать круто, а как нет. С примерами кода конечно. А так же рассказать, как я тупил.

Читать далее
Всего голосов 38: ↑19 и ↓19+5
Комментарии26

Чем сейчас живут тестировщики? Часть 1

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

27 и 28 июня пройдет наша первая конференция тестировщиков — Test Driven Conf 2022. Темы будут сплошь для профессионалов: про автоматизацию в тестировании и QA-процессах, про нагрузочное и ML-тестирование, про оптимизацию и аналитику. Чтобы представить, как всё это будет, давайте посмотрим, что наши спикеры предлагают для решения задач тестировщиков.

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

Простой шаблонизатор DOCX-документов с помощью Smart Document Engine

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

Мы в Smart Engines занимаемся системами распознавания документов, и мы решили проверить, сколько нужно времени, чтобы создать MVP инструмента, позволяющего предзаполнять типовые шаблоны в формате DOCX данными, извлекаемые из сканов и фотографий документов. В этой статье мы вам покажем как на базе нашей системы распознавания Smart Document Engine быстро сделать простой шаблонизатор, готовый к использованию и не требующий никакой предварительной подготовки пользователя. Кому интересно - добро пожаловать под кат!

Читать далее
Всего голосов 6: ↑4 и ↓2+4
Комментарии15

UI редактора блок-схем

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

Придумывать интерфейс интересно. Похоже на головоломку. Вот что получается для Dgrm.net.

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

Досмотр файлов на украинской границе: личный опыт

Время на прочтение3 мин
Количество просмотров18K
Возвращаясь несколько дней назад на поезде из Симферополя в Петербург, столкнулся с тем, что на границе украинский таможенник заинтересовался содержимым нетбука. Ранее на Хабре встречал упоминания о таком досмотре, но ни одного подробного текста не видел, поэтому решил написать его сам — чтобы пересекающие границу заранее знали, чего можно ждать. Если в комментариях другие дополнят рассказ собственным опытом, будет вообще прекрасно.

Читать дальше →
Всего голосов 159: ↑153 и ↓6+147
Комментарии341

Go в API для мобильного приложения. Создаем совместный список покупок с мгновенными уведомлениями

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

В предыдущей статье мы рассмотрели использование Go для создания веб-приложений (с выполнением через Web Assembly). Но прежде всего Go интересен как язык для реализации высокопроизводительных и неблокирующих решений на стороне сервера и в этой статье мы изучим использование Go для backend на примере разработки API для мобильного приложения для совместного редактирования списка покупок. Приложение будет включать в себя механизмы авторизации, запроса и модификации объектов, а также мгновенные уведомления (через веб-сокеты и Push) и мониторинг доступность API. В качестве примера мы создадим минимальный API, для которого обеспечивается уведомление всех зарегистрированных пользователей об изменении списка, а также будут предусмотрена отправка пуш-уведомлений всем адресатам по запросу.

Читать далее
Всего голосов 10: ↑9 и ↓1+8
Комментарии5

Информация

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