Рубрика «Программирование» - 522

Тема может и банальная, но когда программа начинает работать как то не так, и вообще вести себя очень странно, часто приходится читать логи. И много логов, особенно если нет возможности отлаживать программу и не получается воспроизвести ошибку. Наверно каждый выработал для себя какие то правила, что, как и когда логировать. Ниже я хочу рассмотреть несколько правил записи сообщений в лог, а также будет небольшое сравнение библиотек логирования для языков php, ruby и go. Сборщики логов и системы доставки не будут рассматриваться сознательно (их обсуждали уже много раз).
Читать полностью »

Эра Python. Начало - 1

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

Боюсь вызвать (или нет?) очередную волну холивара, но старый добрый и любимый до сих пор во многих школах и ВУЗах (наш не исключение) Pascal, мягко говоря, не подходит для неокрепшей психики студентов, которым с первого курса преподают программирование на этом языке. И, что печально, но легко объяснимо, несчастные дети не понимают, зачем им это чудо нужно и где они его будут применять в реальной жизни. Да-да, я в курсе, что в мире чистый Pascal не используется, а предназначен в основном для знакомства с азами программирования. Но скажите, зачем из пяти лет обучения, студенту тратить полгода или год (зависит от фантазии лектора) на это самое ознакомление на примере мертвого языка, который после придется априори забыть, если можно сразу изучать перспективный и, главное, широко используемый язык программирования?
Читать полностью »

Все образовательные проекты Mail.Ru Group - 1

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

Учите язык, а не фреймворки. Если в 2012 году речь шла о пяти основных фреймворках, в 2016 говорили о десятке, то в этом году речь идет уже о пятнадцати (и это только для фронтэнда). Что это?! Хайп по фреймворкам… Всё это может привести к тому, что чистый JS джуны вообще знать не будут, а критерием зрелости будет знание метапрограммирования, моделей объектов и Vanilla JavaScript.

image

Итак, программа HolyJS 2017 Piter практически завершена, будет много интересного. Давайте посмотрим в какие области JS вселенной можно попасть без «use strict»:

  • ECMAScript 6 (ES6) и ES7 — практические особенности;
  • Дофреймовые истоки и незаслуженно забытые функции;
  • Серверный JS;
  • Мордовый JS;
  • Другое...

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

Разбиение слов на элементы таблицы Менделеева - 1

(Полный исходный код лежит тут)

Сидя на пятичасовом занятии по химии, я часто скользил взглядом по таблице Менделеева, висящей на стене. Чтобы скоротать время, я начал искать слова, которые мог бы написать, используя лишь обозначения элементов из таблицы. Например: ScAlEs, FeArS, ErAsURe, WAsTe, PoInTlEsSnEsS, MoISTeN, SAlMoN, PuFFInEsS.

Читать полностью »

cover

На данный момент существует более 500 различных языков программирования. Следовательно, вполне нормально взять и начать учить новый язык прямо сейчас. Например, вы знаете C++ и Java, но на работе требуется Python, или наоборот. А может быть, вы просто хотите выучить какой-нибудь модный язык, чтобы повысить свою конкурентоспособность?..Читать полностью »

Это перевод обзора статьи «Gorilla: A fast, scalable, in-memory time series database» Pelkonen et al. VLDB 2015

Чуваки из фейсбука сделали высокопроизводительный движок для мониторинговых данных. Мне понравился обзор этой статьи в блоге "The morning paper" — особенно про алгоритмы сжатия, и вот перевод.

Стиль — авторский.

Количество ошибок на одном из серверов Facebook зашкаливало. Читать полностью »

Как и зачем создавать NginX-модуль — теория, практика, профит - 1

Василий Сошников (Mail.Ru)

Сегодня я вам расскажу о том, как создавать nginx-модули и, что самое главное, попытаюсь ответить, зачем это надо делать. Это надо далеко не всегда, но есть определенный круг задач, который можно решить на стороне nginx.
Читать полностью »

Вчера на ежегодной конференции Google I/O, проходящей в Сан-Франциско, Гугл объявил Kotlin официальным языком программирования для платформы Android.

Изучить Kotlin можно уже сегодня, на Stepik, совершенно бесплатно.

Kotlin — официальный язык разработки под Android. Разбираемся в тонкостях языка на Stepik - 1
Читать полностью »

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

Однако есть один подход, который именно в PHP можно встретить довольно редко. Он включает использование нативного наследования и позволяет патчить код «более лучше»(с). Мы называем этот способ “Forwarding Decorator”. Нам он представляется достаточно эффективным, и, кстати, эффектным тоже, хотя последнее не так важно в продакшене.

Как автор оригинальной англоязычной статьи "Achieving Modular Architecture with Forwarding Decorators", опубликованной на SitePoint, я представляю вам авторскую версию перевода. Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js