До старта курса «Python с нуля» осталось несколько дней
Уже на следующей неделе, 24 января 2023 года начинаются занятия практического курса «Хакера» — «Python с нуля», направленног…
Уже на следующей неделе, 24 января 2023 года начинаются занятия практического курса «Хакера» — «Python с нуля», направленног…
Аналитики компании Check Point обратили внимание, что на русскоязычных хакерских форумах активно обсуждается обход геоблокир…
24 января 2023 года стартует практический курс «Хакера» — «Python с нуля», направленный на изучение основ и базовых концепци…
Специалисты компании Check Point обратили внимание, что злоумышленники (в том числе не имеющие никакого опыта в программиров…
В этой статье я покажу тебе, как использовать статический анализатор кода для отлова багов в программе. Использовать мы будем PVS-Studio, и на живом проекте посмотрим, на какие ошибки он пожалуется, и в каких случаях выручит.
Сегодня мы поработаем с файловой системой ОС, освоим могущественные заклинания под названием «регулярные выражения», изучим тонкости создания и вызова функций и под конец напишем простенький сканер SQL-уязвимостей. И всё это в одном недлинном уроке!
Однажды крокодилу Гене и Чебурашке поручили написать сочинение на тему «Как я провел лето». Все лето друзья пили пиво, и наивный Гена так и написал, поэтому Чебурашке пришлось заменить некоторые слова. А поскольку Чебурашка был кодером на Питоне, то сделал он это при помощи строковой функции...
Чтобы ломать, много ума не надо: можно качнуть Kali Linux, юзать готовые программки, копипастить код с форумов и вслепую качать скрипты с GitHub. Но потолок хакера, пока он не научится писать и понимать код, будет низким. В этой статье я попытаюсь в доступной форме научить тебя основам. Начинаем с абсолютного нуля!
6 июня 2022 года стартует «Python для новичков» — практический курс «Хакера» по Python, направленный на изучение основ и баз…
Специалисты компании Google подсчитали, что примерно 70% проблем с безопасность в кодовой базе Chrome связаны с управлением …
Хочешь попрактиковаться в кодинге на ассемблере? Давай создадим интерпретатор бейсика и запустим его прямо из загрузочного сектора твоего компьютера, уместив его в 512 байт. Скорее всего, это будет самая сложная программа в твоей жизни, и когда ты создашь ее своими руками, сможешь без зазрения совести называть себя хакером!
Спаяв десять лет назад свою первую схему на электромагнитных реле, способную сложить два числа, я подумал: вот было бы здорово создать полноценный компьютер на тысяче релюшек! Не знал я тогда, что крепко подсяду на такое хобби и после воплощения затеянного замахнусь не только на ламповую ЭВМ, но и на компьютер на базе утерянной технологии создания логических элементов, работающей на струе воздуха.
Разработчиком быть тяжело. Родственники, друзья или коллеги уверены: если вы счастливый обладатель технической специальности, значит, можете помочь и исправить любую проблему, которая возникает с гаджетами.
Олимпиады бывают школьными и скучными, а бывают всемирными и уважаемыми. Участие в них интересно, познавательно, помогает завести полезные знакомства в профессиональных кругах, пополнить кошелек призовыми деньгами и получить работу на хорошей должности. О том, что собой представляют современные олимпиады, где проводятся и сколько можно заработать в случае победы, — в этой статье.
Шутники говорят, что после трудового дня за компьютером типичный программист едет домой, садится за ПК и таким образом отдыхает. А ведь истина на самом деле куда ужаснее этой шутки: многие из нас, приходя с работы, посвящают оставшееся до сна время... программированию микроконтроллеров. :) Обывателям не понять, но Arduino, Teensy или ESP — действительно очень неплохое хобби. Их единственный недостаток — необходимость программировать на достаточно низком уровне, если не на Assembler, то на Arduino C или Lua. Но теперь в списке ЯП для микроконтроллеров появился Python. Точнее, MicroPython. В этой статье я постараюсь максимально продемонстрировать его возможности.
Android принято называть рассадником вирусов и бэкдоров. Каждый день здесь выявляют более 8 тысяч новых образцов малвари. И эти цифры постоянно растут. Но задумывался ли ты, как эта малварь работает? Сегодня мы разберемся с этим, изучив приложение для Android, способное собирать информацию об устройстве, его местоположении, делать фотографии и записывать аудио. И все это с удаленным управлением.
Программист — одна из профессий, представители которой не беспокоятся за свое будущее. Интересно, почему? Останется ли профессия актуальной через двадцать лет?
Мало научиться программировать — желательно еще и чтобы за твои знания и умения платили. С чего начать, как и где искать работу, тебе подскажет эта статья. Итак, приступим!
Во многих языках программирования циклы являются базовыми строительными блоками, которые используются для любых повторяющихся задач. Однако в R чрезмерное или неправильное использование циклов может привести к ощутимому падению производительности, и это при том, что способов написания циклов в этом языке необычно много.
Мы продолжаем рассказывать, как можно получить IT-профессию. Почему это круто и почему именно IT, мы уже писали. А сегодня поговорим о том, как стать разработчиком, да еще и бесплатно. GeekBrains предлагает три интенсивных курса, позволяющих превратить любого «кнопкодава» в программиста. Посмотрим, так ли хороши эти курсы на самом деле, как нам обещают.
Мир ООП-разработки вообще и язык Java в частности живут очень активной жизнью. Тут есть свои модные тенденции, и сегодня разберем один из главных трендов сезона — фреймворк ReactiveX. Если ты еще в стороне от этой волны — обещаю, она тебе понравится! Это точно лучше, чем джинсы с завышенной талией :)
Жизнь — штука сложная. Потратив пять лет на обучение в престижном ВУЗе, еще год на поиск работы, ты вдруг заметил, что выбранная тобою 5 лет назад профессия скучная, удовольствия не приносит, а перспективы слишком натянуты. Так, к сожалению, бывает. В этой заметке мы попробуем ответить на почти философский вопрос «что делать?».
Каждый месяц со страниц рубрики «Кодинг» на тебя смотрят самые обычные (просто очень крутые) программисты. А в свободное от написания статей время они живут обычной кодерской жизнью. В этом месяце мы решили сделать экспериментальную колонку, в которой не один колумнист, а сразу несколько авторов расскажут о том, что им показалось интересным в этом месяце.
В языке R чрезмерное или неправильное использование циклов может привести к ощутимому падению производительности — и это при том, что способов написания циклов в этом языке необычайно много. Сегодня мы с тобой рассмотрим особенности использования штатных циклов, а также познакомимся с функцией foreach из одноименного пакета, которая предлагает альтернативный подход в этой, казалось бы, базовой задаче.
В прошлой статье я сделал общий обзор средств разработки для наиболее интересных устройств виртуальной реальности и дал торжественное обещание в следующем материале прицельно рассказать тебе про Microsoft HoloLens. Что ж, пора сдержать слово!
В своей прошлой «математической» статье я пообещал привести пример реализации. Речь пойдет о том, как реализовать собственную структуру данных, причем не простую, а вероятностную. Постараюсь описать все просто и понятно, не забыв при этом оставить задел для усложнения и модернизации.
Ребята из JetBrains сделали очень много крутых вещей, среди которых Kotlin — молодой, но очень перспективный язык программирования под JVM и Android. В этой статье я покажу, чем этот язык может заинтересовать Android-разработчика и заставить его навсегда позабыть про Java.
В продолжении темы прошлого номера мы узнаем, каким образом в Android можно генерировать дополнительные потоки и зачем это может понадобиться. Сегодня поговорим о таком компоненте приложения, как сервисы, и опишем их роли в мобильном мире Android. Сервисы и потоки тесно переплетены между собой, поэтому, если ты еще не читал прошлый номер «Хакера», начни с моей статьи, будет полезно!
При создании мобильного приложения чуть сложнее «Hello, world» почти наверняка требуется скачать что-то из Сети или считать файл с диска. Для стабильной работы программы в целом эти действия должны совершаться в отдельных потоках. Зачем, когда и как генерировать новые потоки в Android — об этом ты узнаешь в этой статье.
Сложную задачу поставила передо мной редакция журнала: на правах действующего программиста и преподавателя высшей школы, с целью борьбы с веб-программистами и прочими верстальщиками раскрыть тему необходимости изучения математики :). Что ж — вызов принят, хотя это и не так просто. Тем более что в последнее время к вопросу «Должен ли программист знать классическую математику?» добавился еще один: «А должен ли data scientist уметь программировать?»
Если коротко, openFrameworks — это проект с открытым исходным кодом на C++, представляющий собой набор укомплектованных инструментов (фреймворков) для разработки кросс-платформенных приложений, не только настольных, но и мобильных. Мы уже знакомы с подобными либами, однако openFrameworks идет еще дальше, предоставляя программисту более широкие возможности.
Пока не появился финальный релиз Windows 10 и Visual Studio 2015, мы старались по максимуму подготовить читателя к тем фичам, которые были обещаны Майкрософтом нашему брату-программисту. И вот десятая винда вышла в свет, и ее уже установили миллионы пользователей, среди которых, как мне доподлинно известно, есть программисты :). А это значит, что пора сравнить ожидания и реальность и посмотреть на те возможности, которые нам теперь доступны: Xamarin, Apache Cordova, UWP, поддержка Python, .NET Native, DirectX 12, VS Code, Windows IoT и многое другое. Вперед!
Завершая цикл статей о вычислении производительности софта, хотелось бы рассказать, как правильно проводить перформанс-тестирование (performance testing). Тема становится все более популярной, но при этом далеко не все понимают, что под этим подразумевается. Ведь прежде чем ответить на вопрос «как», нам нужно разобраться с вопросом «что»: что именно нам нужно тестировать?
Закон Атвуда гласит, что любое приложение, которое можно написать на Javascript, однажды напишут на Javascript. Компилятор Emscripten делает это практически неизбежным.
Когда цена за гигабайт памяти составляет копейки (~0,026 доллара за час в облаке от Amazone), а современные процессоры работают все быстрее с каждым месяцем, производительность ПО во многих случаях оставляет желать лучшего. Ведь часто докупить оперативки и/или процессор оказывается дешевле, чем тратить многие человеко-месяцы на тестирование и исправление проблем с производительностью. Но бывает и наоборот — стоит исправить буквально две строчки кода, как все начинает просто летать. Главное — найти эти самые две строчки кода. Здесь все как в старом анекдоте: «взял один доллар за то, что забил гвоздь, и 99 долларов за то, что знал, куда его забить».
Рекомендуем почитать: Xakep #284. Атаки на AWS Содержание выпуска Подписка на «Хакер»-60% Продолжаем публиковать обзоры open…
После семи лет разработки текстовый редактор для программистов Atom созрел до версии 1.0. Официальный релиз состоялся вчера,…
Чего только не услышишь от апологетов тех же Java или C# про разработку на C/C++! Якобы этот язык устарел и на нем никто не пишет. Вот только когда требуется создать no latency или low latency сервис или нужно сэкономить память и время выполнения узкого места обработки больших объемов данных, то тут же прибегают за помощью к «архаичным» разработчикам на C/C++. Просто потому, что эти ребята умеют вручную управлять памятью и прекрасно представляют, что за начинка у той или иной высокоуровневой операции. Сегодня наша задача — стать на шаг ближе к этим ребятам.
Объяснять сегодня, что такое бот и ботнет, вряд ли кому-нибудь нужно. Тем не менее бот — всего лишь программа, выполняющая автоматически какие-либо действия. Сегодня мы поддержим светлую сторону силы и соорудим небольшой бот и центр управления им на смартфоне. Наш бот будет помогать вполне земным людям восстанавливать забытые пароли. Ведь как оно часто бывает: хеш есть, а пароля с ним нет...
В этой подборке: веб-сервисы и веб-компоненты в помощь разработчику мобильных и браузерных приложений.