Pull to refresh
33
0
Андрей @NeX

User

Send message

Кот в мешке: как приручить дикий бинарник

Level of difficultyMedium
Reading time26 min
Views10K

Всем привет. Меня зовут Василий. Я работаю SRE в Яндекс Маркете. Недавно у нас прошли тренировки по DevOps от Young&&Yandex. Сегодня я разберу финальное задание, как и обещал участникам тренировок. Оно состоит в том, чтобы развернуть инсталляцию приложения из готового бинарника, которая будет соответствовать SLA из ТЗ. Выглядит предельно просто, но только на первый взгляд. Под катом — один из вариантов обхода всех подводных камней, которые притаились в задании.

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

GOST: швейцарский нож для туннелирования и обхода блокировок

Level of difficultyMedium
Reading time13 min
Views94K

Начиная со вчера Роскмонадзор запрещает писать про инструменты для обхода блокировок, и это событие мы отметим очередной статьей про инструменты для обхода блокировок. Ибо не им указывать, на какие темы мне писать или не писать, пусть идут строем нафиг.

Сегодня я расскажу о замечательном инструменте под названием GOST. Не пугайтесь, он не имеет никакого отношения к ГОСТ-шифрованию или чему-то подобному, на самом деле это Go Simple Tunnel. Он действительно simple (простой) в использовании и настройке, но при этом невероятно мощный, поскольку поддерживает огромное количество протоколов и транспортов, из которых вы при желании сможете построить самые упоротые и бронебойные комбинации, а именно...

Читать далее
Total votes 180: ↑177 and ↓3+174
Comments113

Особенности проксирования через CDN/Websocket/gRPC для обхода блокировок

Level of difficultyMedium
Reading time15 min
Views60K

Эта статья — заключительная (наконец‑то!) из моего огромного цикла про недетектируемые инструменты для обхода блокировок. В предыдущих публикациях я упоминал, что клиенты и серверы XRay (форк V2Ray) и Sing‑box при использовании протоколов VLESS/VMess/Trojan могут работать через веб‑сокеты и gRPC, что позволяет подключаться к даже заблокированным Роскомнадзором прокси‑серверам через CDN (content delivery или content distribution network) и дает дополнительные преимущества. Сегодня мы поговорим об этом поподробнее.

Читать далее
Total votes 80: ↑78 and ↓2+76
Comments148

Гарвардский курс CS50 на русском. Все серии

Reading time4 min
Views581K


Друзья, мы рады сообщить, что перевод всего гарвардского курса CS50 закончен.

Мы писали, что в курсе 24 серии, однако последние две оказались одной и той же лекцией (одна прочитана в Гарварде, а другая в Йеле), поэтому в списке переведённых лекций не 24, а 23.

Список лекций под катом.

Что вы узнаете, прослушав этот курс:
  • Основы компьютерных наук и программирования;
  • Концепции алгоритмов и алгоритмичности мышления. Какие задачи можно решать с помощью программирования и каким образом;
  • Концепции абстракции, структуры данных, инкапсуляции, управления памятью. Основы компьютерной безопасности. Процесс разработки ПО и веб-разработка;
  • Основы языка программирования C и Scratch;
  • Основы баз данных и SQL;
  • Веб-разработка: основы CSS, HTML, JavaScript и PHP;
  • Основы подготовки презентации проектов по программированию.


Курс переведён и озвучен нашей студией по заказу JavaRush, и мы хотим сказать им огромное спасибо за поддержку!
Total votes 40: ↑37 and ↓3+34
Comments34

Память в браузерах и в Node.js: ограничения, утечки и нестандартные оптимизации

Reading time32 min
Views41K

Интро: почему я написал эту статью


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



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


Разрабатывая проект на JavaScript (TypeScript, ClojureScript или каком-то другом языке, транслируемом в JavaScript), мы привыкли создавать объекты, массивы, строки и вообще писать код, как будто память бесконечна. Это не так. Я расскажу о видах проблем с памятью, о том, какие ограничения мы часто забываем и как их можно преодолеть. В ответ браузеры и пользователи скажут вам спасибо.


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

Вопросы и ответы для собеседования Go-разработчика

Level of difficultyMedium
Reading time53 min
Views104K

Структурирование информации — очень полезный навык. И дабы привнести некоторый порядок в этап подготовки к интервью на должность Golang разработчика (и немножко техлида) решил записывать в этой заметке в формате FAQ те вопросы, которые я задавал, задавали мне или просто были мной найдены на просторах сети вместе с ответами на них. Стоит относиться к ним как к шпаргалке (если затупишь на реальном интервью — будет где подсмотреть) и просто набору тем, которым тебе стоит уделить внимание.


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


Да, это очень объемный пост, и вряд ли его можно вдумчиво осилить за один подход, но поместив его в закладки он, возможно, когда-то сослужит вам добрую службу (читать его можно по частям, находясь в метро или между вечными совещаниями; да и Ctrl + F никто не отменял). Ещё ему очень не хватает оглавления для удобной навигации между вопросами, но у хабраредактора нет возможности генерировать TOC (если будут запросы об этом в комментариях — сделаю его руками). Об очепятках, пожалуйста, пишите в личку.

Читать дальше →
Total votes 43: ↑40 and ↓3+37
Comments16

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

Reading time11 min
Views37K

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

Читать дальше →
Total votes 39: ↑37 and ↓2+35
Comments29

Материалы открытого курса OpenDataScience и Mail.Ru Group по машинному обучению и новый запуск

Reading time9 min
Views146K

Недавно OpenDataScience и Mail.Ru Group провели открытый курс машинного обучения. В прошлом анонсе много сказано о курсе. В этой статье мы поделимся материалами курса, а также объявим новый запуск.



UPD: теперь курс — на английском языке под брендом mlcourse.ai со статьями на Medium, а материалами — на Kaggle (Dataset) и на GitHub.


Кому не терпится: новый запуск курса — 1 февраля, регистрация не нужна, но чтоб мы вас запомнили и отдельно пригласили, заполните форму. Курс состоит из серии статей на Хабре (Первичный анализ данных с Pandas — первая из них), дополняющих их лекций на YouTube-канале, воспроизводимых материалов (Jupyter notebooks в github-репозитории курса), домашних заданий, соревнований Kaggle Inclass, тьюториалов и индивидуальных проектов по анализу данных. Главные новости будут в группе ВКонтакте, а жизнь во время курса будет теплиться в Slack OpenDataScience (вступить) в канале #mlcourse_ai.

Total votes 80: ↑79 and ↓1+78
Comments24

Разбор медицинского случая, в котором пациент потерял 2 зуба: что дают технологии

Reading time10 min
Views26K
Во время занятий спортом пациент получил сильнейший удар в район верхней челюсти и потерял сознание. Я подозреваю сноуборд и дерево, но это только мои подозрения. Пациента эвакуировали в ближайшую клинику примерно стандартного уровня ОМС, где убрали осколки костей, зашили рану и вообще грамотно оказали помощь. Грамотно — это не трогая корни зубов, потому что пациент знал, что скоро вернётся в Москву и пойдёт в нашу клинику. Хирург на месте не обладал ни нужным оборудованием, ни материалами, но принял очень правильные профессиональные решения, за что ему спасибо.

Поскольку многих из вас пугают обычные снимки с увеличением, сверху поста 3D-модель — результат фотограмметрии, полученной внутриротовым сканером:

image

Ниже будут фотографии, так что аккуратнее.

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

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

Для начала обратим внимание на то, в каком состоянии пациент поступил.
Читать дальше →
Total votes 65: ↑62 and ↓3+59
Comments50

В Reddit через PayPal и Alibaba без релокации и смс

Reading time12 min
Views5.2K

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

Мы нашли человека, который построил впечатляющую карьеру в IT, принимая нетипичные решения. Он уходил от инженерных задач в управленческие, его карьеру не назвать ни вертикальной, ни горизонтальной. Backend Engineering Manager в Reddit Максим Алексеев поделился опытом работы в PayPal и Alibaba.

За 17 лет в IT Макс побывал тимлидом и техлидом, консультировал компании Кремниевой долины в области распределенных кешей и дата-гридов, отвечал за бэкенд, DWH, ML и руководил стартапом SCORR. 

Максим рассказал про особенности трудоустройства в американские tech-гиганты и почему он отказывался от релокейта в США. И конечно, мы расспросили, как он набирает специалистов в свою команду в Reddit. Послушать вебинар и посмотреть на Максима можно в нашем видео. Ниже — обзор для тех, кто предпочитает читать. 

Как попасть в Reddit?
Total votes 13: ↑13 and ↓0+13
Comments4

Возможности Vue, о которых не следует забывать

Reading time5 min
Views17K
Мы в команде Ptah решили пойти чуть дальше привычных SPA и попробовали использовать Vue для конструктора лендингов. И теперь хотим поделиться частью нашего опыта.

Эта статья, прежде всего, для тех, кто только начал работать с Vue и хочет узнать лучше его особенности и возможности. Здесь я хочу рассказать о некоторых возможностях фреймворка, которые часто остаются незаслуженно забытыми начинающими разработчиками.
Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments21

Материалы NLP курса от DeepPavlov

Reading time4 min
Views26K

В этой статье вы найдете материалы очных курсов «Deep Learning in NLP», которые запускались командой DeepPavlov в 2018-2019 годах и которые являлись частичной адаптацией Stanford NLP course — cs224n. Статья будет полезна любым специалистам, погружающимися в обработку текста с помощью машинного обучения. Благодарю физтехов, разрабатывающих открытую библиотеку для разговорного искусственного интеллекта в МФТИ, и Moryshka за разрешение осветить эту тему на Хабре в нашем ods-блоге.


Читать дальше →
Total votes 63: ↑61 and ↓2+59
Comments6

Как проходят секции по машинному обучению на собеседованиях в Яндекс

Reading time6 min
Views29K

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


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


image

Total votes 36: ↑29 and ↓7+22
Comments7

ДА вздрогнет FAANG* или [практическое руководство] по поиску работы в США/Европе для айтишника

Reading time5 min
Views24K
*FAANG — акроним 5 крупнейших tech компаний (Facebook, Apple, Amazon, Netflix and Google), предоставляющих одни из самых хороших возможностей для разработчиков, которые мечтают/планируют/хотят приобщиться к волне IT-эмиграции.

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

К сожалению, на практике подобный процесс поиска работы часто заканчивается неудачами. Сайты со списком вакансий — один из самых низкоэффективных способов, по крайней мере в США.

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

image
Читать дальше →
Total votes 28: ↑21 and ↓7+14
Comments27

История о V8, React и падении производительности. Часть 2

Reading time9 min
Views7.8K
Сегодня мы публикуем вторую часть перевода материала, посвящённого внутренним механизмам V8 и расследованию проблемы с производительностью React.



Первая часть
Читать дальше →
Total votes 33: ↑33 and ↓0+33
Comments1

Очень много YouTube-каналов для прокачки английского языка для программистов

Reading time4 min
Views60K
Привет, Хабр!

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

Добавляйте в закладки и подписывайтесь на меня!
Дальше вас ждет много крутых статей.

Поучить английский


AJ Hoge. На его канале есть всё: от базовых слов до размышлений о важности языка тела в общении. Чувак пилит видосы уже много лет, материальчик накопился.

EngVid. Если бы можно было выбрать что-то одно для улучшения английского, то это оно. Разные преподы и тематики, постоянное обновление, бездонный ресурс. Ещё сайт одноимённый крутой, с удобной навигацией — можно найти очень узкую тему по интересам.
Читать дальше →
Total votes 59: ↑52 and ↓7+45
Comments19

The state of CSS

Reading time15 min
Views23K
В ежегодном опросе «The state of JavaScript» разработчики рассказывают о том, что они используют здесь и сейчас. Вопросы там знакомы и привычны фронтенд-сообществу. В 2019 году появился опрос «The state of CSS», который ввёл разработчиков в ступор. Оказывается, многие технологии разработчикам не знакомы, хотя большинство из них уже активно используются. Возможно, разработчики используют привычные инструменты и технологии, и не стремятся применять что-то новое? Возможно, просто нет задач под новые технологии? Зачем использовать CSS Grid, CSS Multi columns, там, где проще построить все на Flexbox? Возможно, это все касается старичков, а джуны уже и не знают про Flexbox и Float и в опросах не участвуют?



Сергей Попов (popovsergey), руководитель Лиги А, спикер и организатор конференций задался этими вопросами, провел свой мини-опрос и даже получил результаты от организаторов «The state of CSS». Всю информацию Сергей обработал, структурировал и получил срез фронтенд-сообщества: кто что знает и использует, где учатся верстальщики и сколько зарабатывают, какие технологии актуальны, а какие пора сдавать в переработку, и что изучать, чтобы применять всю мощь CSS. Расшифровка доклада — один из вариантов отчета по актуальному состоянию CSS, вместе с оригинальным отчетом «The state of CSS» подскажет, куда двигаться и какие технологии применять.

Осторожно, под катом много диаграмм и картинок, действительно много, но они все по делу. В хорошем качестве они тут.
Total votes 50: ↑50 and ↓0+50
Comments9

HBO, cпасибо что напомнил… «Чернобыльская аптечка» беларуского фармацевта

Reading time20 min
Views123K
Что бы ни сказали — не станем спорить
Что бы ни дарили — не станем верить

Егор Летов «Как листовка»

Думаю не стоит лишний раз говорить о нашумевшем сериале Чернобыль и эффективности такого «сериального» воздействия на массы. Особенно на массы, проживающие на территориях, показанных в фильме. Выход каждой новой серии сопровождается всплеском публикаций в FB. В каждой из которых горечь, страх, боль. Что в такой ситуации я могу сделать ("кто виноват и что делать?")? Могу только описать свой взгляд на терапию лучевых поражений. Спасибо родненькой кафедре химии высоких энергий и проф. Шадыро О.И., которые пестовали в своих лабораториях нас, непутевых фармацевтов-радиохимиков. Надеюсь своей статьей честь этой, легендарной некогда, кафедры я не опорочу.

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

В общем, спасибо, сценаристы HBO, за то, что всколыхнули Память. Мой посильный вклад — под катом. Рейтинг доступных (и не очень) антидотов, способных сработать при радиационном выбросе. В закладки — класть строго ВСЕМ! И прочитал сам — перекинь другу.

Читать дальше →
Total votes 227: ↑210 and ↓17+193
Comments272

Каждому яду — свой антидот. Как спастись или хотя бы попытаться (upd: про противоядия при бытовых отравлениях)

Reading time9 min
Views112K
Всем бойцам РХБЗ (радиационной, химической и биологической защиты) не посрамившим честь своего ОЗК посвящается...

С интересом читая статьи коллеги gjf про самые интересные, самые страшные и самые нестрашные яды испытываю ностальгию :). Потому что любой правильный химик, начиная свой творческий путь в первую очередь интересуется либо ядами, либо взрывчатыми веществами, либо наркотиками. Вот не встречал людей, которых в химию бы привело что-то другое, честно. Правда с годами, если хобби становится профессией, вся информация как-то переосмысливается и упорядочивается, возникают совершенно иные приоритеты. Вот и теперь, читая упомянутые статьи я вспоминал свой бумажный блокнотик, в котором в том числе были и описания необычных ядов. Все течет, все изменяется, теперь в моем «рабочем» блокноте чаще встречаются «противоядия». Ибо человеком придуманы тысячи способов уничтожить жизнь и пока не придумано ни одного — ее создать. Сила — в равновесии, поэтому если на Хабре есть яды — должны быть и противоядия. Ну и проснулся ж во мне перманентно дремлющий сержант белорусского РХБЗ. Статья коротенькая, почти без воды, но может так оказаться, что жизненно важная (=«закладочная», FAQ по метанолу)! За противоядием — идем под кат.


Читать дальше →
Total votes 82: ↑76 and ↓6+70
Comments89

MVCC-1. Изоляция

Reading time25 min
Views127K
Привет, Хабр! Этой статьей я начинаю серию циклов (или цикл серий? в общем, задумка грандиозная) о внутреннем устройстве PostgreSQL.

Материал будет основан на учебных курсах по администрированию, которые делаем мы с Павлом pluzanov. Смотреть видео не все любят (я точно не люблю), а читать слайды, пусть даже с комментариями, — совсем «не то».

Конечно, статьи не будут повторять содержание курсов один в один. Я буду говорить только о том, как все устроено, опуская собственно администрирование, зато постараюсь делать это более подробно и обстоятельно. И я верю в то, что такие знания полезны прикладному разработчику не меньше, чем администратору.

Ориентироваться я буду на тех, кто уже имеет определенный опыт использования PostgreSQL и хотя бы в общих чертах представляет себе, что к чему. Для совсем новичков текст будет тяжеловат. Например, я ни слова не скажу о том, как установить PostgreSQL и запустить psql.

Вещи, о которых пойдет речь, не сильно меняются от версии к версии, но использовать я буду текущий, 11-й «ванильный» PostgreSQL.

Первый цикл посвящен вопросам, связанным с изоляцией и многоверсионностью, и план его таков:

  1. Изоляция, как ее понимают стандарт и PostgreSQL (эта статья);
  2. Слои, файлы, страницы — что творится на физическом уровне;
  3. Версии строк, виртуальные и вложенные транзакции;
  4. Снимки данных и видимость версий строк, горизонт событий;
  5. Внутристраничная очистка и HOT-обновления;
  6. Обычная очистка (vacuum);
  7. Автоматическая очистка (autovacuum);
  8. Переполнение счетчика транзакций и заморозка.

Ну, поехали.
Читать дальше →
Total votes 34: ↑34 and ↓0+34
Comments35
1
23 ...

Information

Rating
Does not participate
Location
Челябинская обл., Россия
Date of birth
Registered
Activity