Size: a a a

2016 April 25
Хабр
[Из песочницы] Обратная польская нотация: как же приготовить хот-дог?

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

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

Делу помогли две статьи. Одна из них на википедии, а вторая была написана замечательным пользователем хабра,  GORKOFF, который объяснил все буквально «на пальцах».

Однако до конца я так и не понял тот важный вопрос: как же построить стек?

Подробнее: https://habrahabr.ru/post/282379/
источник
Хабр
[Перевод] Аппаратные технологии безопасности Intel: новое слово в защите биометрических приложений. Часть 2

В первой части мы обсудили проблемы современных биометрических приложений распознавания пользователей и рассказали о том, как Intel SGX, Intel VMX и Intel IPT способны повысить уровень их защиты. Сегодня продолжим разговор о безопасности биометрии, рассмотрим технологии Intel AES-NI, Intel Secure Key и Intel RealSense.

Подробнее: https://habrahabr.ru/post/282411/
источник
Хабр
[Из песочницы] YConfs — система информационной поддержки конференций

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

Подробнее: https://habrahabr.ru/post/282413/
источник
Хабр
[Из песочницы] Расширение функциональных возможностей Splunk – это просто

Меня зовут Ткачев Константин, я работаю архитектором прикладных решений.

Предисловие
Хочу рассказать о том, как можно расширить имеющуюся функциональность платформы Splunk на примере библиотеки для машинного обучения scikit-learn (sklearn), реализованной в Python. В нашем примере мы будем использовать алгоритм «деревьев решений». Данный алгоритм не входит в стандартную поставку Splunk и ниже я покажу, что подключить его для реализации прикладной задачи можно, выполнив достаточно простые действия.

Подробнее: https://habrahabr.ru/post/282423/
источник
Хабр
Атрибуты устройств, или ioctl must die

В процессе работы над ОС Фантом, которая вообще не Юникс никаким местом, мне, тем не менее, захотелось сделать в нём Unix-compatible подсистему. Не то, чтобы прямо POSIX, но что-то достаточно близкое. Отчасти из любопытства, отчасти для удобства, отчасти как ещё один migration path. (Ну и вообще было интересно, насколько трудно написать простенький Юникс «из головы».) В качестве цели номер 1 была поставлена задача запустить quake 1 for Unix, которая и была достигнута.

В процессе, естественно, появились open/close/r/w/ioctl, и появилось ощущение, что последний неприлично, постыдно устарел. В качестве упражнения для размятия мозга я реализовал (в дополнение к обычному ioctl) некоторый альтернативный API, который бы позволил управлять свойствами устройств более гибким и удобным с точки зрения пользователя способом. Этот API, конечно, имеет свои очевидны минусы, и, в целом, эта статья — RFC, aka request For Comments.

Итак, API на уровне пользователя:

// returns name of property with sequential number nProperty, or error
errno_t listproperties( int fd, int nProperty, char *buf, int buflen );

errno_t getproperty( int fd, const char *pName, char *buf, int buflen );
errno_t setproperty( int fd, const char *pName, const char *pValue );


Правила:


Никаких дефайнов с номерами, только имена.
Никаких бинарных данных, только строки

Подробнее: https://habrahabr.ru/post/282415/
источник
Хабр
Проекты студентов в рамках Google Summer of Code

22 апреля объявлены результаты отбора студентов в рамках Google Summer of Code. Этому предшествовали 4 напряженные недели, во время которых менторы на собственной шкуре ознакомились с парадоксом Фредкина (чем больше похожи друг на друга два объекта, тем труднее сделать выбор между ними) и его предельным вариантом — парадоксом Буриданова осла. Это было связано со «взаимозаменяемостью» студентов, которые одинаково хорошо подходили на два разных сетевых проекта.

Подробнее: https://habrahabr.ru/post/282283/
источник
Хабр
[Перевод] В международный день пингвина медитативное видео и рассказ про Ubuntu и Bash в Windows 10 от Скотта Хансельмана

Привет!

Скотт Хансельман — известный активист Microsoft, много пишущий о том, как использовать Open Source и Microsoft. Ниже находится перевод его последней статьи по поводу известной новости по теме Ubuntu и Bash в Windows 10. А еще — сегодня 25 апреля, озаглавленный глобально-важным международным днем пингвинов, поэтому призываем вас почаще посещать пингвинов, а также, конечно, заходить на наш постоянно обновляющийся сайт про Open Source и Microsoft. Если же вам хочется отвлечься в этот прекрасный рабочий день, то прикладываем специальное видео, посмотрев которое, можно будет узнать о пингвинах все.

Подробнее: https://habrahabr.ru/post/282399/
источник
2016 April 26
Хабр
[recovery mode] Исповедь Битрикс хейтера

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

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

Кто я такой? Да в общем-то, обычный разработчик. Работаю с битриксом с ноября 2010 года (5.5 лет). Работаю только с битриксом, не сделал ни одного коммерческого проекта на других CMS, не использовал фреймворки в создании сайтов. По роду деятельности я занимаюсь в основном интернет-магазинами, их созданием, поддержкой и развитием.

Подробнее: https://habrahabr.ru/post/282333/
источник
Хабр
Тихая революция: внедрение x86-архитектуры вместо RISC-машин для процессинга банка

— Смета была 200 миллионов рублей, а стала 650 миллионов! Вы обалдели?
По слухам, именно так начался этот проект на совете директоров банка. Курсовая разница по одной из поставок серверов составляла 450 миллионов рублей. Естественно, хотелось как-то уменьшить эти затраты.

Долгое время считалось, что архитектура x86 «из коробки» не предназначена для серьёзных вычислений. Самые серьёзные в мире вычисления (по нагрузке и требованиям к надёжности) — это банковское ядро, процессинг. Там не закончить считать вовремя 2–3 операционных дня подряд означает просто закрытие банка (и проблемы с банковской системой страны) из-за возникающего разрыва, который догнать уже невозможно.

Один банк из ТОП-10 ещё пару лет назад планировал докупить себе машин P-серии, известных своей надёжностью, масштабируемостью и производительностью. Про x86 там даже не думали, пока не настал кризис. Но кризис настал. Одна машина за 5–7 миллионов долларов (а нужна даже не одна и не две) — это немного перебор. Поэтому руководство решило тщательно изучить вопрос замены RISC на x86.

Ниже — сравнение двух подобных конфигураций (они не совсем одинаковые): P-серия с RISC-процессорами с ядрами на 4 ГГЦ из расчёта одно RISC-ядро на два ядра x86 2.7 ГГЦ. Всё это мы смонтировали в машзале дата-центра банка, загнали туда реальную базу, показывающую несколько банковских дней за прошлый год (у них есть специально заготовленная среда для тестов, полностью симулирующая реальность и полноценную нагрузку от транзакций, банкоматов, запросов и т. п.), и выяснили, что x86 подходит и стоит в разы дешевле.

Подробнее: https://habrahabr.ru/post/282449/
источник
Хабр
[Перевод] Почему эксперты по безопасности предпочитают устаревшие почтовые клиенты

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

К примеру, многие ИБ-эксперты до сих пор работают с почтовым клиентом mutt, предшественником которого был консольный клиент elm. Издание Motherboard опубликовало

Подробнее: https://habrahabr.ru/post/282455/
источник
Хабр
«А как всё хорошо начиналось...», или О пользе O-нотации не только для анализа алгоритмов

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



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

Подробнее: https://habrahabr.ru/post/282435/
источник
Хабр
1 разработчик. 2 приложения. 3 года

Всем здравствуйте! Давно уже собирался написать историю своего проекта на Хабр, более того, даже обещал. И тем не менее, этот момент откладывался на потом: когда выйдет новый релиз, когда закончится обновление дизайна, когда все заработает, как задумано. Причина одна – лень, прикрывающаяся отсутствием времени.



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

Подробнее: https://habrahabr.ru/post/282417/
источник
Хабр
Бедный Путин или как мы участвовали в хакатоне по дата-журналистике

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

Все знают про Прямую линию с президентом. В очередной раз она состоялась около недели назад. После каждой линии публикуется агрегированная статистика по демографии и темам вопросов:


Данные в машиночитаемом виде доступны по адресу moskva-putinu.ru/parts/history_stat{year}.json. Если проследить как менялись показатели за последние 10 лет можно увидеть пару интересных вещей.

Подробнее: https://habrahabr.ru/post/282439/
источник
Хабр
GTD: написать диссертацию и остаться в живых

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

Недавно пройдя сей квест до конца, хочу поделиться lifehack-ами, которых мне так не хватало самой. Известно, что опыт приходит после того, как был очень нужен. Обобщаю для хабра свой опыт, разбавляя его советами от коллег из Virtuozzo и Parallels, кандидатами и докторами наук.

Подробнее: https://habrahabr.ru/post/282161/
источник
Хабр
Подключайтесь к онлайн-трансляции! Открытие конференции Xamarin Evolve 27 апреля

Еще больше новостей про Xamarin ожидает разработчиков на конференции Xamarin Evolve — 27 апреля!

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

Не пропустите ключевой доклад конференции Evolve 2016. Онлайн-трасляция начинется 27 апреля (среда) в 16:00 (МСК).
Подключайтесь и смотрите на официальном сайте мероприятия.

Большое количество интересных сессий с не менее интересными докладчиками:

Подробнее: https://habrahabr.ru/post/282459/
источник
Хабр
Восстановить за 60 секунд (или как ускорить восстановление данных при помощи Arcserve UDP)

Иногда, глядя с крыльца на двор и на пруд, говорил он о том, как бы хорошо было, если бы вдруг от дома провести подземный ход или через пруд выстроить каменный мост…
Н. В. Гоголь
Мёртвые души

А ещё хорошо было бы, чтобы всякое восстановление можно было бы выполнять мгновенно.

Представим, что у нас вышел из строя сервер, унеся с собой 1 Терабайт полезной информации. Если мы будем восстанавливать его данные традиционными методами, то есть перекачивая их из резервной копии по сети, то при скорости восстановления, скажем, 8 Гигабайт в минуту, получим минимум два часа нервного ожидания, раздражённых звонков пользователей, а возможно, и упущенную из-за простоя прибыль.

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

Подробнее: https://habrahabr.ru/post/282419/
источник
Хабр
Ищем замену Digital Ocean среди отечественных хостинговых компаний

Я поклонник виртуальных серверов, так как в большинстве случаев они дают больше свободы и возможностей чем классический виртуальный хостинг и при этом удобнее в эксплуатации по сравнению с выделенными серверами.
Всего три года назад практически не было альтернативы виртуальным серверам от Digital Ocean. В России аналогичных сервисов практически не было. А цены на зарубежные предложения начинались с 5 долларов США в месяц, что в пересчёте по тогдашнему курсу составляло около 150 рублей и было сравнимо с обычным хостингом. Однако, когда доллар и евро подскочили в цене в два раза пользоваться услугами зарубежных провайдеров стало весьма накладно.

Подробнее: https://habrahabr.ru/post/282429/
источник
Хабр
[Перевод] Одна маленькая проблема скачивания файлов на медленных соединениях

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

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

Подробнее: https://habrahabr.ru/post/282465/
источник
Хабр
Какие факторы влияют на производительность систем хранения и как?

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

В то время, как при производстве накопителей используется множество других метрик, чтоб описать и гарантировать должную производительность, на рынке систем хранения и дисковых накопителей, принято использовать IOPS, как сравнительную метрику, с целью «удобства» сравнения. Однако производительность систем хранения, измеряемая в IOPS (Input Output Operations per Second), операциях ввода / вывода (записи / чтения), подвержена влиянию большого множества факторов.

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

Начнем с того, что IOPS вовсе не IOPS и даже совсем не IOPS, так как существует множество переменных, которые определяют сколько IOPS мы получим в одних и других случаях. Также следует принять во внимание, что системы хранения используют функции чтения и записи и обеспечивают различное количество IOPS для этих функций в зависимости от архитектуры и типа приложения, в особенности в случаях, когда операции ввода / вывода происходят в одно и тоже время. Различные рабочие нагрузки предъявляют различные требования к операциям ввода / вывода (I/O). Таким образом, системы хранения, которые на первый взгляд должны были бы обеспечивать должную производительность, в действительности могут не справится с поставленной задачей.

Подробнее: https://habrahabr.ru/post/282469/
источник
Хабр
«Яндекс» разработал фирменный шрифт

На конференции «Я.Субботник для дизайнеров» компания «Яндекс» представила собственный шрифт под названием Yandex Sans. Этот универсальный шрифт теперь будет использоваться в сервисах и приложениях «Яндекса». Насколько широко он будет использоваться, в компании пока не решили.

Причины разработки собственного шрифта «Яндекс» объяснил в презентации. Во-первых, у конкурентов тоже есть свои шрифты, поэтому хочется «иметь свой голос». Дизайнеры сказали, что им не хватает возможностей Arial и Textbook. Во-вторых, это экономия финансов: разумнее инвестировать в свой шрифт, чем платить за лицензии.

Подробнее: https://habrahabr.ru/post/282471/
источник