Pull to refresh
53
0

Разработчик под Android, перешедший на Rust

Send message

12 причин не идти в стартап

Reading time23 min
Views51K
За последние 10 лет в мире IT довольно прочно укоренился ряд возвеличенных стереотипных представлений о стартапах. Этому во многом способствовали миллионные тиражи книг-биографий известных CEO, которые тогда, много лет назад основали свой стартап, а потом он вырос в гигантскую корпорацию вроде Google, Amazon, Facebook. Этому способствует и несколько однобокая и фрагментированная подача материалов в it-сообществах, в том числе и на habr.com. И вряд ли в этом можно кого-то винить, но попробовать разобраться и приоткрыть ту сторону медали, которая не так масштабно освещена, всё же можно.

Я адресую эту статью начинающим программистам, которые либо не имеют опыта работы вообще, либо имеют небольшой опыт (до 5 лет). Как показывает практика, именно эта категория людей имеет максимально искаженные представления о стартапах в сфере IT. Искаженные – в том смысле, что на вопрос «что можешь сказать положительного о стартапах?», они могут долго пересказывать чужие и в немалой степени устаревшие мысли, а на вопрос «что не так со стартапами?» — в ответ могут лишь неуверенно вопросить: «они могут не выстрелить?»

Эта статья предназначена тем, кто просто никогда не задумывался над вопросом, почему не стоит идти работать в стартап в качестве сотрудника. Поехали!
Читать дальше →

20 инструментов Android-разработчика, о которых вы могли не знать

Reading time7 min
Views17K

Набор полезных, но не очень известных инструментов и библиотек Android.

Работая над статьями о 30 лучших библиотеках и проектах Android 2019 г. и 25 лучших библиотеках и проектах Android 2020 г., я наткнулся на множество замечательных инструментов и проектов, которые могут пригодиться в разработке приложений для Android — ниже они приведены в случайном порядке. Пользуйтесь!

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

Опенсорсные альтернативы Google Analytics на своём хостинге

Reading time5 min
Views25K

Веб-интерфейс опенсорсного сервиса аналитики Matomo

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

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

К счастью, есть ряд свободных, опенсорсных альтернатив Google Analytics, которые к тому же работают быстрее, поскольку скрипты меньше по размеру и загружаются с вашего собственного хостинга, а не со стороннего сервера. Информация о пользователях никуда не отправляется, а многие сервисы не используют куки и соответствуют законодательству GDPR о защите личных данных.
Читать дальше →

Российские госсайты: посторонним вход разрешен

Reading time3 min
Views13K
image

В 2015 году мы задались вопросом: как на сайтах органов власти обстоят дела с загрузкой ресурсов из сторонних источников? А то XSS, утечка данных о посетителях и это все… Оказалось, очень даже обстоят: на 92% госсайтов об этом всем даже не задумывались и грузили все подряд – счетчики, шрифты, библиотеки JavaScript, виджеты, информеры, реклама… только что криптомайнеров не было (но это неточно).
Читать дальше →

Как защитить свой публичный сайт с ESNI

Reading time5 min
Views14K
Привет Хабр, меня зовут Илья, я работаю в платформенной команде компании Exness. Мы разрабатываем и внедряем базовые инфраструктурные компоненты, которые используют наши продуктовые команды разработки.

В этой статье я бы хотел поделиться опытом внедрения технологии encrypted SNI (ESNI) в инфраструктуре публичных веб-сайтов.


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

Как я использую AirDrop вместо Тиндера

Reading time10 min
Views174K


В устройствах Apple есть прекрасная функция Airdrop — она сделана для пересылки данных между устройствами. При этом никакой настройки и предварительного сопряжения устройств не требуется, все работает из коробки в два клика. Для передачи данных используется надстройка над Wi-Fi, и поэтому данные передаются с огромными скоростями. При этом используя некоторые трюки, можно не просто пересылать файлы, но и узнать телефонный номер человека, находящегося с тобой в одном вагоне метро.

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

Под катом я расскажу за всю хурму.
Компания RUVDS.COM не несёт ответственности за повторение действий описанных в данном материале.
Читать дальше →

Знакомство с wal-g системой бекапирования PostgreSQL

Reading time6 min
Views37K

WAL-G — простой и эффективный инструмент для резервного копирования PostgreSQL в облака. По своей основной функциональности он является наследником популярного инструмента WAL-E, но переписанным на Go. Но в WAL-G есть одна важная новая особенность — дельта-копии. Дельта-копии WAL-G хранят страницы файлов, изменившиеся с предыдущей версии резервной копии. В WAL-G реализовано довольно много технологий по распараллеливанию бэкапов. WAL-G работает гораздо быстрее чем, WAL-E.

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

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

