Pull to refresh
27
0
Михаил Мельник @mike114

User

Send message

Делаем web сервер из старого Android смартфона, без root

Reading time4 min
Views36K

Главная идея была в том, чтобы проверить возможно ли из старого Android устройства сделать "полноценный" сервер с nginx, php-fpm, MariaDB и запустить на этом Wordpress. Оказывается можно и при этом с хорошим результатом.

Устройство: Xiaomi Mi 4c 2015 года, разблокирован разгрузчик, TWRP, Android 10 (Havoc OS 3.0), Gapps не устанавливались для экономии ресурсов, root отсутствует.

Читать далее

«Барби»: какие проблемы инфобеза может показать нам Барбиленд

Level of difficultyEasy
Reading time14 min
Views15K

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

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

Читать далее

Spring Cloud Config и Git. Хранение и распространение конфигураций приложений

Level of difficultyEasy
Reading time5 min
Views14K

Еще одна статья о том, как можно применять Spring Cloud Config Server при выборе Git репозитория как хранилища конфигураций приложений в облаке и не только в облаке.

Читать далее

TypeScript и все что тебе нужно в разработке

Level of difficultyMedium
Reading time6 min
Views38K

Все для работы с продвинутым TS внутри. Generic Types, Mapped Types, Types Guard, Utility Types и многое другое. Шпаргалка с навигацией и примерами.

К изучению

Как мы лажали, открывая очередное юрлицо — на этот раз в США

Reading time11 min
Views18K


Я тут открывал юрлицо в США и сделал всё по инструкции «как не облажаться», но облажался. Уже в новых местах, не предусмотренных инструкцией.

Главная инструкция вот тут, она написана не юристом, но сами юристы подтверждают, что получилась хорошая и на неё же ссылаются, когда нужно быстро ввести в курс дела новичка. Список того, где уже облажались русские участники УКомбината — вот.

Проект внезапно созрел и нужно было пустить инвесторов. Команда немного размазана по планете, поэтому всем было примерно всё равно, где регистрироваться. Есть вообще типовой стартаперский набор: Кипр, прибалты, США, Сингапур, Люксембург. Но не пофиг было российскому стратегу, одному из инвесторов, он хотел на родине. При этом американское корпоративное правило наиболее гибкое + накоплена большая база прецедентов, то есть оно ещё и предсказуемое. А в штате Делавер наиболее квалифицированный суд, и его решения — просто золотой стандарт отрасли. То есть если у вас есть иностранные инвесторы, стоит выбор между Европой, Кипром и США. Из Латвии и Эстонии тяжело выскакивать при росте компании (и за сладкий старт придётся платить условиями дальше), Кипр хорош, но венчурные инвесторы часто ассоциируют его с «русские что-то там мутят», поэтому Делавер.

Поскольку у нас ИТ-бизнес в России, и мы знаем правила ведения ИТ-бизнеса в России, план был такой:

  1. Уговаривать стратега на любую зарубежную юрисдикцию (а для них бы это был первый опыт инвестиций в зарубежный проект);
  2. Как только они дадут добро, за недельку зарегистрироваться, например в Делавере, и принять деньги.

А если стратега не уговорим, то уйдем во все тяжкие согласования венчурной сделки с корпоратом в правовом поле РФ, что одно из самых экстремальных развлечений, доступных бизнесмену. Я наивно полагал, что основные проблемы будут в этой части.

Но нет. Переходим к мякотке.
Читать дальше →

Разбор Android 14 для разработчиков

Reading time23 min
Views26K

Полный разбор всех изменений в Android 14, которые полезно знать всем кто занимается разработкой приложений и их развитием: новые требования по работе в фоне, новые разрешения для работы с медиа, а также закрытие уязвимостей и конечно же немного полезных фичей для пользователей! Все подробности читайте в статье!

Читать далее

Пишем компилятор C в 500 строках Python

Level of difficultyMedium
Reading time20 min
Views14K

Несколько месяцев назад, закончив пост об SDF-пончике, я поставил перед собой задачу написать компилятор C в 500 строках Python1. Насколько сложна эта задача? Оказалось, что довольно сложна, даже после отказа от достаточно большого количества возможностей. Но в то же время она была довольно интересной, а результат оказался на удивление функциональным и вполне простым для понимания!

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

Как узнать больше об Apache Kafka: от базовых настроек до архитектуры сервисов

