Pull to refresh
0
0
Олег Лебедев @olebedev

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

Send message

Алгоритмы: теория и практика. Методы

Reading time2 min
Views34K
image

В ноябре мы запускаем онлайн-курс «Алгоритмы: теория и практика. Методы» от Computer Science центра. Курс бесплатный, приглашаются все желающие. В курсе будут подробно разобраны базовые алгоритмические методы: жадные алгоритмы, метод «разделяй и властвуй», динамическое программирование. Для всех алгоритмов будут математически строго доказаны корректность и оценки на время работы. Мы постарались изложить материал так, чтобы были понятны и сами алгоритмы, и то, как можно было бы догадаться до их основных идей. Помимо теоретических основ, будут рассказаны тонкости реализации алгоритмов на языках программирования C++, Java и Python. В частности, будет рассказано, какие есть общие практики написания кода, позволяющие минимизировать вероятность ошибки, как писать и тестировать код, где стоит использовать стандартные методы, а не изобретать колесо.

Мы тщательно подобрали задачи для закрепления материала. Большинство алгоритмов, которые вы узнаете, вам нужно будет запрограммировать. Это лучший способ убедиться, что вы разобрались во всех деталях. Решая такие задачи, вы получите ценный опыт написания и отладки эффективных и надёжных программ. Задачи на программирование помогут вам почувствовать разницу между плохим (медленным) и хорошим (быстрым) алгоритмом. Вас также ждут тесты (где нужно выбрать правильные ответы из предложенных) и теоретические задачи (в них нужно доказать математическое утверждение). Наконец, в курсе есть также задачи повышенной сложности — менее стандартные задачи, которые не являются обязательными для прохождения курса. Получить удовольствие от решения этих задач смогут и те, кто уже знаком с базовыми алгоритмами.
Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments2

Работоспособный NDA с сотрудниками компании

Reading time6 min
Views116K
В жизни, как правило, преуспевает больше других тот, кто располагает большей информацией (с) Бенджамин Дизраэли

Приветствую, уважаемые читатели!

Сегодня я расскажу Вам об NDA с сотрудниками IT компаний, проблемах связанных с его работоспособностью, и об их решениях.
Эта статья написана в большинстве своем для руководителей и owner-ов IT компаний, а также для юристов, которые там работают.

Считаю, что и сотрудникам компаний будет не вредно ознакомиться с контентом статьи. Так как им, возможно, в будущем придется подписать такой контракт.
Читать дальше →
Total votes 13: ↑7 and ↓6+1
Comments24

Кросс-компиляция в Go

Reading time9 min
Views104K
Несмотря на то, что кроссплатформенность стала фактически стандартным атрибутом практически всех современных языков и библиотек, создавать по-настоящему кроссплатформенный продукт, всё равно было непросто. Компилируемые языки и сопутствующие библиотеки требовали сложной установки и настройки среды сборки и библиотек, а интерпретируемые — обязывали иметь или деплоить в составе необходимую версию интерпретатора. Есть немало проектов, пытающихся сделать этот процесс чуть более простым, но зачастую единственным решением оставалось устанавливать отдельный сервер и компилировать нативно.

В Go кросс-платформенность вышла на тот уровень, когда впервые можно смело отказаться от compile farms, специально настроенных dev-сред, виртуальных машин для сборки или chroot/docker-dev решений. И это ещё один серьезный game-changer, подробнее о котором я и хочу рассказать и показать на примерах
Поехали.


Читать дальше →
Total votes 51: ↑50 and ↓1+49
Comments13

Другая сторона Go: рисуем анализируя данные

Reading time5 min
Views17K
Go — универсальный язык программирования который отлично подходит для фоновых задач, но иногда вам может понадобится генерировать изображения опираясь на входящие данные. Go отлично работает с созданием визуальных объектов. В этом посте описан один из методов создания изображений (в частности векторной графики) на основе данных с помощью пакета SVGo.

Библиотека SVGo занимется одной единственной задачей: генерирует SVG и отдает его в io.Writer. I\O пакет в Go позволяет вам выводить результаты используя необходимый интерфейс (стандартный вывод, файлы, сетевые соеденения, веб сервер).

Для SVGo первостепенны высокоуровневые объекты такие как круги, прямоугольники, линии, полигоны и кривые. Стили и атрибуты являются второстепенными и применяются по мере необходимости.
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments9

Black Swift: зачем мы его сделали

Reading time7 min
Views126K
Как уважаемые хабровчане знают, вот уже почти год мы разрабатываем маленький компьютер (примерно с SD-карточку), работающий под OpenWRT, со встроенным Wi-Fi, USB, Ethernet, азартными играми и доступными женщинами. Дмитрий dzhe уже несколько раз писал про него — и, в общем, с каждым разом собирал в комментариях один и тот же вопрос: а зачем вы вообще его делаете? Ну ведь есть же Raspberry Pi, стоит он столько же, есть VoCore, Carambola, Edison, в конце концов, — зачем нужен ещё один «нанокомпьютер»?