Reading time15 min
Views15K
Привет, Хабр! Представляю вашему вниманию перевод статьи Why Development Teams are Slow: Common Software Jams and Solutions автора Эрика Эллиота.



Если вы больше любите слушать, чем читать, то в аудио формате перевод доступен на Яндекс.Музыке и в Apple Podcasts

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

  • Нереалистичные ожидания
  • Слишком много открытых тикетов
  • Неконтролируемый объем задач
  • Накопление код ревью
  • Плохая подготовка
  • Выгорание разработчиков
  • Баги
  • Текучка кадров

Медлительность разработчиков — не корень проблемы. Это симптом других перечисленных проблем. В 100% случаев, если команда разработки работает слишком медленно — это вина руководителя. Но хорошая новость заключается в том, что вы в силах это исправить. Давайте рассмотрим каждый из пунктов подробнее, чтобы разобраться, что мы можем с каждым из них сделать.
Читать дальше →

SHISHUA: самый быстрый в мире генератор псевдослучайных чисел

Reading time14 min
Views17K

Полгода назад мне захотелось создать лучший генератор псевдослучайных чисел (ГПСЧ) с какой-нибудь необычной архитектурой. Я думал, что начало будет лёгким, а по мере работы задача станет медленно усложняться. И думал, смогу ли я научиться всему достаточно быстро, чтобы справиться с самым сложным.

К моему удивлению, сложность возрастала не линейно. Побайтовое тестирование по критерию хи-квадрат оказалось очень трудным! Позднее столь же трудно было пройти тесты diehard. Я опубликовал текущие результаты, чтобы понять, какие ещё трудности меня ожидают. Однако тест PractRand в тот раз пройти не удалось.

Затем было очень трудно прохождение теста BigCrush.

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

Главная причина, почему не Linux

Reading time4 min
Views174K
Сразу хочу сказать, что речь в статье пойдёт исключительно о настольном применении Линукса, т.е. на домашних компах/ноутах и рабочих станциях. Всё нижеизложенное не касается Линукса на серверах, встроенных системах и прочих подобных устройствах, т.к. то, на что я сейчас вылью тонну яда, этим сферам применения, наверное, как раз на пользу.
Читать дальше →

DNS записи для почтовых серверов

Reading time6 min
Views96K


Представьте, что вы в реальной жизни получили конверт, где в поле “Отправитель” написано имя вашего старого друга. Можете ли вы, не открыв и не прочитав письма, точно сказать – это конверт от вашего старого друга или какого-то злоумышленника?

Именно эта задача стоит перед почтовыми серверами — просто взглянув на конверт определить, не врёт ли поле отправитель. Для этого почтовый сервер обращается к тому механизму, который в интернете служит для подтверждения владения доменом – DNS серверу.

Вечный сервер — как избавиться от ежемесячных платежей за хостинг

Reading time8 min
Views82K


— На вашем счету недостаточно средств для продления услуги. Вся ваша работа за 10 лет будет уничтожена в течение 2 рабочих дней.


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

В статье мы расскажем как избавиться от регулярных платежей на содержание хостинга, доменных имен, SSL-сертификатов. И как сделать максимально автономный сервер, который переживет зомби-апокалипсис.
Читать дальше →

Museria — децентрализованное хранилище музыки

Reading time8 min
Views7.9K
image

Собрался я однажды написать приложение, чтобы отбирать музыку для себя и слушать дома/на улице/тренировках и.т.д. И чтобы все это работало в потоке, с минимальным моим участием. Придумал архитектуру, набросал прототип и в итоге столкнулся с одной “небольшой проблемой”.
Читать дальше →

Убийца VPN. Правильный удалённый доступ к боевым серверам

Reading time7 min
Views35K
Мнение, высказанное в этой статье, является личным мнением автора. Он подчёркивает, что оно может не совпадать с мнением его работодателя, начальства и отдела безопасности.

Одна из самых крутых штук в нашей компании в плане инфраструктуры — это то, как мы реализуем удалённый доступ. Это просто супер-мега-защищённая магия. Я поговорил со многими моими коллегами-безопасниками и аудиторами, и, похоже, мы случайно изобрели совершенно новую историю, смешав коммерческие решения и свой софт. И вот, я подумал, будет интересно глубоко погрузиться в технические детали того как в индустрии работают с устаревшими решениями удалённого доступа и как это реализуем мы.
Читать дальше →

Product very first. Выгорание

Reading time4 min
Views29K
image

Когда-то я работал в медицинском Калифорнийском стартапе. Там было 20 человек, но ни одного доктора.

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

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

У нас с женой договоренность, перед тем как покупать лекарство, она гуглит его, и если там не написано БАД или гомеопатия, то покупает.

Спасибо Яндекс.Медицина, ты торчишь мне 460 рублей за купленный женой Эргоферон. Я считал Я.Медицину адекватной, извините.
Читать дальше →

Лёгкий способ сделать крохотный USB-хаб для Raspberry Pi

Reading time3 min
Views33K


Перевод статьи с сайта самодельщика Retrocution

Бывало у вас такое, что вам не хватает USB-портов при создании проекта на Raspberry Pi Zero? Притом внешние USB-хабы или HATS не подходили из-за ограничений по размеру? Если да, или если вы просто ищете себе интересный проект с пайкой деталей, в результате которого получится нечто полезное, то этот проект – для вас!


Почему на Raspberry Pi4 стоит поставить 64-битную ОС

Reading time4 min
Views58K
image

Одно из преимуществ работы на компанию, занимающуюся производством программ, заключается в том, что вам часто представляется возможность протестировать прототипы нового железа. Однако не в данном случае – я купил себе Raspberry Pi4 потому, что она очень дешёвая!

На Raspberry Pi4 стоит четырёхъядерный ARM Cortex A72, до 4 ГБ памяти и гигабитный порт Ethernet – и всё это всего за $35.

На Raspberry Pi4 есть ОС Raspbian (на основе Debian), и готовая библиотека продуктов, поэтому я вставил в неё SD-карточку, чтобы побыстрее загрузиться. Я искал syslog и заметил, что и ядро, и все пользовательские программы скомпилированы как armv7 – то есть, для 32-битной памяти.

Я знаю, что Raspberry Pi4 поддерживает 64 бита, поэтому я не захотел запускать на ней 32-битную ОС. Я взял другую карту памяти и поставил на неё Debian. Debian, не содержащий ничего лишнего, скомпилированный как aarch64 – что означает 64-битную память.
Читать дальше →

Бот для мониторинга веб-сервисов за полчаса: telegram + bash + cron

Reading time8 min
Views44K


Иногда нужно быстро сделать мониторинг для нового сервиса, а готовой инфраструктуры/экспертизы под рукой нет. В этом гайде мы за полчаса реализуем инструмент для мониторинга любых веб-сервисов, используя только встроенные средства ubuntu: bash, cron и curl. Для доставки оповещений будем использовать telegram.

«Вишенкой на торте» будет эмоциональное вовлечение пользователей. Проверено на людях — работает.
Читать дальше →

Графический интерфейс на Python за 5 минут

Reading time4 min
Views312K
image

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

Однако иногда ваша целевая аудитория не сильно подкована технически. Люди не против использовать ваши скрипты на Python до тех пор пока им не нужно смотреть на одну строку кода. В таком случае скриптов командной строки будет недостаточно. В идеале вам нужен графический интерфейс. Цель этого поста использовать только Python.

Библиотеки Python, которые можно использовать для графического интерфейса


По сути, есть 3 большие библиотеки Python для графического интерфейса; Tkinter, wxPython и PyQT. Рассматривая их, я не нашел там ничего из того, что мне нравится в Python. Библиотеки Python, как правило, очень хорошо абстрагируются от супер-технических моментов. Если бы мне нужно было работать с объектно-ориентированным программированием, я мог бы с таким же успехом загрузить Java или .Net.
Читать дальше →

Питание 9/12-вольтовых SOHO-маршрутизаторов от USB-источника

Reading time4 min
Views39K
Самодельный переходник-преобразователь для питания распространенных SOHO-маршрутизаторов, требующих напряжения 9/12 В, от любого 5-вольтового источника достаточной мощности с разъемом USB.



Предыстория


Несколько лет назад у меня завелась пара USB/WiFi-маршрутизаторов Sapido RB-1842. Один я таскал с собой в поездки, чтобы удобнее было раздавать отельный/квартирный/мобильный интернет, а второй поставил стационарно в сельском доме, где интернет доступен только мобильный. Довольно скоро выяснилось, что обоим нужно автономное питание: возимый с собой иногда приходилось ставить на балкон, чтобы ретранслировать WiFi из отельного холла или соседнего кафе, а в деревне регулярно отключают свет на 10-20-40 минут — ноутбуки и гаджеты работают, базовая станция тоже, а интернета нет.

Порадовавшись, что модель пятивольтовая, я отрезал кабели от блоков питания маршрутизаторов, поставив в разрыв разъемы USB «мама/папа» и при нужде запитывал их от обычных повербанков. При этом один из купленных у китайцев безымянных повербанков оказался способен при наличии входного напряжения одновременно заряжать батарею и давать энергию на выходе, а при пропадании — переключаться на батарею. То есть, получился прекрасный пятивольтовый UPS, которого хватало где-то на час-полтора (в том повербанке два аккумулятора 18650) и за которым не требовалось никакого присмотра.
Читать дальше →

Information

Rating
9,920-th
Location
Bratislava, Bratislava, Словакия
Date of birth
Registered
Activity