Search
Write a publication
Pull to refresh
74
0.5

User

Send message

Безопасный HTTPS-прокси менее чем за 10 минут

Reading time5 min
Views134K

Это руководство описывает развёртывание HTTPS-прокси с помощью dumbproxy на практически любом Linux-сервере. Потребуется только curl и рутовый доступ.

Читать далее

Как написать кроссбраузерное расширение в 2022 году

Reading time8 min
Views10K
image

Привет! Меня зовут Георгий Костуров, я лид фронта в одной из команд СберМаркета. В один прекрасный день ко мне пришли менеджеры и сказали, что нужно написать браузерное расширение для внутреннего джобборда. Оно должно взаимодействовать с сайтами avito и hh, чтобы добавлять кандидатов в HR-систему, не скачивая и не вбивая вручную контакты из резюме на сайте.

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

На каком языке писать расширение?


Мой путь начался с поиска ответа на вопрос: «А хотя бы на каком языке придется это писать?» Полазив по интернету, с радостью обнаружил, что всё-таки это можно делать на JS. Хотя так было далеко не всегда. Первый браузер с API расширений, основанным исключительно на HTML, CSS и JavaScript, появился в 2010 году, им был Chrome. А до этого расширения необходимо было писать с использованием языка XUL (язык разметки на основе xml, обладающий большим функционалом по сравнению с HTML4).
Читать дальше →

Мягкое удаление чаще всего не нужно

Reading time6 min
Views24K

Те, кто знаком хотя бы с парой разных окружений баз данных продакшена, скорее всего, знают паттерн «мягкого удаления» (soft deletion): вместо удаления данных напрямую конструкцией DELETE таблицы получают дополнительную временную метку deleted_at и удаление выполняется конструкцией обновления:

UPDATE foo SET deleted_at = now() WHERE id = $1;

Мягкое удаление необходимо для того, чтобы удаление выполнялось безопаснее и было обратимым. После того, как запись удалили «жёстким» DELETE, теоретически её всё равно можно восстановить, углубившись в слой хранения, но нужно сказать, что вернуть её очень сложно. В теории, при мягком удалении достаточно снова присвоить deleted_at значение NULL, и на этом всё:

-- и волшебным образом всё вернулось на место!!
UPDATE foo SET deleted_at = NULL WHERE id = $1;
Читать дальше →

Кинотерапия — более 150 фильмов, которые пересматривают

Reading time6 min
Views55K

Фильмы - это лекарство для психики. Что включается у нас в голове, когда мы смотрим фильм? Возможно превратить просмотр кино в индивидуальную психотерапию?

Для начала отделим мух от котлет. Психолог, психотерапевт, психиатр и невролог чем они отличаются? Самое простое отличие в том, что психолог не является врачом. Психотерапевт, психиатр и невролог - это врачи.

Читать далее

Golang-дайджест № 17 (1 – 31 мая  2022)

Reading time4 min
Views6.7K

Свежая подборка новостей и материалов

Интересное в этом выпуске

Выпущены версии 1.18.2 и 1.17.10, результаты опроса разработчиков в Go GUI, TinyGo теперь с поддержкой Go 1.18, go является любимым и быстрорастущим языком на GitHub, заметки о практическом параллелизме.

Приятного чтения!

Читать далее

Как защититься от dos/ddos, или Как я начал вновь высыпаться по ночам

Reading time16 min
Views34K

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

Читать далее

Подготовка к собеседованиям в IT-гиганты: как я преодолела проклятье алгоритмического собеседования

Reading time12 min
Views208K

Дисклеймер:


Я не программирую с трёх лет, не знаю наизусть Кнута, не являюсь призёром олимпиад по информатике и чемпионатов по спортивному программированию, не училась в MIT. У меня за плечами образование по информатике и 6 лет опыта в коммерческой разработке. И до недавнего времени я не могла пройти дальше первого технического скрининга в IT-гиганты из FAANG (Facebook, Amazon, Apple, Netflix, Google и подобные), хотя предпринимала несколько попыток. 

Но теперь всё изменилось, я получила несколько офферов и хочу поделиться опытом, как можно к этому прийти. Речь пойдёт о позиции Software Engineer в европейских офисах перечисленных компаний.
Читать дальше →

Как работать с Postgres в Go: практики, особенности, нюансы

Reading time10 min
Views151K


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


Надо понимать, часто недостаточно полистать go-database-sql.org. Лучше вооружиться чужим опытом. Еще лучше, если это будет опыт, полученный кровью и потерянными деньгами.

Как мы теряли игроков из-за того, что они платили за игру

Reading time8 min
Views39K
image

Представьте, каково это — найти серьёзный баг в продакшене сразу после выпуска игры. Представьте, что этот баг вредит только платным пользователям. Представьте, что игра зависает сразу после того, как игроки завершают внутриигровую покупку. Представьте, что когда игрок перезапускает игру, она зависает при запуске. Представьте, что игроку так и не удаётся запустить игру и приходится её удалять. Представьте, что ваше приложение в этот момент находится в рекомендованных Apple Store. Эта статья — рассказ о таком баге, худшем из всех, что я видел за тридцать лет программирования. Это история о том, как мы его выявили и совместно с разработчиками Unity работали над его устранением.
Читать дальше →

Личный опыт: Работать Стоя

Reading time8 min
Views48K
image

Мы слишком много времени сидим за рабочим столом, и никогда ранее человечество так себя не вело. Это черта нашей эпохи, благодаря распространенности работ с компьютерами, возможностям удаленной работе, и Ковиду. Мы все знаем, что это вредно, и некоторые говорят, что «сидение — новое курение». Иногда, с утра, сама мысль, что придется весь день работать сидя, приводит в уныние. Но что делать, если твоя работа (да и большинство развлечений) — за компьютером, и ее много?

image

Опрос, который я проводил 7 лет назад. С тех пор вряд ли что-то поменялось.(В конце поста новый опрос.)

Самый очевидное и популярное решение среди ИТишников — работа стоя. Но тут мне на тестирование попалась удивительная вещь. Под катом я расскажу, как я месяц по несколько часов в день тестировал стоялку-качалку или «вертикальный гамак».

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

Как умереть со своими зубами в 90 лет

Reading time11 min
Views43K

КТ челюсти. Очень важная вещь для составления календаря планового лечения.

Вообще у человека, который задался таким вопросом, есть три способа:

  1. Идеальный. От рождения до смерти следить за зубами.
  2. Типовой. Обратить внимание на свои зубы в возрасте примерно 30–40 лет. Вылечить кариес, наладить правильную гигиену. Это когда не просто горизонтальными движениями щёткой по зубам. И зайти к ортодонту и ортопеду. Если вы достоверно точно знаете, что с опорным аппаратом зубов у вас всё ОК, то можете пропустить этот шаг.
  3. Сложный. Когда вам уже 60 лет и вставную челюсть не хочется. Это, конечно, уже не про экономию, а про съёмные протезы и профилактику пародонтита.

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

Чем заменить Zoom? Сравнение российских вебинарных платформ

Reading time13 min
Views50K

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

Есть ли замена Zoom и Microsoft Teams? Каким синонимом заменить уже родное “зумить”? 

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

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

Читать далее

Outline: Делаем свой личный VPN от Google за 5$ в месяц (и за 1€ для продвинутых)

Reading time3 min
Views214K
image

В последнее время использовать VPN стало популярно с чего бы это?, но все инструкции которые мне попадались — могут «осилить» только пользователи хотя бы чуть-чуть знакомые с тем что такое Linux. Компания Google всех порадовала, выпустив прекрасное приложение, которое позволяет вам установить VPN в два клика (правда в два!) на своем личном сервере без каких либо знаний.
(Если у вас нет сервера — не беда, появится)
Читать дальше →

Польша: гайд для интересующихся

Reading time13 min
Views28K

Здравствуйте, дорогие хабровчане! Недавно я прочитал исчерпывающий гайд по Германии, и захотел написать что-то подобное для Польши. В статье я постараюсь описать плюсы и минусы переезда (по крайней мере для айтишника), примерную стоимость жизнь и что стоит сделать в первую очередь после переезда. Конечно подобных статей уже написано немало, но большинство либо написаны агентствами по эмиграции и не отличаются объективностью, либо просто описывают историю успешного успеха и им не хватает цифр. Разумеется, и эта статья тоже не может быть максимально объективной, но я все же попробую.

Читать далее

Может ли «плохая» осанка на самом деле быть для нас лучше?

Reading time5 min
Views39K


Моему другу 33 года. Он руководитель своей IT-фирмы, у него несколько квартир, очень состоятельный человек. И при этом у него уже который год болит спина. Он это активно не лечит, слишком много других занятий, но пассивно сделал, казалось бы, уже всё, что можно. Купил себе крутейший стул, начал меньше сидеть, занимается спортом. А главное — когда сидит, представляет собой прямо-таки образец прямой спины, точно как на фото выше. И он сидит так столько, сколько я его знаю, еще со времен вуза, подает всем пример. А спина все болит.


При этом мне стыдно, потому что я сижу как попало. Чаще всего закинув ноги на стол, или свесившись в одну сторону, или даже опершись головой о чашку на столе. По 16 часов в день. Ему больно на меня смотреть. А спина не болит, вообще.


Полез проверять, есть ли в этом подвох.

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

Технология Вялых Проектов

Reading time10 min
Views25K

Этот текст – заказной. Знаю, многие из читателей пытались заказать у меня тексты, но я если и пишу для кого-то, то только для друзей. Нетрудно догадаться, что заказчик – мой друг. Зовут его… Пусть Вася. Он так и не решил, называться ли настоящим именем. Потому что так и не решил, зачем ему этот текст.

Итак, Вася – создатель уникального подхода в автоматизации. Надеюсь, процитировал достаточно точно. Вася делает Вялые Проекты.

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

На всякий случай отмечу, что кроме вышеупомянутой цитаты, ни одной буквы в этом тексте не написано Васей. Он этот текст прочитает одновременно с вами.

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

Читать далее

Python — серьезный язык для разработки backend

Reading time13 min
Views76K

Всем привет! Меня зовут Аникин Денис, я тимлид в команде Chat в Райффайзенбанке. А также представитель внутреннего Python-сообщества, так называемый «community lead» (об этом как-нибудь в другой раз). В этой статье я хотел поговорить про отношение к Python среди разработчиков и обсудить все основные претензии, которые очень давно следуют за языком по пятам.

Читать далее

Почему наш стартап переехал с Flask на FastAPI

Reading time8 min
Views32K

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

Алекс Морозов, co-founder & CTO в компании Datafold, рассказал, как они переехали с Flask на FastAPI и поделился собственным опытом такого переезда. Это не только то, что пишут в документации, а конкретные проблемы, с которыми они столкнулись при переезде, и как они их обошли. На примерах посмотрим, что стоит сделать, а каких решений лучше избегать.

Читать далее

Как хорошо уметь читать! А уметь хорошо читать — ещё лучше

Reading time14 min
Views34K

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

Конечно, одной статьёй эти вопросы не закрыть, но начать вполне можно, тем более что Хабр — один из сайтов, который максимально строго «заточен» именно на чтение (да ещё и лонгридов!).  

Читать далее

Information

Rating
3,281-st
Location
Екатеринбург, Свердловская обл., Россия
Registered
Activity