Pro WEB & IT – Telegram
Pro WEB & IT
1.29K subscribers
87 photos
6 videos
1 file
340 links
Про IT в целом, WEB технологии, программирование и не только. Разбираю вопросы с собеседований и IT головоломки. Для тех, кто хочет найти работу по душе: https://news.1rj.ru/str/geekjobs
Download Telegram
Как вы знаете у меня есть большой опыт управления командами за плечами. Я был и тех лидом, и тимлидом, и руководителем, и CTO в разных компаниях в разные периоды жизни. Сейчас я возглавляю отдел разработки в своей собственной компании и пошел дальше чем просто руководитель. Поэтому темы управления меня интересовали, интересуют и будут интересовать.

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

Буквально недавно, уже после записи подкаста, узнал про канал @PerfectManager
Это канал об управлении командами, отделами и департаментами. О том, как этим заниматься. Часть вещей что мы обсуждали можно найти в этом канале. Советуются хорошие и правильные книги для прочтения (большинство из них прочел в свое время).

Советую его для тех, кто хочет расти в руководители.
https://news.1rj.ru/str/PerfectManager
У меня в компании используется в качестве корпоративной почты сервис GSuite — это GMail для домена, если проще говоря. Мне для спокойствия нужно иногда бекапить почту. Какое-то время делал это через офлайновый клиент, но нашел способ лучше.

Консольная утилита GMVault. Взять можно с сайта http://gmvault.org/

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

$ gmvault sync cv@new.hr -d путь/куда/складывать/письма


Для хранения почты не используются никакие базы данных. Все хранится в виде сжатых eml файлов. Это очень удобно, как по мне. Лицензия GPLv3

Есть версии под Windows, Mac, Linux.
Ходили слухи, что Amazon (AWS) могут заблокировать в РФ. Даже уже были распоряжения провадйерам и все были готовы по команде нажать рубильник. Проблема была бы в том, что многих могло бы накрыть большим тазом при такой блокировке и сам РКН, я думаю, это понимает. В итоге блокировки не будет, причину нашли.

https://vc.ru/35699-amazon-poprosila-onlayn-raciyu-zello-ne-ispolzovat-ee-platformu-dlya-obhoda-blokirovok-roskomnadzora
ProWebIT-1
Alexander Mayorov
2й по счету и1й по номеру выпуск. В этот раз почти 15 минут. Рассказываю почему CONST в JS делает свою работу правильно и рекомендую гиковые сериалы. Теперь и в iTunes! :)
или можно послушать и узнать чуть больше деталей по ссылке https://goo.gl/8SFg1o
Еще кейсы для const в ES6+. Небольшое дополнение

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

for (const user of userList()) {}

Как зафризить объект user в нашем цикле не внося правок в источник? Без клонирования?

for (const user of userList()) { Object.freeze(user) }

В прошлой статье я забыл упомянуть, что Object.freeze умеет замораживать объекты по ссылке. Хоть он и возвращает замороженный объект, тем не менее, можно обойтись без присваивания.

Вопрос головоломка
Что будет?

for (const i=0;i<10;i++);

Задумались? Не буду писать ответ, так как сами сможете его получить, банально вставив код в DevTools. 🙂
https://vc.ru/35915-roskomnadzor-obratilsya-v-sud-s-iskom-o-blokirovke-telegram

Ввиду паники вокруг блокировок телеграмма и риска что его все-таки заблокируют, сразу закину варианты где буду продолжать публиковать материалы:

На медиуме https://medium.com/@frontman
В VK: https://vk.com/mayorovprowebit
Twi: https://twitter.com/frontdevops
Свой блог на домене (пока решаю где это будет, в ближайшие дни напишу)

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

В этот канал буду продолжать публиковать даже после блокировок (если будет возможность).

В первые часы блокировок (если вдруг такое произойдет), самый простой способ обойти блокировку - это Opera с встроенным VPN + WEB версия телеграма https://web.telegram.org/ . А далее надо будет решать как жить дальше. Но может все еще разрулится
Астрологи объявили неделю immutable & const в JS/TS. Продолжая тему иммутабельности в JS, хочется затронуть TypeScript. В этом языке есть несколько дополнений к слову const, которые похожи, но решают немного другие задачи. Это модификатор readonly и одноименный генерик тип Readonly с разными наследниками, типа ReadonlyArray. Подробности в статье: https://medium.com/@frontman/bc6e45c2f714
Один из юзкейсов использования const для объектов — это создание иммутабельной структуры данных. И одна из таких структур — кортеж (tuples).
https://medium.com/@frontman/74950fac15c3
Pro Web IT - 2
Alexander Mayorov
Аудиозарисовки прошедших будней усталым голосом. Про телеграм, стоит ли делать петпроджекты, астрологи объявили неделю иммутабельности в JS и неделю PHP митапов.
Шутка дня:

11:00 Суд постановил заблокировать телеграм

12:00 Суд удалился для установки VPN и Proxy
Применение void в JS для дебага:

setTimeout(void function(){ ... }, 1000);

Так можно отменить вызов функции. Это можно применять при отладке, когда блок кода большой и комментировать его неудобно.

Чаще я использовал такой кейс:

if (0) setTimeout(function(){ ... }, 1000);

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

Тем не менее void так же имеет право на жизнь и, возможно, вам он покажется более интересным и удобным.
UX лайфхак:

Ели вдруг вы настроили свой socks сервер и вам надо настроить кому-то клиент, просто сформируйте ссылку вида:

tg://socks?server=proxy_ip&port=proxy_port&user=proxy_user&pass=proxy_password

И не надо даже объяснять что куда в какие настройки вписывать. Просто ссылка. Просто работает. Для десктоп приложений тоже.

😉
Привет всем, кто пережил блокировку телеграма. Сегодня решение маленькой задачи, я бы даже сказал классической в какой-то мере: написать алгоритм нахождения наибольшего общего делителя. Где только ее не встречал. Но решение показываю именно на JS из-за того, что этот язык позволяет решать одну задачу множеством вариантов и в разных стилях.

https://medium.com/@frontman/8429b654f6bc
За прошедшую неделю я не выложил ничего в аудио формате. Зато предлагаю послушать подкаст, в котором я принял участие.

Тема: Soft Skills. Как расти в руководители и тимлиды. Разбираем проблемы, трудности и задачи. Делимся опытом. Подробности: https://medium.com/@frontman/864a85df7a0d
Forwarded from IT Radio Streams
SDCast-77.mp3
117.7 MB
77-й выпуск по теме «Soft skills». Вместе с Антоном Шевчуком, Романом Пронским и Александром Майоровым обсуждаем различные технические и социальные аспекты разработки
Читатель канала @jfett (спасибо ему) посоветовал мне репу со скриптами, которые добавляют и удаляют пользователей. https://github.com/schors/tgdante2/tree/master/dante/files/noscripts

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