Как стать автором
Обновить
15
Карма
0
Рейтинг

Пользователь

  • Подписчики 1
  • Подписки
  • Публикации
  • Комментарии

Reversing для чайников — ассемблер x86 и код на С (для начинающих/ADHD friendly)

Блог компании ITSOFT Assembler *C *Реверс-инжиниринг *
Перевод

До того как заняться реверс-инжинирингом, исполняемые файлы казались мне черной магией. Я всегда интересовался, как все работает под капотом, как двоичный код представлен внутри .exe файлов, и насколько сложно модифицировать “исполняемый код” без доступа к исходникам.

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

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

Читать далее
Всего голосов 32: ↑28 и ↓4 +24
Просмотры 8.1K
Комментарии 10

Старые песни о главном

Программирование *Учебный процесс в IT Читальный зал История IT

Программисты старшего (и очень старшего) возраста наверняка помнят такую книгу Фролова и Олюнина: «Практический курс программирования на языке PL/1», изданную в 80-х массовым тиражом. В те времена не было Интернета, и поэтому получить нужную информацию можно было, только купив или взяв в библиотеке или у коллеги соответствующую книгу. Поэтому и специальная литература издавалась в Советском Союзе фантастическими по нынешним меркам тиражами. Впрочем, в масштабах страны тогда и стотысячный тираж не мог обеспечить требуемыми экземплярами все библиотеки. Но даже с учетом всех этих обстоятельств, общий тираж изданий книги Фролова и Олюнина велик, он превысил 300 000! Наверное, это был самый массовый учебник по языку программирования в нашей стране. А ведь это было всего лишь учебное пособие для студентов.

Читать далее
Всего голосов 42: ↑37 и ↓5 +32
Просмотры 10K
Комментарии 51

А вы знаете, где сейчас используется Лисп?

Блог компании Typeable Программирование *Lisp *Функциональное программирование *

Введение


Лисп — второй по старшинству из ныне живых высокоуровневых языков программирования (после Fortran) и первый функциональный язык. Он был разработан в 1958 году и сильно изменился с тех пор, породив множество диалектов и оказав значительное влияние на развитие других языков. На данный момент наиболее известные диалекты: Common Lisp, Scheme, Racket и Clojure.



Слева: Лисп-машина в музее MIT.
Справа: Лисп-машина Symbolics 3640, фото Michael L. Umbricht и Carl R. Friend (Retro-Computing Society of RI)


Лисп стал “первооткрывателем” многих идей, нашедших применение в современных языках программирования: древовидные структуры, динамическая типизация, функции высшего порядка и многое другое. В этом посте мы не будем углубляться во вклад Лиспа в теорию, а сосредоточимся на практической пользе.


Изначально Лисп предназначался для работ в области искусственного интеллекта, в частности как представление математической нотации для символьных вычислений. Но насколько широко диалекты Лиспа используются сейчас и в каких областях применяются?


Мы в Typeable любим и применяем функциональное программирование, а влияние Лиспа на функциональные языки всё ещё сильно, поэтому нам стало интересно разобраться в этом вопросе.

Читать дальше →
Всего голосов 48: ↑46 и ↓2 +44
Просмотры 23K
Комментарии 48

Какой вклад внесло функциональное программирование в современные языки?

Блог компании Typeable Программирование *Функциональное программирование *

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


Парадигма программирования — это в первую очередь стиль мышления: то, как программист думает о представлении данных и процессе их обработки. Другими словами, парадигма живёт в голове программиста, а не является свойством языка. Разные языки могут в той или иной степени поддерживать определённую парадигму. Если сейчас зайти на Википедию и начать читать про самые популярные ЯП, мы увидим, что многие из них заявлены как "мультипарадигменные": на них можно писать в разных стилях, но какие-то из них использовать будет удобнее.



В своей недавней статье мы рассказывали о практических применениях Лиспа и упомянули, что он сильно повлиял на развитие других языков программирования, но не стали вдаваться в детали. Пришло время более подробно раскрыть эту тему и разобраться, какой вклад функциональное программирование в целом (не только Лисп!) внесло в развитие других языков. Поскольку мы используем Haskell как основной язык разработки, и наша команда разработчиков состоит из ФП-энтузиастов, мы не смогли пройти мимо такой темы.


В этом посте рассмотрим несколько механизмов, которые либо зародились в ФП-языках, либо нашли в них наибольшее применение и были ими популяризованы, и в итоге появились в языках, изначально не функциональных.

Читать дальше →
Всего голосов 48: ↑47 и ↓1 +46
Просмотры 14K
Комментарии 15

Как правильно внедрять изменения, которые никто не хочет

Блог компании Конференции Олега Бунина (Онтико) Блог компании Selectel Управление разработкой *Управление проектами *Управление продуктом *

Типичная история тимлида. Съездил на конференцию, узнал новые вдохновляющие идеи и загорелся ими. Начал сходу внедрять то, что (по его мнению) точно сработает, и получил закономерный отпор команды: «Зачем нам вообще что-то менять?»

«Но доклад был классный! Это точно рабочий инструмент!» — думает тимлид. Он начинает поддавливать, иногда уговорами, иногда — другими способами. Команда — «в штыки». Лид получает странный опыт: пришел с благой целью, а получил негатив. Теперь он больше ничего не хочет менять, даже когда это на самом деле нужно. Команда тоже пострадала: после неумелого change-менеджмента она не готова к изменениям вообще. Знакомая история?

И что же, теперь обходить конференции и заразительные идеи стороной? Не внедрять изменения в рабочие процессы команды, пока коллеги сами их не захотят? Совсем нет. Сейчас я ведущий разработчик в облачной платформе Selectel, возглавляю команду Compute. На собственном примере расскажу, как правильно внедрять новые идеи в работу команды и можно ли собрать целый «фреймворк» для улучшений.
Читать дальше →
Всего голосов 65: ↑58 и ↓7 +51
Просмотры 13K
Комментарии 34

Простой цифровой радиоприемник на базе контроллера STM32G4 своими руками

Assembler *Алгоритмы *C *Программирование микроконтроллеров *Схемотехника *
Из песочницы
Tutorial

Обучающие проекты по созданию простого цифрового радиоприемника на базе микроконтроллера STM32G431KB.

Читать далее
Всего голосов 84: ↑84 и ↓0 +84
Просмотры 13K
Комментарии 50

Применение биполярных транзисторов с микроконтроллерами

Электроника для начинающих
Tutorial

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

Читать далее
Всего голосов 100: ↑100 и ↓0 +100
Просмотры 19K
Комментарии 73

Как я попала в большую корпорацию: ожидания и реальность

Блог компании Dell Technologies Тестирование IT-систем *Карьера в IT-индустрии IT-компании
Для начала — пара слов о себе. Меня зовут Надя, в Dell Technologies я пришла в качестве QA-стажёра почти два года назад. С тех пор я успела окончить университет (СПбПУ) и вырасти до мидл-инженера. В этой статье хочу поделиться некоторыми наблюдениями о работе в большой компании.



Дисклеймер: работа в Dell Technologies — мой первый серьёзный опыт в IT. Поэтому многие суждения о компании могут показаться бывалым инженерам «ванильными». И это нормально, ведь у меня недостаточно опыта для объективной критики. Данная статья ориентирована на студентов и начинающих специалистов.
Читать дальше →
Всего голосов 47: ↑32 и ↓15 +17
Просмотры 9.9K
Комментарии 13

Зрительная афантазия от лица страдающего ею

Искусственный интеллект Физика Мозг Здоровье Биология

В одном из комментариев на одну мою статью я прочитал новое для себя слово - Афантазия. Полез в вики, и понял, что это как раз про меня. Ниже я разберу, как с точки зрения айтишника выглядит этот баг (или фича?) мозга. Картинка выше имеет прямое отношение к теме.

Читать далее
Всего голосов 23: ↑15 и ↓8 +7
Просмотры 9.9K
Комментарии 82

Автоматизируем DevOps для роботов

Блог компании UiPath DevOps *IT-компании

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

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

Статья написана при поддержке технического эксперта UiPath: Валентина Драздова.

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 1.7K
Комментарии 0

Сможете ли вы решить задачки со вступительных экзаменов в Оксфордский университет?

Занимательные задачки
Перевод


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

Все три задачки в последние годы задавались во время собеседований при поступлении в Оксфордский университет на философский факультет. В каждой из задач есть первоначальный вопрос, и почти все кандидаты правильно ответили на него. Далее в тексте идут дополнительные вопросы, с которыми справились только лучшие из лучших.
Читать дальше →
Всего голосов 86: ↑83 и ↓3 +80
Просмотры 57K
Комментарии 93

PINE64: не PinePro единым. Что еще может предложить разработчик «свободного» Linux-телефона

Блог компании Selectel Open source *Разработка под Linux *Гаджеты

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

Оба устройства весьма популярны среди гиков, но у компании есть и другие девайсы, которые также представляют интерес для многих из нас. Вот о них сегодня и поговорим, а один гаджет даже покажем более подробно, поскольку мы его недавно купили.
Читать дальше →
Всего голосов 57: ↑57 и ↓0 +57
Просмотры 14K
Комментарии 45

Как хакнуть систему фитнеса, которая не менялась в течение 50 лет

Развитие стартапа Производство и разработка электроники *Лайфхаки для гиков

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

Читать далее
Всего голосов 48: ↑43 и ↓5 +38
Просмотры 20K
Комментарии 84

Делаем базу знаний для .NET разработчиков

Блог компании Контур Программирование *.NET *Карьера в IT-индустрии Конференции

Мы вместе с DotNetRu решили сделать базу знаний для .NET разработчиков. Собрать доступные в открытом доступе материалы по .NET и выбрать из них лучшие. Разбить все это по категориям и сложности, выстроить порядок изучения. А еще пригласить известных экспертов в каждой из тем, чтобы они помогли выбрать материалы и рассказали, что и почему вам будет полезно изучить.

И теперь мы по этому поводу будем проводить по два митапу раз в две недели — начиная уже с этой пятницы. Под катом будут детали, имена, даты и всякие пояснения, что и почему мы хотим сделать.

Читать далее
Всего голосов 22: ↑20 и ↓2 +18
Просмотры 6.1K
Комментарии 17

Как служится в белорусской ИТ-роте: честный рассказ дембеля

Блог компании ГК ЛАНИТ Информационная безопасность *Программирование *Карьера в IT-индустрии

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

Читать далее
Всего голосов 262: ↑202 и ↓60 +142
Просмотры 90K
Комментарии 637

Как быстро усвоить материал? Практические советы для разработчиков и не только

Блог компании МойОфис Учебный процесс в IT Мозг Изучение языков IT-компании
Перевод

Эффективное обучение крайне важно для разработчика программного обеспечения, ведь постижение нового — значительная часть его работы. Умение быстро осваивать новые языки/фреймворки/инструменты сделает вас намного продуктивнее. Это своего рода суперспособность.

Как ее приобрести? Читайте в тексте Джоша Комо, эксперта с многолетним опытом в разработке ПО, ИТ-блогера и автора обучающего курса «CSS для разработчиков JavaScript». В статье Джош описывает практики и рекомендации, которые помогут начинающим специалистам (например, студентам и тем, кто переходит в разработку из какой-либо другой области) в развитии их профессиональных навыков.

Под катом — наш перевод англоязычного материала. Обращаем ваше внимание, что позиция автора не всегда может совпадать с мнением МойОфис.

Читать далее
Всего голосов 25: ↑25 и ↓0 +25
Просмотры 13K
Комментарии 12

Идеальная светодиодная лампа за 21 рубль

Блог компании LampTest Гаджеты
Удивительно осознавать, что достаточно сложное электронное устройство, которым является светодиодная лампочка, может стоить 21 рубль.

Ещё сложнее поверить, что эта лампочка безукоризненна по всем параметрам.

Читать дальше →
Всего голосов 227: ↑225 и ↓2 +223
Просмотры 68K
Комментарии 199

На что стоит обратить внимание новичкам при работе с ReactJS

Блог компании Orion Innovation Разработка веб-сайтов *JavaScript *ReactJS *Карьера в IT-индустрии

Всем привет, меня зовут Иван, я – разработчик ПО в Orion Innovation. Сейчас много публикаций по фронтенд-разработке, в которых начинающему специалисту легко потеряться и упустить неочевидные вещи.

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

Читать далее
Всего голосов 8: ↑6 и ↓2 +4
Просмотры 14K
Комментарии 19

Карты распространения борщевика Сосновского и зачем мы сделали свою

Геоинформационные сервисы *Краудсорсинг Экология

В этой заметке я расскажу о том, какие бывают карты распространения борщевика, а также, что нас побудило сделать свою карту распространения борщевика Сосновского в Московской области за 2021 год. И что у нас в итоге получилось.

Опасно: борщевик Сосновского!
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 12K
Комментарии 17

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность