Как стать автором
Обновить
1
0
Den Patin @denpatin

Ruby (on Rails) Developer Obsessed with Oracle

Отправить сообщение

Как я работал в Дубае

Время на прочтение19 мин
Количество просмотров111K


Предисловие


Здравствуйте, меня зовут Александр Зеленин, и я инженер-программист. В 2018 году я получил приглашение в Дубай в компанию Careem (поглощён Uber’ом за 3.1ккк$) архитектором/тимлидом в команду по финансовому взаимодействию с водителями.


В этой статье я постараюсь покрыть все ключевые темы проживания в ОАЭ: от вакансий и интервью до ипотек и бессрочного резидентства с конкретными цифрами на конец 2020 года и ссылками на релевантные сервисы. Секции не упорядочены и могут читаться в любом порядке.

Как там, в Дубае?
Всего голосов 78: ↑77 и ↓1+108
Комментарии152

Индексы в PostgreSQL — 1

Время на прочтение17 мин
Количество просмотров440K

Предисловие


В этой серии статей речь пойдет об индексах в PostgreSQL.

Любой вопрос можно рассматривать с разных точек зрения. Мы будем говорить о том, что должно интересовать прикладного разработчика, использующего СУБД: какие индексы существуют, почему в PostgreSQL их так много разных, и как их использовать для ускорения запросов. Пожалуй, тему можно было бы раскрыть и меньшим числом слов, но мы втайне надеемся на любознательного разработчика, которому также интересны и подробности внутреннего устройства, тем более, что понимание таких подробностей позволяет не только прислушиваться к чужому мнению, но и делать собственные выводы.

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

В этой части мы поговорим про разделение сфер ответственности между общим механизмом индексирования, относящимся к ядру СУБД, и отдельными методами индексного доступа, которые в PostgreSQL можно добавлять как расширения. В следующей части мы рассмотрим интерфейс метода доступа и такие важные понятия, как классы и семейства операторов. После такого длинного, но необходимого введения мы подробно рассмотрим устройство и применение различных типов индексов: Hash, B-tree, GiST, SP-GiST, GIN и RUM, BRIN и Bloom.
Читать дальше →
Всего голосов 104: ↑103 и ↓1+102
Комментарии59

Как я получил 4 оффера в FAANG в Европе или из Воронежа в Лондон

Время на прочтение16 мин
Количество просмотров44K


Очередная история успеха после череды неудач. Расскажу, чего мне стоило получить офферы от Facebook*, Google, Amazon, JP Morgan в Европе, как я готовился, сколько собесов зафейлил перед тем, как удача повернулась ко мне правильной стороной.


TL;DR. Послал сотни резюме. Прорешал около 100 задач на Leetcode. Прочел книжку по архитектуре (не той, которая про дома, а той, которая system design). Прошел 9 интервью. Получил 4 оффера. Принял 1. Жил, пока что, не очень долго, но, вполне себе, счастливо в Лондоне.
Читать дальше →
Всего голосов 53: ↑43 и ↓10+49
Комментарии65

Запросы в PostgreSQL: 2. Статистика

Время на прочтение19 мин
Количество просмотров31K

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

Как обычно, я буду приводить примеры из демобазы. В этой статье будет довольно много планов выполнения, но про их составные части я буду рассказывать только в следующих статьях. Здесь же нас в первую очередь будут интересовать оценки количества строк (кардинальности), то есть числа, указанные в верхней строке плана в позиции rows.

Читать далее
Всего голосов 18: ↑18 и ↓0+18
Комментарии2

Запросы в PostgreSQL: 1. Этапы выполнения

Время на прочтение17 мин
Количество просмотров81K

Привет, Хабр! Начинаю еще один цикл статей об устройстве PostgreSQL, на этот раз о том, как планируются и выполняются запросы.

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

В этом цикле я собираюсь рассмотреть этапы выполнения запросов, статистику, последовательное сканирование, индексное сканирование, соединение вложенным циклом, соединение хешированием, сортировку и соединение слиянием.

Материал перекликается с нашим учебным курсом QPT «Оптимизация запросов», но ограничивается только подробностями внутреннего устройства и не затрагивает оптимизацию как таковую. Кроме того, я ориентируюсь на еще не вышедшую версию PostgreSQL 14. А курс мы тоже скоро обновим (правда, на версию 13; приходится бежать со всех ног, чтобы только оставаться на месте).

Поехали
Всего голосов 33: ↑33 и ↓0+33
Комментарии11

Логическое программирование на Prolog для чайников

Время на прочтение14 мин
Количество просмотров86K

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

Выделяют три основные парадигмы программирования: императивное, функциональное и логическое. Императивное — это про C/C++, Java, Golang, Javascript и тд. Я даже могу сказать "C подобный, значит императивный". Функциональное — это про Haskell, F#, Lisp, ленивые вычисления, чистые функции и т.д. Но что такое логическое программирование? Какие задачи оно решает и на чем программировать? Не уже ли логическое программирование способно доказать любую математическую теорему? Или как?

Это статья — туториал по логическому программированию на Пролог для чайников.

Туториал будет интересен в первую очередь:
1. Любознательным
2. Студентам, которым приходится изучать Prolog в вузе

Я постарался лаконично, понятно, без излишних приступлений и отступлений научить основам программирования на Пролог.

Давайте разбираться
Всего голосов 12: ↑8 и ↓4+9
Комментарии18

Нюансы работы с PostgreSQL в 3 кейсах от DBA

Время на прочтение9 мин
Количество просмотров16K

Иван Чувашов, DBA Okko и Southbridge, поделился жизненными кейсами с PostgreSQL, которые помогут решить ваши проблемы.

Разберем случаи из PostgreSQL: запросы в статусе idle in transaction, выключенные контрольные суммы данных, переполнение int4, убивающие базу временные файлы и загрузку CPU.

Читать далее
Всего голосов 20: ↑20 и ↓0+20
Комментарии9

Как мы использовали расширенную статистику Postgres и ускорились в 2850 раз

Время на прочтение9 мин
Количество просмотров13K

В этом переводе к старту курса по Fullstack-разработке на Python напоминаем о том, насколько важно знать технологии в деталях, грамотно применять их и планировать работу в целом. Цифра 2850 в заголовке — не преувеличение: ранее занимавший две минуты запрос в базе данных компании Affinity сегодня выполняется за 42 миллисекунды. Подробности, как всегда, под катом. А если вам нужен план развития навыков с большим количеством практики, вы можете обратить внимание на наши курсы.

Читать далее
Всего голосов 21: ↑18 и ↓3+19
Комментарии5

Телеграм бот прогноза погоды на Java Spring

Время на прочтение17 мин
Количество просмотров14K

Создание простого бота для Телеграм на Java Spring, который демонстрирует базовые возможности работы с Telegram API.

Читать далее
Всего голосов 5: ↑3 и ↓2+3
Комментарии15

Развитие инфраструктуры Погоды. Доклад Яндекса

Время на прочтение9 мин
Количество просмотров6.9K
Что делать, если у вас завелись микросервисы, API стало слишком сложно пользоваться и на фронте все чаще мелькает undefined is not a function? На примере Яндекс.Погоды я показал, как мы эволюционировали из REST в GraphQL и почему это сделало жизнь разработчиков фронтенда и приложений мягкой и шелковистой.

— Меня зовут Всеволод Струкчинский, я ведущий разработчик Яндекс.Погоды. Доклад будет о том, как мы проектируем свой API, чтобы им было удобно пользоваться и мы от него не страдали.
Читать дальше →
Всего голосов 9: ↑8 и ↓1+12
Комментарии4

Как айтишнику издать свою книгу. Часть 3. Издательства: как попасть на полки книжных магазинов

Время на прочтение13 мин
Количество просмотров5.2K

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

Сегодня — и после долгого перерыва — поговорим, наконец, о шансах на интерес к вам со стороны издательств, опасных договорах и этапах создания книги с профессионалами книжного рынка. Прошу:

Процесс и про внимательность
Всего голосов 30: ↑30 и ↓0+30
Комментарии11

О чем вы много думали, но боялись узнать #3 — донорство костного мозга

Время на прочтение13 мин
Количество просмотров3.9K

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

Узнать
Всего голосов 7: ↑6 и ↓1+10
Комментарии12

Динамическая выгрузка селекта в XLS нужного формата в PL/SQL (Oracle 11g2, библиотека AS_XLSX)

Время на прочтение2 мин
Количество просмотров9K

Иногда необходимо сделать быструю выгрузку данных в интерфейсе Formspider при нажатии на кнопку "Export to XLS", к примеру. Для этого в Formspider создаётся объект ACTION в котором указывается пакет и его процедура, скачивающая нужные данные.

В теле процедуры объявлена переменная формата BLOB, которой присваивается значение, возвращаемое функцией, которой я и хочу поделиться с общественностью (выгрузка из PL/SQL делается при помощи пакетов DBMS_SQL и AS_XLSX).

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Yappa: запускаем python web-приложения. Просто. Бессерверно. В Яндекс Облаке

Время на прочтение4 мин
Количество просмотров11K

$ yappa deploy

Все. 

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

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии8

За что я люблю ассемблер?

Время на прочтение11 мин
Количество просмотров59K

Этой статье уже почти 3 года. Однако сегодня я решил подредактировать её, дополнить и выложить, наконец, на Хабр.

Читать далее...
Всего голосов 61: ↑57 и ↓4+71
Комментарии155

Я сделал 56874 звонка, чтобы исследовать телефонную сеть

Время на прочтение12 мин
Количество просмотров5.9K
image

Какие системы сегодня используются в телефонной сети Финляндии?

Такой вопрос возник у меня, когда я пролистывал старый телефонный справочник начала 2000-х.

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

Так как телефонная сеть появилась в Финляндии за сто лет до Интернета, системы внутри неё могут быть очень старыми и загадочными. До того, как Интернет получил популярность, эти системы использовались для предоставления услуг, которые мы сегодня используем в Интернете. Будет ли интересно немного исследовать их и узнать, какие из систем дожили до наших дней? Так как для телефонных сетей нет поисковых движков наподобие Shodan, мне пришлось проводить исследования самостоятельно. В этом посте я расскажу о результатах своих изысканий.
Всего голосов 10: ↑10 и ↓0+10
Комментарии11

Что такое гуморальный иммунитет?

Время на прочтение4 мин
Количество просмотров25K

Привет, я молекулярный биолог и волонтер чатов по вакцинации V1V2. Сегодня я начну писать об иммунитете и вакцинации. Эпидемия covid-2019 не закончится пока не будет сформирован коллективный иммунитет. Большинство из нас иммунитет приобретет. У нас есть выбор между иммунитетом после вакцины и иммунитетом после болезни с летальностью 1.5 - 3% и непредсказуемыми осложнениями. К сожалению, информации не хватает. Важно, чтобы об исследованиях вакцин узнало как можно больше людей.

Начнем серию статей с разбора гуморального иммунитета, который защищает нас с помощью антител.

После вакцинации, как и после болезни covid-2019, сначала образуются ранние антитела IgM и IgA (сывороточные) (с 7-14 суток), которые держатся несколько недель, а затем – IgG (с 14-30 суток), которые держатся несколько месяцев. На 30-60 сутки после вакцинации наблюдаются максимальные значения IgG.

Динамика образования антител после болезни, аденовирусных и мРНК вакцин описана в научных статьях.

https://www.nature.com/articles/s41564-020-00813-8

https://immunology.sciencemag.org/content/5/52/eabe0367

https://www.thelancet.com/journals/eclinm/article/PIIS2589-5370(21)00014-6/fulltext

https://jamanetwork.com/journals/jama/fullarticle/2770758

https://www.cell.com/med/fulltext/S2666-6340(21)00038-6?_returnURL=https%3A%2F%2Flinkinghub.elsevier.com%2Fretrieve%2Fpii%2FS2666634021000386%3Fshowall%3Dtrue

Антитела распознают эпитопы – уникальные участки чужеродных белков (антигенов). Часть антитела, распознающая эпитоп, называется паратопом. К некоторым эпитопам антитела образуются чаще, чем к другим. Антитела синтезируются В-лимфоцитами. «Наивные» В-лимфоциты (в лимфоузлах и селезенке) при первой встрече с антигеном активируются, начинают делиться, проходят селекцию на прочное связывание антигена и «превращаться» в плазматические клетки, которые секретируют антитела. Часть клонов В-лимфоцитов становятся В-клетками памяти – долгоживущими В-лимфоцитами, которые обеспечат быструю выработку большого количества IgG антител (минуя IgM) при повторной встрече организма с антигеном. Большинство плазматических клеток погибает после исчезновения антигена в организме, но около 10-20% плазматических клеток живет дольше и также вносит вклад в долговременный иммунитет.

https://habr.com/ru/post/569316/
Всего голосов 39: ↑28 и ↓11+29
Комментарии366

Что такое Т клеточный иммунитет?

Время на прочтение3 мин
Количество просмотров15K

Кроме гуморального иммунитета в защите от заражения играет роль и Т клеточный иммунитет. Ключевым игроком этого пути защиты являются цитотоксические Т-лимфоциты (CD8+, Т киллеры), которые убивают уже зараженные вирусом клетки, распознавая на их поверхности «вражеские антигены». Т-хелперы (СD4+) также важны и стимулируют работу других иммунных клеток, высвобождая цитокины. Эпитопами для Т клеточного иммунитета могут выступать участки спайк-белка и других белков, включая N, M, nsp3, nsp4, ORF3a и ORF8. Однако роль Т клеточного иммунитета в защите от covid-2019 мало изучена.

https://immunology.sciencemag.org/content/5/48/eabd2071

https://jamanetwork.com/journals/jama/fullarticle/2770758

Кроме гуморального иммунитета в защите от заражения играет роль и Т клеточный иммунитет. Ключевым игроком этого пути защиты являются цитотоксические Т-лимфоциты (CD8+, Т киллеры), которые убивают уже зараженные вирусом клетки, распознавая на их поверхности «вражеские антигены». Т-хелперы (СD4+) также важны и стимулируют работу других иммунных клеток, высвобождая цитокины. Эпитопами для Т клеточного иммунитета могут выступать участки спайк-белка и других белков, включая N, M, nsp3, nsp4, ORF3a и ORF8. Однако роль Т клеточного иммунитета в защите от covid-2019 мало изучена.

https://immunology.sciencemag.org/content/5/48/eabd2071

https://jamanetwork.com/journals/jama/fullarticle/2770758

У некоторых людей, никогда не болевших covid-2019, обнаруживается Т клеточный иммунитет к SARS-CoV-2. Это перекрестный иммунитет к сезонным коронавирусам, с которыми человек встречался в прошлом. Такая кросс-реактивность возможна, поскольку Т клеточный иммунитет длительный, и эпитопы Т клеток «короткие».

https://habr.com/ru/post/569292/
Всего голосов 23: ↑15 и ↓8+14
Комментарии57

Алгоритм Краскала, Прима для нахождения минимального остовного дерева

Время на прочтение4 мин
Количество просмотров98K

Привет, Хабр!
В свободное от учебы время пишу статьи, которых мне не хватало несколько лет назад.

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

Читать далее
Рейтинг0
Комментарии7

О чем вы много думали, но боялись узнать #2 — мРНК вакцина, выработка иммунитета, S-белок

Время на прочтение11 мин
Количество просмотров26K

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

Узнать
Всего голосов 20: ↑19 и ↓1+29
Комментарии163

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность