Ведущий разработчик
Каким должно быть ТЗ на Корпоративную ИС?
Ребята, которые разрабатывали 34-й ГОСТ явно не рассчитывали на то, что дело может принять такой оборот. Да и книги по гибким методологиям разработки тоже не дают каких-то рекомендаций как с этим быть.
Всё что нам казалось не очень важным тогда, со временем и в масштабе приобрело вид серьезной проблемы.
- Как в этом объеме документов найти те, что описывают работу определенного функционала системы?
- Как из 20 найденных документов, описывающих Как дорабатывали функционал за последние 5 лет, понять его устройство сейчас?
- Как за списком требований «сделать, добавить…» рассмотреть заложенную бизнес-логику?
Сравнение аналитических in-memory баз данных
Всё это время мы проводили масштабное тестирование нескольких in-memory СУБД. Любой разговор с администраторами DWH в это время можно было начать с фразы «Ну как, кто лидирует?», и не прогадать. В ответ люди получали длинную и очень эмоциональную тираду о сложностях тестирования, премудростях общения с доселе неизвестными вендорами и недостатках отдельных испытуемых.
Подробности, результаты и некое подобие выводов из тестирования — под катом.
LINQ: Динамическое построение фильтров запросов
Наверняка, рано или поздно каждому разработчику приходилось создавать таблицы данных с возможностью сортировки по столбцам и пр. Я не исключение. В нашем проекте подобные таблицы есть чуть ли не на каждой странице, можно сказать что 90% контента выводится через них. Поиск и сортировка по таблицам, естественно, работает без перезагрузки страницы.
Само собой, расширять семантики методов API контроллеров до бесконечной простыни было бы абсолютно глупо непрактично, поэтому нам требовалось универсальное решение для всех наших таблиц. Найти его помогли рефлексия и деревья выражений.
Такое не забывается — Oracle Database In-Memory
В последние годы логический момент для этого, казалось бы, настал. Стоимость оперативной памяти падала, падала, и упала совсем. Еще в начале века казалось, что 256 МБ памяти для сервера — это нормально, и даже много. Сегодня нас не удивишь параметром 256 ГБ оперативной памяти на сервере начального уровня, а с промышленными серверами вообще настал полный коммунизм, любой благородный дон может набрать хоть терабайт оперативной памяти на сервере, если захочет.
Oracle Database In-Memory
Вышедшая в июле 2014 года опция Database In-Memory является самой ожидаемой и самой обсуждаемой инновацией Oracle в семействе продуктов Oracle Database. За последние несколько месяцев сотрудники компании Oracle регулярно знакомили российское оракловое сообщество с особенностями новой опции.
На Oracle Day 2014 в Москве мне выпала честь дополнить теоретическую презентацию Игоря Мельникова (Oracle) по Database In-Memory практической демонстрацией. Эту демонстрацию в полном объеме показать не удалось – оказалось не так-то просто подключить проектор к ноутбуку, соединенному с демонстрационной базой. Поэтому я решил воспользоваться трибуной Habrahabr и все-таки донести суть демонстрации Database In-Memory до сообщества.
Тёплые ламповые грабли малого бизнеса на примере отдельно взятого магазина во Владимире
Наша «старая гвардия», владельцы франшиз во Владивостоке, Воронеже, Нижнем Новгороде, Новосибирске — они начинали почти с нуля, когда слово «Мосигра» ещё не было на слуху. Это люди, которые уже имели огромный опыт работы, и твёрдо знали, что и как надо делать с помещением, как реагировать на бесконечные звонки рекламщиков и как считать деньги. У них воровали в магазинах (в том числе сами сотрудники), они ссорились с конкурентами и задавливали их, они теряли деньги на неэффективной рекламе, сами подменяли заболевших аниматоров и продавцов, часто сами разбирались в отчётности и юридических вопросах. И иногда брали джек-пот на праздники.
Владимиру всё это только предстояло.
.NET и CLR: Взгляд изнутри
Что такое C#? Объектно-ориентированный эсперанто со сборщиком мусора, функциональными примочками и бесплатным массажем после обеда. Он позволяет писать Действительно Важные Вещи, скрывая от нас ненужные детали работы с памятью, процессором и прочее низкоуровневое программирование. Естественно, находятся люди с повышенным уровнем любопытства в крови, желающие знать как же .NET работает на самом деле (само собой, они изучают .NET исключительно ради повышения производительности разрабатываемого софта). Сегодня с нами разговаривают:
10 лучших бесплатных приложений для SharePoint из Microsoft Store
Приложения являются вашими помощниками в течение дня – они удобны и просты в использовании на ваших айфонах, смартфонах, работающих на ОС Android, и в SharePoint. Да, вы все верно прочитали – в SharePoint. В популярном инструменте для совместной работы представлен широкий спектр приложений или надстроек, которые могут помочь вам добавить новые функции или приложения в существующую страницу SharePoint. В то время как все больше и больше специалистов в области ИТ отдают предпочтение этой программе, в частности благодаря тому, что SharePoint можно легко настроить под индивидуальные потребности компаний, разработка новых функций все еще требует времени и навыков. Приложение может быть быстрым и проверенным решением. В магазине приложений Microsoft вы можете найти более 1 500 полезных функций и виджетов. Ценовой диапазон варьируется от бесплатных приложений до приложений стоимостью в несколько сотен евро.
Мы составили перечень приложений для SharePoint, которые, как нам кажется, наиболее полезны. И что еще важнее, эти приложения являются бесплатными.
Format preserving encryption или как правильно шифровать номера кредиток
Привет, %username%! Сегодня у нас немного пятничная криптотема. В марте 2016 года вышла интересная публикация от NIST под номером 800-38G (pdf) и с очень интересным называнием Recommendation for Block Cipher Modes of Operation:Methods for Format-Preserving Encryption, в которой отписываются два алгоритма, позволяющие не менять формат данных при шифровании. То есть, если это будет номер кредитки 1234-3456-4567-6678, то после шифрования он тоже останется номером, просто другим. Например 6243-1132-0738-9906. И это не простой xor, там AES и вообще всё серьезно. Давайте немного поговорим о FPE вообще, и об одной из реализаций в частности.
Искусственный Интеллект в Excel предсказывает обладателя золотой медали в мужском турнире на Рио 2016
Совсем недавно появился стартап Invrea, который в качестве вероятностного языка программирования предлагает использовать Excel: вероятностная модель может быть создана в Экселе и предсказания могут быть получены там же. Ниже находится перевод одной из статьи с сайта стартапа (перевод выполнен исключительно в образовательных целях). В статье авторы рассматривают пример «бытовой» ситуации. Им интересно понять, кто победит в теннисном турнире на Олимпийских играх 2016. Они производят предсказания о том, кто наиболее вероятный кандидат на победу. Статья была написана 7 августа, во время игр, после завершения всех игр первого тура.
Toyota: 81 514 нарушений в коде
Люди: — Эй, Тойота, мы тут посчитали, у вас из-за корявой электроники и софта 89 человек погибло с 2000 по 2010.
Тойота: — Да они сами виноваты, путают педали.
Люди: — Хьюстон, у нас проблемы.
NASA: — Ща разберемся, нам надо 10 месяцев и 3 миллиона долларов.
Люди: — На.
Тойота: — 3 миллиона мало, вот вам еще сверху кэшем.
(прошло 10 месяцев)
NASA: — Эй, Тойота, мы у вас пару ошибок в коде нашли, а точнее 7134 нарушения стандартов MISRA, рекурсию, функцию на 740 строк и 9000 глобальных переменных.
Тойота: — А у нас свои стандарты. А вы ваще на Луну летали?
NASA (публично): — Тойота ни в чем не виновата.
(Акции Тойота подскочили на 4,6%)
Люди: — Ну ё-моё.
(спустя 3 года)
Два американских тестировщика (у которых дедушки погибли в Перл-Харбор): — Нет багов? А если найдем?
10 правил, которые позволяют NASA писать миллионы строк кода с минимальными ошибками
Маргарет Гамильтон стоит рядом с написанным ей исходным кодом бортового компьютера «Аполлона»
Лаборатория реактивного движения (Jet Propulsion Laboratory) — научно-исследовательский центр НАСА, ответственный за большинство беспилотных космических кораблей США. Там пишут много кода, и права на ошибку у них намного меньше, чем у обычных программистов.
В JPL пишут на Си, и на их сайте есть документ "JPL Institutional Coding Standard", описывающий жесткие стандарты кодирования внутри организации. Они напоминают правила программирования для встроенных (embedded) систем и систем реального времени, с ограниченными ресурсами. Но многие из правил эти просто принципы хорошего программирования. Ограничение сложности, максимальное упрощение для последующего чтения кода и отладки, отсутствие побочных эффектов. Мы в Хекслете постоянно говорим об этом в вебинарах и, конечно, в самих курсах. Мы считаем очень важным как можно раньше поднимать эти темы, поэтому про функции и побочные эффекты начинаем говорить в самом первом курсе «Основы программирования», который рассчитан на новичков. Это бесплатный курс, кстати, и в нем есть практика на языке JavaScript.
Спасибо хабраюзеру Boletus за важную поправку и дополнение:
В 2006 году Gerard Holzmann с коллективом сформулировал 10 основных правил для JPL в документе «The Power of 10: Rules for Developing Safety-Critical Code». Они вошли в основу нынешнего стандарта, наряду с MISRA C и другими дополнениями. Статья в Википедии.
Вот перевод этого списка.
Redux Action Creators. Без констант и головной боли
Всем привет! Эта статья будет полезна тем, кто устал использовать constants в Redux (частично показано на превью выше). Под катом я покажу очередной возможный велосипед и как на нем кататься.
Javascript-фреймворки: должен остаться только один
Сергей Аверин ( XEK )
Изначально я хотел сделать доклад про сравнение фреймворков, но потом подумал, что закидают помидорами, поэтому доклад — просто адский троллинг, как водится у меня. И он, скорее, не про HighLoad, а про менеджерскую задачу, которая стоит над всем этим делом, включая фронтенд.
Про что же, все-таки, получился доклад? Доклад про то, как выбирали новый фреймворк, почему выбирали, и какие задачи решали.
Используем Entity Framework Core с приложением универсальной платформы Windows
Вы знаете, что UWP имеет довольно особый принцип работы с данными. Это обусловлено тем, что основным способом распространения приложений является загрузка из Store. Кроме того, сама универсальность платформы подразумевает, что ОС может быть установлена на устройства различного типа. А, скажем, SQL Server на телефон пока что не устанавливают. Кроме REST сервисов единственным доступным форматом баз данных является SQLite. Радует то, что формат довольно популярный. Для работы с базами этого формата существует несколько библиотек-оберток. Ну и вот, с релизом .Net Core, под UWP становится доступной работа с Entity Framework Core. Не удержался и решил написать об этом.
Unit-тестирование в сложных приложениях
Ни один разработчик в здравом уме и трезвой памяти при разработке сложных приложений (> 100K LOC, например) не станет отрицать необходимость использования тестирования вообще и модульного тестирования (unit tests) в частности. Это так же верно, как и то, что каждый разработчик постарается исключить бессмысленную работу из творческого процесса создания приложения. Где же та грань, которая отделяет необходимость от бессмысленности, если мы говорим о модульном тестировании в контексте сложных приложений? Пару своих соображений по этому поводу я изложил под катом.
Что нового появилось в C# 7 и уже поддерживается в Visual Studio “15” Preview 4
[SC]Работаем со сканером
Последние несколько лет мы с коллегами пытаемся сделать так, чтобы в офисе стало меньше бумаги. С цифровыми документами сотрудники работают быстрее и качественнее — да и пыли становится в разы меньше.
Чтобы полностью перейти на цифровые документы сначала надо отсканировать бумажные. Для разработки десктопных приложений сканировщиков мы используем .NET Framework. Из коробки он не предоставляет средств для работы со сканерами. Поскольку .NET дружит с COM, можно использовать компонент WIA (Windows Imaging Architecture).
OSPF LSA в картинках
Information
- Rating
- Does not participate
- Date of birth
- Registered
- Activity