Pull to refresh
-21
0
Send message

Курс по C++ в CS центре, первая часть

Reading time3 min
Views26K
Computer Science Center — это совместная инициатива Computer Science клуба при ПОМИ РАН, компании JetBrains и Школы анализа данных Яндекса.

Центр существует, чтобы дать возможность талантливым студентам и выпускникам развиваться в интересных им направлениях: Computer Science, Data Science или Software Engineering.

Курс по C ++ в двух частях в центре читает Валерий Михайлович Лесин, valery-l, преподаватель CS центра и совместной магистратуры ИТМО и JetBrains «Разработка программного обеспечения / Software Engineering», технический директор Simlabs.

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

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

Приятного просмотра!
Смотреть видео
Total votes 20: ↑20 and ↓0+20
Comments5

Курс по C++ в CS центре, вторая часть

Reading time3 min
Views11K
Computer Science Center — это совместная инициатива Computer Science клуба при ПОМИ РАН, компании JetBrains и Школы анализа данных Яндекса.

Центр существует, чтобы дать возможность талантливым студентам и выпускникам развиваться в интересных им направлениях: Computer Science, Data Science или Software Engineering.

Курс по C ++ в двух частях в центре читает Валерий Михайлович Лесин, valery-l, преподаватель CS центра и совместной магистратуры ИТМО и JetBrains «Разработка программного обеспечения / Software Engineering», технический директор Simlabs.

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

Раскусим новые возможности языка и стандартной библиотеки: move семантику, bind/function, enable_if/if constexpr, сoroutines и другие. Посмотрим на некоторые характерные задачи: многопоточное программирование, использование библиотек в Windows и Linux и другие.

Приятного просмотра!
Смотреть видео
Total votes 20: ↑19 and ↓1+18
Comments3

БД ClickHouse для людей, или Технологии инопланетян

Reading time19 min
Views13K
Алексей Лизунов, руководитель направления центра компетенций дистанционных каналов обслуживания дирекции информационных технологий МКБ



В качестве альтернативы стеку ELK (ElasticSearch, Logstash, Kibana) мы проводим исследовательские работы по использованию БД ClickHouse в качестве хранилища данных для логов.

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

Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments11

Своё интернет радио

Reading time3 min
Views24K
Многие из нас по утрам любят слушать радио. И вот в одно прекрасное утро я осознал, что не хочу слушать местные ФМ радиостанции. Не интересно. Но привычка оказалась вредной. И я решил заменить ФМ-приемник интернет приемником. Быстренько купил детали на Алиэкспресс и собрал интернет приемник.

О интернет приемнике. Сердце приемника — микроконтроллер ESP32. Прошивка от KA-radio. Стоимость деталей мне обошлась в 12 долларов. Простота сборки мне позволила собрать его за пару дней. Хорошо и стабильно работает. За 10 месяцев работы зависло только пару раз и то только из-за моих экспериментов. Удобный и продуманный интерфейс позволяет управлять с смартфона и компьютера. Одним словом это замечательный интернет приемник.

Все классно. Но одним ранним утром пришел к выводу, что при наличии доступа к десяткам тысяч радиостанций нет интересных станций. Меня раздражала реклама, тупые шутки ведущих. Постоянно прыгал с одной станции на другую. Мне нравится Spotify и Яндекс.Музыка. Но печаль в том, что не работают они в моей стране. И хотел бы их слушать через интернет приемник.
Читать дальше →
Total votes 27: ↑24 and ↓3+21
Comments32

Зачем ходить на собеседования

Reading time4 min
Views28K
image

Недавно общался со своим знакомым. Парнишка учится Android разработке и обладает довольно крепким багажом знаний. Я ему задал вопрос: «Почему ты до сих пор не ходишь на собеседования? Ты бы уже давно нашел работу.» И получил ответ что-то типа собеседования это стресс, что чувствует себя там неловко. И меня это прям аж заставило задуматься о том сколько людей уже давно могли получить бы желаемое, а не получают из-за банального страха.

Когда я начал ходить на собесы, мои знания наверное не составляли даже четверти того, что знает этот парнишка. Когда меня взяли на работу, я не знал и половины того, что знает он. Я ходил на собеседования каждую неделю, получал тестовое задание, делал его и шел на следующее. (К слову у меня был годовалый ребенок и работа, которая не способствовала обучению, и каждое задание занимало много времени). Я получил более двадцати отказов, некоторые мои знакомые даже подшучивали надо мной: «Что, опять перезвонят?». И все же однажды перезвонили.

Так вот к чему я это все? Не к тому, чтобы похвастаться какой я классный, а к тому, что на собесы ходить просто необходимо. Здесь я поделюсь своими соображениями почему.
Читать дальше →
Total votes 43: ↑35 and ↓8+27
Comments80

Я в одиночку отрефакторил 15 тысяч строк легаси. Это были худшие две недели в жизни

Reading time10 min
Views103K


Несколько месяцев назад я работал в аутстафе. Это не то место, где нужен энтузиазм и вера в великую цель проекта. Меня вместе с командой просто продавали заказчикам, а на митингах было важно, сколько тикетов я закрыл. Приступы перфекционизма — скорее вредная штука для такого места, но я ничего не мог с ними сделать. За один из них я знатно поплатился, попал в адский кранч и провел худшие две недели в моей жизни.
Читать дальше →
Total votes 427: ↑369 and ↓58+311
Comments401

Люди до ужаса нелогичны: нерациональное поведение в госзакупках

Reading time6 min
Views21K

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

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

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

Спойлер: думаете, от этого цена падает до минимума? Не дождётесь!
Читать дальше →
Total votes 43: ↑41 and ↓2+39
Comments48

Почему не 1С?

Reading time55 min
Views112K


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

Так сложилось, что на хабре многие 1С не любят, но порой складывается впечатление, что немногие из этих людей хорошо понимают, за что они его не любят. Этой статьей мы восполним этот пробел и убьем сразу двух зайцев: с одной стороны, расскажем, как в 1С все устроено изнутри, а с другой стороны — почему это все работает не так как нужно / хотелось бы. Надо сказать, что 1С многими своими решениями смог реально нас удивить, впрочем, не будем забегать вперед.

Статей с критикой 1С на Хабре достаточно (например, один, два, три), но, на мой взгляд, они либо слишком много внимания уделяют всяким мелочам, вроде неправильной организации меню, либо рассуждают о слишком абстрактных вещах, в которых 1С, возможно, и не виноват. В этой же статье, как и в статье про SQL, речь пойдет исключительно о фундаментальных (и вполне осязаемых) проблемах, которые касаются всех и каждого, кто разрабатывает / дорабатывает решения на 1С, и приводят либо к существенному росту порога вхождения, либо к серьезному падению производительности, либо к значительным трудозатратам со стороны разработчика.
Читать дальше →
Total votes 108: ↑98 and ↓10+88
Comments1789

Эволюция создания веб-приложений на Java

Reading time18 min
Views29K
История развития построения веб-приложений на языке программирования Java с примерами их использования на временном промежутке от появления спецификации сервлетов до сегодняшнего дня.


Читать дальше →
Total votes 42: ↑42 and ↓0+42
Comments28

Как я не стал программистом в 35 лет

Reading time15 min
Views154K

С самого начала сентября широким потоком хлынули на Хабр публикации об успешном успехе на тему «Детство программиста», «Как стать программистом после N лет», «Как я ушёл в IT из другой профессии», «Путь в программирование» и так далее. Подобные статьи пишут постоянно, но вот сейчас они пошли как-то особенно кучно. Каждый день пишут то психологи, то студенты, то ещё кто-нибудь.

И в каждой статье звучит знакомая песня: главное, что советуют авторы — «стараться», «не сдаваться», «не бояться» и «идти к своей мечте»; а в комментариях очень часто можно встретить мнение, что ежели ты с самого детства любил компьютеры, то работа с ними в итоге неудивительна. Я хотел бы на примере своей биографии подвести читателей к мысли о том, что начальные условия могут быть важнее, чем приложенные усилия. Вера в справедливый мир способствует психологическому комфорту, но не очень-то корректно отражает реальность.
Читать дальше →
Total votes 232: ↑187 and ↓45+142
Comments986

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

Reading time5 min
Views86K
image

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

  1. Узнаем, сколько платят разработчикам, живущим в российских городах-миллионниках и городах поменьше.
  2. Впервые разберёмся, насколько зарплаты региональных разработчиков отличаются от зарплат московских, если учесть также и стоимость жизни.

Данные по зарплатам мы берём из калькулятора зарплат «Моего круга», в котором пользователи указывают зарплаты, которые получают на руки после вычета всех налогов и могут также смотреть любые другие зарплаты в ИТ.
Читать дальше →
Total votes 162: ↑153 and ↓9+144
Comments744

GCP: Разбор вычислительного стека Google Cloud Platform

Reading time8 min
Views21K

Перевод статьи подготовлен специально для студентов курса «Облачные сервисы».


Интересно развиваться в данном направлении? Смотрите запись профессионального мастер-класса «AWS EC2 сервис», который провёл Егор Зуев — TeamLead в компании InBit и автор образовательной программы в OTUS.



Google Cloud Platform (GCP) предлагает множество сервисов, и в частности вычислительный стек, который содержит Google Compute Engine (GCE), Google Kubernetes Engine (ранее — Container Engine) (GKE), Google App Engine (GAE) и Google Cloud Functions (GCF). Все эти сервисы имеют крутые названия, но могут быть не совсем очевидными в отношении их функций и того, что делает их уникальными по отношению друг к другу. Эта статья предназначена для тех, кто только знакомится с облачными концепциями, в частности с облачными сервисами и GCP.

Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments0

Спорт для программиста второй свежести

Reading time14 min
Views25K
Около 30 лет назад я написал свою первую программу. Примерно тогда же впервые взял в руки штангу. Около 30 дней назад были приобретены PlayStation и PS VR.



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

Читать дальше →
Total votes 39: ↑36 and ↓3+33
Comments186

Попытка создать аналог ASH для PostgreSQL

Reading time23 min
Views7.3K

Постановка задачи


Для оптимизации запросов PostgreSQL, очень требуется возможность анализировать историю активности, в частности – ожидания, блокировки, статистика таблиц.

Имеющиеся возможности


Инструмент анализа исторической нагрузки или «AWR для Postgres»: очень интересное решение, но, нет истории pg_stat_activity и pg_locks.

Расширение pgsentinel :
"Вся накопленная информация хранится только в оперативной памяти, а потребляемый объём памяти регулируется количеством последних хранимых записей.

Добавляется поле queryid — тот самый queryid из расширения pg_stat_statements (требуется предварительная установка).
"

Это конечно сильно бы помогло, но самая неприятность именно первый пункт “Вся накопленная информация хранится только в оперативной памяти ”, т.е. имеем место импакт на целевую базу. К тому, же нет истории блокировок и статистики таблиц. Т.е. решение вообще говоря неполное: “Готового пакета для установки пока нет. Предлагается скачать исходники и собрать библиотеку самостоятельно. Предварительно требуется установить «devel»-пакет для своего сервера и в переменную PATH прописать путь до pg_config.”.

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

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

Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments6

Let's Encrypt обслуживает почти 30% доменов

Reading time7 min
Views12K

По-прежнему в ходу RC4/3DES/TLS 1.0 и сертификаты на сотни лет. Анализ сотен миллионов SSL-рукопожатий


Если посмотреть на набор данных с 350 млн SSL-соединений, сразу возникает несколько вопросов:

  • кто выдал эти сертификаты
  • какая там криптография
  • каково их время жизни
Читать дальше →
Total votes 33: ↑32 and ↓1+31
Comments28

Можно ли в 1С не соблюдать технологию внешних компонент? Или Как поздравить коллег с помощью 1С?

Reading time13 min
Views9.1K
Возникла тут идея поздравить нашего главного бухгалтера более-менее оригинально, например, с помощью ее любимой программы 1С? Но как?

После некоторых размышлений, пришла мысль использовать для поздравлений фоновое изображение в клиентской области обычных форм для конфигураций на 1С77–1С82 либо во внешнем окне для управляемых форм 1С82 и во всех случаях для 1С83. На нем вывести нужное сообщение и дать ссылки на поздравительное видео, как показано на рисунке.

Поздравление в 1С
Читать дальше →
Total votes 17: ↑13 and ↓4+9
Comments27

Полезная help-ссылка для работы с данными

Reading time3 min
Views7.1K
Хабр, привет. Представляю вам главную help-ссылку для работы с данными. Материал в Гугл-доке подойдет как профессионалам, так и тем, кто только учится работать с данными. Пользуйтесь и прокачивайте скиллы сами + делитесь с коллегами.

Дальнейшее описание поста — это содержание help-ссылки. Поэтому, можете сразу ознакомиться с документом. Либо начать с её содержания, которую прикрепляю ниже.

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

image
Читать дальше →
Total votes 48: ↑47 and ↓1+46
Comments1

Кто не спрятался – я не виноват (история скрытности в авиации)

Reading time12 min
Views66K
В описаниях современных боевых самолётов «малозаметный» — чуть ли не самая значимая характеристика. Важная и интересная. Под катом попытка описать историю и разные аспекты малозаметности. Картинок будет довольно много, но не жалуйтесь, авиация — это красиво.
Итак, пройдёмся от



до


Читать дальше →
Total votes 240: ↑239 and ↓1+238
Comments318

Как могли бы выглядеть регистры в 1С при наличии ООП

Reading time9 min
Views20K
image

В 1С одним из ключевых элементов системы являются регистры. Этот термин имеет свой аналог в английском языке — ledger. Он первоначально появился в бухгалтерской практике, но со временем его логика начала использоваться и в других сферах.

В отличие от 1С, где регистры являются одним из встроенных типов, в самой платформе lsFusion такого понятия нет. Зато в ней есть наследование, полиморфизм и агрегации, что, в частности, позволяет реализовать аналогичную логику регистров. В этой статье на примерах я покажу как именно.
Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments241

Time series данные в реляционной СУБД. Расширения TimescaleDB и PipelineDB для PostgreSQL

Reading time21 min
Views63K
Time series данные или временные ряды — это данные, которые изменяются во времени. Котировки валют, телеметрия перемещения транспорта, статистика обращения к серверу или нагрузки на CPU — это time series данные. Чтобы их хранить требуются специфичные инструменты — темпоральные базы данных. Инструментов — десятки, например, InfluxDB или ClickHouse. Но даже у самых лучших решений для хранения временных рядов есть недостатки. Все time series хранилища низкоуровневые, подходят только для time series данных, а обкатка и внедрение в текущий стек — дорого и больно.



Но, если у вас стек PostgreSQL, то можете забыть о InfluxDB и всех остальных темпоральных БД. Ставите себе два расширения TimescaleDB и PipelineDB и храните, обрабатываете и проводите аналитику time series данных прямо в экосистеме PostgreSQL. Без внедрения сторонних решений, без недостатков темпоральных хранилищ и без проблем их обкатки. Что это за расширения, в чем их преимущества и возможности, расскажет Иван Муратов (binakot) — руководитель отдела разработки в «Первой Мониторинговой Компании».
Total votes 50: ↑48 and ↓2+46
Comments16

Information

Rating
Does not participate
Registered
Activity