• Слайды курса «Технологии и разработка СУБД»



      На протяжении последнего года моя коллега Анастасия Лубенникова и я вели курс под названием «Технологии и разработка СУБД». Данный курс посвящен разработке реляционных СУБД с акцентом на конкретную реализацию в лице PostgreSQL. Мы сотрудничали сразу с несколькими ВУЗами. На ВШЭ это был обязательный предмет, рассчитанный на студентов 4-го курса (на фото студенты сдают экзамен). В ВМК МГУ это был предмет по выбору, на который ходили студенты разных курсов.
      Читать дальше →
      • +18
      • 8.8k
      • 1
    • Что такое Tokio и Async I/O и зачем это нужно?

      • Translation

      Сообщество Rust в последнее время сконцентрировало много своих усилий на асинхронном вводе/выводе, реализованном в виде библиотеки Tokio. И это замечательно.


      Многим из участников сообщества, тем, которые не работали с веб-серверами и связанными с этим вещами, не ясно, чего же мы хотим добиться. Когда эти вещи обсуждались во времена версии 1.0, я тоже имел смутное представление об этом, никогда прежде не работав с этим раньше.


      • Что это такое — Async I/O?
      • Что такое корутины (coroutines)?
      • Что такое легковесные нити (threads)?
      • Что такое футуры? (futures)?
      • Как они сочетаются между собой?

      Рассмотрим модели многопоточности на примере Rust и Go.

      Читать дальше →
    • PHP-Дайджест № 118 – свежие новости, материалы и инструменты (24 сентября – 9 октября 2017)


        Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.2.0 RC 3 и другие релизы, 5 лет дайджесту, предложения из PHP Internals, свежая книга по асинхронному PHP, новое расширение-профайлер, и многое другое.
        Приятного чтения!


        Читать дальше →
      • PHP UK Conference 2016

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

          PHP UK Conference проводится с 2006 года и изначально задумывалась как профильная конференция для местного PHP-сообщества, где разработчики могли бы делиться знаниями и узнавать из первых уст о об опыте профессионалов и последних достижениях в индустрии.
          Читать дальше →
        • Базовые принципы алгоритмов обучения Hierarchical Temporal Memory

          Доброго времени суток!
          В последнее время на хабре довольно часто появляются статьи, в которых авторы описывают современные теории и подходы к построению искусственного интеллекта и нейронных сетей. Однако примеров конкретной реализации приводится довольно скудное количество. Попробуем восполнить этот пробел. В данной статье я опишу только основные теоретические и практические моменты, использованные при написании рабочего макета алгоритмов, предоставленных Numenta Inc.
          Читать дальше →
        • Открытое API от MasterCard для сторонних разработчиков? Бесценно

          • Translation
          imageВ пресс-релизе, распространенном сегодня утром, международная платежная система MasterCard объявила, что разработчики настольных и мобильных приложений совершенно бесплатно получат полный доступ к API от платежного гиганта немного позднее в этом году.

          Компания надеется, что открывая свои технологии для разработчиков, она получит в свое распоряжение новые и инновационные приложения для электронной коммерции, использующие сеть MasterCard, которые потенциально позволят ей конкурировать с Visa, PayPal и Square (которые на данный момент куда больше преуспели в данных начинаниях — прим. перевод.).
          Читать дальше →
        • Яндекс.Директ. Учебник начинающего рекламодателя. Составляем заголовок и текст объявления

            Напомню чем мы занимались в предыдущих сериях. Мы прошли вводный инструктаж и взвесили все плюсы и минусы Я. Директа как канала для развития нашего бизнеса.
            Настала пора создать отличное объявление, CTR которого будет радовать нас и злить конкурентов.

            Читать дальше →
          • Регистрируем торговую марку в Украине

              С чего начинается регистрация торговой марки?


              Последние несколько лет, вопрос о регистрации торговой марки в Украине возникает тогда, когда необходимо зарегистрировать украинское доменное имя второго уровня. Напомню: для регистрации доменного имени .UA необходимо наличие торговой марки, которая имеет защиту на территории Украины.

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

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

              Помните: торговая марка в первую очередь защищает название Вашего бизнеса! (под названием понимается также логотип или другая отличительная составляющая)
              Читать дальше →
            • Запасаемся на зиму

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

                У каждого есть одна-две любимые книги, которые могут понравится другим, поделитесь пожалуйста, заразите. Думаю многим будет интересно поставить в очередь «к прочтению» несколько новых. Давайте устроим «дегустацию» книг в формате: одна книга — один комментарий. Чтобы другие могли добавить в избранное (и оценить, и обсудить) каждую книгу по отдельности.

                Читать дальше →
              • Интернет магазин — 15000 евро за первый месяц

                  В народе есть известная поговорка „Первый Блин Комом“, чего не могу сказать о своём свежем опыте интернет торговли. Скорее всего, это просто исключение подтверждающее правило, но, тем не менее, хочется рассказать о тех небольших выводах, что я сделал за последний месяц.

                  Итак, небольшая история о том, как можно довольно легко заработать за один месяц минимум 15 000 евро.

                  Мой профессиональный род деятельности — веб-разработка. Занимаюсь R&D в одной небольшой IT компании, пишу «навороченные» приложения для корпоративных интранетов и, в принципе, на жизнь не жалуюсь. Конечно, при таком раскладе хочется параллельно вести какой-нибудь интересный проект, чем неоднократно занимался в мире Open Source. Со временем, правда, захотелось на побочных проектах так же как-то зарабатывать, что с Open Source оказалось не так просто, как может показаться из статей на Хабре :) Потому и решил попробовать для себя что-то принципиально новое — открыть интернет магазин.

                  Читать дальше →
                • Не стоит бояться использовать HandlerSocket


                  (пример работы протокола HandlerSocket на картинке)

                  Вступление


                  В предыдущем проекте возникла потребность в разгрузке базы данных, тогда жизнь и столкнула меня с HandlerSocket`ом.

                  HandlerSocket — это протокол, реализованный в одноимённом плагине для РСУБД MySQL, позволяющий использовать NoSQL методику для доступа к данным, хранящимся в InnoDB таблицах. Основная причина, по которой используют NoSQL решения — это очень быстрый поиск по первичному ключу.

                  Еще про HandlerSocket
                  HandlerSocket работает как демон внутри процесса mysql, принимая TCP соединения и выполняя запросы клиентов. Он не поддерживает SQL запросы, вместо этого он предоставляет простой язык запросов для CRUD операций с таблицами. Именно поэтому он гораздо быстрее mysqld/libmysql в некоторых случаях:

                  HandlerSocket оперирует данными без парсинга SQL запроса, что приводит к уменьшению загрузки процессора.
                  Он поддерживает пакетное выполнение запросов. Можно отправить несколько запросов сразу и получить результат за один раз, что опять же снижает нагрузку на процессор и на сеть.
                  Протокол HandlerSocket более компактный, чем у mysql/libmysql, что приводит к сокращению нагрузки на сеть.

                  Подробнее можно почитать здесь:



                  Под катом вас ожидает:
                  • Новая библиотека для работы с HS, написанная на PHP;
                  • Сравнение производительности существующих решений + нового;
                  • Symfony2 bundle для работы с HS;
                  • Плагины к Munin для мониторинга активности HS;
                  • Разные мысли вслух и рассказы о «шишках».

                  Читать дальше →
                • 1000+ часов видео по Java на русском

                  • Tutorial
                  Добрый день.
                  Меня зовут Головач Иван, я руковожу небольшой образовательной компанией и преподаю сам:
                  1. Java Core
                  2. Junior Java Developer: Servlet API, JDBC, Maven, JUnit, Mockito, Log4J, основы Spring/SpringMVC, основы JPA/Hibernate, шаблоны/архитектуры MVC/IoC/DAO.
                  3. Multicore programming in Java.


                  Также я веду курс «Scala for Java Developers» на платформе для онлайн-образования udemy.com (аналог Coursera/EdX).

                  В следствии этого у меня скопилось значительно количество ссылок на видео на русском языке по Java как моего авторства, так и моих коллег.

                  (GolovachCourses.com)


                  Здесь собраны несколько вариантов записи моего курса Java Core.
                  Модуль #1 (Procedural Java):
                  Набор июль 2013: #1, #2, #3, #4
                  Набор апрель 2013: #1, #2, #3, #4
                  Набор февраль 2013: #1, #2, #3, #4
                  Набор январь 2013: #1, #2, #3, #4
                  Набор октябрь 2012: #1, #2, #3, #4.
                  Читать дальше →
                  • +102
                  • 1202k
                  • 38
                • OpenHAB — стань программистом собственного жилища

                  image
                  Дом — это машина для жилья
                  Ле Корбюзье

                  В этом посте я расскажу об opensource проекте домашней автоматизации openHAB.
                  openHAB переводится как "Open Home Automation Bus". Это значит, что он нацелен на создание универсальной платформы для объединения всей домашней «умной» техники в единую систему управления.

                  Что же это дает на практике? Под катом я расскажу о том, как с помощью этого решения можно создать настоящий интернет вещей в своем доме.

                  Читать дальше →
                • Современный бэк-офис IT-компании

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

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

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

                    Краткий спойлер содержимого: VCS, репозиторий исходного кода, code-review, build-сервера, CI, таск-трекер, вики, корпоративный блог, функциональное тестирование, репозиторий для пакетов, система управления конфигурацией, бэкапы, почта/jabber.

                    Картинка с фрагментом обсуждаемой инфраструктуры:


                    Читать дальше →
                  • Как порталы открытых данных могут стимулировать рост экономики и инноваций

                    • Translation


                    Органы государственного управления не только скрывают колоссальное количество информации, но еще и создают огромный объем данных. Собственно, они являются одними из крупнейших источников данных в мире, исходные материалы, которыми они располагают, могут стоить больших денег. Согласно составленному в 2011 году прогнозу компании McKinsey, к 2020 году потенциальная ценность Больших данных для европейского сектора может возрасти до двухсот пятидесяти миллиардов евро в год. Большая часть этих данных создается на бюджетные средства, следовательно, было бы логично предоставить их для общественного использования. Это позволило бы людям создавать новые инновационные сервисы, которые могли бы оказать существенное влияние на экономический рост.
                    Читать дальше →
                    • +20
                    • 8.4k
                    • 2
                  • Интересные приемы программирования на Bash

                    Эти приемы были описаны во внутреннем проекте компании Google «Testing on the Toilet» (Тестируем в туалете — распространение листовок в туалетах, что бы напоминать разработчикам о тестах).
                    В данной статье они были пересмотрены и дополнены.
                    Читать дальше →
                  • Стивен Вольфрам: “Внедряя вычисления повсюду”

                    Перевод доклада Стивена Вольфрама, прочитанного им на фестивале SXSW 2014.
                    Оригинальный текст вы можете найти здесь.

                    sw-sxsw.png

                    Две недели назад я выступал с речью на конференции SXSW в Остине, Техас. Эта статья является немного доработанными тезисами доклада (это конспект текста, включающий демонстрации, от которых пришлось отказаться в процессе выступления):

                    Итак, на этот час запланировано довольно много.

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

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

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

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

                    Но, для начала, немного истории. 40 лет назад я был 14-летним юнцом, который впервые прикоснулся к компьютеру (он тогда еще был размером со стол). Я не часто использовал его как нечто фундаментальное, но пытался с его помощью понять некоторые вещи из физики, которая меня по-настоящему интересовала. В тот момент я открыл для себя некоторые важные вещи, которыми пользуюсь до сих пор. Но сейчас я понимаю что самая важная вещь, которую я понял тогда относилась вовсе не к физике: чем лучше инструменты, которые мы используем, тем глубже мы сможем копнуть. Мне не очень хорошо давалась “математика на бумаге”, а в то время это было серьезной проблемой для тех, кто хотел заниматься физикой. Однако, я осознавал, что расчеты можно делать на компьютере и начал создавать инструменты для этого. Очень скоро я с моими программами был лучше всех в математических расчетах для физики.

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

                    В итоге, я понял, что в то время как с математикой все хорошо, её фундаментальная концепция нуждается в обобщении. Я начал изучать всю вселенную всевозможных формальных систем, которая по сути является всеобщей вычислительной вселенной возможных программ. Я ставил небольшие эксперименты — как бы направлял свой вычислительный телескоп на части этой вселенной и смотрел что там было. То что я увидел, было потрясающе. Ниже я покажу вам несколько простых программ.
                    Читать дальше →
                  • Разъяснение http2

                      На днях Даниэль Штенберг, один из участников группы HTTPbis IETF, которая ведёт разработку протокола http2, опубликовал в своём блоге крайне интересный документ «http2 explained». Небольшой PDF-документ на 26 страницах весьма доступным языком рассказывает о предпосылках и деталях реализации протокола http2.

                      Как мне кажется, на сегодняшний день это одно из самых лучших разъяснений о том, что такое протокол http2, зачем он нужен, как он повлияет на веб-разработку и какое будущее ждёт Интернет в связи с его появлением. Думаю, что всем людям, причастным к веб-разработке и веб-строению, информация будет полезна, ведь ожидается, что стандарт http2 будет принят уже в июне этого года после завершающей встречи группы HTTPbis в Нью Йорке.
                      Читать дальше →
                    • Как устроен мир семантической микроразметки

                        Я работаю в команде семантического веба в Яндексе. Мы занимаемся тем, что создаем продукты на основе семантической разметки, делаем свои расширения и участвуем в развитии стандарта Schema.org.

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



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

                        Микроразметка состоит из словаря и синтаксиса.
                        Что и как, подробно...
                      • Как устроен Forex и нужен ли он

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

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