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

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

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

К чёрту всё, сделаю свой сервер

Время на прочтение7 мин
Количество просмотров16K
Обычно всё бывает замечательно и ничто не предвещает беды, пока кто-нибудь не теряет доступ к своим конфиденциальным и/или бизнес-данным, потому что доверил их хранение кому-то другому.

Не нужно быть специалистом по поиску информации, чтобы найти кучу историй о людях, по которым прокатились монструозные корпорации, исповедующие принципы в духе «don’t be evil».

Вот несколько примеров:


Как сохранить контроль над своими данными и инструментами


Для владения своими данными далеко недостаточно иметь резервные копии цифровой информации. Дело ещё и в контроле с конфиденциальностью. Дело в доверии. Не знаю, как вы, а я не особо доверяю многим сервисам в вопросе хранения моих данных (за редкими исключениями).
Читать дальше →
Всего голосов 12: ↑10 и ↓2+17
Комментарии43

Что вижу, то и программирую

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

Не знаю, как у вас, в большом мире программирования, а у нас, в 1С, очень распространён подход «что вижу, то и программирую». Есть более удобоваримое название: «программирование от данных». Однако, чаще всего это называют говнокод. Хотя, тут я не согласен – до говнокода ещё надо немного подтянуть.

Обычно, необходимость в программировании от данных возникает под давлением ряда обстоятельств. Например, «надо срочно» или «вотпрямщас» (процентов 90 задач в 1С). Также случается «нечего там смотреть и анализировать, денег только содрать хотите» (те же 90%, пожалуй). Сверху накладывается «да точно ничего не поменяется через 10 лет» (а чего ему меняться, 90%!). Увы и ах, пересекаем три по девяносто, и получаем решающий фактор: 90% программистов 1С по-другому просто не умеют.

Поглядим на несколько примеров и их отложенных последствий.

Читать далее
Всего голосов 44: ↑39 и ↓5+44
Комментарии30

HTTP-заголовки для ответственного разработчика

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

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

Разработчики соединяют людей.
Разработчики помогают людям.
Разработчики дают людям возможности.

Разработчики могут создать сеть для всех, но эту способность необходимо использовать ответственно. В конце концов, важно создавать вещи, которые помогают людям и расширяют их возможности. В этой статье я хочу рассказать о том, как HTTP-заголовки могут помочь вам создавать лучшие продукты для лучшей работы всех пользователей в интернете.
Читать дальше →
Всего голосов 92: ↑90 и ↓2+88
Комментарии64

Bare-metal kubernetes-кластер на своём локальном компьютере

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

Привет, я Кирилл Шаталаев, инженер инфраструктуры и автоматизации в X5 Tech.

Я в курсе, что статей на эту тему достаточно, в том числе и на Habr. И когда у меня возникла задача поднять кластер, я их все перечитал. Где-то очень подробно рассказывается, как ставить виртуалки с убунтой на Windows под virtualbox, и очень скудно про сам кубер. Где-то досконально описано, как это всё круто можно провернуть с terraform в Яндекс.Облаке. Где-то про сам kubespray скупо пару слов, зато куча скриншотов прометея с кибаной.

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

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

Тернистый путь внедрения аутентификации через соцсети

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


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

Столкнувшись с очередным таким требованием, особенно на новой платформе, человек просто закрывает вкладку в браузере со словами «не больно-то и хотелось». Чтобы упростить жизнь пользователям – существует аутентификация через третьи сервисы (чаще социальные сети).

Привет, Хабр, меня зовут Сергей Солдатов, я тимлид в подразделении eSports MTS Digital, разработчик на Go и немного архитектор. Занимаюсь сервисами аутентификации и авторизации на WASD.TV. Это многофункциональная стриминговая платформа для геймеров, собственный сервис МТС. Как мы настраивали аутентификацию на WASD.TV и что из этого вышло – читайте под катом.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии16

Мой опыт технического собеседования: как не превратить его в экзамен и найти профпригодного сотрудника

Время на прочтение21 мин
Количество просмотров29K
image

Привет, Хабр! Меня зовут Леонид Титов, я бэкенд разработчик в #CloudMTS. Так уж сложилось, что я не только пишу код, но и иногда собеседую кандидатов. Мне нравится процесс, и, думаю, у меня это получается.

Начал я этим заниматься ещё на предыдущем месте работы, где мы с тимлидом собирали новую команду. С тех пор прошло уже N лет, практика продолжилась, и после очередного собеседования я решил упорядочить свои знания. Кто-то считает, что от собеседований вообще толку нет, а кто-то наоборот (не будем показывать пальцем) проводит их в 3-5 раундов. Я уверен, что собеседования нужны, но важно четко понимать, зачем именно.

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

Еще я поделюсь неожиданными впечатлениями от ситуации, когда оказался «по ту сторону», лайфхаками, фейлами и неплохо зарекомендовавшими себя практиками. Про soft skills тут ничего не будет — это отдельная важная тема. Прежде всего мы затронем вопрос профпригодности, определения ее наличия или отсутствия. Во второй половине статьи приведу собственный список вопросов, переведенный на русский, с комментариями.
Читать дальше →
Всего голосов 47: ↑35 и ↓12+36
Комментарии68

Конкурентный анализ приложений из App Store на основе открытых данных

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

В этой статье я покажу, как можно без программирования парсить, анализировать и визуализировать данные из RSS- и Atom-лент на примере загрузки и парсинга фида Apple iTunes, а также проведения последующего конкурентного анализа приложений.

Представим, что мы собираемся публиковать в App Store мобильное приложение по тематике “медитация”. И хотим посмотреть, как обстоят дела в этой нише. При этом сделаем вид, что не знаем о существовании таких сервисов, как App Annie, Sensor Tower и аналогичных. Или знаем, но нам расхотелось делать в них детальный анализ, как только мы узнали стоимость месячной подписки. Поэтому будем действовать как экономные бутстрапперы и анализировать “сырые” данные от компании Apple. Тем более, что сделать это оказалось очень просто.

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

Цифровой рентген: наушники аудиофила за 662 рубля?

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

При выборе новых наушников можно потратить 4-5 часов на изучение обзоров, мнений и в итоге ни на чем не остановиться. Недавно вот коллега показал свои внутриканальные наушники (IEM) с алиэкспресса за 7-8 тысяч рублей!

Я немного прифигел от такого расклада. В голове не укладывались вместе слова алиэкспресс = аудиофилия. Пытливый ум потребовал разобраться, что же там внутри и почему они такие дорогие - благо в распоряжении есть наш настольный микротомограф (тут про него писал). Полную томограмму делать по каждым "ушам" было лень — поэтому в статье в основном видео с оборотом на 360 градусов.

Enjoy!

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

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

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


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

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

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

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

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

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

Но нет. Переходим к мякотке.
Читать дальше →
Всего голосов 61: ↑59 и ↓2+79
Комментарии11

Бывший сотрудник Яндекса выпустил бесплатный поисковик с блек… листами, но без рекламы

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

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

Например, обсуждали мы как-то в $mol-чате стоит ли делать "человеко-понятную" псевдостатику в урлах вида /snjat-dvushku/s-remontom/v-vihino для SEO, или всё же сеошники - шарлатаны, гадающие на поисковой гуще. Решили проверить кто там у нас в топе по запросу "квартира купить однокомнатная горьковская" и получили такой результат:

Дыбенко, Лесная, Жопа Мира, всё, что угодно, только не то, что спрашивали. Первые 4 результата - нерелевантный мусор. А потом сервис самого же Яндекса. Как так получилось, что в 2к21, в эпоху машинного обучения и GPT-3, у нас получился поиск хуже, чем на заре интернета?

Отгадка
Всего голосов 99: ↑78 и ↓21+77
Комментарии209

Новый подход к просмотру логов

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

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

Хотелось иметь просмотрщик логов, позволяющий, в любой момент, открыть любой файл, без скачивания на локальную машину, как команда less в linux консоли. Но при этом, должна быть удобная подсветка текста, как в IDE, и фильтрация событий по различным параметрам. Фильтрация и поиск должны работать по событиям в логе, а не по строкам, как grep, это важно когда есть многострочные записи, например ошибки со стектрейсами. Так же должна быть возможность просматривать записи сразу из нескольких файлов на одной странице, смёржив их по таймстемпу, даже если файлы находятся на разных нодах.

Читать далее
Всего голосов 19: ↑16 и ↓3+17
Комментарии26

Micro Property — минималистичный сериализатор двоичных данных для embedded систем. Часть 2

Время на прочтение3 мин
Количество просмотров2.9K
Некоторое время назад я опубликовал свою статью о разработке велосипедного велосипеда, в которой описал причины, побудившие меня этим заняться.

Если вкратце, то мне была нужна миниатюрная библиотека для микроконтроллеров с сериализатором двоичных данных и последующей передачей этих сообщений по низко скоростным линиям связи, тогда как обычные форматы xml, json, bson, yaml, protobuf, Thrift, ASN.1 и др. мне по разным причинам не подходили.

Как и ожидалось, решение оказалось более чем велосипедом, и тем не менее, сама публикация статьи на Хабре мне очень сильно помогла. Дело в том, что при первоначальном анализе возможных библиотек, я почему то упустил из вида сериализаторы MessagePack, CBOR и UBJSON.

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

После этого я прикрутил к библиотеке CBOR свой интерфейс (чтобы не перелопачивать исходники), и … решил от этого формата отказаться в пользу MessagePack :-)



Читать дальше →
Всего голосов 8: ↑6 и ↓2+8
Комментарии4

Почему хабражители предпочитают велосипеды, вместо готовых решений? Или о systemd, part 0

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

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

Во всём виноват Хабр!
Всего голосов 82: ↑80 и ↓2+102
Комментарии245

Легкие обновления

Время на прочтение2 мин
Количество просмотров1.9K
Напоследок немного новостей о «смотрелке» для логов chipmunk. Ничего особенного, никаких кардинальных изменений или же заметных фитч, а скорее работа над ошибками, да и просто хочется сказать пару слов о прошедшем, настоящем и будущем.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии1

USB MIDI-контроллер на Arduino

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

В очередной раз играя на гитаре и управляя звуком через Peavey ReValver и прочие Amplitube, задумался о приобретении MIDI-контроллера. Фирменные устройства, вроде Guitar Rig Kontrol 3, стоят около 13 000 рублей, и обладают только напольным исполнением. То есть оперативно менять положения нескольких регуляторов весьма проблематично.

Различные контроллеры DJ направленности выглядели интереснее за счет обилия фейдеров и энкодеров. Решено было совместить приятное с полезным и сделать MIDI-контроллер самому.
Читать дальше →
Всего голосов 38: ↑37 и ↓1+36
Комментарии49

Профессиональное применение инструментов разработчика Chrome: 13 советов

Время на прочтение7 мин
Количество просмотров34K
Автор статьи, перевод которой мы сегодня публикуем, хочет поделиться советами по профессиональной работе с инструментами разработчика браузера. А именно, эти советы рассчитаны на программистов, которые по какой-то причине решили, что их основным браузером будет Google Chrome.


Читать дальше →
Всего голосов 44: ↑43 и ↓1+56
Комментарии12

Хороший ли выбор Svelte для реализации виджета?

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

Привет! Меня зовут Дмитрий Усов, я фронтенд-разработчик в Ситимобил. Буквально несколько месяцев назад появилась задача создать виджет для заказа такси через сайт. В этой статье я хотел бы рассказать, почему для этой задачи был выбран Svelte, поделиться своим мнением о его достоинствах и недостатках, а также полезными ссылками, если вы решитесь изучать или применять эту технологию.


CitymobilSvelte

Читать дальше →
Всего голосов 19: ↑18 и ↓1+28
Комментарии19

Возможно, вам не нужен Svelte, чтобы уменьшить ваш JavaScript

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

Сейчас популярно мнение, что текущие Javascript-фреймворки непомерно большие, а новый фреймворк Svelte очень компактный. Поэтому всем нужно переходить на него, и проблема размера JavaScript решится сама собой.


Недавно вышла статья "Хороший ли выбор Svelte для реализации виджета?" с опытом реализации проекта с критичным размером бандла. Это отличный повод проверить обещания пиарщиков Svelte на реальном проекте.


Давайте его проанализируем!

Читать дальше →
Всего голосов 41: ↑35 и ↓6+42
Комментарии26

Нетехническая статья про технические статьи

Время на прочтение13 мин
Количество просмотров7.9K
Мне часто говорят – эй, где технические статьи? Чё ты всякую чушь пишешь, про менеджеров, директоров, отношения с персоналом, корпоративные дрязги, ноешь про бессмысленность нашей работы и вообще. Мы хотим технические статьи!

Я, если честно, плохо понимаю, что такое «технические статьи». Я понимаю, что такое «задача» и что такое «решение». Еще я понимаю, что решение одной и той же задачи можно найти на разных уровнях – от «железного» до философского. Какой уровень правильнее – не знаю.

Чтобы разобраться, нужна ваша помощь. У меня есть прекрасный сквозной пример решения одной задачи на разном уровне. Сразу предупреждаю – пример из сферы 1С, но вашим прекрасным мозгам там будет где примениться. Попробуем найти место для «технической статьи» в этой цепочке.

Пример является собирательным из нескольких реальных историй. В смысле, он повторялся несколько раз, с разными действующими лицами, включением/выключением разных этапов, но суть одна и та же. Погнали.
Читать дальше →
Всего голосов 47: ↑30 и ↓17+24
Комментарии34

Что такое WIMP-интерфейс и почему он до сих пор с нами?

Время на прочтение10 мин
Количество просмотров24K
В 1973 году для персонального компьютера «Xerox Alto» был создан первый графический пользовательский интерфейс. С тех пор прошло почти 50 лет, однако всё те же принципы взаимодействия с компьютером используются по сегодняшний день. Что лежит в основе этих принципов и действительно ли это решение является оптимальным? Постараемся разобраться.

Всего голосов 19: ↑18 и ↓1+22
Комментарии48

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность