Pull to refresh
0
0
Send message

Пишем модуль ядра Linux: I2C

Reading time15 min
Views37K
Хабр, привет!

Данная статья посвящена разработке I2C (Inter-Integrated Circuit) модуля ядра Linux. Далее описан процесс реализация базовой структуры I2C драйвера, в которую можно легко добавить реализацию необходимого функционала.

Опишем входные данные: I2C блок для нового процессора «зашитый» на ПЛИС, запущенный Linux версии 3.18.19 и периферийные устройства (EEPROM AT24C64 и BME280).

Принцип работы I2C достаточно прост, но если нужно освежить знания, то можно почитать тут.


Рисунок 1. Временная диаграмма сигналов шины I2C
Читать дальше →
Total votes 52: ↑52 and ↓0+52
Comments6

Защита ASP.NET приложений от взлома

Reading time13 min
Views30K

ASP.NET MVC — не самый хайповый, но довольно популярный стек в среде веб-разработчиков. С точки зрения (анти)хакера, его стандартная функциональность дает тебе кое-какой базовый уровень безопасности, но для предохранения от абсолютного большинства хакерских трюков нужна дополнительная защита. В этой статье мы рассмотрим основы, которые должен знать о безопасности ASP.NET-разработчик (будь то Core, MVC, MVC Razor или Web Forms).


Читать дальше →
Total votes 30: ↑27 and ↓3+24
Comments11

Ловкость рук и никакого мошенничества: практические советы по ускоренному обучению дизайну для разработчиков

Reading time6 min
Views52K
Улучшаем дизайн проекта с помощью тактически грамотных действий, а не таланта.

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

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

Легко опустить руки и сказать: «Я никогда не смогу сделать это должным образом, я не художник!», Но, оказывается, есть уйма ловких приёмов, которые вы сможете использовать, чтобы поднять свою работу на другой уровень, не имея опыта в графическом дизайне.

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

1. Для создания иерархии используем цвет и вес вместо размера



Читать дальше →
Total votes 68: ↑67 and ↓1+66
Comments28

Руководство по аналитике для основателя стартапа

Reading time12 min
Views21K


Вам нужна аналитика.


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


Это пост о том, как создать аналитику в вашей организации. Речь пойдёт не о том, какие метрики отслеживать (об этом уже написано много хороших постов), а о том, как сделать так, чтобы ваш бизнес их генерировал. На практике выясняется, что на вопрос реализации —  как мне построить бизнес, который добывает данные для принятия решений? —  ответить гораздо труднее.

Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments5

Подборка ресурсов для соискателя на вакансию программист

Reading time2 min
Views18K



Занимаясь с 2013 г. обучением Java и трудоустройством выпускников, я накопил достаточно большую коллекцию ссылок на темы составления резюме, онлайн тестов, подготовки к собеседованию и прохождения интервью, поиска работы и советов новичкам. Часть подходит всем кандидатам, часть (по подготовке) специфична для Java. Предлагаю Вашему вниманию эту подборку:

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

UX-дизайн: 50 вещей, которые вы наверняка забыли сделать

Reading time8 min
Views37K
«Я не злюсь, я просто разочарован.»
— PM

image


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

Представляем вам чеклист из 50 пунктов для самопроверки. Вот примерные подразделы:

  1. Логин и регистрация
  2. Первый опыт
  3. Важные детали
  4. Запуск
  5. Профиль
  6. Безумные потоки


Total votes 33: ↑26 and ↓7+19
Comments37

Как написать свой первый Linux device driver

Reading time7 min
Views60K
Здравствуйте, дорогие хабрачитатели.

Цель данной статьи — показать принцип реализации драйверов устройств в системе Linux, на примере простого символьного драйвера.

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

Это моя первая статья, пожалуйста не судите строго!

P.S

Получилось слишком много букв, поэтому я принял решение разделить статью на три части:

Часть 1 — Введение, инициализация и очистка модуля ядра.
Часть 2 — Функции open, read, write и trim.
Часть 3 — Пишем Makefile и тестируем устройство.

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

Итак, начнем.
Читать дальше →
Total votes 59: ↑52 and ↓7+45
Comments41

Великолепная подборка бесплатных шрифтов: лучшие из лучших

Reading time10 min
Views185K
В этой статье — великолепная подборка из 55 бесплатных шрифтов, которые были отобраны из тысяч предлагаемых на сегодняшний день в сети Интернет. Коллекции шрифтов, перечисленных ниже, можно скачать и использовать в различных проектах.



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

Читать дальше →
Total votes 21: ↑17 and ↓4+13
Comments20

Цвет в дизайне интерфейсов: инструкция по применению

Reading time7 min
Views56K


Как создать чистый интерфейс, используя всего лишь один цвет? Вы узнаете из этой статьи. Перевод «Я люблю ИП».


Будучи по большому счёту дизайнером-самоучкой, мне всегда было интересно, почему так много статей и сайтов говорят о теории цвета и цветовых палитрах. По моему опыту, вероятность сделать красивый дизайн, использую «сплит-комплиментарную палитру», стремится к нулю.


У меня есть другое мнение на этот счёт: теория цвета бесполезна.


Но если теория цвета не является прочной основой для выбора цвета в дизайне интерфейсов, то что тогда является?


Вот вам мой ответ: модификация цвета. Всё дело в небольших изменениях цвета, а не в их выборе из цветового круга.


Другими словами: основным навыком в придании цвета дизайну интерфейсов является умение модифицировать один основной цвет во множество различных вариаций.


Я знаю, что это звучит немного странно. Но послушайте меня, я дам вам практическую инструкцию для адаптации цвета в вашем дизайне.


Вы готовы? Тогда поехали.

Читать дальше →
Total votes 57: ↑56 and ↓1+55
Comments24

Android: динамически подгружаем фрагменты из сети

Reading time5 min
Views16K
В этой статье мы рассмотрим, как загружать классы (в том числе, фрагменты) из сети во время выполнения программы, и использовать их в своем Android-приложении. Область применения подобной технологии на практике — это отдельная тема для разговора, мне же сама по себе реализация данной функциональности показалась довольно интересной задачей.

Приступим.
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments19

Когда нужен корпоративный магазин приложений

Reading time9 min
Views4.3K

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


Но давайте остановимся на одной "ложке дёгтя". Идиллическую картину может испортить вопрос распространения и обновления приложений среди сотрудников. Как показывает опыт, мало написать корпоративное приложение. Нужно ещё найти удобный способ доставить его до целевой аудитории, а затем делать обновления.


Мы в EastВanc Technologies написали некоторое количество корпоративных мобильных приложений, и всегда вопрос с установкой и обновлением вставал остро. Среди всех вариантов один нам кажется достаточно технологичным и интересным – свой магазин приложений. В посте поделимся деталями, как мы реализовали магазин под Android для пользователей корпоративных приложений.


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

Как запихнуть свой сенсор в Android OS

Reading time38 min
Views22K

Как-то раз программисты сидели и писали очередной температурный сенсор и программы с кнопочками. И вдруг оказалось, что этот сенсор хочет себе один небольшой производитель телефонов в будущей модели. Так образовалась задача поддержать I2C/GPIO сенсор на уровне Android OS, так как сенсор обещает быть неотъемлимой частью самого телефона.

Будучи глубоким субподрядом, надежды на быстрый и регулярный отклик от конечного заказчика не было, решили потренироваться на кошках и засунуть нашу железяку в какое-нибудь доступное устройство с Android.
Как оно было
Total votes 29: ↑28 and ↓1+27
Comments10

Бесплатные учебные курсы по ASP.NET Core в виртуальной академии Microsoft

Reading time3 min
Views34K
Как только Microsoft объявила о том, что .NET станет opensource и сможет работать не только на Windows, но и на других операционных системах, что было весьма актуально в связи с наметившемся трендом на импортозамещение, переход на Linux и т.п., меня заинтересовал этот проект. Я стал искать информацию. И в Виртуальной Академии Microsoft нашел курс «What’s New with ASP.NET 5». Но проект еще только развивался. Вносились изменения. Версии не всегда были совместимы между собой. И я решил подождать пока процесс стабилизируется. Появится финальная версия. И, возможно, исправления к финальной версии, как это нередко случается.

В результате вместо ASP.NET 5 в итоге появились .NET Core 1.0 и ASP.NET Core 1.0. Существующий «полный» фреймворк .NET был ограничен Windows, а .NET Core стал кроссплатформенным и нацелен на работу в облаке. Я решил вернуться к его изучению и посмотреть, что сейчас мне могут предложить в Виртуальной Академии Microsoft.
И вот, что я нашел для себя.
Читать дальше →
Total votes 15: ↑13 and ↓2+11
Comments9

Что читают основатели криптовалютных стартапов: 23 книги, которые за прошедший год прочел CEO Coinbase

Reading time4 min
Views9.8K
imageВ начале 2016 года CEO Coinbase Брайан Армстронг поставил себе цель читать хотя бы по одной книге в месяц. Исходя из информации в его блоге, ему удалось выполнить и даже перевыполнить свой «план», в основном слушая аудиокниги во время тренировок и поездок за рулем.

Ниже список прочитанных Армстронгом книг с его комментариями. Жирным выделены особенно понравившиеся.



  1. «Сделано, чтобы держаться: почему одни идеи выживают, а другие нет» (Made To Stick: Why Some Ideas Survive and Others Die).
    Книга о том, как сделать месседж запоминающимся, чтобы он быстро распространялся.

  2. «Первый игрок, приготовьтесь» (Ready Player One).
    Захватывающее повествование о возможном варианте развития виртуальной реальности. Люди будут проводить всё больше и больше времени в метавселенной (примечание: и, вероятно, перейдут на электронную валюту).

  3. «Аутсайдеры: восемь необычных CEO и их бескомпромиссно рациональный рецепт успеха» (The Outsiders: Eight Unconventional CEOs and Their Radically Rational Blueprint for Success).
    Истории о восьми CEO и о том как они достигли вершин мастерства в управлении капиталом.

Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments4

Заметка о способе отладки блокировок в ядре Linux

Reading time3 min
Views6.7K

Всем привет! Данная заметка касается одного практического приёма, который я использовал при решении задачи определения места в ядре ОС Linux, где удерживается определённая спин-блокировка (спин-лок). Данная проблема возникла достаточно спонтанно и, учитывая сложность ядра, могла бы потребовать большое количество времени для решения. Если Вам это интересно, прошу читать далее...

Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments12

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

Reading time5 min
Views190K


Полтора года назад я принял вызов прочитать 100 книг за год. Авантюра полностью себя не оправдала, так как некоторые книги я перечитывал, но однозначно оказалась полезной. По итогам последних двух лет я составил список книг, которые каким-то образом повлияли на мою жизнь. Составлял я его для себя, но позже решил, что он пригодиться и вам.
Читать дальше →
Total votes 44: ↑33 and ↓11+22
Comments49

Заменяем бут-анимацию Android устройства на мелькающие логи Linux ядра

Reading time3 min
Views35K
После разработки кастомного загрузчика для своего телефона мне захотелось реализовать вывод ядерных логов на дисплей, как это умеют делать десктопные дистрибутивы Linux. А всё потому, что лично мне при загрузке телефона намного интереснее наблюдать мелькающие kmsg логи, нежели наблюдать сначала логотип загрузчика, а затем ещё и бут-анимацию Android системы. За два года «скучные обоины» уже приелись.

Сейчас попытаюсь вкратце рассказать о модуле LLCON для Android ядра, который реализует низкоуровневый вывод kmsg логов на дисплей.
Total votes 61: ↑56 and ↓5+51
Comments28

SEO оптимизация. Начало

Reading time14 min
Views109K


Здрасте!
Множество информации по SEO (оптимизация, продвижение, вот это вот все) разбросано по просторному интернету, создано множество статей и форумных топиков на эту тему. В данном посте, я собрал рекомендации и инструменты, которые касаются непосредственной страницы сайта (структура, код, вот это вот все).

В статье вы найдете:
  • структурные элементы страницы: заголовки, картинки, URL, контент. Рекомендации по их использованию и оценки важности в ранжировании.
  • микроразметка: кто она и с чем ее едят. Рассмотрены schema.org и OpenGraph
  • дана оценка инструментам с точки зрения важности для ранжирования, usability или же поведенческих факторов
  • на примере крупный процветающих сайтов рассмотрены примеры использования описанного инструментария

Статья носит образовательный характер, и поэтому даже если вы собаку съели в данной области, можете зайти и оставить свой профессиональный комментарий и оценку содержания поста.
Читать дальше →
Total votes 69: ↑50 and ↓19+31
Comments67

Как общаться с заказчиками и договариваться о проектной работе

Reading time26 min
Views39K
Я занимаюсь мобильной разработкой в статусе ИП вот уже полтора года. За это время пришлось поработать с разными людьми. После одного досадного случая, я решил, что мне необходимо усилить навыки общения с заказчиками и отстаивания своих интересов. Я попытался собрать свой опыт и опыт своих коллег. В результате получилось что-то вроде методических указаний для фрилансеров. Начинающих и не только.
Читать дальше →
Total votes 29: ↑21 and ↓8+13
Comments10

Information

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