Все потоки
Поиск
Написать публикацию
Обновить
1041.02

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

Искусство создания компьютерных программ

Сначала показывать
Порог рейтинга
Уровень сложности

Релиз Python 3.6 — да, теперь он с нами

Время на прочтение3 мин
Количество просмотров54K


Прошло 15 месяцев, и наконец-то мир увидел релиз языка программирования Python 3.6. Нового довольно много, ведь не зря разработчики ждали целых 15 месяцев. В релизе добавлены новые модули, обновлены стандартные библиотеки, улучшены наборы различных настроек. В целом, Python 3.6 получил много улучшений, что можно считать отличным подарком к Новому Году. Давайте посмотрим подробнее, что принес нам Дед Мороз новый релиз.
Читать дальше →

Может ли компания с десятками тысяч сотрудников быть Agile: опыт МТС

Время на прочтение6 мин
Количество просмотров7.3K
Директор центра инноваций МТС Владимир Хренков рассказывает, как сохранить гибкость при крупных размерах.

Нет, это не про идеальный шпагат для тяжеловеса. Речь идет об Agile — методике, позволяющей разрабатывать гибкое ПО, которое бы отвечало всем требованиям современного бизнеса. Но чем крупнее компания, тем она считается неповоротливей. И тем сложнее ей приспособиться к новым техническим веяниям. Однако с недавних пор Agile перестала быть атрибутом исключительно мелких IT-контор и становится все более востребованной у больших игроков. Среди них — крупнейший в России оператор сотовой связи МТС. Владими Хренков расскажет об особенностях перехода на гибкие технологии, а также можно ли им доверить решение проектов государственной важности.


image

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

Распределение Пуассона и футбольные ставки

Время на прочтение5 мин
Количество просмотров108K



Если объединить статистические данные спортивных соревнований с распределением Пуассона, то можно рассчитать вероятное количество мячей, которые будут забиты во время футбольной игры. На этом основании можно понять откуда берутся букмекерские ставки, а также научиться самостоятельно их рассчитывать с помощью R.

ТМ 2.5 ТБ 2.5

Истории о новогодних багах

Время на прочтение8 мин
Количество просмотров9.7K
Верите ли вы в волшебство? С логической точки зрения — конечно, нет! Программисты, разработчики — серьезные люди, с хорошим образованием и реалистичным взглядом на мир. Может вы и в детстве не любили сказки? Нет, я не буду больше отвечать за вас. Просто попрошу налить кружечку чая, почистить мандарин, взглянуть на снежинки за окном и только после этого начать читать эту Историю.

Перед вами рассказ о Злобном Баге. О том, как он неоднократно пытался испортить новогодние праздники. Часто ему удавалось воплотить свои коварные замыслы, но, к счастью, в каждой Сказке «злу» противостоит настоящее «добро».

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

«Распределение в запросе» или «избавляемся от перебора»

Время на прочтение4 мин
Количество просмотров14K
Хороший перебор — это отсутствие перебора. Рассмотрим пример замены полного перебора запросом.

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

Запрос специально привожу на T-SQL, т.к. думаю, что Хабравцам это будет ближе.
Читать дальше →

Работа с кортежами С++ (std::tuple). Функции foreach, map и call

Время на прочтение12 мин
Количество просмотров50K
Здесь я расскажу о работе с кортежами C++ (tuple), приведу несколько полезных функций, которые в состоянии существенно облегчить жизнь при использовании кортежей, а также приведу примеры использования этих функций. Всё из личного опыта.
Читать дальше →

DevOps — cкорость? Да, скорость

Время на прочтение3 мин
Количество просмотров11K
Если посмотреть на девяностые годы прошлого века, то они дали большое количество методологий (если кому больше нравиться фреймворков) разработки программного обеспечения: FDD (Feature driven development), Scrum, Rup, XP. Но самыми востребованными оказались не технические подходы, а ориентированные на людей. В 2001 году это все привело к появлению Agile-манифеста. Не надо нам качества, не надо нам поддержки изменений, дайте нам быстро то, на что можно посмотреть, а уж мы примем решение, что делать дальше. В настоящее время складывается ощущение, что социальные факторы себя исчерпали и для дальнейшего повышения скорости их уже не хватает. Подход, включающий не только «про людей», но и «про технологии», получил название DevOps. Давайте посмотрим на чем еще мы можем выиграть в скорости поставки полезности.

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

Как упростить работу с IntelliJ IDEA: полезные функции для разработчиков

Время на прочтение1 мин
Количество просмотров20K

На прошедшем в конце ноября митапе по разработке на Dart Александр Дорошко из JetBrains рассказал о полезных фичах, хинтах и горячих клавишах, которые упрощают работу в Intellij Idea и WebStorm.
Нам показалось, что доклад будет полезен не только дарт-разработчикам, поэтому делимся записью презентации Александра со всем широким кругом хабровчан.
Смотреть

Excel «Всемогущий» и Redmine: как генерировать задачи прямо в Excel

Время на прочтение9 мин
Количество просмотров22K

В далёких от IT проектных организациях Excel часто используется в качестве инструмента обработки бог весть каких данных.

Передо мной встала задача в очень сжатые сроки наладить в Excel мониторинг весьма специфичного проекта с попутной выдачей заданий в проектные отделы. Касательно мониторинга ТЗ было более-менее определено и весь функционал был реализован средствами VBA самого Excel.

С выдачей заданий всё было не так однозначно. Поскрипев креслом, я решил попробовать отправлять задачи в Redmine прямо из Excel, получая обратно гиперссылку и номер задачи.

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

7 шагов к локализации ПО

Время на прочтение3 мин
Количество просмотров4.4K
Компании постоянно ищут пути расширения своего бизнеса, и одним из типичных способов увеличения рынка сбыта является создание локализованных версий программного обеспечения для различных рынков по всему миру. В теории, это просто. Однако, существует множество подводных камней от неверно переведенного текста до внезапно переставшей работать программы. Как избежать «трудностей перевода»?


Читать дальше: 7 W4g08 K I0K4I134L11 n0

Можно ли вычислять биткоины быстрее, проще или легче?

Время на прочтение12 мин
Количество просмотров50K

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

Самый простой способ разобраться во всех деталях — изучить открытые исходники. Я взялся изучать Verilog исходники FPGA-майнера. Это не единственный такой проект, есть еще несколько примеров на github, и все они, хоть и разных авторов, похоже работают приблизительно по одной схеме. Вполне возможно, что автор то у них всех изначально был один, просто разные разработчики адаптируют один и тот же код под разные чипы и разные платы… По крайней мере мне так показалось…

Вот и я, поизучав исходники Verilog, адаптировал проект с github к плате Марсоход3 на основе ПЛИС Altera MAX10, 50 тыс. логических элементов. Я смог запустить свой майнер и даже смог запустить процесс вычисления биткоинов, но бросил это дело через пол часа из-за бесперспективности. Слишком медленно по нынешним временам работает мой FPGA майнер. Ну и пусть.

Честно говоря, меня во всем этом проекте заинтересовали не сами биткоины (ну их, эти денежные суррогаты), но скорее математическая сторона алгоритма SHA256. Вот об этом я и хотел бы поговорить. Я провел несколько экспериментов с алгоритмом SHA256, может быть результаты этих экспериментов покажутся вам интересными.
Читать дальше →

Декабрьский релиз ReSharper Ultimate 2016.3

Время на прочтение8 мин
Количество просмотров11K
Привет, хабр!

Больше года мы не делились здесь новостями о релизах в семействе инструментов ReSharper Ultimate. Это не значит, что работа встала, напротив: ее было много.

Читатели нашего англоязычного блога уже в курсе, что в ReSharper 2016.3 появилась начальная поддержка Visual Studio 2017, C# 7, VB.NET 15 и возможность запуска и отладки .NET Core юнит-тестов. Под катом вы найдете обзор этих и других обновлений в .NET продуктах и в ReSharper C++.


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

Еще три онлайн-курса Mail.Ru Group в открытом режиме

Время на прочтение2 мин
Количество просмотров19K
image

C 5 по 15 декабря наш отдел образования Mail.Ru Group открыл в режиме без сроков и дедлайнов еще несколько курсов, записанных на платформе Stepik по мотивам занятий в Технопарке. Их можно проходить в удобном для вас режиме без риска потерять баллы. Даже занимаясь не спеша, у вас будет шанс получить сертификат с высокой оценкой.
Читать дальше →

Ближайшие события

Соревнование Underhanded Rust 2016

Время на прочтение5 мин
Количество просмотров3.9K

Команда связей с сообществом Rust рада сообщить о первом ежегодном соревновании Underhanded Rust. Это соревнование должно проверить наше предположение о готовности языка Rust и его экосистемы к написанию легко читаемого и надежного кода. Воодушевившись примерами Underhanded C и Underhanded Crypto, мы хотим, чтобы вы заставили Rust работать неправильно, используя лёгкий для чтения код, к которому сложно придраться. Нам нужна ваша помощь в поиске брешей в языке и способов их исправления. Сможете ли вы написать стопроцентно безопасный код, скрывающий логическую ошибку, или так спрятать эксплойт в unsafe коде, чтобы он прошел аудит? Попробуйте это сделать!

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

Архитектура ассемблера Go

Время на прочтение17 мин
Количество просмотров27K
image Привет, Хабр! Меня зовут Марко Кевац, я системный программист Badoo в команде «Платформа», и я очень люблю Go. Если сложить эти две вещи, то вы поймёте, насколько я люблю ассемблер в Go.

Совсем недавно мы рассказывали на Хабре о том, на каких конференциях побывали. Одной из них была GopherCon 2016, где практически всем запомнился доклад Роба «Командира» Пайка про Go-шный ассемблер. Представляю вам перевод его доклада, оформленный в виде статьи. Я постарался дать в тексте как можно больше ссылок на релевантные статьи в «Википедии».
Читать дальше →

Итоги GeekWeek 2016 и возвращение ужасного БАГа: зима вместе с GeekBrains

Время на прочтение2 мин
Количество просмотров4.2K


14-19 ноября образовательный портал GeekBrains совместно с Mail.Ru Group провёл онлайн-конференцию GeekWeek 2016 для начинающих и опытных IT-специалистов. Для тех, кто не в курсе, IT-сфера является одним из наиболее динамично развивающихся направлений в экономиках большинства стран мира. Для постоянного развития требуется много ресурсов. А главный ресурс — человек.

Именно по этой причине каждый год проводится онлайн-конференция GeekWeek 2016. Главная цель — не просто заинтересовать сферой информационных технологий, но и обеспечить практическими навыками, необходимыми для успешного начала карьеры.

Рекуррентные формулы для расчета ошибок итерационного суммирования двоичных чисел ограниченной длины

Время на прочтение8 мин
Количество просмотров6.4K
В настоящей статье мы продолжим рассмотрение проблемы компьютерных вычислений десятичных чисел с помощью двоичной арифметики, которая была затронута в предыдущем топике [1]. В статье речь пойдет об ошибках, которые в литературе принято называть ошибками округления. И, в частности, ошибок, которые порождаются в результате итерационного суммирования большого числа одинаковых десятичных чисел, представленных в двоичном виде ограниченным разрядным пространством. В результате исследований были получены простые рекуррентные соотношения, позволяющие точно определить ошибку компьютерных итерационных вычислений частичных сумм любого количества одинаковых слагаемых, на любом шаге итерации.
Читать дальше →

Intel Software Guard Extensions, учебное руководство. Часть 3, проектирование для Intel SGX

Время на прочтение12 мин
Количество просмотров2.7K
В третьей части серии учебных материалов, посвященных расширениям Intel Software Guard Extensions (Intel SGX), мы поговорим о проектировании приложений, использующих Intel SGX. Мы используем принципы, изученные в первой части, и применим их к общей концепции примера приложения Tutorial Password Manager, которая была рассмотрена во второй части. Мы обсудим общую структуру приложения и влияние Intel SGX на нее; мы создадим модель классов, которая даст нам возможность спроектировать и интегрировать анклав.


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

Подборка фреймворков для машинного обучения

Время на прочтение7 мин
Количество просмотров49K


В последние годы машинное обучение превратилось в мейнстрим небывалой силы. Эта тенденция подпитывается не только дешевизной облачных сред, но и доступностью мощнейших видеокарт, применяемых для подобных вычислений, — появилась ещё и масса фреймворков для машинного обучения. Почти все из них open source, но куда важнее то, что эти фреймворки проектируются таким образом, чтобы абстрагироваться от самых трудных частей машинного обучения, делая эти технологии более доступными широкому классу разработчиков. Под катом представлена подборка фреймворков для машинного обучения, как недавно созданных, так переработанных в уходящем году. Если у вас все хорошо с английским, то статья в оригинале доступна здесь.
Читать дальше →

Модуляризация в JavaSE без OSGI и Jigsaw

Время на прочтение7 мин
Количество просмотров6.8K
mvn-classloader — загрузчик классов и ресурсов из maven совместимых репозитариев. Этот проект позволяет добавить ограниченную по возможностям и не сложную систему модулей в JavaSE приложение, где не нужна вся мощь и сложность OSGI.


Про то что еще позволяет делать mvn-classloader кроме модулей узнаете в статье.
Читать дальше →

Вклад авторов