Search
Write a publication
Pull to refresh
34
0
Роман @blackarrow

User

Send message

Структуры данных. Неформальный гайд

Reading time6 min
Views170K


Конечно, можно быть успешным программистом и без сакрального знания структур данных, однако они совершенно незаменимы в некоторых приложениях. Например, когда нужно вычислить кратчайший путь между двумя точками на карте, или найти имя в телефонной книжке, содержащей, скажем, миллион записей. Не говоря уже о том, что структуры данных постоянно используются в спортивном программировании. Рассмотрим некоторые из них более подробно.
Читать дальше →

Хакерские проекты на Кикстартере

Reading time12 min
Views34K


Я готовился к курсу по выводу проекта на Кикстартер и мне в качестве «домашки» надо было проанализировать успешные проекты. (Я немного охнул, когда узнал, что в мире 1250 активных краудфандинговых платформ.) Так как у меня хабр-дефект, я нашел все проекты из области информационной безопасности (а пару проектов подсказали ребята из хакерспейса).

10% — доля технологических стартапов на Кикстартере (они в итоге собрали около 118 000 000 долларов).
Да, краудфандинг отлично заточен на всякую бесполезную, но прикольную хрень. На Кикстартере собирают бабло на салат и на резинкомёты (16-ти ствольный деревянный пулемет системы Гатлинга), а на других платформах реализуют «правило 34» для космоса и на радость старине Фрейду печатают сигары органы. Но есть и околохакерские проекты, причем некоторые достаточно серьезные. Как для простых пользователей (флешечки с биометрией), так и для профессиональных пентестеров (анализатор атак по сторонним каналам для железа).

Предлагаю самим оценить идеи проектов (глубину технических описаний) и чувство юмора разработчиков.
Читать дальше →

Ускоренный курс по нотациям в теории языков программирования

Reading time10 min
Views32K
Программисты часто сталкиваются с проблемами чтения математических нотаций, когда пытаются разобраться с теоретическими основами какого-либо языка программирования. Также с ними толкнулся и я в своих теоретических изысканиях. К счастью, мне очень помогла замечательная статья Джереми Сиека (Jeremy Siek), чьим переводом я хочу с вами поделиться. Надеюсь она поможет многим программистам-«не математикам».
Читать дальше →

Книги и образовательные ресурсы по алгоритмической торговле

Reading time7 min
Views101K


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

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

Линейная алгебра: пробный заезд

Reading time7 min
Views149K
Привет, Хабр!

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

Часто первое знакомство с линейной алгеброй выглядит как-то так:

image

Не очень вдохновляет, правда? Сразу возникает два вопроса: откуда это все взялось и зачем оно нужно.

Начнем с практики


Когда я занимался вычислительной гидродинамикой (CFD), один из коллег говорил: «Мы не решаем уравнения Навье-Стокса. Мы обращаем матрицы.» И действительно, линейная алгебра — «рабочая лошадка» вычислительной математики:


Читаем дальше...

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

Reading time4 min
Views33K

Введение


Системы компьютерной математики (СКА) творят чудеса. Развитие математических пакетов достигло того уровня, когда невольно закрадывается мысль — а зачем нам теперь нужны классические методики преподавания математики (или физики, или механики) в школе или вузе, если большую часть «грязной» работы по преобразованию выражений можно переложить на плечи машины. А если нельзя, или трудно получить аналитическое решение задачи, то почему бы не «прощелкать» её численно в одном из популярных пакетов. Так что, давайте ограничим уровень понимания учеников составлением исходной системы уравнений, а решать учить не будем — всё легко и непринужденно сделает за них компьютер.

Не буду скрывать, что катализатором для написания данного поста послужила статья про задачу о двух старушках, любительницах пеших прогулок, взятая из книги В. И. Арнольда. В связи с этим, появилась мысль рассмотреть простую математическую задачу, решение которой показывает, что возможности СКА часто упираются в, довольно закономерный, верхний предел, и для получения компактного решения, пригодного для дальнейшего анализа, необходимо таки немного напрячь извилины.
Для тех, кому интересны мои измышления

Лекции Технопарка. 1 семестр. Web-технологии

Reading time4 min
Views174K
Сегодня этим постом мы открываем цикл еженедельных публикаций учебных материалов Технопарка. Если кто-то ещё не знает, Технопарк — это совместный образовательный проект Mail.Ru Group и МГТУ им. Н. Э. Баумана. На данный момент здесь проходит обучение по 20 IT-дисциплинам 91 наиболее талантливый студент. Технопарк существует с 18 ноября 2011 года, а первые счастливчики приступили к занятиям в декабре 2011 года.

