Я бы не стал программистом, если бы в 2008 году не начал слушать подкаст Радио-Т.
И вот летом 2020 я записал интервью с одним из ведущих – Сергеем Петренко.
Видео, как всегда, длинное, но я честно не знал, что там еще вырезать.
Лайк, шер,алишер)
https://youtu.be/ObkeMGHxCX0
И вот летом 2020 я записал интервью с одним из ведущих – Сергеем Петренко.
Видео, как всегда, длинное, но я честно не знал, что там еще вырезать.
Лайк, шер,
https://youtu.be/ObkeMGHxCX0
YouTube
Сергей Петренко: Яндекс.Украина и уход из него, SEO, коворкинг Терминал42, железная дорога
Подписывайтесь на телеграм-каналы Школы – https://news.1rj.ru/str/ithillel и Юры Федоренко – https://news.1rj.ru/str/callforward
Юра Федоренко в гостях у бывшего руководителя «Яндекс.Украина» Сергея Петренко.
Поговорили о работе Сергея в украинской дочке Яндекса, вызовах 2014…
Юра Федоренко в гостях у бывшего руководителя «Яндекс.Украина» Сергея Петренко.
Поговорили о работе Сергея в украинской дочке Яндекса, вызовах 2014…
Новое интервью с Юрием Антонюком, топом EPAM.
Оно сделано совместно с DOU и, мне кажется, получилось очень крутым. В обозримом будущем меня на их канале будет очень много, кроме интервью мы взялись еще раз в месяц делать подкаст по украинской повестке.
Надо подписываться, ставить лайк и колокольчик)
https://youtu.be/0jp7lHHlYT0
Оно сделано совместно с DOU и, мне кажется, получилось очень крутым. В обозримом будущем меня на их канале будет очень много, кроме интервью мы взялись еще раз в месяц делать подкаст по украинской повестке.
Надо подписываться, ставить лайк и колокольчик)
https://youtu.be/0jp7lHHlYT0
YouTube
Юрий Антонюк — о будущем аутсорса, развитии EPAM и о том, куда деваются программисты после 40 лет
На DOU не было еще интервью с Юрием Антонюком, главой EPAM Украина, поэтому мы решили заполнить этот пробел. Тем более в этом году EPAM в Украине исполняется 15 лет, а пообщаться с Юрием действительно есть о чем.
В этом выпуске:
00:00 Приветствие :)
01:27…
В этом выпуске:
00:00 Приветствие :)
01:27…
Записал интервью с CTO стартапа, который сделал приложение, возглавившее топ американского апп стора, и привлек самые статусные инвестиции в прошлом году.
Первое мое видео на украинском языке.
Надеюсь, зимой выйдет еще два крутейших разговора. Подписывайтесь на канал в ютубе, чтобы не пропустить ;)
https://youtu.be/rEMti8rid8U
Первое мое видео на украинском языке.
Надеюсь, зимой выйдет еще два крутейших разговора. Подписывайтесь на канал в ютубе, чтобы не пропустить ;)
https://youtu.be/rEMti8rid8U
YouTube
СТО Reface Олесь Петрів — про 7 фаундерів, як не стали апкою-одноденкою і зросли на 100 людей за рік
Український стартап Reface — чи не найгучніший застосунок минулого року. З’явившись у січні 2020-го, Reface (тоді ще Doublicat) стрімко набирав популярність і вже влітку очолив американський AppStore із 42 млн завантажень. Мобільний застосунок замінює обличчя…
Здесь скопилось уже немало задачек без ответов. И я подумал, а что если провести эфир в клабхаусе и все это обсудить?
У меня с друзьями скопилось больше десятка инвайтов. Поэтому, кто с айфоном, пишите в комментах вопрос, который хотели бы задать, а в личку @djamah – украинский номер (ну вот так), и мы отправим инвайт.
А для тех, у кого андроид, постараюсь сделать запись, но это не точно))
p.s. Да, меня самого подбешивает эта новая модная соцсеточка, но там реально такое сделать ненапряжно.
p.p.s. А кто уже там, подписывайтесь)
У меня с друзьями скопилось больше десятка инвайтов. Поэтому, кто с айфоном, пишите в комментах вопрос, который хотели бы задать, а в личку @djamah – украинский номер (ну вот так), и мы отправим инвайт.
А для тех, у кого андроид, постараюсь сделать запись, но это не точно))
p.s. Да, меня самого подбешивает эта новая модная соцсеточка, но там реально такое сделать ненапряжно.
p.p.s. А кто уже там, подписывайтесь)
Все интервью, которые я записывал до этого, были с людьми и о компаниях, за которыми я давно слежу. А здесь я даже сначала не поверил, что у nvidia есть офис разработки в Киеве. Тем интереснее было готовиться. Это интервью снова на украинском.
https://youtu.be/he5GYzf52hs
А следующее будет на русском.
В эту среду в 20:00 по Киеву проведу эфир в клабхаусе, приходите – https://www.joinclubhouse.com/event/mylK6o9W
Под прошлым постом набросали классных вопросов, но можно еще. Только не забывайте, там будет аудио, код писать не сможем)
И да, инвайты еще есть, можно не только с украинскими номерами. Ставьте приложение, регистрируйтесь, и если не пустило (а часто пускает просто так), пишите в личку @djamah
Эфир будет неформальной болтовней, очень надеюсь, что все смогут задать вопрос голосом, и сможем обсудить все что захотим. До связи!
p.s. Уже даже клиент для андроида написали (https://github.com/grishka/Houseclub/releases), у вас не осталось повода не прийти)
https://youtu.be/he5GYzf52hs
А следующее будет на русском.
В эту среду в 20:00 по Киеву проведу эфир в клабхаусе, приходите – https://www.joinclubhouse.com/event/mylK6o9W
Под прошлым постом набросали классных вопросов, но можно еще. Только не забывайте, там будет аудио, код писать не сможем)
И да, инвайты еще есть, можно не только с украинскими номерами. Ставьте приложение, регистрируйтесь, и если не пустило (а часто пускает просто так), пишите в личку @djamah
Эфир будет неформальной болтовней, очень надеюсь, что все смогут задать вопрос голосом, и сможем обсудить все что захотим. До связи!
p.s. Уже даже клиент для андроида написали (https://github.com/grishka/Houseclub/releases), у вас не осталось повода не прийти)
👍1
Audio
djamah
Как и обещал, выкладываю запись разговора в клабхаусе.
Поначалу я много экаю и туплю, но спустя какое-то время вроде лучше)
Пишите как вам, стоит ли повторять?
p.s. очень рекомендую скачать и слушать x2
Поначалу я много экаю и туплю, но спустя какое-то время вроде лучше)
Пишите как вам, стоит ли повторять?
p.s. очень рекомендую скачать и слушать x2
Во вторник 6-го апреля буду участвовать в дискуссии на ДОУ о фронтенде.
(разговор будет на русском языке)
Да еще и не сам, а с Юрием Артюхом и Андреем Листочкиным. До сих пор не понимаю, что я делаю в компании этих великих людей, но как-то так вышло 🤷♂️
Задать любые вопросы, на которые мы постараемся ответить, можно здесь – https://dou.ua/goto/WdYE
А чтобы не пропустить, можно:
Подписаться на канал и поставить колокольчик – https://dou.ua/goto/UEFo
Если вы почему-то любите фейсбук, то там есть встреча – https://dou.ua/goto/SfJ0
Календарь ДОУ – https://dou.ua/goto/SmIZ
p.s. На следующей неделе будем снимать видео про зарплаты и деньги, которое я обещал в эфире на клабхаусе, через пару недель будет готово
(разговор будет на русском языке)
Да еще и не сам, а с Юрием Артюхом и Андреем Листочкиным. До сих пор не понимаю, что я делаю в компании этих великих людей, но как-то так вышло 🤷♂️
Задать любые вопросы, на которые мы постараемся ответить, можно здесь – https://dou.ua/goto/WdYE
А чтобы не пропустить, можно:
Подписаться на канал и поставить колокольчик – https://dou.ua/goto/UEFo
Если вы почему-то любите фейсбук, то там есть встреча – https://dou.ua/goto/SfJ0
Календарь ДОУ – https://dou.ua/goto/SmIZ
p.s. На следующей неделе будем снимать видео про зарплаты и деньги, которое я обещал в эфире на клабхаусе, через пару недель будет готово
Подкаст Радио-Т я слушаю без пропусков 13 лет.
Канал @addmeto – единственное, что не замьючено в телеграме.
И когда появилась возможность поговорить с Бобуком... ну для меня это что-то вроде пика карьеры интервьюера))
Говорили о его новой работе, и о прошлой, и еще немного за жизнь.
https://youtu.be/ILnruy7fpXU
А если вы хотите прямо расширенную версию, то подписывайтесь на подкаст, там на минут 20 больше
iTunes, Google Podcasts, SoundCloud и вот еще просто RSS
Канал @addmeto – единственное, что не замьючено в телеграме.
И когда появилась возможность поговорить с Бобуком... ну для меня это что-то вроде пика карьеры интервьюера))
Говорили о его новой работе, и о прошлой, и еще немного за жизнь.
https://youtu.be/ILnruy7fpXU
А если вы хотите прямо расширенную версию, то подписывайтесь на подкаст, там на минут 20 больше
iTunes, Google Podcasts, SoundCloud и вот еще просто RSS
YouTube
Григорий Бакунов (@bobuk) - о переезде в Киев, работе CTO в Parimatch Tech и украинском ИТ
Мы в гостях у СТО компании Parimatch Tech — Григория Бакунова. Также он, наверное, более известен как bobuk, как директор по распространению технологий «Яндекса», как ведущий подкаста «Радио-Т» и много-много чего еще.
С прошлого лета Гриша живет и работает…
С прошлого лета Гриша живет и работает…
С коллегой записали видео про деньги.
Не уверен, что там есть все ответы, но там есть почти все мои мысли по поводу)
А еще мы там обещаем давать развернутые ответы в комментах.
Канал, кстати, маленький, реально нуждается в лайках и подписках)
https://www.youtube.com/watch?v=701tVECS7rk
Не уверен, что там есть все ответы, но там есть почти все мои мысли по поводу)
А еще мы там обещаем давать развернутые ответы в комментах.
Канал, кстати, маленький, реально нуждается в лайках и подписках)
https://www.youtube.com/watch?v=701tVECS7rk
YouTube
Все, що ви хотіли знати про зарплати в ІТ, але боялися запитати
Слідкуйте за анонсами наступних зустрічей на:
Facebook: https://www.facebook.com/macpawtechtalks
Telegram: https://news.1rj.ru/str/mtechtalks
Twitter Олени Іванцової: https://twitter.com/IvantsovaOlena
Telegram Юри Федоренко: https://news.1rj.ru/str/callforward
Усередині епізоду:…
Facebook: https://www.facebook.com/macpawtechtalks
Telegram: https://news.1rj.ru/str/mtechtalks
Twitter Олени Іванцової: https://twitter.com/IvantsovaOlena
Telegram Юри Федоренко: https://news.1rj.ru/str/callforward
Усередині епізоду:…
А вот обсудили, чем занимаются программисты, когда становятся менеджерами.
Мне было очень интересно.
https://youtu.be/Fcl-UA80Pow
Мне было очень интересно.
https://youtu.be/Fcl-UA80Pow
YouTube
Кто такой Engineering Lead: про собеседования, задачи, зарплату и команду. Юра Ткаченко, WIX
Представляем новую рубрику "Что потом...?". Она о том, как развиваться опытному разработчику (и не только). Если вы засиделись на своем месте, то мы поможем вам выбрать новый путь.
В первом выпуске разговариваем с Юрой Ткаченко, Engineering Lead в WIX.…
В первом выпуске разговариваем с Юрой Ткаченко, Engineering Lead в WIX.…
На прошлой неделе проходила WWDC (главная конференция для девелоперов под apple).
Если кому интересно, что происходит в параллельном мире, то держите обстоятельное обсуждение почти всего. Прикиньте, там в свифт async/await завезли в 2021)
Я там на 50 минуте рассказываю про мобильные экстеншены под сафари на айос. А все остальное время выступаю в роли уточки, которой коллеги рассказывают как у них там все работает.
https://youtu.be/kSVVfesUUMw
Если кому интересно, что происходит в параллельном мире, то держите обстоятельное обсуждение почти всего. Прикиньте, там в свифт async/await завезли в 2021)
Я там на 50 минуте рассказываю про мобильные экстеншены под сафари на айос. А все остальное время выступаю в роли уточки, которой коллеги рассказывают как у них там все работает.
https://youtu.be/kSVVfesUUMw
YouTube
MacPaw Tech Talks Special – WWDC’21 Review
Готові переходити на Safari? Як впливатимусть на розробку інструменти iPadOS? Огляди та дискусії на тему #WWDC2021 продовжуються, наші інженери теж готові поділитися думками, реакціями та передбаченнями щодо нових релізів.
Хто?
– Євгеній Петелєв, Senior…
Хто?
– Євгеній Петелєв, Senior…
Тут такое дело, в отпуске запилил маленький пэт-проектик. Все очень просто: бот, которому можно бросить ссылку, а он вернет войсом прочитанный текст.
@quickyoubot
В такой штуке две сложные вещи:
1) Озвучка текста, но это я благополучно делегировал одному большому клауд-провайдеру.
2) Парсинг смысловой части страницы, тут пришлось чуточку пошаманить. Все ссылочки, по которым вам вернулся андефайнд, или что-то странное, или что-то не то – присылайте мне в личку на @djamah, буду очень благодарен.
@quickyoubot
В такой штуке две сложные вещи:
1) Озвучка текста, но это я благополучно делегировал одному большому клауд-провайдеру.
2) Парсинг смысловой части страницы, тут пришлось чуточку пошаманить. Все ссылочки, по которым вам вернулся андефайнд, или что-то странное, или что-то не то – присылайте мне в личку на @djamah, буду очень благодарен.
Тааак, кажется надо объяснить)
Бот из прошлого поста вот для чего:
Видите интересную новость или статью, прямо очень интересную, но если ее добавить в ридинг лист, то очередь до нее дойдет примерно никогда. Вы берете, бросаете ссылку в бот, он возвращает озвученную, вы слушаете со свободными руками и глазами. Почти как подкаст. Профит!!1)
Бросить ссылку на главную яндекса, амазона, или новостного издания можно, но что там вам читать – решительно непонятно ;)
Ссылки, которые доступны после авторизации, тоже особо ничего не покажут.
Ну вы поняли)
p.s. Спасибо Ульяне, она увидела, что википедию то я провтыкал( на выходных поправлю.
Бот из прошлого поста вот для чего:
Видите интересную новость или статью, прямо очень интересную, но если ее добавить в ридинг лист, то очередь до нее дойдет примерно никогда. Вы берете, бросаете ссылку в бот, он возвращает озвученную, вы слушаете со свободными руками и глазами. Почти как подкаст. Профит!!1)
Бросить ссылку на главную яндекса, амазона, или новостного издания можно, но что там вам читать – решительно непонятно ;)
Ссылки, которые доступны после авторизации, тоже особо ничего не покажут.
Ну вы поняли)
p.s. Спасибо Ульяне, она увидела, что википедию то я провтыкал( на выходных поправлю.
#Задачка_28
Думали здесь уже не будет задачек? А вот получите)
Нужно реализовать функцию
Напоминаю, хороший ответ, это не кусок кода, а описание хода мысли который к этому коду привел) Кусок кода мы и сами можем с лодаша достать.
Думали здесь уже не будет задачек? А вот получите)
Нужно реализовать функцию
getWithPath, которая принимает object и строку path, а возвращает значение поля с object. Пример кода:const cat = { body: { paws: [{ type: 'top right' }]}};
const propertyPath = 'body.paws[0].type';
getWithPath(cat, propertyPath);
// 'top right'
Свои варианты решения присылайте @voloshchenkoal, он обещает почти всем ответить и до конца недели сделать разбор.Напоминаю, хороший ответ, это не кусок кода, а описание хода мысли который к этому коду привел) Кусок кода мы и сами можем с лодаша достать.
А пока Саша готовит разбор прошлой задачки (хороший будет разбор, я видел)),
мы с другими коллегами записали подкаст.
В нем будет много новостей и мнений. Не только про apple, но и про apple тоже.
Планируем выйти на периодичность раз в месяц, так что подписывайтесь, не стесняйтесь)
https://www.youtube.com/watch?v=4iwh5F7FkDA
мы с другими коллегами записали подкаст.
В нем будет много новостей и мнений. Не только про apple, но и про apple тоже.
Планируем выйти на периодичность раз в месяц, так что подписывайтесь, не стесняйтесь)
https://www.youtube.com/watch?v=4iwh5F7FkDA
YouTube
It's raining cats & dogs 1. Ну Apple как Apple. 10 лет Тима Кука. Полезные тулы и немного о работе
Обсуждаем технологические новости и работу.
Сережа Бутенко – https://twitter.com/serejahh
Сережа Кривоблоцкий – https://twitter.com/Krivoblotsky
Юра Федоренко – https://news.1rj.ru/str/callforward
Наш подкаст есть и на подкаст площадках:
https://podcasts.apple.co…
Сережа Бутенко – https://twitter.com/serejahh
Сережа Кривоблоцкий – https://twitter.com/Krivoblotsky
Юра Федоренко – https://news.1rj.ru/str/callforward
Наш подкаст есть и на подкаст площадках:
https://podcasts.apple.co…
Саша уже дописал разбор #Задачка_28, но он получился таким объемным, что не влезет в одно сообщение, отсюда вопрос: Как нам лучше это опубликовать?
Anonymous Poll
43%
Давай ссылку на gist!
29%
Разбей на несколько постов
28%
Да как-нибудь, лишь бы точно завтра вышла
Разбор #Задачка_28 начинается с варианта для техлида, продолжается эвалом который лучше не надо, а дальше такое... А какое дальше, читайте здесь – https://gist.github.com/VoloshchenkoAl/e3bef6e66d3eef4bc81a3246dd027061
Второй выпуск подкаста, который я делаю с коллегами.
Обсуждаем новости и работу.
Контент плотнее, картинка уютнее, звук чище)
Ну и в начале меня уносит в краткую историю браузерного средневековья)
Хотя здесь об этом все и так знают.
Не забывайте подписаться на канал, чтобы не пропустить новое интересное.
А лайк надо поставить, чтобы видео посмотрели побольше людей, нам это очень важно.
https://youtu.be/3ZUx__Rvu9A
Обсуждаем новости и работу.
Контент плотнее, картинка уютнее, звук чище)
Ну и в начале меня уносит в краткую историю браузерного средневековья)
Хотя здесь об этом все и так знают.
Не забывайте подписаться на канал, чтобы не пропустить новое интересное.
А лайк надо поставить, чтобы видео посмотрели побольше людей, нам это очень важно.
https://youtu.be/3ZUx__Rvu9A
YouTube
It's raining cats & dogs 2. Упал Facebook и не только. Twitch стал opensource. И три байки про Apple
Маша Голубева – https://www.facebook.com/mk.holubieva
Сережа Кривоблоцкий – https://twitter.com/Krivoblotsky
Юра Федоренко – https://news.1rj.ru/str/callforward
Наш подкаст есть и на подкаст площадках:
https://podcasts.apple.com/ua/podcast/macpaw-tech/id1590627857…
Сережа Кривоблоцкий – https://twitter.com/Krivoblotsky
Юра Федоренко – https://news.1rj.ru/str/callforward
Наш подкаст есть и на подкаст площадках:
https://podcasts.apple.com/ua/podcast/macpaw-tech/id1590627857…
#Задачка_29
Нужно написать функцию
Если при вызове переданная функция бросает исключение, то она вызывается повторно, но не больше, чем заданное количество раз во втором параметре.
Пример кода:
Нужно написать функцию
retry, которая принимает два параметра: асинхронную функцию, которую будет вызывать и число попыток. Если при вызове переданная функция бросает исключение, то она вызывается повторно, но не больше, чем заданное количество раз во втором параметре.
Пример кода:
const getUserInfo = async () => {
const response = await fetch('/api/for/user');
const userInfo = await response.json();
return userInfo;
}
retry(getUserInfo, { retries: 3 });
Свои развернутые ответы присылайте @voloshchenkoal👍2
Разбор #Задачка_29
Первый вариант
Решение через рекурсию от Артема
> Минусы решения в коде
1. Надо добавить параметр
2. Обрабатывать ошибку, которую может вернуть
3. Вероятно добавить
4. Нужны стратегии (линейная, инкрементальная и тд), через какое время делать ретрай
5. Нужны логи и стратегии их отображения: когда и куда писать, например для дебага
6. Описание, типы, тесты и валидация аргументов, конфига (все ли поля используем, или есть опечатки)
> Минусы решения в подходе
1. Переданная функция должна быть идемпотентной (если повезет - это at least once, явно не exact once)
2. В случаи АПИ запроса - ретраить нужно не все статусы ответов, чтобы не заДДОсить
Пункты про стратегию повторных ретраев очень важны. Ведь без таких стратегий можно себя задедосить. Такое, например, было в Signal.
Стратегию повторных ретраев с задержкой по времени принято называть экспоненциальной выдержкой или Exponential Backoff. Больше про нее можно прочитать здесь
Второй вариант
Из задачи #Задачка_28 мы знаем, что рекурсию можно заменить циклом. #Задачка_29 не исключение
Решение через цикл от aslanator:
Вроде больше нечего сказать, несколько раз делал подобное в реальных проектах на работе.
Третий вариант
Хитрое и очень прикольное решение от Владимира
> Проблема кроется в самом Promise.any. Из документации следует, что данный метод вызывает все промисы из массива и дожидается, когда один из них будет выполнен или выкинет ошибку в случае не исполнения никакого промиса.
В конечном итоге, если данная функция будет вызвана с большим кол-во
Первый вариант
Решение через рекурсию от Артема
const retry = async (fn, { retries }) => {
try {
return await fn();
} catch (e) {
if (retries > 0) {
return retry(fn, { retries: retries - 1 });
}
throw e;
}
};
Лаконичное решение, мне очень нравится. Но оно не совсем подходит для прода. Автор описал свои мысли почему:> Минусы решения в коде
1. Надо добавить параметр
timeoutMs в config2. Обрабатывать ошибку, которую может вернуть
fn, возможно, не надо ретраить3. Вероятно добавить
retryWhen колбэк параметром4. Нужны стратегии (линейная, инкрементальная и тд), через какое время делать ретрай
5. Нужны логи и стратегии их отображения: когда и куда писать, например для дебага
6. Описание, типы, тесты и валидация аргументов, конфига (все ли поля используем, или есть опечатки)
> Минусы решения в подходе
1. Переданная функция должна быть идемпотентной (если повезет - это at least once, явно не exact once)
2. В случаи АПИ запроса - ретраить нужно не все статусы ответов, чтобы не заДДОсить
Пункты про стратегию повторных ретраев очень важны. Ведь без таких стратегий можно себя задедосить. Такое, например, было в Signal.
Стратегию повторных ретраев с задержкой по времени принято называть экспоненциальной выдержкой или Exponential Backoff. Больше про нее можно прочитать здесь
Второй вариант
Из задачи #Задачка_28 мы знаем, что рекурсию можно заменить циклом. #Задачка_29 не исключение
Решение через цикл от aslanator:
async function retry(callback, options = { retries: 0 }) {
let { retries } = options;
while (retries > 0) {
try {
return await callback();
} catch (e) {
retries--;
}
}
return await callback();
}
> Ход мысли тут достаточно прямолинейный, нам просто нужно отлавливать ошибку и заново запускать скрипт, пока не истекут попытки. Чтобы в конце вывести ошибку, я делаю повтором меньше на 1, а в конце просто отдаю callback.Вроде больше нечего сказать, несколько раз делал подобное в реальных проектах на работе.
Третий вариант
Хитрое и очень прикольное решение от Владимира
const retry = (func, { retries = 3 }) => {
const promises = Array.from({length: retries}, () => func());
return Promise.any(promises);
}
Размышление автора про минусы в своем подходе:> Проблема кроется в самом Promise.any. Из документации следует, что данный метод вызывает все промисы из массива и дожидается, когда один из них будет выполнен или выкинет ошибку в случае не исполнения никакого промиса.
В конечном итоге, если данная функция будет вызвана с большим кол-во
retries (200 к примеру), то есть вероятность упасть в ошибку самого браузера по количеству запросов.👍5
#Задачка_30 на верстку, пятница же.
Нужно сверстать header как на скрине. Логотип расположен посередине шапки без учета кнопки меню. Но есть одно условие — нельзя использовать
Снипеты кода шлите @voloshchenkoal, самый изящный вариант выложим сюда в канал.
Нужно сверстать header как на скрине. Логотип расположен посередине шапки без учета кнопки меню. Но есть одно условие — нельзя использовать
positionСнипеты кода шлите @voloshchenkoal, самый изящный вариант выложим сюда в канал.
👍1