Добрый день! Несколько дней назад столкнулся с небольшой проблемой в нашем проекте — в обработчике прерывания gdb неправильно выводил stack trace для Cortex-M. Поэтому в очередной раз полез выяснять, а какими способами можно получать stack trace для ARM? Какие флаги компиляции влияют на возможность трассировки стека на ARM? Как это реализовано в ядре Linux? По результатам исследований решил написать эту статью.
Читать полностью »
Рубрика «Программирование» - 359
Как работает stack trace на ARM
2018-09-25 в 12:01, admin, рубрики: cortex-m, embox, open source, Блог компании Embox, микроконтроллеры, операционные системы, осрв, Программирование, программирование микроконтроллеров, системное программированиеКод в стиле Ruby: грамотно, красиво и рационально. Пример для начинающих
2018-09-25 в 9:41, admin, рубрики: ruby, skillbox, Блог компании Skillbox, ит, код, обучение, Программирование, Учебный процесс в IT
Это перевод поста Майкла МакКи. Майкл — профессиональный программист, который время от времени делится своим опытом и навыками с коллегами, как начинающими кодерами, так и профессионалами.
Большинство программистов в последнюю очередь думают об эстетике кода, который они создают. Конечно, общих правил придерживаются почти все. Но что, если пойти дальше? Хороший код, в первую очередь, должен работать. Но я считаю, что у него должен быть свой стиль, это касается не только содержания, но и формы.
Читать полностью »
Курс MIT «Безопасность компьютерных систем». Лекция 9: «Безопасность Web-приложений», часть 1
2018-09-24 в 20:20, admin, рубрики: Heartbleed, Shellshock, Анализ и проектирование систем, Блог компании ua-hosting.company, Веб-безопасность, информационная безопасность, межсайтовые сценарии, ПрограммированиеМассачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год
Computer Systems Security — это курс о разработке и внедрении защищенных компьютерных систем. Лекции охватывают модели угроз, атаки, которые ставят под угрозу безопасность, и методы обеспечения безопасности на основе последних научных работ. Темы включают в себя безопасность операционной системы (ОС), возможности, управление потоками информации, языковую безопасность, сетевые протоколы, аппаратную защиту и безопасность в веб-приложениях.
Лекция 1: «Вступление: модели угроз» Часть 1 / Часть 2 / Часть 3
Лекция 2: «Контроль хакерских атак» Часть 1 / Часть 2 / Часть 3
Лекция 3: «Переполнение буфера: эксплойты и защита» Часть 1 / Часть 2 / Часть 3
Лекция 4: «Разделение привилегий» Часть 1 / Часть 2 / Часть 3
Лекция 5: «Откуда берутся ошибки систем безопасности» Часть 1 / Часть 2
Лекция 6: «Возможности» Часть 1 / Часть 2 / Часть 3
Лекция 7: «Песочница Native Client» Часть 1 / Часть 2 / Часть 3
Лекция 8: «Модель сетевой безопасности» Часть 1 / Часть 2 / Часть 3
Лекция 9: «Безопасность Web-приложений» Часть 1 / Часть 2 / Часть 3Читать полностью »
Манифест Чистого Программиста или краткий конспект книги «Чистый Код» Роберта Мартина
2018-09-24 в 16:09, admin, рубрики: java, kotlin, ооп, Программирование, Совершенный код, чистый кодДанная статья является конспектом книги "Чистый Код" Роберта Мартина и моим пониманием того, каким Чистый Код должен быть. Тут нет разделов о тестировании, TDD, о том какая должна быть архитектура и т.д. Здесь все только о том, каким должен быть Чистый Код.
Как решить любую программерскую задачу
2018-09-24 в 14:54, admin, рубрики: Блог компании Издательский дом «Питер», Программирование, проектирование, Проектирование и рефакторинг, прототипирование, профессиональный рост, техническое задание, требования заказчикаПривет всем!
Сегодня вашему вниманию предлагается перевод по-своему незаменимой статьи, которая поможет вам правильно подойти даже к самому коварному и нетривиальному ТЗ, которого вы на первый взгляд в упор не понимаете. Главное — не сдаваться и толково формулировать вопросы. Господин Джастин Фуллер из «Бэнк оф Америка» любезно излагает, как это правильно делается.
Приятного чтения!
Читать полностью »
KotlinConf 2018 Live — смотрите трансляцию 4-5 октября
2018-09-24 в 13:24, admin, рубрики: Conference, java, jetbrains, kotlin, mobile, Блог компании JetBrains, конференции, Программирование, разработка мобильных приложений3-5 октября в Амстердаме пройдёт KotlinConf 2018, событие, которое мы готовили целый год. 2 дня сессий, целый день воркшопов, 1 200 участников — мы с нетерпением ждём начала.
Для тех, кто не сможет приехать, у нас хорошая новость: 4-5 октября будет открытая трансляция основного потока сессий KotlinConf 2018 Live:
- главные обновления Kotlin в кейноуте Андрея Бреслава, руководителя проекта Kotlin;
- 14 онлайн-сессий с ключевыми членами команды Kotlin и экосистемы (полный список сессий KotlinConf 2018: 4 октября, 5 октября);
- закрытие с сессией вопросов-ответов (задайте свой вопрос уже сейчас в Twitter с хештегом #kc18ask).
Присоединяйтесь к нам, зарегистрируйтесь, чтобы не пропустить трансляцию и получить запись после конференции.
GitHub Pull Requests в Visual Studio Code
2018-09-24 в 7:00, admin, рубрики: code, github, microsoft, open source, pull request, Visual Studio, visual studio code, Блог компании Microsoft, ПрограммированиеКак и во многих других проектах с открытым исходным кодом, в сообществе Visual Studio Code используются запросы на принятие изменений. С их помощью разработчики совместно исправляют ошибки и добавляют новые функции. Недавно мы обновили общедоступную пробную версию GitHub Pull Requests for Visual Studio Code, тем самым устранив проблему, с которой мы и миллионы разработчиков сталкиваемся каждый день: невозможность просматривать исходный код там, где он был написан, — в редакторе.
Смартконтракты Waves. Первый опыт
2018-09-23 в 5:55, admin, рубрики: blockchain, first steps, smartcontracts, Waves, Криптовалюты, Программирование
В апреле 2018 года команда Waves представила свои не тьюринг-полные смарт-контракты.
Чуть позже, когда был объявлен Waves хакатон я решил что пришло время погрузиться в новую технологию. Под катом вы найдете детальную информацию о смарт-контракте, выигравшем третье место на хакатоне.
Статья будет полезна разработчикам для реализации собственных смарт-контрактов и знакомства с технологией
Читать полностью »
Каково делать Kotlin: интервью с Андреем Бреславом
2018-09-21 в 16:37, admin, рубрики: compiler, compiler design, java, joker2018, kotlin, Блог компании JUG.ru Group, Компиляторы, Программирование
Дефицита технических материалов о Kotlin нет, узнать о корутинах или nullability можно много где. Но остаётся куда менее освещённой другая сторона: а как вообще выглядит процесс разработки языка? Как принимаются решения? Каковы задачи у «самого главного человека»? Остаётся ли у него в жизни время на что-либо ещё?
И сейчас, когда вот-вот выйдет Kotlin 1.3, мы расспросили «самого главного» Андрея Бреслава не про корутины, а про совсем другое: от того, чем он занимался до Kotlin, до того, чем полезна психотерапия.
Читать полностью »
Реактивное программирование с JAX-RS
2018-09-21 в 14:06, admin, рубрики: java, java ee, JAX-RS, reactive programming, Блог компании Отус, ПрограммированиеВсем привет!
Последний в этом году курс «Разработчик Java Enterprise» успешно запущен и у нас остался последний материал по данной теме, которым мы хотим поделиться с вами, где разбирается использование асинхронного подхода и стейджинга для разработки отзывчивых реактивных приложений.
Поехали.
Реактивное программирование сперва звучит, как название зарождающейся парадигмы, но на самом деле, относится к методу программирования, в котором для работы с асинхронными потоками данных используется событийно-ориентированный подход. Основываясь на постоянно текущих данных, реактивные системы реагируют на них путем выполнения ряда событий.
Реактивное программирование следует шаблону проектирования “Наблюдатель”, который можно определить следующим образом: если в одном объекте происходит изменение состояния, то все прочие объекты оповещаются и обновляются соответствующим образом. Поэтому, вместо того, чтобы опрашивать события на предмет изменений, события пушатся асинхронно, чтобы наблюдатели могли их обработать. В этом примере, наблюдатели — функции, которые исполняются, когда событие отправлено. А упомянутый поток данных — фактический наблюдаемый.
Почти все языки и фреймворки используют этот подход в своей экосистеме, и последние версии Java — не исключение. В этой статье я объясню как можно применить реактивное программирование, используя последнюю версию JAX-RS в Java EE 8 и функционал Java 8.