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

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

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

Учиться нельзя откладывать

Время на прочтение9 мин
Количество просмотров3.5K
Хабр, привет! Скоро 1 сентября, и это навевает мысли об учебе. Если перефразировать известное выражение из советского мультфильма: «учиться нельзя откладывать», то актуальным все еще остается вопрос, куда же поставить запятую.

Мы решили дать возможность поделиться своими впечатлениями от программы “Специалист по большим данным” выпускникам весенней группы. Их истории разные: кто-то долго откладывал учёбу, но осознал, что уже пора; а для кого-то решение пойти на оффлайн программу, и переезд из другой страны с устоявшейся жизнью за 2 недели до старта программы, было осознанным шагом; для кого-то мнение друзей и коллег, уже прошедших программу, было решающим после некоторых раздумий; а кто-то бросился в учёбу с головой, осознавая, что не хватает начальных знаний, и успешно пробежал марафон в 12 недель; кто-то уже в 16 лет продал свой проект — система пропуска на мероприятие с распознаванием лиц — и решил дальше изучать большие данные. Итак, кто наши участники, зачем они шли на программу, чему научились, и как пережили 3 месяца программы.

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

Как подготовиться к собеседованию в Google и не пройти его. Дважды

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


Заголовок статьи звучит как epic fail, но на самом деле все не так однозначно. Да и в общем и целом эта история закончилась весьма позитивно, хоть и не в Google. Но это уже тема для другой статьи. В этой же статье я расскажу о трех вещах: каким образом проходил мой процесс подготовки, каким образом проходили интервью в Google и почему же на мой взгляд все не так однозначно, как может показаться.
Кому интересно, прошу под кат.
Всего голосов 178: ↑174 и ↓4+170
Комментарии457

Моделируем квантовую запутанность на C#

Время на прочтение16 мин
Количество просмотров8.3K
Поскольку тема квантовой запутанности всплывает все чаще, захотелось немного углубиться. Судя по комментариям к статьям о квантовой запутанности, не мне одному будет полезна данная информация. Ну и, с учетом того что для большинства из нас программный код гораздо удобнее всяких аллегорий – решено было представить мое понимание в виде кода.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии81

Иконка со счётчиком в верхнем тулбаре: пример разнообразия подходов к одной задаче

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

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

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

Так и случилось со мной, когда возникла необходимость добавить в верхнюю панель иконку со счётчиком. Я был очень удивлён, когда выяснилось, что для реализации такого привычного и востребованного элемента UI нет простого решения. Но так бывает, к сожалению. И я решил обратиться к знаниям всемирной сети. Вопрос размещения иконки со счётчиком в верхнем тулбаре, как выяснилось, волновал довольно многих. Проведя на просторах интернета некоторое время, я нашёл массу разных решений. В целом все они рабочие и имеют право на жизнь. Более того, результат моего исследования наглядно показывает, как по-разному можно подойти к решению задач в Android.

В этой статье я расскажу о нескольких реализациях иконки со счётчиком. Здесь представлено 4 примера. Если мыслить чуть шире, то речь пойдёт о практически любом кастомном элементе, который мы хотим разместить в верхнем тулбаре. Итак, начнём.
Читать дальше →
Всего голосов 35: ↑35 и ↓0+35
Комментарии7

Новые процессоры ARM смогут потягаться с Core i5

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

Согласно собственным тестам ARM, процессор Cortex-A76 уже примерно соответствует по производительности разогнанному процессору Core i5-7300U, рассеивая при этом менее 5 Вт (TDP), в сравнении с 15 Вт у чипа Intel

Процессоры ARM традиционно используются в смартфонах и планшетах, но в последнее время производители ПК вроде Asus и HP решили, что производительность и низкое энергопотребление этих «камней» вполне подходят для ноутбуков. Глядя на такое положение вещей, сама компания ARM анонсировала процессорные архитектуры, специально предназначенные для конкуренции с Intel и AMD на ноутбуках и настольных компьютерах в 2019−2020 годы. По мнению ARM, новые чипы вполне могут сравниться и даже превзойти процессоры Intel в однопоточной производительности.
Читать дальше →
Всего голосов 37: ↑32 и ↓5+27
Комментарии165

Мои любимые примеры функционального программирования в языке Kotlin

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

Одной из замечательных особенностей Kotlin является то, что он поддерживает функциональное программирование. Давайте посмотрим и обсудим некоторые простые, но выразительные функции, написанные на языке Kotlin.


Мои любимые примеры функционального программирования в языке Kotlin

Читать дальше →
Всего голосов 36: ↑25 и ↓11+14
Комментарии17

10 самых распространенных ошибок безопасности в Python и как их избежать

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

Наша очередная группа по Python успешно запустилась в понедельник, но у нас остался ещё один материальчик, который мы не успели разместить до старта. Исправляем нашу оплошность и надеемся, что он вам понравится.

Поехали!

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

Всего голосов 33: ↑31 и ↓2+29
Комментарии6

Быстрый старт с ARM Mbed: разработка на современных микроконтроллерах для начинающих

Время на прочтение17 мин
Количество просмотров74K
Привет, Хабр.

Традиционным уникальным преимуществом платформы Arduino называлось (да и сейчас иногда называется, хотя это уже неверно — и мы поговорим, почему) опускание порога входа в микроконтроллерную разработку до уровня базовых знаний C/C++ и электроники в маштабе «подключить светодиод в нужной полярности».

Спросите примерно у любого активного сторонника Arduino — и вам быстро объяснят, что можно, конечно, писать под STM32 или nRF52, но выгоды в том реальной никакой, зато вас ждут бессонные ночи над сотнями страниц даташитов и бесконечные простыни функций с длинными непонятными названиями.

Заслуги Arduino в снижении порога вхождения действительно трудно переоценить — эта платформа появилась на свет в середине нулевых годов, а после 2010 завоевала серьёзную популярность среди любителей. Особых альтернатив на тот момент ей не было — процессоры на ядрах Cortex-M только появились, по сравнению с AVR они были довольно сложны даже для профессиональных разработчиков, а отладочные платы у большинства вендоров стоили от сотни долларов и выше (и в общем в индустрии ценник за отладку на 5-долларовом контроллере в $500 никого сильно не удивлял).

Однако большая проблема Arduino в том, что её развитие за минувшие 10+ лет более всего напоминает некоторые модели АвтоВАЗа:


Так как дальше я планирую длинное вступление, то сейчас, чтобы вы представляли, в чём будет заключаться практическая часть, я приведу полный текст программы, включающий инициализацию процессора STM32 и мигание светодиодом. Программа написана для ОС ARM Mbed:

#include "mbed.h"
DigitalOut myled(LED1);

int main() {
    while(1) {
        myled = 1; // LED is ON
        wait(0.2); // 200 ms
        myled = 0; // LED is OFF
        wait(1.0); // 1 sec
    }
}

Похоже ли это на высокий входной порог? На функции с непонятными названиями? Бессонные ночи над даташитами? Нет? Ладно, давайте не будем забегать вперёд.
Читать дальше →
Всего голосов 114: ↑98 и ↓16+82
Комментарии463

Почему Moscow Python Conf теперь ++

Время на прочтение16 мин
Количество просмотров5.8K
Собрались мы с Олегом Буниным (olegbunin) и Валентином Домбровским поговорить про то, как к осени вместе подготовим классную конференцию про Python, и записали видео.

Под катом наша беседа в текстовом виде. В частности, ответ на самый главный вопрос, зачем вообще нужны конференции. И хочу заметить, не для того, чтобы чему-нибудь научиться – учатся сейчас в интернете (например на Хабре :).

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

Всего голосов 24: ↑21 и ↓3+18
Комментарии2

10 веб-фреймворков Python, с которыми стоит работать в 2018 году

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

От переводчика: сегодня мы предлагаем вам перевод статьи, размещенной на Hackernoon компанией SteelKiwi. Она занимается разработкой программных решений b2b и b2c, а опытом, накопленным в процессе работы, делится с читателями своего блога.

Фреймворки облегчают жизнь разработчику, предлагая различные решения для разработки приложений и сервисов. Они автоматизируют внедрение стандартных решений, позволяя сэкономить время. Таким образом, разработчик фокусируется на приложении, а не на рутинных задачах, где не нужно творческое мышление.
Читать дальше →
Всего голосов 25: ↑16 и ↓9+7
Комментарии31

IoT архитектура — первый взгляд под капот

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

Понятие IoT (Internet of Things) давно вошло в лексикон IT-шников. Хотя я и не нашел такого хаба, но надеюсь это скоро будет исправлено :)


Однако до сих пор многие путают IoT архитектуру с архитектурой автоматизации, где главной задачей является получение информации с датчиков, и на их основе осуществляется управление исполнительными механизмами.


image
Читать дальше →
Всего голосов 15: ↑12 и ↓3+9
Комментарии9

Эта гениальная карта объясняет, как всё в физике подогнано друг к другу

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

Источник изображения: DominicWalliman/YouTube

От пространства-времени до теории хаоса


Физика — огромная и сложная область знаний. Но кроме того, она ещё одна из самых захватывающих наук, потому что имеет дело с «чёрными дырами», «червоточинами», квантовой телепортацией и гравитационными волнами.
Всего голосов 40: ↑33 и ↓7+26
Комментарии96

Создание тонкого клиента на базе дешевых одноплатных ПК

Время на прочтение19 мин
Количество просмотров48K
Иногда требуется сделать хитрый тонкий клиент — с необычной авторизацией и минимумом затрат.

Проще всего для этого использовать Linux.

Для одноплатных пк на базе ARM широко распространен дистрибутив Armbian, который основан на Debian ветке.

Для экспериментов у меня в наличии была плата OrangePi One
image
и MicroSD карта на 2G — я решил сделать из этого тонкий клиент RDP с окном блокировки и без лишнего программного обеспечения.
Читать дальше →
Всего голосов 38: ↑35 и ↓3+32
Комментарии85

Дайджест интересных материалов для мобильного разработчика #265 (6 августа— 12 августа)

Время на прочтение3 мин
Количество просмотров6.7K
В нашем новом дайджесте руководство по созданию PWA, запуск Android 9 Pie, раздражения, недовольства и увлечения пользователей, барьеры интерфейсов и турецкого рынка.

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

Digital-мероприятия в Москве c 13 по 19 августа

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

Подборка ключевых мероприятий в Москве на неделю.


image


VK Perfomance Day


  • 14 августа (вторник)
  • Ленинградский пр-т 39с79
  • бесплатно
  • 14 августа приглашаем представителей рекламных агентств и их клиентов прийти на встречу, где мы подробно расскажем о таргетированной рекламе ВКонтакте.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии3

Как мы «снова» умный дом изобретали

Время на прочтение7 мин
Количество просмотров7K
Привет Хабр! В прошлой статье я упоминал, что в среде детских кружков технического творчества достаточно сложно найти наборы для комплексного изучения детьми всевозможных дисциплин. Сегодня я расскажу вам о том, как мы придумывали детские наборы робототехники.
Читать дальше →
Всего голосов 25: ↑23 и ↓2+21
Комментарии8

Получаем разницу между бинарными файлами при помощи vcdiff

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

tortoise.jpg tortoise_bad.jpg


Понадобилось мне это для того чтобы понять в каком месте и как файл JPEG испорчен в процессе передачи.


VCDIFF — формат и алгоритм для дельта кодирования. Описан в RFC 3284.

Дельта-кодирование (англ. Delta encoding) — способ представления данных в виде разницы (дельты) между последовательными данными вместо самих данных.

Для примера я использую текстовые файлы в кодировке Windows-1251 для наглядности. Но с таким же успехом это могут быть и бинарные файлы.


Исходники:


"копия    текст    копия"       ( source.txt )
"копия    изменения    копия"   ( target.txt )

Нужно получить разницу между файлами:


"         изменения         "   ( source.txt -> target.txt )
"         текст         "       ( target.txt -> source.txt )

Я пользуюсь программой xdelta3 но думаю подойдёт любая которая работает с форматом vcdiff.


Как получить


Нам понадобится ещё один файл заполненный пробелами:


"                           " ( spaces.txt )

Он должен быть больше или равен по размеру файлу источнику ( source.txt )


Команда:


xdelta3 -e -A -n -s source.txt target.txt | xdelta3 -d -s spaces.txt

Результат:


         изменения         

Использованные флаги:
-e — создание дельты
-A — убирает лишние заголовки
-n — убирает crc (он не даёт применить дельту с другим источником)
-s [файл] — источник с которым сравнивается целевой файл и восстанавливается
-d — получение целевого файла из дельты и источника

Как это работает
Всего голосов 14: ↑12 и ↓2+10
Комментарии25

Перевод книги Эндрю Ына «Страсть к машинному обучению» Главы 15 — 19

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

предыдущие главы


15. Одновременная оценка нескольких идей во время анализа ошибок


У вашей команды есть несколько идей, как улучшить определитель кошек в вашем приложении:


  • Решить проблему с тем, что ваш алгоритм относит собак к кошкам
  • Решить проблему с тем, что ваш алгоритм распознает больших диких кошек (львов, пантер, т. п.) как домашних
  • Улучшить работу системы на нечетких изображениях

Можно оценить все эти идеи одновременно. Обычно я создаю специальную таблицу и заполняю ее для примерно 100 случаев ошибочной классификации валидационной (dev) выборки. Так же я делаю краткие комментарии, которые могут помочь мне вспомнить конкретные примеры в последствие. Для иллюстрации этого процесса, давайте рассмотрим сводную таблицу, которую вы могли бы создать из небольшого набора примеров вашей валидационной (dev) выборки

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

Новый двигатель позволит микроспутникам выполнять «взрослые» задачи

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

Stellar Exploration утверждает, что такой миниатюрный двухкомпонентный двигатель даст микроспутникам возможность совершать межпланетные миссии.

LOGAN, Utah — Компания Stellar Exploration, базирующаяся в Сан-Луис-Обиспо, Калифорния, на данный момент проводит оценочные испытания малогабаритной реактивной системы, при помощи которой небольшие аппараты смогут осуществлять межпланетные миссии.
Читать дальше →
Всего голосов 31: ↑27 и ↓4+23
Комментарии50

«Машинный звук»: синтезаторы на базе нейросетей

Время на прочтение3 мин
Количество просмотров5.9K
Разработчики из исследовательского проекта Magenta (подразделение Google) представили синтезатор с открытым исходным кодом NSynth Super. В его основе лежит система искусственного интеллекта, которая миксует несколько предварительно загруженных сэмплов (например, звучание гитары и пианино) в новый звук с уникальными характеристиками.

Подробнее о системе NSynth Super и других алгоритмах-композиторах расскажем далее.

Всего голосов 22: ↑16 и ↓6+10
Комментарии8

Информация

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