Пожалуй, надо наконец на этот вопрос ответить — заодно отметив этим ответом появление у нас своего корпоративного блога (спасибо, Хабр!), а также запуск отдельного веб-сайта, посвященного только этому проекту.



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

Читать дальше →
Total votes 122: ↑120 and ↓2+118
Comments228

Как мы зашифровали net/rpc

Reading time2 min
Views6.8K
Мы проектировали агента для бекапов. Агент узнает у бекенда что бекапить и отправляет данные в хранилище. Злая врезка в канал и подмена адреса хранилища катастрофична.

HTTPS протестировали в первом подходе. Было ощущение, что можно сделать проще. Внутренние сервисы начинали масштабироваться по датацентрам. Хотелось сделать надежное решение для агента и внутренних сервисов. Без туннелей и HTTPS.

В итоге заменили HTTPS на net/rpc + crypto/tls.
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments1

Как легально получать деньги из-за пределов России

Reading time5 min
Views202K
Дано: заказчик за рубежом, желающий работать с Вами и платить вам евро или доллары.
Найти: оптимальный способ организовать работу с ним, чтобы платить налоги и спать спокойно.

Сразу скажу, что получение денег на пластиковую карту без уплаты налогов может вылиться в серьезные проблемы (про ответственность написано в конце топика). Объяснения, что деньги «от бабушки внучку на мороженное» при суммах больше 10К$ в год уже не прокатывают, особенно если в реквизитах «бабушки» будет стоять что-то вроде «GMBH Star Development» Вероятность того, что возьмут за задницу достаточно высокая и поэтому лучше не рисковать и делать все по Закону, тем более, что ничего сложного в этом нет
Читать дальше →
Total votes 144: ↑142 and ↓2+140
Comments192

oDesk (Upwork). Мой опыт за полтора года

Reading time12 min
Views445K
Вот уже полтора года я зарабатываю фрилансом на бирже oDesk. За это время у меня накопилось много материалов по данной теме. В данном топике я собрал все в одну статью и адаптировал для аудитории хабра.
image
Читать дальше →
Total votes 192: ↑185 and ↓7+178
Comments321

Легальный вывод денег из oDesk в РФ

Reading time40 min
Views55K
Здравствуйте!

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

Читать дальше →
Total votes 77: ↑75 and ↓2+73
Comments55

Краткая инструкция: GitHub через I2P

Reading time1 min
Views35K
Навеяно публикацией «Github опять заблокирован».

Новость о блокировке гитхаба заставила задуматься об изготовлении костылей.

Почему-то сразу пришла в голову мысль об I2P.

И это действительно оказалось несложно.
Читать дальше →
Total votes 60: ↑56 and ↓4+52
Comments42

JavaScript выходит за пределы Web в 2014 году

Reading time9 min
Views36K
Перевод статьи Патрика Катанзарити, оригинал можно найти здесь.

JavaScript, эволюционируя, шагнул далеко вперёд от своей изначальной роли в DHTML сайтах 90х гг. Он быстро занимает лидирующую позицию как кандидат на роль универсального языка для Интернета Вещей (Internet of Things). И хотя ещё слишком рано рассуждать о том, одержит ли JavaScript победу в этом состязании, я верю, что ему определённо отведена важная роль в постоянно растущем пространстве Интернета Вещей.

В прошлом году я написал обзор о технологиях, которые могут всерьёз заинтересовать JavaScript разработчиков – JavaScript Beyond the Web. С тех пор появилось много новых устройств и возможностей, поэтому я хочу написать обзор об изменениях, произошедших в мире JavaScript и среди взаимосвязанных устройств в течение 2014 года.

Перечень устройств, способных взаимодействовать посредством JavaScript, растёт с каждым месяцем. У нас появились как официальные JavaScript API, выпущенные производителями устройства, так и продукты усилий сообщества, ориентированные на то, чтобы возможности JavaScript стали доступными и для других.
Читать дальше →
Total votes 48: ↑40 and ↓8+32
Comments38

Теперь Push сообщения и в Safari

Reading time1 min
Views25K

Только что мне, как разработчику под OS X, пришло сообщения от Apple Developer Program c такой картинкой.
Лично мне понравилось. Наконец-то до этого додумались.
А как вы, хабражители, на эту возможность смотрите?
Читать дальше →
Total votes 34: ↑24 and ↓10+14
Comments40

TellSpec: определяем компоненты блюда, калории и все прочее за 3 минуты

Reading time1 min
Views32K


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

Но нет, TellSpec — серьезная компания из Канады, которая действительно работает над новой технологией, позволяющей определить калорийность блюда, а также определить состав блюда. Команда TellSpec работает над своим проектом уже не первый год.

Читать дальше →
Total votes 33: ↑28 and ↓5+23
Comments28

Мой опыт: Российские интернет банки и карты

Reading time5 min
Views250K
Привет всем! Если вы фрилансер, то наверняка имели дело с банковскими картами. Сейчас на Российском рынке огромное предложение карт, начиная от банковских премиальных, заканчивая скидочными и бонусными от кафе до авиакомпаний.
Сразу хочу сказать, что пост никаким образом не является рекламным. Тут только мое мнение и мой опыт по отношению к Российским банкам и их картам. В обзоре я использовал только те банки, с которыми работал лично.


Читать дальше →
Total votes 131: ↑85 and ↓46+39
Comments437

Статистика по iOS и Android-устройствам в России

Reading time1 min
Views65K
Я тут посидел часок и с помощью рекламной панели нелюбимой здесь социальной сети собрал вполне репрезентативную статистику по устройствам на платформе iOS и Android в России.
Статистика по телефонам и планшетам объединена.
Комментировать не буду, дабы не провоцировать. Выводы делать вам.

image

upd: Если верить статистике li.ru [а ей я верю], в России 2 280 000 Android-устройств и 2 000 000 iOS.
По всей видимости, статистика ВКонтакте собрана по пользователям официального приложения.

Читать дальше →
Total votes 62: ↑44 and ↓18+26
Comments137

Neural network in scheme

Level of difficultyMedium
Reading time12 min
Views16K
По скольку недавно опять поднималась тема нейронных сетей, решил показать небольшую реализацию НС, обучаемую методом обратного распространения ошибки, написанную на scheme. Заодно подробно расскажу, как это все работает, для новичков жанра. Будет рассмотрен только самый простой вид сетей, без зацикливаний и пропуска слоев.

Читать дальше →
Total votes 25: ↑18 and ↓7+11
Comments15

Нейронная сеть против DDoS'а

Reading time7 min
Views40K

Предисловие


Некоторые из вас наверняка недавно проходили Stanford'ские курсы, в частности ai-class и ml-class. Однако, одно дело просмотреть несколько видео-лекций, поотвечать на вопросики quiz'ов и написать десяток программ в Matlab/Octave, другое дело начать применять полученные знания на практике. Дабы знания полученые от Andrew Ng не угодили в тот же тёмный угол моего мозга, где заблудились dft, Специальная теория относительности и Уравнение Эйлера Лагранжа, я решил не повторять институтских ошибок и, пока знания ещё свежи в памяти, практиковаться как можно больше.

И тут как раз на наш сайтик приехал DDoS. Отбиваться от которого можно было админско-программерскими (grep / awk / etc) способами или же прибегнуть к использованию технологий машинного обучения.

Далее пойдёт рассказ о создании нейронной сети на Python 2.7 / PyBrain и её применении для защиты от DDoS'а.

Читать дальше →
Total votes 177: ↑174 and ↓3+171
Comments46

Пример использования Google Places

Reading time5 min
Views30K

О сервисе


Побывав на мероприятии Google Developer Day 2011, узнал о новом сервисе Google places (в русском варианте «Google Адреса»).
Интересную лекцию об этом прочел колоритного вида сотрудник Mano Marks.
Эта служба представляет возможность поиска различных объектов (POI), находящихся в окрестностях заданной точки. Хочу рассказать о примере практического использования сервиса.
Читать дальше →
Total votes 21: ↑17 and ↓4+13
Comments9

«Умный дом» собственными руками. Часть 3. Синтез и распознавание голоса с помощью Google

Reading time9 min
Views83K
В прошлой статье мы смогли добиться получения изображения с наших веб-камер в виде снимков раз в секунду. Теперь пришла пора взяться за обещанное — распознавание и синтез голоса.
Читать дальше →
Total votes 75: ↑70 and ↓5+65
Comments47

Агрегация контента. Прошлое, настоящее, будущее

Reading time4 min
Views25K
Традиционные печатные медиа, переживают не лучшие времена. Это очевидно каждому, кто всю важную информацию черпает в Сети и не помнит, когда в последний раз покупал бумажную газету или журнал. При этом все больше интересного и качественного контента создается не профессиональными авторами, а обычными людьми посредством блогов и социальных сетей.

По данным «Harvard Business Review» за последние два года человечеством сгенерировано данных больше, чем за всю свою предыдущую историю. В связи с этим на первое место выходит проблема информационной перегрузки. 21% проведенного в интернете времени пользователи тратят на поиск, а 41% этого времени приходится на поиск уже когда-то виденного контента. Цифры явно свидетельствует о проблемах, как в получения новой информации, так и хранении уже существующей.
Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments10
1
23 ...

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity