Pull to refresh
-16
@eikhnerread⁠-⁠only

User

Send message

Модификация ajax js для ajax Asp .net mvc

Reading time4 min
Views6.3K
Многие начинающие программисты C# ASP .NET MVC (далее mvc) сталкиваются с задачей отправки данных с помощью Ajax. Вот только на практике эта задача оказывается не такой легкой.

На своей работе я пытаюсь придерживаться определённых принципов разработки программного обеспечения. Одним из них является минимизация написания кода и создание универсальный классов и функций. Именно этот принцип предполагал использование jquery.unobtrusive-ajax.js и класс Ajax для mvc.
Читать дальше →

Как я написал и защитил диплом по DEVOPS и инженерным практикам в 1С с нуля

Reading time12 min
Views27K

Предисловие


​Все началось более 2-х лет тому назад, и я перешел на 4-й курс специальности "Бизнес-информатика" Томского Государственного Университета Систем Управления и Радиоэлектроники (ТУСУР). До окончания ВУЗА оставалась не много времени, и перспектива написания диплома уже маячила перед глазами. Мысль о покупке готовой работы не рассматривалась. Хотелось реально что-то сделать самому. Вариантов тем дипломных проектов рассматривалось много: и проекты конфигураций для автоматизации производственных нужд компании и проект внедрения Документооборота своими силами на 3 территориальные единицы и более 500 активных пользователей и внедрение ЭДО. Короче много всего что было в голове, но ничего из этого не вдохновляло. А это было главное.

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

«Ручной» манипулятор

Reading time14 min
Views42K
Как-то раз, во время обучения на втором курсе университета, передо мной была поставлена задача: стряпать что-нибудь «этакое», дабы подтвердить высокое звание «будущего инженера-робототехника». На этой пафосной ноте я отправился в глубины сознания для поиска идей. После непродолжительного путешествия появилась мысль об устройстве, теорией создания которого хочу поделиться с общественностью.

Суть разработки такая. Рассмотрим обычный, скажем, 5-ти осевой манипулятор (кинематическая структурная схема изображена на рисунке ниже). Его возможности при перемещении в пространстве широки: он способен совершать движения в 5-ти координатах, причём одновременно, т.е. 3 координаты по трём осям XYZ и вращение вокруг двух из них. В таком случае рабочий элемент манипулятора способен занять любое положение в рабочем пространстве и вместе с этим сохранить требуемую ориентацию рабочего органа (не считая поворот рабочего элемента вокруг собственной оси).


Гипер CRM или мини ERP? Бизнес запутался

Reading time12 min
Views19K
Мы, айтишники, как никто знаем, насколько часто встречаются стереотипы в мышлении, особенно среди не профессионалов, а любителей от ИТ. Из того, что сразу приходит в голову: если быдлокод, то это PHP; Java только для крупных проектов; Python только для науки; 1С для недопрограммистов. Ясное дело, что это ошибочные суждения, но и появились они не на пустом месте — без массовых прецедентов не обошлось. Всё как в классической мифологии.

Эта мифология коснулась и корпоративного софта. В среде бизнеса сложились довольно однозначные стереотипы: «CRM — программа для продаж», «ERP — космически дорого», «CRM — для всех», «ERP — для межгалактических корпораций». Между тем, ситуация ощутимо изменилась так, что они по сути своей не актуальны, но тем не менее продолжают жить в голове. Как результат, компании отказываются от необходимого уровня автоматизации, путают понятия, получают неэффективные инструменты и т.д.

Пора наводить порядок. Начнём с ERP vs CRM.


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

Руководство по промисам для тех, кто хочет в них разобраться

Reading time9 min
Views37K
Лес чуден, тёмен — глянь в глубину.
Но прежде я все долги верну…
И много миль, пока я усну,
Так много миль, пока я усну...

Роберт Фрост

image

Промисы — это одно из самых замечательных новшеств ES6. JavaScript поддерживает асинхронное программирование посредством функций обратного вызова и с помощью других механизмов. Однако при использовании функций обратного вызова мы сталкиваемся с некоторыми проблемами. Среди них — «ад коллбэков» и «пирамида ужаса». Промисы — это паттерн, который значительно упрощает асинхронное программирование на JS. Асинхронный код, написанный с использованием промисов, выглядит как синхронный и лишён проблем, связанных с коллбэками.

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

