Pull to refresh
0
0

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

Send message

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

Level of difficultyMedium
Reading time10 min
Views21K
image

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

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

Level of difficultyEasy
Reading time15 min
Views3.5K

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

Читать далее
Total votes 15: ↑15 and ↓0+15
Comments6

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

Level of difficultyMedium
Reading time10 min
Views2.9K

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

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments11

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

Level of difficultyEasy
Reading time7 min
Views19K

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

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

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

Читать далее
Total votes 17: ↑15 and ↓2+18
Comments4

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

Level of difficultyHard
Reading time10 min
Views15K

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

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

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

Так началось моё долгое приключение.
Читать дальше →
Total votes 43: ↑40 and ↓3+54
Comments29

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

Level of difficultyMedium
Reading time13 min
Views25K

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

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

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

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

Reading time13 min
Views25K

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

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

Читать далее
Total votes 43: ↑42 and ↓1+51
Comments2

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

Level of difficultyEasy
Reading time7 min
Views16K

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

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

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

Читать далее
Total votes 5: ↑4 and ↓1+6
Comments16

Что такое URL

Reading time8 min
Views19K

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

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

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

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

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

Читать далее
Total votes 22: ↑22 and ↓0+22
Comments0

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

Reading time11 min
Views40K

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

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

Читать далее
Total votes 47: ↑47 and ↓0+47
Comments19

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

Reading time10 min
Views25K

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

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

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

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

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

Reading time12 min
Views8.7K

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

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

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

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

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

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments3

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

Reading time4 min
Views56K

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

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

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

Читать далее
Total votes 11: ↑9 and ↓2+10
Comments5

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

Reading time7 min
Views13K

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

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

Читать далее
Total votes 40: ↑40 and ↓0+40
Comments14

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

Reading time9 min
Views22K

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

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

Читать далее
Total votes 2: ↑1 and ↓10
Comments1

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

Reading time8 min
Views4.2K

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

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments4

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

Reading time5 min
Views32K

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

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

Читать далее
Total votes 29: ↑29 and ↓0+29
Comments36

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

Reading time7 min
Views31K

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

Заглянуть внутрь гаджет-органайзера
Total votes 66: ↑66 and ↓0+66
Comments16

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

Reading time10 min
Views58K

Часть 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

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

Information

Rating
Does not participate
Location
Hessen, Германия
Registered
Activity