Level of difficultyEasy
Reading time3 min
Views8.2K

Apache Kafka — распределенный программный брокер сообщений с открытым исходным кодом. Его ключевая задача заключается в сборе данных у приложений и их хранении в распределенном хранилище. Сегодня обсудим литературу, которая поможет разобраться в его работе и понять, какую роль он играет в проектах, связанных с большими данными.  

Представляем вашему вниманию избранную подборку новых высокооцененных книг для начинающих и опытных специалистов.

Читать далее

А мы – настоящие инженеры?

Reading time15 min
Views18K

Мы с Мэттом сидели друг против друга и беззаботно болтали о технологиях и готовке. Раньше мы были шапочно знакомы по Twitter, где он постил разные кулинарные фото. Я даже стал немного завидовать ему и другим жителям пригородов, их мощным газовым горелкам для воков на заднем дворе. Мэтт выступает в качестве «подопытного» в моем новом проекте. Благодаря ему я смогу понять, интересную ли штуку придумал, или игра не стоит свеч.

– А кем ты работаешь?

– Ну, сейчас я занимаюсь разработкой микросервисов для платформы управления социальными сетями.

– А до того?

– Инженер-геолог. Куча горных работ, разные туннели. Гидроэлектростанции. Земляные насыпные плотины – их часто строят рядом с шахтами.

Он рассказал мне о своей старой работе. Его фирму наняли для исследования системы разработки рудника в Британской Колумбии (провинция на западе Канады – Прим. пер.) методом блокового обрушения. Блоковое обрушение – это такой способ разработки шахты, при котором под месторождением роют туннели, чтобы его дестабилизировать. Месторождение медленно обрушается, а руда ссыпается в специальные отводы. «А деньги падают в карман, будто ты их на принтере печатаешь», – добавил Мэт. В чем подвох? Шахта залегала в четырехстах метрах под свалкой токсичных отходов конкурирующей компании. «Может ли статься, что в случае землетрясения отходы затопят шахту и всех умрут?» Мэтту нужно было доказать, что всё в порядке.

Согласитесь, его нынешняя работа – совсем другое дело. «Мой скромный блог куда безопаснее, чем всякие проекты по добыче полезных ископаемых стоимостью в сотни миллионов долларов».

Кажется, моя идея была не так уж плоха…

Читать далее

Собственная копия YouTube

Level of difficultyMedium
Reading time7 min
Views48K


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

В итоге получается, что мы делаем нечто вроде маленькой копии YouTube, только на своём сервере. В определённом смысле это архивная копия на случай удаления видеоконтента из-за цензуры YouTube. Или на случай, если серверы YouTube станут недоступны с территории РФ из-за какого-то «технического сбоя».
Читать дальше →

Готовим микрофронтенды на чистом JS без фреймворков

Level of difficultyMedium
Reading time15 min
Views9.8K

Привет, Хабр! Меня зовут Евгений Лабутин, я разработчик в МТС Digital. Сегодня я расскажу вам о своем рецепте приготовления микрофронтендов без использования каких либо фреймворков. Ведь такие фреймворки как Webpack Module Federation, Single-SPA, SystemJS и подобные вам просто не нужны для написания микрофронтендов, ровно так же как вам не нужен jQuery для написания современных фронтендов. Ведь все необходимое для разработки и работы Микрофронтендов уже встроено во все современные браузеры. Интересно? Добро пожаловать в статью.

Читать далее

Поиск по регулярным выражениям может быть простым и быстрым

Level of difficultyMedium
Reading time28 min
Views10K

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

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

Как оказалось, с тех пор мало что поменялось, так что статья не потеряла своей актуальности.

Обо всех ошибках и опечатках большая просьба сообщать, чтобы я мог их поправить.

Заблудиться в тёмном лесу

Как писать полезные тесты для микросервисов

Level of difficultyMedium
Reading time29 min
Views13K

Привет! Меня зовут Гриша и я бэкенд разработчик на .net 

С друзьями мы часто обсуждаем процессы разработки, в том числе как пишутся автотесты. Я часто слышу о подходах, которые несут боль разработчикам и одновременно с этим приносят мало пользы. 

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

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

Читать далее

Как повысить шансы на хороший найм и оффер

Reading time15 min
Views33K

Привет, Хабр! Это Андрей Смирнов. Вы можете знать меня по выступлениям на конференциях или как ведущего подкаста «Frontend Weekend» и «600k в секунду». Я руковожу большим управлением клиентской разработки в X5Tech — это почти 170 фронтендеров и мобильных разработчиков. Всего провёл более 1000 технических и менеджерских собеседований с фронтендерами и руководителями разработчиков. Научился этому не сразу, сначала отстроил процесс собеседований на небольшом отделе, а потом масштабировал его на департаменты.

В статье поделюсь идеями и расскажу, как проводить собеседования, чтобы оффер принимали как можно больше кандидатов. 

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

Если же вы — кандидат, узнаете как стать заметнее и увеличить шансы на оффер.

Читать далее

Коллеги, вы меня огорчаете

Reading time12 min
Views201K
В июле и августе 2020 года я, с подачи Григория Петрова, проводил для компании Evrone технические интервью на позицию Senior Golang Backend developer. И, видимо, буду вынужден продолжать проводить, о чём ниже.

Задача формулировалась как «найти человека, который сможет задать и поддерживать высокий уровень профессионализма в применении языка Go». То есть, сформулирована она была по-человечески, перевод на канцелярит — мой. Под эту задачу я сформировал новый опросник вместо того, которым пользовался несколько лет — старый был с жестким закосом под DevOps. Методику, которой я пользуюсь для создания опросников и количественной оценки соответствия кандидатов, я излагал в своем докладе «Техническое интервью как инженерная задача» на конференции Saint TeamLead 2019.

И вот что я хочу сказать вам, коллеги: вы меня огорчаете.


Читать дальше →

Такое тимлидство нам не нужно

Level of difficultyEasy
Reading time7 min
Views34K

Привет, Хабр. Я тимлид уже 4 года. По истечению этого времени накопилась некоторая усталость и отчасти негодование от этой роли(должности). Поэтому хочу накинуть говна на вентилятор и поразмышлять с вами о руководстве в IT, каким оно бывает, какое оно должно быть. Надеюсь у вас тоже на этот счет есть свои мысли и вы мне про них расскажете.

Узнать все про тимлида

Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля

Level of difficultyMedium
Reading time17 min
Views85K
image

К огромному сожалению, старые смартфоны всё чаще и чаще находят своё пристанище в мусорном баке. К прошлым, надежным «друзьям» действует исключительно потребительское отношение — чуть устарел и сразу выкинули, словно это ненужный мусор. И ведь люди даже не хотят попытаться придумать какое-либо применение гаджетам прошлых лет! Отчасти, это вина корпораций — Google намеренно тормозит и добивает довольно шустрые девайсы. Отчасти — вина программистов, которые преследуют исключительно бизнес-задачи и не думают об оптимизации приложений совсем. В один день я почувствовал себя Тайлером Дёрденом от мира IT и решил бросить вызов проприетарщине: написать свою прошивку для уже существующего смартфона с нуля. А дабы задачка была ещё интереснее, я выбрал очень распространенную и дешевую модель из 2012 года — Fly IQ245 (цена на барахолках — 200-300 рублей). Кроме того, у этого телефона есть сразу несколько внешних шин, к которым можно подключить компьютер или микроконтроллер, что даёт возможность использовать его в качестве ультрадешевого одноплатника для DIY-проектов. Получилось ли у меня реализовать свои хотелки? Читайте в статье!
Читать дальше →

Тимлид на испытательном сроке

Level of difficultyEasy
Reading time5 min
Views19K

Испытательный срок – сложное время. Нужно разобраться в проекте, процессах. Привыкнуть к новой компании. А если ты тимлид? Ко всему этому нужно еще и быстро разобраться с командой и показать какие-то результаты руководству. Сложность возрастает.

Что делать тимлиду, чтобы эффективно пройти испытательный срок? Приглашаю почитать.

Читать далее

Обзор AI сервисов для создания и оформления презентаций

Level of difficultyEasy
Reading time10 min
Views39K

Меня зовут Андрей Цыган - и я исследую практическое применение AI и сервисов со стороны предпринимателя. Дизайнерских навыков у меня нет, а потребность в презентациях всегда была достаточно большая.

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

Читать далее

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

Level of difficultyMedium
Reading time10 min
Views22K
image

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

Information

Rating
Does not participate
Location
New South Wales, Австралия
Date of birth
Registered
Activity