Инверсная кинематика в двухмерном пространстве

Reading time7 min
Views20K

Часть 1. Математика



Введение


Мы так привыкли к взаимодействию с окружающим нас миром, что не задумываемся о том, насколько сложно двигаются наши руки и ноги. В академической литературе задача управления манипулятором робота называется инверсной кинематикой. Кинематика обозначает "движения", а понятие "инверсная" связано с тем, что обычно мы не управляем самой рукой. Мы управляем «двигателями», поворачивающими каждую отдельную часть. Инверсная кинематика — это задача определения того, как перемещать эти двигатели, чтобы сдвинуть руку в конкретную точку. И в своём общем виде эта задача чрезвычайно сложна. Чтобы вы понимали, насколько она сложна, то можете вспомнить о таких играх, как QWOP, GIRP или даже Lunar Lander, в которой вы выбираете не куда двигаться, а какие мускулы (или ускорители) приводить в действие.

Задача управления подвижными приводами распостраняется даже на область робототехники. Вас не должно удивлять то, что на протяжении веков математики и инженеры смогли разработать множество решений. В большинстве 3D-редакторов и игровых движков (в том числе и в Unity) есть наборы инструментов, позволяющих выполнять риггинг человекоподобных и звероподобных существ. Для различных схем (манипуляторов роботов, хвостов, щупалец, крыльев и т.д.) встроенных решений обычно не существует.
Читать дальше →

Как мне удалось взломать приложение

Reading time4 min
Views43K
Здравствуй уважаемый %habrauser%. В данной статье я поделюсь с вами историей о том как я взломал приложение. Взломать сам EXE-шник приложения не получилось, но желаемый результат был получен другим способом. Чтобы сохранить конфиденциальность буду опускать некоторые моменты, сильно обрезать скрины. И так

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

Apache Kafka: обзор

Reading time12 min
Views417K
Привет, Хабр!

Сегодня мы предлагаем вам сравнительно краткую, но при этом толковую и информативную статью об устройстве и вариантах применения Apache Kafka. Рассчитываем перевести и выпустить книгу Нии Нархид (Neha Narkhede) et. al до конца лета.


Приятного чтения!
Читать дальше →

Три аспекта оптимизации (БД и ПО)

Reading time31 min
Views69K

Предисловие


Довольно часто пользователи, разработчики, администраторы и т д СУБД MS SQL Server встречаются с проблемами производительности БД или СУБД в целом.

В данной статье будут даны общие рекомендации по настройке оптимизации как БД, так и всей СУБД в целом. Также будут даны основные рекомендации по взаимодействию приложения .NET и MS SQL Server. Будут даны примеры решения на большинство из приведенных ниже рекомендаций.

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

ASP.NET Core: Механизмы предотвращения атак 2.0

Reading time20 min
Views25K

По встроенным механизмам безопасности ASP .NET Core написано мало статей. Даже официальная документация имеет пробелы. В этой статье мы пройдём по всем основным компонентам, имеющим отношение к безопасности, и разберём, как это работает внутри.


Если вы используете старый добрый ASP .NET, то для вас будет полезна информация по внутреннему устройству компонентов безопасности и лучшим практикам их использования. Здесь вы найдёте ответы на следующие вопросы: как реализованы современные анти-XSS механизмы и как их правильно использовать в ASP .NET Core? Как правильно работать с cookies и какие подводные камни там могут встретиться? Как был переписан механизм защиты от CSRF? Как правильно работать с криптографическими алгоритмами? Кроме того, рассказывается про опыт участия в Bug Bounty по поиску уязвимостей в ASP .NET Core.


Перед чтением рекомендуется освежить в памяти атаки из списка OWASP Top 10.


Прототипом статьи является доклад Михаила Щербакова на конференции DotNext 2017 Moscow. Михаил — Microsoft .NET MVP, участник .NET Core Bug Bounty Program, соорганизатор сообщества .NET программистов (Московское комьюнити называется MskDotNet, питерское — SpbDotNet). По работе последние 5 лет занимается безопасностью. Работал в Positive Technologies, в Cezurity, сейчас как консультант работает напрямую с заказчиками, по большей части в этой же сфере. Профессиональные интересы: статический и динамический анализ кода, информационная безопасность, автоматизация отладки кода, исследование внутреннего устройства .NET CLR.