Обучение в Технопарке совершенно бесплатное, оно проходит после занятий в университете. Стать участниками проекта могут студенты 3-5 курсов. Хотя для 2 и 6 курсов можем сделать исключение. Обучение длится 2 года, оно разбито на 4 семестра, в каждом из которых проходят по 3-4 предмета. Первый блок первого семестра посвящён всему, что связано с web-технологиями, от истории возникновения до программирования и безопасности web-приложений.

Лекция 1. Введение


На вводном занятии вы познакомитесь с краткой историей развития интернета, основными трендами в развитии web-приложений, облачных сервисов и мобильных приложений. Также на лекции разобрано устройство и работа несложного web-приложения, обсуждены такие фундаментальные понятия, как система адресации в интернете, домены, HTML-страницы и протокол HTTP. Напоследок кратко рассказано о CGI-скриптах, их назначении и особенностях работы.


Читать дальше →

Войти в IT: Риск стать практикантом оправдался

Reading time3 min
Views10K
В рамках рубрики «Войти в IT»: отвечают на вопросы, делятся опытом и личными историями наши бывшие практиканты, нынешние Senior Developers. Бывает, что на практикантские программы приходят не только студенты, но и состоявшиеся разработчики, которые хотят расти и развиваться профессионально. Сегодня о своем опыте расскажет Николай Пеганов.


Читать дальше →

Что я рассказал бы себе о стартапах, если бы мог вернуться на 5 лет назад

Reading time5 min
Views28K

Вот что я бы рассказал себе о стартапах, попади я в прошлое на пять лет назад, когда только начинал. По сути это то, чему я научился за прошедшее время. И уж точно это никакие не рекомендации или советы, а «ты» здесь обращено к себе самому, так что читайте как «я». Стиль изложения вольный (прим. переводчика — как и стиль перевода).

1. Ничего не получится, если пытаться делать слишком много и сделать это слишком поздно. Старательно избегай этого.

2. Над этой же идеей прямо сейчас кто-то уже работает. И, в общем-то, это не так плохо.

3. Никогда не подписывай NDA, пока не услышишь о чём вообще речь.

4. Нравится тебе это или нет, но большинство социальных связей в Лондоне основаны на выпивке. Смирись и прими, сумев избежать постоянного похмелья.

5. Люди, которые действительно чего-то добились — это не те, кто постоянно бухает.

6. Линейный рост может быть хуже, чем вообще никакого роста.

7. Большинство людей, которые говорят о скором провале, этим вообще не занимаются.

8. Легко обманывать себя, будто ты «заботишься об интересах пользователей», хотя на самом деле ты пытаешься найти способ заставить их согласиться с тем, над чем ты сам хочешь работать.
Читать дальше →

Хождение по MOOCам: опыт обучения на онлайн-курсах

Reading time11 min
Views28K
Тема онлайн-курсов (MOOC, Massive Open Online Course) за последние пару лет набрала такую популярность, что наверное только ленивый не слышал об этой форме обучения, а очень многие уже успели и распробовать. Я сам пришёл к теме онлайн-обучения в прошлом году, когда осознал, что для текущих рабочих задач мне требуется срочно подтянуть некоторые технические знания, местами подзабытые и частично разрозненные, а что-то и вовсе изучить с нуля. С тех пор я успел освоить две крупнейших MOOC-платформы — Coursera и edX (в «большой тройке» есть ещё Udacity, а также множество мелких образовательных проектов различного формата). Там я успешно закончил несколько курсов (в частности, R programming от John Hopkins University, Machine Learning от Stanford University, Statistical Learning от Stanford Online) и останавливаться на этом не намерен. В своей статье я хочу поделиться своими мыслями и впечатлениями от процесса дистанционного обучения, рассказать о плюсах и минусах, да и просто вдохновить тех, кто слышал и хочет, но пока не знает, как подступиться к онлайн-обучению. Это не обзор конкретных курсов и платформ, а именно личные впечатления от занятий. Речь пойдёт в основном о Coursera и edX, как основных провайдерах дистанционного обучения.
Читать дальше →

Красивые математические GIF-анимации

Reading time1 min
Views53K
У американского математика Клейтона Шонквилера (Clayton Shonkwiler) есть необычное хобби: он рисует GIF-анимации. Но не простые анимации, а научно выверенные, которые иллюстрируют красоту математики и геометрии. Некоторые из этих концепций можно даже использовать в дизайне.

У него уже накопилась немаленькая подборка.
18 МБ

30 новых бесплатных курсов виртуальной академии Microsoft Virtual Academy, апрель 2015

Reading time6 min
Views27K
В этом обзоре мы поговорим про бесплатные курсы виртуальной академии Microsoft MVA, которые будут полезны как профессиональным разработчикам программного обеспечения и ИТ-про, так и новичкам. Некоторые курсы предлагают бесплатную подготовку к официальным сертификационным экзаменам. Обратите внимание, что видео-плеер на сайте для ряда курсов, которые созданы на английском языке, содержит возможность включить русские субтитры.

В этом выпуске бесплатные курсы по технологиям: HTML5/JS/CSS, Docker, Azure, Chef, Redis, MongoDB, разработке игр, приложений Windows, управлению инфраструктурой и Office 365.

Хит! Новичкам. Love2Code: Программирование для девушек и не только

Проект Love2Code.ru. Есть мнение, что программирование – это удел суровых мужчин с математическим образованием, необщительных и недружелюбных. Этим курсом мы пытаемся развеять этот миф и показать, что программирование – это увлекательное творческое занятие, доступное для всех желающих! Более того, главная цель нашего курса – что бы полюбили программирование, и смогли с его помощью решать практические задачи.



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

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

Лекции Технопарка. 2 семестр. Базы данных

Reading time4 min
Views87K


Очередной пост в рамках нашей постоянной рубрики «Лекции Технопарка». В этот раз предлагаем вашему вниманию лекции, посвящённые базам данных. Цель курса — получение студентами знаний в области проектирования реляционных баз данных, эффективной работы с базами данных, оптимизации запросов и схем данных, изучение особенностей использования баз данных в проектах с высокой нагрузкой и/или использующих большие массивы данных, noSQL и его применение для решения прикладных задач в WWW.
Читать дальше →

Лекции Технопарка. Мастер-класс Владислава Бирюкова «Электронное образование: инструкция по применению»

Reading time24 min
Views24K
Онлайн-обучение, как и любой другой вид получения знаний, имеет свои особенности. Многие из тех, кто впервые попробовал этот образовательный формат, оказались разочарованы, не получив ожидаемой отдачи. О том, как получить максимум от онлайн-обучения, рассказывает Владислав Бирюков, сотрудник инвестиционной компании «АйКомИнвест», занимающийся образовательными проектами.


Конспект лекции

Дискретные структуры: матан для айтишников

Reading time4 min
Views224K


Посмотришь на любую программу обучения по IT-специальности, и тут же увидишь дисциплину «Дискретная математика» (возможно, под другим названием), обычно для перво- или второкурсников. И её наличие вполне разумно, поскольку дискретная математика и непрерывная математика (представленная на первом курсе институтов с незапамятных времён математическим анализом) — две грани единой Математики, — красивой, могучей науки.

Хотя раньше такого понятия, как «дискретная математика» вовсе не было, это не значит, что не возникало дискретных задач: Абель, Дирихле, Фибоначчи, Эйлер, чьи имена возникают по ходу изучения дискретной математики, — отнюдь не наши современники! Но просто в те времена для выделения самостоятельной ветви математики ещё не сложилось критической массы задач и приёмов, не было видно взаимосвязей между ними. А большое количество плодотворных взаимосвязей между, на первый взгляд, различными понятиями, — то, что математики в своей науке очень ценят.

Ну хорошо, математикам всё математическое интересно. А зачем дискретная математика программисту?
Читать дальше →

Немного о важном: 7 способов «пропитки» целью или как ставить цели, чтобы их достигать

Reading time8 min
Views35K
В преддверии онлайн конференции PRO+НАВЫКИ мы попросили докладчиков конференции написать полезных статей по темам докладов. На прошлой неделе вышли:

А сегодня пришло время поговорить о целеполагании. Мы попросили нашего хорошего знакомого Филиппа Гузенюка, известнейшего бизнес-тренера и автора проекта «Счастье в деятельности» написать статью. И вот что из этого вышло:

7 способов «пропитки» целью: как ставить цели, чтобы их достигать (Филипп Гузенюк, партнер Института коучинга (СПб))


Что такое «пропитка целью»? Это процесс перевода цели из состояния «ну да, есть цель» или «классная идея!!» или «вот бы мне!!» в состояние «я знаю, это будет».

В результате пропитки целью она «становится частью меня», «падает из головы в тело», начинает ощущаться как «моя», мир начинает «вести меня к цели», приходят «нужные возможности» и возникает железная уверенность «не знаю как, но знаю ТОЧНО — это будет».

Психолог сказал бы, что цель переходит с сознательного уровня на подсознательный и превращается в фильтр нашего восприятия.

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

Пропитавшись целью, мы начинаем подсознательно, естественно и без всяких усилий «фильтровать» окружающий мир на наличие возможностей ее достижения. И нам кажется, что они приходят как бы сами собой.

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

Вы понимаете, о чем я.
Как автор сам к этому пришел и что там за 7 способов-то...

Лекции Технопарка. 1 семестр. Алгоритмы и структуры данных

Reading time2 min
Views169K
Очередной пост в рамках нашего цикла лекций Технопарка. В этот раз мы предлагаем вашему вниманию курс, посвящённый алгоритмам и структурам данных. Автор курса — Степан Мацкевич, сотрудник компании ABBYY.

Лекция 1. Основы


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


Читать дальше →

Сделай сам: MSc Computer Science на уровне топ американских университетов из дома

Reading time12 min
Views164K

Вступление


Давно хотел написать статью про образование в Computer Science, но руки не доходили. Решил все-таки это наконец сделать. Итак, о чем пойдет речь? Речь о том, что из себя представляет диплом MSc Computer Science топовых университетов США (во всех подробностях, включая основные курсы, книги и проекты) и как ему соответствовать.

Почему именно MSc? Это — некая развилка: с одной стороны после MSc — вы уже готовый к жизни инженер (да, речь идет о инженерной подготовке, как мне кажется это самое больное место в нашей системе образования), с другой — можно спокойно идти по пути PhD. Как известно, в PhD программу можно попасть и не особо умея программировать — особенно это касается теоретического Computer Science. С другой стороны найти работу программиста тоже дело не очень сложное, и часто не требует мощного образования. Но достигнув уровня MSc — вы получаете возможность разбираться как во всех новый идеях в Computer Science, так и возможность их воплотить в практику. То есть с одной стороны круто разобраться в каком-нибудь deep learning и сделать в нем что-то новое, а также взять и написать свою операционную систему (кто так сделал?). Причем вы не зажаты в рамки узкой специализации (если конечно продолжаете учиться). То есть вы теперь — универсальный солдат, готовый на все.

Надеюсь что эта статья будет полезна:
1. Студентам, которые хотят соответствовать высоким стандартам топ вузов США, или собирающиеся туда в аспирантуру по Computer Science
2. Профессионалам, которые хотят закрыть «дыры» и пробелы
3. Может кто-то из преподавателей возьмет на заметку для своих курсов.
4. Студентам, аспирантам американских вузов — хотелось бы тоже получить фидбэк, особенно касается последних трендов в образовании

Что же здесь будет написано? Минимум философии и общих мыслей: конкретная программа undergraduate и graduate курсов, конечно из дисциплин наиболее мне близких. Все курсы были лично прочувствованы на собственной шкуре, по этому и пишу. (Я пытался записаться на все интересные курсы, которые были, но мой основной упор — системное программирование, базы данных и искусственный интеллект. Отсюда конечно некий bias, но пытаюсь предложить более-менее универсальную программу).
Читать дальше →

Почему научиться программировать так чертовски тяжело?

Reading time14 min
Views428K
Привет, Хабр!

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

  • С чего начать обучение программированию?
  • У вас есть курс по Java для новичков, но я слышал, что нужно изучать Python, правда ли это?
  • На других сайтах все просто и понятно, а у вас какие-то компиляции и тесты!
  • Непонятно зачем нужен этот ваш курс по алгоритмам, в реальной жизни все алгоритмы уже реализованы в стандартных библиотеках

Но сложнее всего объяснить новичку, грубо говоря, во что он ввязывается. Благодаря очень простым, игровым образовательным проектам многие считают, что программирование это очень легко, а наши виртуальные машины, где нужно запускать тесты и компилировать код – это надуманная сложность. Давно хотелось найти такой материал, который бы подготовил новичка к длинному и сложному пути к карьере программиста. И недавно наши коллеги из Viking Code School такой материал написали! А мы его перевели для вас.




Квинси Ларсон был просто “офисным парнем в костюме”. Он решил научиться программировать. Начал спрашивать людей вокруг. Изучил немного Руби, потом быстренько посмотрел на другие языки вроде Scala, Clojure и Go. Он изучил Emacs, а потом Vim, а потом раскладку Dvorak. Он втыкал в Линукс, копался с Лиспом и кодил на Питоне, и жил при этом в командной строке больше полутора лет.

Его швыряло туда-сюда как листочек в торнадо. Каждый совет, который он слышал, тащил его то в одну, то в другую сторону, до тех пор пока он не прошел “каждый онлайн-курс по программированию во вселенной”. В конце концов, не смотря на то, что он получил работу разработчика ПО, Квинси:

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

Ох. Звучит знакомо?
Читать дальше →

Все уже украдено до нас

Reading time4 min
Views80K
image

Думаю, у многих хоть раз была мысль — я родился слишком поздно, все уже открыто, придумано и т. д.

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

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

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

Короче, слишком сложно нынче пробиться. Очень высокая конкуренция, куда ни плюнь.

У меня есть для вас обнадеживающая новость. В мире разработки ПО это абсолютно не так. Нерешенные задачи россыпями валяются на дороге, некому взять и сделать.
Читать дальше →

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Registered
Activity