Pull to refresh
644
0
Рахим Давлеткалиев @freetonik

User

Send message

Видео-курс «Введение в логику» на русском языке

Reading time1 min
Views61K
Здравствуй, Хабр!

Представляю вам курс «Введение в логику», недавно прошедший на Хекслете. Он основан на учебнике по математике Романа Добровенского. Курс состоит из шести лекций общей продолжительностью 2 часа 20 минут.



Первая лекция. Базовые понятия логики, логические операции, наша первая теорема и закон Де Моргана.


Читать дальше →
Total votes 62: ↑61 and ↓1+60
Comments8

Init.js: Зачем и как разрабатывать с Full-Stack JavaScript

Reading time13 min
Views31K

История


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

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

И наконец, в один прекрасный день вы решили: “Сделаем это!”. И вот вы уже пытаетесь разобраться как реализовать бизнес-логику своего приложения, ту киллер-фичу, которая будет двигать продукт вперед. У вас есть идея как это сделать, и вы знаете, что способны на это. И вот вы говорите: “Готово! Работает!” У вас есть успешный прототип! Осталось только упаковать его в веб приложение.

“Окей, сделаем сайт,” говорите вы.

А только потом вы понимаете, что для этого нужно выбрать язык программирования; нужно выбрать (современную) платформу; нужно выбрать какие-то (современные) фреймворки; нужно настроить (и купить) хранилище, базы данных и хостинг; нужно обеспечить интерфейс для администрирования; нужно обеспечить контроль доступа и систему управления контентом.

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

“Я перегружен”, говорите вы и чувствуете себя перегруженным. Энергия уже не та, что была в начале. Вы пытаетесь собраться с мыслями, но работы слишком много. Прототип медленно блекнет и умирает.
Читать дальше →
Total votes 34: ↑30 and ↓4+26
Comments29

Почему существует так много Питонов?

Reading time9 min
Views137K
Питон изумителен.

Удивительно, но это довольно неоднозначное заявление. Что я имею ввиду под “Питоном”? Может, абстрактный интерфейс Питона? Или CPython, распространенная реализация Питона (не путать с похожим по названию Cython)? Или я имею ввиду что-то совсем иное? Может, я косвенно ссылаюсь на Jython, или IronPython, или PyPy. Или может я отвлекся так сильно, что говорю о RPython или RubyPython (которые очень сильно отличаются).

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

При работе с Питоном я столкнулся с кучей таких технологий. Инструменты *ython. Но лишь недавно я уделил время, чтобы разобраться, что они собой представляют, как они работают и почему они (каждая по-своему) необходимы.

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

Все начинается с понимания того, чем на самом деле является “Питон”.
Читать дальше →
Total votes 169: ↑161 and ↓8+153
Comments73

Хекслет: Erlang, логика, операционные системы, Java 2

Reading time3 min
Views18K
Привет, Хабр!

Прошло уже больше полугода с момента старта проекта Хекслет. Напомню: мы проводим бесплатные онлайн-курсы по программированию и смежным дисциплинам. По традиции сегодня мы расскажем про новые курсы.

Статистика


  • Завершено четыре курса (всего – больше 100 уроков)
  • Сейчас в процессе – еще три курса, + запланирован старт двух курсов
  • 19 000 студентов зарегистрировано
  • Они сдали более 450 000 тестов
  • Просмотров лекций – больше 277 000 (не считая подкастов в iTunes и раздачи через битторрент)
  • 444 000 посетителей и 1.6M просмотров страниц


Новые курсы


Erlang / OTP


Читать дальше →
Total votes 66: ↑63 and ↓3+60
Comments8

Видео-курс по JavaScript на русском языке

Reading time1 min
Views218K
Здравствуй, Хабр!

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



Первая лекция: Введение в JavaScript, немного истории, числа (тут есть ошибка: функция toFixed округляет значения).



Остальное – под катом.
Читать дальше →
Total votes 135: ↑127 and ↓8+119
Comments23

Хекслет 5 месяцев спустя: новые онлайн-курсы на русском языке

Reading time4 min
Views47K
Привет, Хабр!



С момента перезапуска образовательного проекта Хекслет прошло почти 5 месяцев. Напомню: мы проводим бесплатные онлайн-курсы по программированию и смежным дисциплинам. Сегодня мы хотим рассказать о наших успехах, прошедших и текущих курсах и планах на будущее.

Статистика


  • Завершено три курса (всего – 73 урока)
  • Сейчас в процессе – еще два курса
  • 11 600 студентов зарегистрировано
  • Они сдали более 200 000 тестов
  • Просмотров лекций – больше 160 000 (не считая подкастов в iTunes и раздачи через битторрент)
  • 250 000 посетителей и миллион просмотров страниц


Текущие курсы


Программирование на JavaScript

Короткий курс об основах языка программирования JavaScript. Никакого браузера, никаких jQuery, никакого DOM, только чистый JavaScript со всеми ужасными и прекрасными деталями. Подробнее о курсе можно узнать из первой лекции.
Читать дальше →
Total votes 87: ↑86 and ↓1+85
Comments63

Эволюция и генетические алгоритмы

Reading time1 min
Views24K
Позвали прочитать открытую лекцию в алматинскую «Ракетную фирму». Ограничений в темах не было, поэтому я решил в очередной раз попробовать рассказать про эволюцию и генетические алгоритмы.

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



P.S. Лекция записывалась на камеру (полную версию в не очень хорошем качестве можно посмотреть здесь), поэтому извиняюсь за не самое хорошее качество звука.
Total votes 34: ↑28 and ↓6+22
Comments20

Видео: полный цикл разработки на JavaScript

Reading time1 min
Views50K
Здравствуй, Хабр!

В этой открытой лекции я попытался сжато рассказать и показать полный цикл (full stack) разработки веб-приложений на JavaScript.

Начнем мы с короткого введения в язык, потом в двух словах поговорим о клиентской части, в частности, об MVC фреймворках вроде Angular.js, после чего перейдем на серверную часть: Node.js и MongoDB. В конце обсудим возможность автоматизации разработки и сборки проектов с помощью Grunt.js.



Скачать слайды и исходные коды.

Лекция была записана в офисе компании Chocolife, зрители – разработчики этой компании.
Total votes 57: ↑47 and ↓10+37
Comments27

Новый Хекслет: онлайн-курсы (Java, SICP, Objective C и др.) на русском языке

Reading time3 min
Views69K
Здравствуй, Хабр!



Осенью прошлого года я открыл Хекслет – образовательный проект с бесплатными онлайн-курсами по программированию на русском языке. Спустя неделю стартовал первый курс – Разработка под OS X. Это был очень интересный опыт, но было допущено много ошибок в разработке этого проекта.

Сегодня я рад объявить о перезапуске Хекслета! Что вас ожидает:

  • Новый сайт и удобный, быстрый движок. Со старым было столько проблем, что многие студенты просто не могли им нормально пользоваться.
  • Улучшенный формат курсов. В первой версии я пытался эмулировать физический университет в интернете, а нужно было делать изначально онлайн–курс.
  • Личное общение с преподавателем. Эту особенность хочется сделать важным отличием от други образовательных проектов.
  • Новые, интересные курсы и планы на будущие курсы.


Уже сейчас можно записаться на три первых курса:

  1. Разработка приложений на Java
  2. Структура и интерпретация компьютерных программ (SICP)
  3. Разработка под OS X


Трейлер очень интересного курса SICP:



Под катом – описания текущих и будущих курсов.

Читать дальше →
Total votes 111: ↑109 and ↓2+107
Comments68

Что такое алгоритмы?

Reading time1 min
Views44K
Я учился в Канаде (в моих старых постах на Хабре можно проследить за тем процессом) благодаря стипендии правительства Казахстана под названием «Болашак» (каз. «будущее»). Ребята с сайта essay.kz совместно с администрацией этой стипендии регулярно приглашают выпускников «Болашака» и снимают мини-лекции. Недавно позвали и меня, решил рассказать об алгоритмах.

На мой взгляд вышло довольно сумбурно, но многим понравилось. Вот примерный план лекции:

  • Что такое информатика и computer science?
  • Что такое алгоритм?
  • Лучшие решения обычно не очевидны
  • Машина Тьюринга и фундаментальные ограничения копьютеров
  • Что такое простые и сложные задачи?
  • Задача Коммивояжера
  • Почему языки программирования не похожи на человеческие языки?


Видео разбито на две части (один, два). Чтобы пропустить введение – начинайте смотреть с 2:56.

Часть 1:


Читать дальше →
Total votes 131: ↑115 and ↓16+99
Comments50

Важнейшие $in'ы: производительность MongoDB в диапазонах

Reading time3 min
Views11K
Перевод этой статьи уже есть на хабре, но он ужасен и содержит ложную информацию.

Приветствую, искатели приключений! Путешествуя по территории индексации MongoDB хотя бы некоторое время, вы, возможно, познакомились с таким правилом: если ваш запрос содержит сортировку/порядок (orderby) – добавьте сортируемое поле в конец индекса который используется для запроса.

Во многих случаях когда запрос содержит равенство (то есть поиск конкретного значения, например, {“name”: “Charlie”}) данная мантра бывает весьма полезной.

Запрос

db.drivers.find({"country": {"$in": ["A", "G"]}}).sort({"carsOwned": 1})

Индекс

{"country": 1, "carsOwned": 1}

Такая комбинация будет не такой эффективной, как может показаться, не смотря на то, что индекс соответствует правилу. В этом запросе есть ловушка, в которую вы с легкостью попадете следуя общепринятому мнению.
Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments9

Курс «Введение в финансовую инженерию»

Reading time2 min
Views19K
В онлайн-университете Хекслет вслед за первым курсом стартовал новый – Введение в финансовую инженерию.



Финaнcoвaя инжeнepия – cpaвнитeльнo нoвый тepмин, и являeтcя oдним из вoзмoжныx пepeвoдoв aнглийcкoгo тepминa «quаntitаtivе finаnсе». Дeйcтвитeльнo, «инжeнepия» – лучшee cлoвo для oблacти знaний, кoтopaя зaтpaгивaeт финaнcoвую мaтeмaтику и пpoгpaммиpoвaниe.

B этoм куpce зaтpoнуты тpи тecнo cвязaнныe тeмы:

  • Пpинципы функциoниpoвaния финaнcoвыx pынкoв – eгo учacтники, мexaнизмы взaимoдeйcтвия, инcтpумeнты и тexнoлoгии paбoты.
  • Финaнcoвaя мaтeмaтикa – мeтoды пpимeнeния мaтeмaтики в финaнcoвыx pacчeтax.
  • Пpoгpaммиpoвaниe – кaк пиcaть пpoгpaммнoe oбecпeчeниe, кoтopoe умeeт paбoтaть нa финaнcoвыx pынкax.


Записаться на курс / Посмотреть лекции


Читать дальше →
Total votes 41: ↑34 and ↓7+27
Comments9

Unboxing: двухдолларовый убийца iPad mini

Reading time1 min
Views45K
Четыре года назад я записал unboxing двухдолларового убийцы Sony PSP, а в этом году, спустя буквально неделю после выхода Apple iPad mini известная китайская компания выпустила мини-версию того устройства.

Total votes 307: ↑206 and ↓101+105
Comments103

Онлайн-курс «Разработка для OS X» на Hexlet стартовал

Reading time2 min
Views22K


Примерно три недели назад я писал на Хабр про создание небольшого образовательного проекта Хекслет. Благодаря этому посту в команду Хекслет вступило несколько хороших людей, и мы рады объявить, что первый бесплатный курс стартовал! Правда, стартовал он еще неделю назад, так что если вы решите зарегистрироваться на него, то наверстать нужно будет лишь вводную лекцию. Вторая неделя занятий начинается завтра (во вторник, 30 октября).

О структуре и содержании курса можно узнать из короткого первого модуля первой лекции:



Читать дальше →
Total votes 64: ↑59 and ↓5+54
Comments27

Онлайн-курсы на русском языке

Reading time3 min
Views50K


Предыстория


Здравствуйте! Меня зовут Рахим, я учился по программе Computer Science (B.Sc) в университете Карлтон и писал об этом на Хабре пару лет назад в рамках проекта Computer Science Studentпрофиле можно найти все выпуски). Потом здесь же я нашел множество людей, заинтересованных в создании коллективного блога о математике и информатике. Тогда даже написал в комментариях:

Если я когда-нибудь стану профессором (а я надеюсь им стать), то я хочу в начале каждого курса писать на доске адрес этого коллективного блога и говорить: «Присоединяйтесь. Коллективный разум поможет познать вам информатику».

К сожалению, блог через некоторое время перестал обновляться, активность упала до минимума. Я закончил университет и первый год работал разработчиком, но в январе 2012 приблизился немного к реализации того комментария: стал преподавателем Международного университета информационных технологий (IITU) в южной столице Казахстана. В своем первом семестре читал лекции по операционным системам и веб-разработке, иногда проводил открытые лекции, изредка публиковал что-то на хабре. Но «hexlet.ru» на доске не писал.

Этой осенью Хекслет превратился из коллективного блога в свободную образовательную платформу. Суть проста: можно стать студентом и проходить разные курсы, можно стать учителем и вести собственные курсы. Формат схож с форматами Coursera или Udacity. 23 октября начинается первый онлайн-курс – Разработка приложений для Mac OS X.
Читать дальше →
Total votes 88: ↑80 and ↓8+72
Comments52

Алгоритм Диффи — Хеллмана

Reading time1 min
Views165K
Одна из фундаментальных проблем криптографии – безопасное общение по прослушиваемому каналу. Сообщения нужно зашифровывать и расшифровывать, но для этого обеим сторонам нужно иметь общий ключ. Если этот ключ передавать по тому же каналу, то прослушивающая сторона тоже получит его, и смысл шифрования исчезнет.

Алгоритм Диффи — Хеллмана позволяет двум сторонам получить общий секретный ключ, используя незащищенный от прослушивания, но защищённый от подмены канал связи. Полученный ключ можно использовать для обмена сообщениями с помощью симметричного шифрования.

Предлагаю ознакомиться с принципом работы алгоритма Диффи – Хеллмана в замечательном видео от Art of the Problem в моем переводе.

Total votes 140: ↑132 and ↓8+124
Comments33

Советы себе в прошлом

Reading time4 min
Views23K
У меня очень мало опыта (суммарно программистом я проработал 16 месяцев), тем не менее, я хотел бы дать несколько советов себе-в-прошлом, ну, или иными словами всем тем, кто сейчас учится в университете и планирует стать разработчиком ПО. Ни в коей мере не претендую на мудрость или опытность. Немного подумав, я понял, что все эти советы как никогда актуальны для меня и сегодня тоже. Первую заметку я опубликовал в своем блоге в прошлом году, а сейчас публикую здесь список, расширенный советами читателей блога.

Все советы автономны и их порядок не имеет значения.
Читать дальше →
Total votes 219: ↑193 and ↓26+167
Comments311

Распределенные эволюционные вычисления

Reading time1 min
Views5.4K


Одна из моих любимых тем в программировании – эволюционные вычисления и генетические алгоритмы в частности. Пару лет назад я поднимал эту (в целом уже заезженную) тему на Хабре, но сейчас глядя на то видео немного стыдно – слишком уж туманно и сумбурно было объяснение.

Сегодня я постараюсь объяснить генетические алгоритмы проще и нагляднее, а заодно рассказать вкратце о прототипе очень простого JavaScript-фреймворка для распределенных генетических вычислений degas.js. В двух словах – degas.js запускает генетический алгоритм в виде «треда» в браузере клиента используя web workers и обменивается информацией о полученных в ходе эволюции индивидуумах с сервером и другими клиентами с помощью web sockets. Сервер использует node.js.

Degas.js пока в супер-зародышевом состоянии, функционал еще примитивен, а код некрасив, но если кто-то захочет присоединиться к разработке – было бы здорово.
Total votes 31: ↑30 and ↓1+29
Comments5

Три ребуса-мутанта для ИТшников

Reading time1 min
Views1.2K
Прошлый ребус для программистов на Хабре разгадали примерно за час. Посмотрим, как вы справитесь с ребусами-мутантами. В них осталось не очень-то много от ребуса, но программисты привыкли решать непонятные задачи!

1. Домашний борщ




Читать дальше →
Total votes 34: ↑28 and ↓6+22
Comments30

Information

Rating
Does not participate
Location
Финляндия
Date of birth
Registered
Activity