В этом тексте огромное количество картинок со слайдов. Осторожно, трафик!

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

Мифы про инфраструктуру в облаке: с какой неграмотностью мы сталкиваемся в России каждый день

Reading time6 min
Views35K


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

В половине случаев это не самые развитые в ИТ ребята. Некоторые живут в прошлом веке. К ним приходят знакомые, рассказывают, что есть облачные провайдеры. Потом начинается общение с нами.

Мой любимый эпизод — это просчёт цен на новое оборудование в офисе (стойка из серверов дешёвого сегмента или переделанных ПК) и облака:
— Так. Лицензия на гипервизор. Зачем за неё платить? Мы никогда лицензию не покупали… Россия же, хе-хе! Поддержка на железо в стойке? К чёрту, без поддержки обойдёмся, у нас админ шарит. Что там ещё, бекап? У нас уже есть палёный...
Еще есть популярный миф, что если сервер в офисе, то, когда придёт проверка, можно взять и залить его кипятком из чайника, и тогда данные никто не заберёт. Он настолько распространён, что иногда мне кажется, что на нём прямо держится отечественный рынок low-end серверов.
Читать дальше →

О чем не пишут в документации, или тонкости рефакторинга на .Net Core

Reading time6 min
Views13K

Всем привет! Этим материалом мы открываем цикл из нескольких статей, посвященных длинной истории о том, как мы пришли с одной стороны к CD, а с другой — к high availability, основанной на избыточности.


Начнем по порядку. У нас есть API для мобильного приложения, которое находится в продуктовой среде, написанный на .NET.


И первым шагом мы переводим его на .NET Core и делимся с вами тонкостями, которые встретились нам на этом пути.


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

GR8 CUL8R – WTF?!?! Разбираемся в популярных сокращениях на английском

Reading time6 min
Views46K
Переписка стала быстрой. Онлайн-общение победило и существенно упростило письменный и разговорный английский. Люди все чаще используют аббревиатуры, а то и вовсе стикеры. И не только тинейджеры. Взрослые серьезные профессионалы, время которых дорого, тоже часто отвечают на сообщения невразумительным набором букв. Относиться к этому можно как угодно, но разбираться в сокращениях надо. Мы разобрали для вас основные и самые полезные буквосочетания, чтобы вы могли беседовать на равных с современным носителем языка.


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

В 20 раз дешевле, в 2,5 раза точнее и вдвое удобнее

Reading time7 min
Views32K
Приветствую, уважаемое сообщество!

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

Этот год я активно занимался освоению новой профессии — Трабл-Шутер. Тех, кто не знает такой специальности (но хотел бы узнать), милости прошу в мой профиль. Если кратко, то Трабл-Шутер — это человек решающий чужие бизнес-проблемы, не традиционными способами.

Так вот, в честь юбилея моего присутствия на Хабре, я решил написать серию статей, в которой расскажу о некоторых проектах и разработках, сделанных в ходе работы над этими проектами. Конечно, я буду рассказывать только о разработках, которые по тем или иным причинам не принял заказчик (соответственно все права на интеллектуальную собственность принадлежат мне) или которые я делал вне проектов, для себя. И естественно, все проекты будут технической направленности, это около 40% всех проектов (остальные относятся к области маркетинга, HR, экономики).

Долго думать с какого проекта начать, не пришлось, логично начать с самого первого проекта. Тем более решение, которое я опишу, получилось действительно эффективное и простое (у Трабл-шутеров часто решения на столько простые, что заказчик хватается за голову: «Как же я сам не догадался?»). В теме поста нет никакого обмана, действительно разработанное оборудование получилось минимум в 20 раз дешевле аналогов (для некоторых брендов конкурентов, этот показатель достигает и 40х), в 2,5 раза точнее и значительно удобнее.

И так, как вы уже поняли разрабатывали мы в этом проекте не ПО, не процессы, а оборудование (железку). Под катом вы узнаете все подробности о проекте.
Читать дальше →

