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

Ruby (on Rails) Developer Obsessed with Oracle

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

Трудности перехода: каков Elixir на вкус после Ruby

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

Привет! Меня зовут Наталья. В Каруне я пишу в команде высоконагруженные сервисы на Elixir.

Это третья компания, в которой я работаю на Elixir. До этого я писала на Ruby. Если посмотреть свежее исследование Хабр Карьеры по зарплатам, можно увидеть — зарплаты рубистов растут, а Elixir там нет. Более того, есть истории о том, как люди возвращались с Elixir обратно на Ruby. Я считаю, что на это сильно влияет вход в язык. Elixir классный, но в первые месяцы знакомства с ним мне самой так не казалось. Настолько классный, что я не хочу назад. В этой статье я расскажу про трудности перевода перехода.

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

Основы Postgres для администраторов баз данных Oracle

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

«А кто отвечает за эту базу данных?»

Народ из команды администраторов баз данных пожал плечами, и кто-то спросил: «А сервер Oracle или SQL?»

«По-моему, это My SQL», — сказал руководитель отдела разработки.

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

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

Построение CLI-Утилит на Ruby при помощи Thor

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

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

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

«Доктор, меня игнорируют», или Как писать письма так, чтобы их читали

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

«Мои письма никто не читает.»

«Я уже всё всем написал, а коллеги продолжают спрашивать одно и то же. Бесит.»

И особенно популярное: «Мы ещё неделю назад написали, что удалим эту таблицу из базы, и сказали адаптировать код! Так что мы не виноваты, что сайт (пайплайн, приложение, <подставь своё>) упали.»

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

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

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

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

Читать далее
Всего голосов 43: ↑37 и ↓6+41
Комментарии69

Хватит совать в детей интерфероны

Время на прочтение9 мин
Количество просмотров120K
Интерфероны? Да в задницу их!


Это, как многие думают, концентрат иммунитета. Коротко — нет.

Что происходит:

  1. Ребёнка с симптомами ОРВИ приводят к педиатру.
  2. Педиатр прописывает витамин С, разбавленный сахар и интерферон в форме ректального суппозитория. Если витамин С и дорогой сахар в целом безопасны, то вот с интерфероном это далеко не так.
  3. Уровень интерферона в крови — это сложнейшая система, дающая сигнал к запуску процесса иммунного ответа, связующее звено врождённого и приобретённого иммунитета, но добавление интерферона в организм не означает, что иммунитет будет «сильнее». Упрощая, интерфероны тормозят работу заражённых клеток и дают другим клеткам вокруг поражённой вирусом сигнал, что произошло вторжение, останавливают деление вируса внутри клетки и стимулируют работу Т- и В-лимфоцитов. Так же они способны влиять на деление клеток, что важно при онкологии, например.

Изначально этот класс белков случайно открыли в 1957 году вирусологи Алик Айзекс и Жан Линдеман. У них возникла проблема с мышами, которые не заболевали при введении вируса. Как выяснилось позже, причина была в том, что эти мыши уже болели другой вирусной инфекцией, что приводило к выбросу белков ранее неизвестного класса — интерферонов. Поначалу казалось, что наконец найдено универсальное решение против вирусных болезней, но, как обычно, дальнейшие исследования выявили множество ограничений. Например, при введении серьёзных дозировок интерферона альфа можно получить жёсткую депрессию, биполярное расстройство и другие ментальные нарушения вплоть до бреда и галлюцинаций.

Поэтому сегодня я попробую объяснить, почему этот класс препаратов вовсе не добрые капельки от гриппа, а серьёзное лечение с кучей побочных эффектов. Ну и бесполезность введения его в нос и per rectum тоже затронем.
Читать дальше →
Всего голосов 161: ↑153 и ↓8+180
Комментарии231

Генетика монарха: почему в колониях муравьев могут быть только самки или только самцы

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


Муравьи всегда ассоциировались у нас с трудолюбием, организованностью, коллективизмом и, конечно же, монархической системой управления. Быть муравьем сложно независимо от положения в колонии. Рабочие постоянно работают (да, спасибо Кэп), королева постоянно производит на свет новое потомство, а самцы постоянно заняты оплодотворением королевы. Этот процесс настолько утомителен, что они погибают спустя пару часов после соития. Кастовая система муравьиного общества любопытна не только тем, что определяет роль будущего муравья и его профессию, но и пол. В одних колониях королева может производить на свет только самцов, в других — только самок. Ученые из Калифорнийского университета (США) решили разобраться, какие факторы влияют на выбор пола потомства. Как оказалось, к ним относятся не только факторы окружающей среды, но и генетика королевы. Что именно влияет на пол муравьев, какую роль в выборе играет королева, и зачем нужен такой контроль потомства? Ответы на эти вопросы мы найдем в докладе ученых. Поехали.
Читать дальше →
Всего голосов 19: ↑17 и ↓2+24
Комментарии2

Как очищать данные при помощи SQL

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

За время работы автору довелось использовать многие инструменты анализа, включая Excel, R и Python. Попробовав PostgreSQL и TimescaleDB, автор поняла, насколько простыми могут быть задачи очистки. Делимся подробностями сравнения PostgreSQL и Python из блога TimescaleDB, пока у нас начинается курс по аналитике данных.

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

Разработка приложения на Flutter с нуля до релиза: Идея + Базовая инфраструктура

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

Привет! В данном цикле статей я хотел бы показать, как может происходить создание приложений с использованием Flutter. У меня есть несколько Open Source решений, которые будут использованы в данном приложении. Что из этого получится - увидим в скором будущем.

Если долго мучаться...
Всего голосов 25: ↑25 и ↓0+25
Комментарии5

Как я пишу конспекты по математике на LaTeX в Vim

Время на прочтение9 мин
Количество просмотров129K
Некоторое время назад на Quora я отвечал на вопрос: как успевать записывать за лектором конспект по математике на LaTeX. Там я объяснил свой рабочий процесс по конспектированию в LaTeX с помощью Vim и Inkscape (для рисунков). Но с тех пор многое изменилось, так что я хочу опубликовать несколько постов в блоге с описанием нового процесса. Это первая из статей.

Я начал использовать LaTeX для конспектирования во втором семестре курса математики, и с тех пор написал более 1700 страниц. Вот несколько примеров, как выглядит конспект:


Читать дальше →
Всего голосов 222: ↑220 и ↓2+218
Комментарии133

Магистратура и аспирантура в Японии: 10 лет спустя

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

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

Основной особенностью отлаженной системы является её отлаженность. А это значит, что за истекшие десять лет мало что поменялось, и предыдущая статья по большей части актуальна. Кое-где обновились ссылки, слегка подкорректировались процедуры, но не более того. Моё же собственное понимание среды, надеюсь, стало немного более выпуклым, трёхмерным. Поэтому имеет смысл поделиться несколькими соображениями о том, как это всё выглядит по прошествии некоторого времени. (КДПВ: агитация времён локдауна).

Читать далее
Всего голосов 14: ↑13 и ↓1+15
Комментарии6

SQL HowTo: генерируем лабиринты (алгоритм Прима и геометрические типы)

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

SQL является мощным инструментом для обработки множеств, а функционал PostgreSQL позволяет делать многие вещи еще проще, поэтому идеально подходит для реализации некоторых алгоритмов на графах.

Причем работа с графами - это не просто разминка для ума, а вполне себе прикладная задача. Например, в прошлой статье мы сделали "из мухи - слона" волновым алгоритмом Ли, аналогичным используемому у нас в СБИС при расчете себестоимости в многокомпонентных актах выпуска.

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

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

20 вещей, которые я узнал за 20 лет работы инженером-программистом

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

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

Особенно отзываются пункты «стройте компактные системы» и «лучший код — это отсутствие кода». Последний совет я превращаю в цитату из какого-то второсортного фильма про самураев: «Лучшая победа — та, которую ты одержал, не доставая меч из ножен» (думаю, сослуживцы за моей спиной уже закатывают глаза). И, конечно, бесконечные разговоры про легендарных 10x-программистов постоянно хочется прервать советом не связываться с 0,1x-программистами (которые реально существуют, в отличие от 10x).

Читать далее
Всего голосов 154: ↑149 и ↓5+176
Комментарии158

HTTP/3 от А до Я: основные концепции. Часть 1

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

image
Фото Florencia Viadana, Unsplash.com


После почти пятилетних разработок протокол HTTP/3 наконец приближается к окончательному выпуску. Предыдущие итерации уже доступны как экспериментальная функция, но в 2021 году мы ждём широкого распространения протокола. Что такое HTTP/3? Зачем выпускать его так рано после HTTP/2? Как его можно или нужно использовать? Как он влияет на производительность?

Читать дальше →
Всего голосов 79: ↑78 и ↓1+95
Комментарии48

Партицирование таблиц в PostgreSQL: чек-лист для старта

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

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

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

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

А вы знаете, где сейчас используется Лисп?

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

Введение


Лисп — второй по старшинству из ныне живых высокоуровневых языков программирования (после Fortran) и первый функциональный язык. Он был разработан в 1958 году и сильно изменился с тех пор, породив множество диалектов и оказав значительное влияние на развитие других языков. На данный момент наиболее известные диалекты: Common Lisp, Scheme, Racket и Clojure.



Слева: Лисп-машина в музее MIT.
Справа: Лисп-машина Symbolics 3640, фото Michael L. Umbricht и Carl R. Friend (Retro-Computing Society of RI)


Лисп стал “первооткрывателем” многих идей, нашедших применение в современных языках программирования: древовидные структуры, динамическая типизация, функции высшего порядка и многое другое. В этом посте мы не будем углубляться во вклад Лиспа в теорию, а сосредоточимся на практической пользе.


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


Мы в Typeable любим и применяем функциональное программирование, а влияние Лиспа на функциональные языки всё ещё сильно, поэтому нам стало интересно разобраться в этом вопросе.

Читать дальше →
Всего голосов 40: ↑38 и ↓2+44
Комментарии48

Запросы в PostgreSQL: 6. Хеширование

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

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

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

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

Какую СУБД выбрать и почему? (Статья 1)

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

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

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

Читать далее
Всего голосов 45: ↑33 и ↓12+28
Комментарии39

Python и Ruby под нагрузкой: высокое искусство некромантии

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

Уже больше 20 лет я пишу код на разных языках программирования. Так как многие из этих языков считаются мертвыми, то сегодня я буду говорить о высоком искусстве некромантии — о том, как якобы мертвые языки используются в больших и иногда высоконагруженных проектах. Обрабатывая тысячи веб-запросов в секунду и не порождая необходимости писать свой компилятор PHP или переходить на Go или Rust.

Я расскажу про специфику Ruby и Python при высоких нагрузках, про их мейнстрим, который вы можете встретить в выживших проектах. Я не буду и не хочу говорить про спортивное программирование, где делают миллион запросов в секунду на одной ноде, выжигая из Python или Ruby всё и оставляя голый С. Python и Ruby действительно медленные, у них есть GIL, но при правильном использовании это не проблема, а статья расходов — и я расскажу, что мы можем получить за эти деньги.

Если вы предпочитаете слушать или смотреть (у меня там забавные крылья!) — видео моего выступления на конференции HighLoad++ Весна 2021.

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

С Днём Программиста

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


Всем привет! Сегодня 256-й день в году, а это значит, что мы снова празднуем День Программиста! Когда я слышу поздравления с каким-нибудь профессиональным «днём», у меня возникает ощущение какой-то ламповости, которую мы утратили в современном мире. Именно эту атмосферу я попытаюсь воссоздать в сегодняшней заметке. От лица компании ДомКлик поздравляю всех повелителей думающего железа с профессиональным праздником и желаю вам стабильного продакшена, релизов без багов, стопроцентного аптайма, нисходящего берндауна, бизнес-импакта, миллионов MAU, интересных задач и бесконечного креатива.

Самых хардкорных прошу под кат, где вас ждёт праздничный сюрприз!
Читать дальше →
Всего голосов 50: ↑50 и ↓0+50
Комментарии8
1
23 ...

Информация

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