Главная Кодинг (страница 4)

Кодинг

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

Xakep #205

Черная магия Git hook. Как не пустить джуниоров в мастер-ветку и вообще все автоматизировать

При code review ты указываешь разработчикам на забытые printf и console.log? С ужасом видишь код с синтаксической ошибкой? Хочешь разграничить права на работу с ветками, потому что джуниор путает порядок при слиянии? Хватит это терпеть! У нас же есть Git и Bash!

Xakep #205

Задачи на собеседованиях, спецвыпуск. Стань богатым Java-программистом!

Java-программисты на протяжении нескольких лет остаются самыми востребованными специалистами на рынке IT. Невзирая на все мрачные предсказания, проектов, связанных с Java-технологиями, становится все больше: профессиональные Java-специалисты ценятся по всему миру. Если ты задумываешься о карьере Java-разработчика, то эта статья для тебя! В ней собраны практические советы по подготовке и прохождению собеседования, поиску работы в офисе и удаленно.

ESIL + radeco IL. Используем radare2 для эмуляции и декомпиляции

Много кто помнит черно-белый интерфейс SoftICE с просмотром дизассемблерного листинга и содержимого регистров. Еще больше человек знают об IDA Pro (декомпилятор не рассматриваем) и бессменном objdump (в случае линуксоидов). Однако времена ручного разбора ассемблера прошли. Сейчас большую популярность приобрели инструменты преобразования нативного кода в некое абстрактное представление для упрощения анализа. Подобные инструменты используются повсеместно — от набора компиляторов на основе LLVM до декомпилятора HexRays. В данной статье я попытаюсь объяснить основы этого метода на примере ESIL от проекта radare2.

Xakep #204

Интерпретатор «по-функциональному»: Haskell, OCaml и Scala на практике

Давненько мы не касались темы функционального программирования... успел ли ты соскучиться? Уверен, что нет, но деваться некуда :), ведь сегодня я настроен показать тебе реальную силу функционального подхода. Заодно мы рассмотрим то общее, что объединяет функциональные языки. В этой статье мы попробуем написать простейший интерпретатор сразу на трех языках: Haskell, OCaml и Scala.

Xakep #204

Атомная бомба для C++ кодера. Обзор набора фреймворков массового поражения

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

Xakep #204

Нарезаем яблоки. Что внутри файловой системы iOS?

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

Xakep #203

Как стать участником опенсорс-проекта, даже если не умеешь писать код?

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

Xakep #203

Интерфейсы будущего: изучаем Material Design от Google на практике

Этим летом Google презентовала пятую версию ОС Android. Важной особенностью стало свежее видение дизайна мобильных приложений. Разработчикам предоставили новые инструменты, позволяющие создать приложения в стиле Material Design. Под этим красивым словосочетанием скрывается целая философия оформления визуального, динамического и интерактивного дизайна. Сегодня мы познакомимся с основными новшествами, которые помогут мобильному разработчику создать красивое и органичное приложение.

Xakep #202

Шесть лучших библиотек Android-разработчика

Официальный Android SDK содержит в себе достаточный набор классов для создания полноценного приложения. Но будет ли оно лучшим? Сложно с нуля написать одновременно красивое, стабильное и полезное приложение. Иногда ловишь себя на мысли, что метод findViewById ты вызываешь уже в сотый раз и это тебе уже порядком надоело. Благодаря энтузиастам появляются библиотеки, которые существенно упрощают создание сложных конструкций или избавляют от однотипных действий. Сегодня мы разберемся, в чем именно они нам могут помочь.

Xakep #202

Создаем универсальные приложения под Windows 10

Windows 10 стала единственной программной платформой Microsoft, управляющей различными устройствами: от микроконтроллеров и до больших серверных систем. Только вдумайся: одно ядро для ПК, для миниатюрных девайсов (Internet of Things), консоли (Xbox One), моноблока (Surface Hub), устройств дополненной реальности HoloLens! В этой статье мы в деталях разберемся в платформе UWP и в ее возможностях управления компьютером.

Xakep #201

Как писать приложения для Андроида с поддержкой прав root

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

Xakep #201

Framework7: делаем мобильные приложения в нативном стиле

Известный факт: далеко не всегда надо лезть в дебри нативных технологий, чтобы создать функциональное приложение для популярных мобильных платформ. Проверенный временем PhoneGap давно научился эффективно переносить JavaScript-код в нестандартную среду выполнения. Для полного счастья не хватает только рюшечек в нативном стиле, а ими готов поделиться замечательный фреймворк Framework7.

Xakep #201

Что отпугивает на собеседованиях: 20 практических советов от работодателей

Для большинства из нас рано или поздно встает вопрос поиска работы. Опытные соискатели знают, как правильно вести себя на собеседовании, что можно и чего нельзя делать, и что приведет будущего работодателя в недоумение при приеме на техническую должность. Ну а как быть, если у тебя за плечами нет большого опыта поиска работы? Мы кинули клич нашим друзьям из крупных технологических компаний РФ и попросили рассказать, что отпугнет их в соискателе на должность программиста при приеме на работу.

Xakep #201

Win 10 для программиста: полный гайд по новым фичам

Пока не появился финальный релиз Windows 10 и Visual Studio 2015, мы старались по максимуму подготовить читателя к тем фичам, которые были обещаны Майкрософтом нашему брату-программисту. И вот десятая винда вышла в свет, и ее уже установили миллионы пользователей, среди которых, как мне доподлинно известно, есть программисты :). А это значит, что пора сравнить ожидания и реальность и посмотреть на те возможности, которые нам теперь доступны: Xamarin, Apache Cordova, UWP, поддержка Python, .NET Native, DirectX 12, VS Code, Windows IoT и многое другое. Вперед!

Xakep #201

Решение задач на собеседованиях от Pay-Me и прославление победителей

Товарищи из сервиса мобильного эквайринга Pay-Me определились с победителями задач, опубликованных в прошлом номере. Да мы и не сомневались — наши читатели порвут какие хочешь задачи! Правильные ответы мы тоже сегодня опубликуем.

Xakep #201

Тестирование производительности. Узнай, что именно тормозит и что с этим нужно делать

Завершая цикл статей о вычислении производительности софта, хотелось бы рассказать, как правильно проводить перформанс-тестирование (performance testing). Тема становится все более популярной, но при этом далеко не все понимают, что под этим подразумевается. Ведь прежде чем ответить на вопрос «как», нам нужно разобраться с вопросом «что»: что именно нам нужно тестировать?

Xakep #200

Задачи на собеседованиях #200. Задачи от сервиса мобильного эквайринга Pay-Me и прославление победителей от Acronis

В этом выпуске мы расскажем, как отбирают кандидатов в сервис мобильного эквайринга Pay-Me. Передаю слово Игорю Аскарову — техническому директору Pay-Me. Он поделится задачами, которые он дает на собеседованиях при приеме разработчиков в команду.

Xakep #200

Злые СМС. Исследуем скрытые механизмы работы с СМС в Android

Только представь: у всех жителей средней полосы осень, а ты тусуешься на морях, солнце лениво замерло в зените, ты лежишь на жемчужном пляже одного из Мальдивских островов, любуешься окружающими пейзажами и проходящими девушками в бикини, потягивая коктейль... А много позже, вечером, ты обнаруживаешь, что на счете твоей пластиковой карточки пусто! Как же так? Мобильный банк с информированием подключен, все операции вроде бы подтверждаются по СМС... Примерно такие вопросы стали недавно задавать вслух клиенты одного крупного банка с зеленым логотипом.

Xakep #199

Самый быстрый UI. Подборка полезных инструментов для веб-разработчиков

В этой подборке — интересные веб-чаты на замену Slack, несколько альтернатив других веб-сервисам, собственный GitHub и javascript-библиотеки для фронтенда: работа с DOM и DOM-элементами, текстовым контентом и CSS, ускорение работы web-страниц.

Xakep #199

Профилировщики для Python. Измеряем скорость выполнения наших приложений

В прошлой статье («Python на стероидах», 198-й номер) мы поговорили о профилировании Python-приложений. Судя по полученному фидбэку, тема оказалась интересной, и, выходит, теперь, когда мы уже попробовали все на практике, настало время познакомиться с теорией :). В этой статье я постараюсь рассказать о том, что вообще такое производительность ПО, как и зачем ее измерять, и закончу тему с профилированием. В следующий раз мы углубимся в тему тестирования производительности ПО в теории и на практике.

Xakep #199

Задачи на собеседованиях, спецвыпуск. Тестовые задания в gamedev, часть 2

Несколько месяцев назад я уже делился частью своей коллекции тестовых заданий, которые ставят перед соискателями на позицию программиста в индустрии gamedev. И надо сказать, получил неплохой фидбэк! Вижу, что разработка игр серьезно интересует нашего читателя, и не только потому, что в игровой индустрии можно заработать неплохие деньги. Похоже, что для этой области народного хозяйства более чем актуальна мудрость, приписываемая Конфуцию: «Выберите себе работу по душе, и вам не придется работать ни одного дня».

Xakep #199

Xonix для Android. Сделано стандартными средствами Android SDK!

Хочется иногда взять и отдохнуть от всех этих фреймворков, движков и готовых библиотек. Точнее, не отдохнуть, а напрячься — взять и накодить какую-нибудь игрушку исключительно с помощью стандартных средств. Какую именно? Выбрать легко, ведь в сердце любого программера неизменно живут три игры, созданные в прошлом веке: Tetris, Digger и Xonix. Поехали!

Xakep #198

Создатель GUI для AV — про skillsets, separation of conсerns и митболы

У современных программистов нет проблем с выбором либы для создания GUI своих приложений. К их услугам целый пул библиотек, начиная со старушки MFC и заканчивая монстром Qt. Но есть одна разработка, которая стоит особняком, — Sciter. Создатель этой маленькой, но очень полезной библиотеки — Андрей Федонюк, он же основатель и владелец компании Terra Informatica Software.

Xakep #198

Прототипируй правильно, верстай быстро! Подборка приятных полезностей для разработчиков

Существует множество различных фреймворков или даже, правильнее сказать, тулкитов (ExtJS, Dojo, Webix), которые проповедуют свой синтаксис разметки веб-страничек, «искажая» классическое представление о верстке с HTML и CSS. Многие из них обрели свою аудиторию, но сегодня пойдет речь, вероятно, о самом популярном методе нестандартного позиционирования элементов, который пришел в веб из мира десктопной и мобильной разработки...

Xakep #198

Анализ данных с использованием R. Часть 1

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

Xakep #198

Python на стероидах. Измеряем производительность в продакшене без потери скорости

Когда цена за гигабайт памяти составляет копейки (~0,026 доллара за час в облаке от Amazone), а современные процессоры работают все быстрее с каждым месяцем, производительность ПО во многих случаях оставляет желать лучшего. Ведь часто докупить оперативки и/или процессор оказывается дешевле, чем тратить многие человеко-месяцы на тестирование и исправление проблем с производительностью. Но бывает и наоборот — стоит исправить буквально две строчки кода, как все начинает просто летать. Главное — найти эти самые две строчки кода. Здесь все как в старом анекдоте: «взял один доллар за то, что забил гвоздь, и 99 долларов за то, что знал, куда его забить».

Xakep #198

Умный дом на Java. Обзор Netty — крутейшего Java-фреймворка

Фреймворк Netty появился относительно недавно, но с каждым годом он только набирает популярность. В 2011 году проект был удостоен награды Duke’s Choice за инновации в сетевом программировании. А уже сегодня его используют в своих разработках такие гиганты, как Apple, Twitter, Facebook, Google и Instagram. На базе Netty построены многие известные проекты с открытым кодом: Infinispan, HornetQ, Vert.x, Apache Cassandra и Elasticsearch. Попробуем разобраться, чем Netty так привлекает программистов со всего мира и что он может предложить такого, чего бы не было в JDK.

Xakep #198

Задачи на собеседованиях от Acronis и решения задач от Custis

Сегодня мы поговорим с Евгением Панищевым, руководителем QA Cloud направления международной компании Acronis. Его отдел занимается тестированием всех облачных решений Acronis: от Acronis Backup Cloud до Acronis Disaster Recovery. Задача лично Евгения — следить за тем, чтобы специалисты отдела выполняли свою работу еще лучше и эффективнее.

Xakep #197

Задачи на собеседованиях #197

Наши старые друзья из IT-компании CUSTIS, когда-то одними из первых разместившие задачи в нашей тогда еще новорожденной рубрике, решили вновь порадовать нас хорошей порцией квестов. Ну а DZ Systems прислали нам решения задач, выложенных на суд читателей в апрельском номере, и мы их тоже с удовольствием опубликуем.

Академия C++ #7. Обработка максимальных объемов данных за минимальное время

Чего только не услышишь от апологетов тех же Java или C# про разработку на C/C++! Якобы этот язык устарел и на нем никто не пишет. Вот только когда требуется создать no latency или low latency сервис или нужно сэкономить память и время выполнения узкого места обработки больших объемов данных, то тут же прибегают за помощью к «архаичным» разработчикам на C/C++. Просто потому, что эти ребята умеют вручную управлять памятью и прекрасно представляют, что за начинка у той или иной высокоуровневой операции. Сегодня наша задача — стать на шаг ближе к этим ребятам.

Xakep #197

Геотаргетинг для программиста. Что интересного могут рассказать бесплатные геоинформационные API

Географические координаты — самая ценная инфа, которую веб-разработчик может получить от посетителей сайта. Имея смекалку и зная пару приемчиков, можно многое выяснить о человеке по его местоположению: адрес, какие заведения есть неподалеку, фотографии, сделанные в его районе, на что жалуются соседи и глубину ближайшей реки.

Уроки ядерной физики. Интервью с Франциско Франко, создателем кастомного Android-ядра franco.kernel

Франциско Франко (Francisco Franco) — весьма уважаемый в узких кругах Android-разработчик, известный в первую очередь как создатель кастомного ядра franco.kernel для смартфонов линейки Nexus и превосходного приложения для управления настройками ядра FKUpdater. В перерывах между кодингом ядра Франко занимается и кучей других проектов, поэтому его не так-то легко поймать, но нам он все-таки уделил время и ответил на несколько вопросов.

Пишем виджет для Android, который показывает доступность сайта

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

Учимся работать с Elasticsearch

Несмотря на то что XXI век принес в наши дома (не во все, но всё же) гигабитные каналы связи и котиков на YouTube в разрешении 4K и 60 FPS, основой Сети, самой массовой его частью, все еще остаются текстовые данные. Рефераты и курсовые работы, технические драмы на Хабре и Stack Overflow, сидящий занозой в ... Роскомнадзора Луркмор — все это текст, все это слова. А поскольку каталогизация в реальном мире очевидно хромает, то без хорошего полнотекстового поиска никуда.

Страница 4 из 7В начало...23456 ...

«Хакер» в соцсетях

Telegram ВКонтакте Twitter Facebook
«ХАКЕР» ДОСТУПЕН ТОЛЬКО В ЭЛЕКТРОННОЙ ВЕРСИИ
Оформи подписку — получи:
  • доступ к платным материалам сайта
  • доступ ко всем номерам PDF
6990 р.
на год
720 р.
на месяц
90 р.
за 1 статью

Еженедельный дайджест

Для подписчиков