Как стать автором
Обновить
0
0

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

Отправить сообщение

Исходники закрыты, но мы не сдадимся: Пишем полностью нативное GUI-приложение под No-Name смартфон без Android

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров20K
image

Для многих разработчиков приложений далеко не секрет, что экосистема Android не предполагает написание полностью нативных приложений: в этой платформе очень многое завязано на Java и без ART можно запустить только простые службы без какого-либо интерфейса. Однако, есть один способ писать практически под «голый» Linux, не перекомпилируя ядро и при этом пользоваться самыми интересными фишками устройства без оверхеда в виде тяжелого Android: ускорение 3D-графики (OpenGLES), микшер звука, ввод с различных устройств, OTG, Wi-Fi и если очень постараться — даже 3G. Это открывает множество разных интересных применений старым устройствам: «железо» смартфонов зачастую гораздо мощнее современных недорогих одноплатников. Сегодня я покажу вам, как написать и запустить программу, которая полностью написанное на C без Android, на No-Name Android-смартфоне практически без модификаций. Интересно? Жду вас в статье!
Читать дальше →
Всего голосов 81: ↑80 и ↓1+91
Комментарии38

Hello World на регистрах в ПЛИС — мигаем светодиодом без регистрации, SMS и HDL

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров3.4K

Воспользуемся одним лишь схемным редактором. Ну и ещё tcl-скриптом. И программатором. И немножко осциллографом...

Читать далее
Всего голосов 15: ↑15 и ↓0+15
Комментарии6

Разработка расширяемого алгоритма строкового калькулятора

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров2.8K

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

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии11

10 приёмов, чтобы получить быструю и качественную картинку в Midjourney

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров18K

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

Из всех сетей генерации изображений мне больше всего понравился Midjourney - оптимальное качество на потраченное время. Я понимаю в самом Midjourney (не говоря про Stabble Diffusion) можно углубиться в детали - но я не дизайнер или AI artist, мои задачи прикладные.

У меня уже сгенерированно более 4000 изображений и я выделил 10 методов, которые позволяют достаточно быстро и качественно получить нужный мне контент.  Они могут использоваться как обложка к посту или лонгриду, или я чаще использую в презентации.
Надеюсь, эта статья сэкономит вам несколько часов!

Читать далее
Всего голосов 17: ↑15 и ↓2+18
Комментарии4

Реализуем с нуля функцию косинуса на языке C

Уровень сложностиСложный
Время на прочтение10 мин
Количество просмотров14K

Я изучил, как реализовать функцию косинуса при помощи нескольких разных подходов. Одна из реализаций почти в три раза быстрее, чем math.h, но придётся смириться с точностью до четырёх знаков после запятой.

Задавались ли вы когда-нибудь вопросом, как в математической библиотеке вашего любимого языка программирования реализованы тригонометрические функции, например, косинус? Это настолько популярная функция, что её можно встретить в каждой математической библиотеке, поэтому реализация должна быть довольно простой, ведь так? Ну уж нет. Почти совершенно точно, что это не так.

Моё исследование началось с того, что мой друг и коллега Стивен Марц работал над ядром операционной системы и я предложил, чтобы он отрисовал на экране функцию косинуса. Я часто использую косинус в качестве «hello, world» для графических приложений. Возникла проблема: его ядро не задействовало стандартную библиотеку C (а значит, прощай math.h!), а целевой платформой являлась архитектура RISC-V (а значит, никаких подобий команды fcos Intel!).

Так началось моё долгое приключение.
Читать дальше →
Всего голосов 43: ↑40 и ↓3+54
Комментарии29

Откройте для себя весь потенциал побитовых операторов. Без математики

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров22K

При изучении нового языка программирования в его документации мы обычно находим таблицу, где перечислены различные операторы, которые можно использовать с числами. Помимо хорошо знакомых нам +, -, * и /, в ней всегда присутствует раздел, который многие пропускают. Я имею ввиду раздел с побитовыми операторами: <<, >>, &, ^ и |.

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

Побитовые операторы позволяют управлять двоичным представлением данных, что на деле оказывается очень полезной возможностью. Поэтому предлагаю познакомиться с этим инструментом и научиться грамотно его использовать.
Читать дальше →
Всего голосов 35: ↑28 и ↓7+35
Комментарии20

Github pages для pet проектов

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров20K

Как можно использовать github pages для своих fullstack pet проектов с бэкендом на статических файлах)

Читать далее
Всего голосов 13: ↑11 и ↓2+11
Комментарии6

Соседняя очередь всегда движется быстрее

Время на прочтение13 мин
Количество просмотров24K

Вы не используете очередь? Вы просто не умеете её готовить. Но прежде чем этому научиться, нужно разобраться, что это вообще такое и где это применяется. Потому что большинству достаточно 10 000 запросов в секунду, а это дает любой брокер. Но если вам нужно больше, придется погрузиться в очереди достаточно глубоко.

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

Читать далее
Всего голосов 43: ↑42 и ↓1+51
Комментарии2

Hard skills для входа в тестирование бэка

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров16K

Привет, Хабр! Меня зовут Ольга Кузнецова, я Senior QA инженер, более 7-ми лет работаю в ИТ-сфере в различных должностях и сегодня хочу поговорить о минимальных необходимых hard skills для тестирования бэкенда. 

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

Информация изложена “от общего к частному”, и в каждом разделе рассказано про минимально-достаточные знания. В самом начале речь пойдёт про навыки, которые необходимы любому тестировщику, в том числе, и бэкэндеру, так как я считаю это неотъемлемой частью. После перейдём к более узко-направленным вещам.

Читать далее
Всего голосов 5: ↑4 и ↓1+6
Комментарии16

Что такое URL

Время на прочтение8 мин
Количество просмотров17K

В прошлом году Дэниэл Стенберг, создатель curl, написал пост об одном забавном URL:

http://http://http://@http://http://?http://#http://

Пост интересен, рекомендую его прочитать. Автор объясняет, как устроен URL, и как различные системы его обрабатывают.

Но в том посте не разобрано, в частности, как сказывается такая разница в обработке одних и тех же URL различными системами. В этой лекции 2017 года (слайдывидео) Оранж Цай рассматривает и многие другие несогласованности между различными библиотеками, а также риски из области безопасности, возникающие из-за такой несогласованности.

В лекции данная тема раскрыта в мельчайших (и очень увлекательных) деталях, но здесь я хотел бы резюмировать суть.

Читать далее
Всего голосов 22: ↑22 и ↓0+22
Комментарии0

Реверс инжиниринг для самых маленьких на практике

Время на прочтение11 мин
Количество просмотров37K

Скомпилированное приложение является «чёрным ящиком». Чтобы туда заглянуть, восстановить алгоритм работы применяется реверс‑инжиниринг. Это непростой навык с высоким порогом входа. В статье мы попробуем взять дизассемблер, несложную задачку и пойдём в бой. Материал будет полезен тем, кому хочется с чего-то начать и погрузиться в тему реверса.

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

Читать далее
Всего голосов 47: ↑47 и ↓0+47
Комментарии19

Пишем расширение Chrome, которое ворует вообще всё

Время на прочтение10 мин
Количество просмотров24K

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

Мы добьёмся двух целей:

  • Исследуем грани возможного для расширений Chrome
  • Продемонстрируем, что вы подвержены опасности, если не будете аккуратны с тем, что устанавливаете.

Примечание: на самом деле реализация этого расширения — злодейство. Вам не следует использовать в злонамеренных целях полномочия расширений, красть пользовательские данные и создавать зловредные браузерные расширения. Любые реализации, производные расширения или применение этих техник без разрешения Национальной баскетбольной ассоциации не рекомендуются.
Читать дальше →
Всего голосов 33: ↑31 и ↓2+37
Комментарии12

Самостоятельный парсинг ваших конкурентов. Топ 10 расширений для Chrome, которые не требуют программирования

Время на прочтение12 мин
Количество просмотров8.2K

Меня зовут Максим Кульгин, моя компания xmldatafeed занимается парсингом сайтов в России порядка четырёх лет. Подготовили для вас подробный обзор расширений для Chrome, с помощью которых вы можете сами заниматься парсингом без привлечения таких компаний, как наша. Сервисы зарубежные, часть бесплатные — бери и делай, это не сложно!

Иногда в сети можно услышать негодования по поводу того, что описываемые подходы к парсингу слишком сложные для обычного пользователя. И хорошо бы «взять всё и упростить», чтобы можно было справиться самостоятельно.

Что ж, вашему вниманию предлагается экспресс-обзор решений из серии «проще некуда»: рассматриваемые инструменты даже не надо устанавливать на компьютер — они настраиваются простыми движениями мыши. При этом такие инструменты нельзя назвать примитивными. Хотя некоторые — да, идут по пути минимализма возможностей, но зато другие являются по сути «тонким клиентом», за которым спряталась мощь облачного сервиса, богатство огромного пула прокси-серверов и хитрость искусственного интеллекта.

Невозможно представить современный бизнес без аналитики информации, собранной в интернете. Очевидно, что добывать данные вручную долго не получится: не хватит ни времени, чтобы просматривать страницы, ни внимания, чтобы не допускать ошибок при нескончаемых операциях копирования и вставки. URL-адреса, страницы, таблицы, картинки и скрытые от глаза данные — это лишь небольшой перечень того, что надо «прочитать» на веб-страницах, сохранить и систематизировать.

И единственным выходом в таких случаях становится автоматизация. А когда мы говорим об автоматизации сбора данных, представленных где-то в сети, то мы говорим о парсинге.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии3

50+ бесплатных курсов и ресурсов по аналитике данных от Harvard, Google, Stanford (по которым я училась)

Время на прочтение4 мин
Количество просмотров53K

Всем привет, меня зовут Маруся, я аналитик данных и на досуге веду телеграм-канал про аналитику.

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

Сейчас предлагают много платных программ, но если у вас есть интерес и вы можете себя организовать на учебу самостоятельно - то обучение по бесплатным курсам вам подойдет. Тем более что это обучение от лучших компаний и университетов мира - Harvard, IBM, Google, Stanford и других.

Читать далее
Всего голосов 11: ↑9 и ↓2+10
Комментарии5

Офлайновый мир: обзор инструментов цифровых «выживальщиков» на 2022 год

Время на прочтение7 мин
Количество просмотров12K

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

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

Читать далее
Всего голосов 40: ↑40 и ↓0+40
Комментарии14

Как макросы в Confluence упрощают жизнь

Время на прочтение9 мин
Количество просмотров20K

Многие так или иначе сталкивались с продуктами компании Atlassian, такими как Confluence, Jira. Их использование позволяет организовать работу команды разработки наиболее удобным способом, обеспечить доступ к информации проекта. Кроме того, что эти продукты обеспечивают онлайн-доступ к основным материалам проекта, они также включают в себя много интересных плюшек. В этой статье ведущий системный аналитик ДОМ.РФ Екатерина Шипкова расскажет о полезных фичах Confluence.  

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

Читать далее
Всего голосов 2: ↑1 и ↓10
Комментарии1

Подход к ведению документации на ОС: наш опыт

Время на прочтение8 мин
Количество просмотров4.1K

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

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии4

Пишу диаграммы последовательностей текстом (кодом). Вы тоже можете

Время на прочтение5 мин
Количество просмотров30K

Я работаю бизнес-аналитиком. Создание диаграмм последовательностей (sequence diagram) – часть регулярной рутины. Всё классно. Но процесс правок…

К счастью, я нашел для себя решение. Теперь я не рисую sequence diagram, а пишу "кодом". Это легко, быстро и удобно.

Читать далее
Всего голосов 29: ↑29 и ↓0+29
Комментарии36

Полевой набор пентестера

Время на прочтение7 мин
Количество просмотров30K

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

Заглянуть внутрь гаджет-органайзера
Всего голосов 66: ↑66 и ↓0+66
Комментарии16

Цивилизация Пружин, 3/5

Время на прочтение10 мин
Количество просмотров57K

Часть 3. Цивилизация пружин



[Image credit: By Lothar Spurzem — Own work, CC BY-SA 2.0 de, commons.wikimedia.org/w/index.php?curid=39574590]

Предыдущая часть. Краткое содержание предыдущей серии.

Итак, какие же ещё есть способы хранения энергии, помимо химического топлива? Пусть даже не для ракет, а вообще?

Начнём с электрической батареи. Вот хотя бы литиево-ионной. Откуда в ней берётся энергия?

Всё просто, там идёт[210] электрохимическая реакция:

LiC6 + CoO2 <-> C6 + LiCoO2

Идёт налево — песнь за заряжается. Направо — разряжается.
Вы, конечно, уже догадались
Всего голосов 201: ↑198 и ↓3+195
Комментарии110
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Hessen, Германия
Зарегистрирована
Активность