Что читают инженеры GridGain. Книги для тех, кто интересуется In-Memory Computing

Reading time3 min
Views12K
Не так давно у нас в корпоративном чате развернулась баталия по поводу бумажных книг и книг вообще. Оказалось, что, несмотря на популярность блогов и обучающих видео, любителей полистать хорошую книгу на читалке, или даже в бумаге, у нас достаточно много. Тем более, к некоторым книгам хочется иногда возвращаться, чтобы уложить всё в голове или поискать решение конкретной задачи.


Мы даже составили небольшой список книг, которые нам очень нравятся. Ну и еще это подсказка для собеседований по нашим свеженьким вакансиям, конечно. Не в смысле запомнить пару названий, а в смысле прочитать, разумеется.
Читать дальше →

Layer 7 DoS: атаки на отказ от обслуживания веб-приложения

Reading time5 min
Views15K

Распределенные атаки на отказ в обслуживании, которым подвергаются популярные сайты обычно происходят с тысяч и тысяч взломанных устройств. Эти атаки в основном направлены на подавление целевой системы масштабным трафиком, забиванием канала связи. Эти атаки относятся к layer 3 (сетевой уровень модели ISO/OSI) DoS/DDoS и характеризуются большим количеством пакетов, которыми атакуется ресурс. Layer 7 (прикладной уровень модели ISO/OSI) DoS/DDoS обычно направлен на "слабые" места веб-приложения.

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

Как мы запасы на производстве сокращали. На 500 миллионов

Reading time9 min
Views8.8K
Всем привет!

И все-таки Дед Мороз существует, иначе бы такое чудо не произошло. Я решил, что индикатором, при котором я опубликую этот пост станет сокращение запасов на 500 млн рублей. Вуаля, как говорится.

Откуда такой гигантский эффект


На протяжении целого ряда лет мы внедряем модель управления предприятием, в основу которой когда-то положили методики Теории Ограничений. Но здесь мы впервые закольцевали в модель вообще все процессы: от технологов, до платежей. Но главное даже не это. Главное то, что всеми этими процессами мы научились управлять по узкому месту. И здесь мы впервые запустили такую модель, где все процессы управляются по узкому месту. Именно это, на мой взгляд, и дало такой эффект.
Читать дальше →

Январская починка дыр в .NET Framework и Core

Reading time5 min
Views15K

Аккурат к концу новогодних каникул в России, 9-го января, Microsoft выпустили обновления, исправляющие CVE-2018-0786 и CVE-2018-0764. Починили так, что кое-где ещё и сломали. В этом коротком посте мы ещё раз вспомним, что это такое и что нам теперь делать.


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


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

Meltdown: влияет не только на производительность

Reading time1 min
Views82K

Обновления безопасности


Компания Microsoft выпустила обновления безопасности для операционных систем Windows, исправляющие критические уязвимости в процессорах Intel, AMD и ARM, которые исправляют раскрытые на днях уязвимости Meltdown и Spectre. Патчи могут привести к снижению производительности на затронутых системах и не только. Ниже будут приведены 2 скриншота и пояснения к ним.

Экспресс-тест на примере 7-Zip


До установки обновления безопасности KB4056890 (версия 1607)
image

После установки обновления безопасности KB4056890 (версия 1607)
image

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

Составляем DNS-запрос вручную

Reading time7 min
Views57K
Об авторе. Джеймс Рутли — бэкенд-разработчик в компании Monzo.

В этой статье мы изучим двочиный формат сообщений Domain Name Service (DNS) и напишем вручную одно сообщение. Это больше, чем вам нужно для использования DNS, но я подумал, что для развлечения и в образовательных целях интересно посмотреть, что находится под капотом.

Мы узнаем, как:

  • Написать запросы DNS в двоичном формате
  • Отправить сообщение в теле датаграммы UDP с помощью Python
  • Прочитать ответ от DNS-сервера

Писать в двоичном формате кажется сложным, но в реальности я обнаружил, что это вполне доступно. Документация DNS хорошо написана и понятна, а писать мы будем маленькое сообщение — всего 29 байт.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity