Pull to refresh
-1
0

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

Send message

Наглядное руководство по SSH-туннелям

Reading time8 min
Views123K

Прим. переводчика: автор статьи рассматривает практические сценарии и примеры организации SSH-туннелей. А для лучшего понимания того, как это работает, графически показывает потоки трафика.

Туннели SSH — это зашифрованные TCP-соединения между клиентами и серверами SSH. Трафик входит с одной стороны туннеля и прозрачно выходит с другой. Изначально этот термин относился к туннелям на виртуальных сетевых интерфейсах TUN/TAP, однако сейчас так обычно называют проброс портов SSH.

Читать далее
Total votes 75: ↑75 and ↓0+75
Comments17

Матрица прокрастинации (откладывания дел «на потом»)

Reading time14 min
Views144K
Для лучшего понимания этого поста, прочитайте сначала предыдущий пост про прокрастинацию.

Если бы, когда я учился в школе, вы спросили меня прокрастинатор ли я, я бы конечно ответил “да”. Учеников школы учат “держать темп” с крупными проектами. И я гордо держал темп больше чем кто-либо кого я знаю. Я никогда не пропускал дедлайн, но делал все ночью перед сроком сдачи работы. Я был прокрастинатором.

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

Без всякого сомнения в моей голове была Обезьянка Немедленного Удовольствия, но она была милее всех на свете. С постоянно маячащими дедлайнами, Панический Монстр никогда не спал и Обезьянка знала об этом. Она конечно постоянно отвлекала, но не была за главного.

Мой мозг в школе:
image

Читать дальше →
Total votes 62: ↑53 and ↓9+44
Comments221

Почему прокрастинаторы прокрастинируют (откладывают дела «на потом») и как побороть прокрастинацию

Reading time14 min
Views295K
image

pro-cras-ti-na-tion |prəˌkrastəˈnāSHən, prō-|
существительное
задержка или откладывание чего-либо: первый совет — избегайте прокрастинации.

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

Избегать прокрастинации. Так элегантно в своей простоте…

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

Нет, «избегайте прокрастинации» — хороший совет только для не настоящих прокрастинаторов. Для тех, кто говорит «Я захожу на Facebook несколько раз в день на работе. Я такой прокрастинатор!». Это те люди, которые будут говорить настоящему прокрастинатору «Не откладывай дела на потом и у тебя все будет хорошо».

Дело в том, что ни словари ни не настоящие прокрастинаторы не понимают, что для настоящих прокрастинаторов прокрастинация — не дополнительная опция. Это что-то, что они не знают как не делать.
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments94

«А вы точно продакт?»

Reading time13 min
Views7K

Когда я в последний раз менял работу и проходил собеседования, конечно, основные вопросы были про навыки продакта и особенности продуктов, которыми я занимался. Вопросы касались метрик, экономики продукта и взаимодействия с пользователями. Поскольку мой опыт специфичен :), в какой-то момент у меня даже закралось сомнение, а точно ли я продакт? Начал размышлять, откуда родился такой вопрос — и понял.

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

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

Меня зовут Денис Соловьев, и так получилось, что я работал и продолжаю работать как раз на таких внутренних ИТ-продуктах. Я хочу сравнить, какие из инструментов и подходов работают для них.

Читать далее
Total votes 34: ↑32 and ↓2+35
Comments8

Тесты: 100% покрытия и юниты не нужны

Level of difficultyMedium
Reading time15 min
Views8K

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

Меня зовут Максим Вишневский, я Senior Frontend-разработчик в Циан. В этой статье поделюсь историей, как наша команда реформировала подходы к тестированию: как мы отказались от 100% покрытия и unit-тестов, чем их заменили и какой получили результат. Поговорим о проблемах с Enzyme, пользе Playwright, мокинге данных для бэка и взаимодействии с QA.

Читать далее
Total votes 18: ↑14 and ↓4+14
Comments11

TypeScript в деталях. Часть 3

Reading time14 min
Views19K


Привет, друзья!


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


Читать дальше →
Total votes 11: ↑10 and ↓1+11
Comments0

7 шагов к результату эффективного обучения

Level of difficultyEasy
Reading time16 min
Views22K

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

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

Проблемы мы обозначили 7-ю шагами, на которые вам нужно будет сделать акцент, чтобы повысить свою эффективность.

Читать далее
Total votes 17: ↑6 and ↓11-4
Comments12

Рефлексия в JavaScript и TypeScript: обзор основных техник. Как сгенерировать CLI-интерфейс для класса

Level of difficultyMedium
Reading time22 min
Views9.7K
Как и в любом достаточно динамическом языке, в JavaScript из коробки есть способы разобрать в рантайме структуру его значений — определить типы, ключи объектов, получить конструкторы и прототипы.

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

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

Разбираемся с Redis

Reading time19 min
Views241K

Этот материал представляет собой глубокое исследование всего, что связано с Redis. В частности — речь пойдёт о различных способах организации хранилищ Redis, о постоянном хранении данных, о форках процессов.

Читать далее
Total votes 46: ↑45 and ↓1+62
Comments7

Сколько софта нужно купить для компании

Reading time15 min
Views9.8K
Мне пришлось поработать в разных по размеру компаниях – от маленькой конторы из 15 человек, снимающей пару комнат на чердаке, до международных компаний с офисами в разных странах и дорогущими корпоративами. И почти в каждой компании меня удивлял зоопарк используемого софта и жадность (или наоборот, расточительность) при выборе очередного инструмента.

В этой статье хотелось бы поделиться мыслями, какой софт и когда имеет смысл покупать для IT компании.

image
Читать дальше →
Total votes 12: ↑11 and ↓1+11
Comments3

Dynamic modules в NestJS

Reading time8 min
Views9.6K

NestJS - фреймворк, вобравший в себя преимущества TypeScript, IoC/DI и структуру Angular, стремительно развивается, приобретая популярность.

Множество методик и практик описано в официальной документации.

Вдохновившись публикацией John Biundo - Build a NestJS Module for Knex.js, написал свой собственный модуль для Mailchimp Transaction API.

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments0

Применение автотестов в ежедневных релизах. Установка Cypress и Allure

Reading time4 min
Views7K

Меня зовут Виталий и я автотестер в компании Утконос ОНЛАЙН. В предыдущей статье я рассказал, почему мы решили использовать фреймворк для автоматизации тестирования, описал существующие варианты, наш выбор в пользу Cypress и его связку с репортом Allure. В этой части обсудим технические вопросы: как установить фреймворк, прикрутить хуки в slack для автоматизации и использовать «на поток».  

Для начала уточню: чтобы уверенно применять Cypress, необходимо владеть азами npm-node package manager, а также знать синтаксис jasmine и иметь общее понимание о JavaScript. В этой статье я грубо  обозначу основные шаги для установки среды, написания тестов и настройки отправки отчетов по их исполнению в канал slack.

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

Cypress и его место в нашей тестовой пирамиде

Reading time13 min
Views39K

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

Читать далее
Total votes 15: ↑14 and ↓1+14
Comments18

Цикл постов про Keycloak. Часть первая: Внедрение

Reading time18 min
Views52K

Цикл постов про Keycloak (часть 1): Внедрение.

О чем речь?

Это первая часть серии статей о переходе на Keycloak в качестве SSO в условиях кровавого enterprise.

Читать далее
Total votes 26: ↑24 and ↓2+25
Comments6

Сон — это главный ресурс для мозга программиста

Reading time12 min
Views113K
Можете использовать этот пост как аргумент при переговорах.

image

Вы, наверное, уже слышали эту продуманную фразу, которую произнес Рид Хастингс, CEO компании Netflix, говоря о развитии компании: «Наш главный конкурент – это сон». Он логично рассуждает, что с точки зрения прибыльности его бизнеса, сон, занимающий треть всего времени – огромный ресурс, за который можно побороться. Но если мы дорожим своим здоровьем, красотой и жизнью, то он не должен получить от нас ни минуты от нашего сна. Мы всё еще настолько недооцениваем сон, что этот факт удивителен сам по себе. Почему мы считаем сон чем-то, чем можно жертвовать, что можно сжимать, над чем можно издеваться? Даже простейшее популярное представление о биологии говорит нам, что природа не стала бы требовать от нас трети жизни на что-то неважное.

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

Между тем, мы действительно не знаем, почему мы спим. Да, у нас есть объяснения – насчет консолидации памяти, обучения, восстановления сил и прочее. Сам вопрос остается открытым и задается вновь и вновь, потому что мы подозреваем, что это не все, что мы знаем про сон.

Все животные спят, при условии, что они живут хотя бы несколько дней. Есть исключения, но они могут быть чисто методологическими: еще до недавнего времени ученым не хватало данных назвать сном периоды отключения у некоторых животных (насекомых).
Читать дальше →
Total votes 119: ↑111 and ↓8+103
Comments265

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

Reading time9 min
Views88K

Прокрастинацию принято считать разновидностью лени и ерундой, а эффективным лекарством от нее грозный окрик: «Соберись, тряпка!» На деле прокрастинация — опасная проблема, сродни зависимости, которая вызывает много вины и стыда, и способна со временем разрушить личность. Почему она так опасна, редко лечится попыткой «взять себя в руки» и как ее одолеть?

Читать далее
Total votes 57: ↑51 and ↓6+57
Comments96

Кастомные декораторы для NestJS: от простого к сложному

Reading time7 min
Views20K

image


Введение


NestJS — стремительно набирающий популярность фрeймворк, построенный на идеях IoC/DI, модульного дизайна и декораторов. Благодаря последним, Nest имеет лаконичный и выразительный синтаксис, что повышает удобство разработки.


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


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

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

TypeScript: Раскладываем tsconfig по полочкам. Часть 2 — Всё про строгость

Reading time18 min
Views34K

В данной статье я хочу предоставить переработанную и упорядоченную выжимку документации по настройке "флагов строгости" tsconfig.json. Статья будет полезна как тем, кто только начинает работать с TypeScript, так и тем кто уже давно работает, но при этом использует конфиг по умолчанию. Для разработчиков, которые хорошо ориентируются в вопросах строгости в TypeScript статья может открыть некоторые тонкости работы флагов и послужить шпаргалкой.

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments5

13 распространенных задач в Kubernetes и способы их решения

Reading time13 min
Views23K


Команда VK Cloud перевела статью о проблемах в Kubernetes, с которыми часто сталкиваются инженеры-разработчики при запуске новых масштабируемых отказоустойчивых веб-сервисов. 
Читать дальше →
Total votes 33: ↑29 and ↓4+40
Comments3

Как я создавал эргономичное рабочее место для себя и теперь предлагаю другим. Часть 1

Reading time12 min
Views88K

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

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

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

А теперь ретроспектива
Total votes 300: ↑300 and ↓0+300
Comments206

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity