Pull to refresh
2
0
Arris @Arris

Программист

Send message

Идеальный инструмент для работы с СУБД без SQL для Node.js или Все, что вы хотели знать о Sequelize. Часть 1

Reading time22 min
Views93K

Представляю вашему вниманию руководство по Sequelize.


Sequelize — это ORM (Object-Relational Mapping — объектно-реляционное отображение или преобразование) для работы с такими СУБД (системами управления (реляционными) базами данных, Relational Database Management System, RDBMS), как Postgres, MySQL, MariaDB, SQLite и MSSQL. Это далеко не единственная ORM для работы с названными базами данных (далее — БД), но, на мой взгляд, одна из самых продвинутых и, что называется, "battle tested" (проверенных временем).


ORM хороши тем, что позволяют взаимодействовать с БД на языке приложения (JavaScript), т.е. без использования специально предназначенных для этого языков (SQL). Тем не менее, существуют ситуации, когда запрос к БД легче выполнить с помощью SQL (или можно выполнить только c помощью него). Поэтому перед изучением настоящего руководства рекомендую бросить хотя бы беглый взгляд на SQL. Вот соответствующая шпаргалка.


Это первая из 3 частей руководства, в которой мы поговорим о начале работы с Sequelize, основах создания и использования моделей и экземпляров для взаимодействия с БД, выполнении поисковых и других запросов, геттерах, сеттерах и виртуальных (virtual) атрибутах, валидации, ограничениях и необработанных (raw, SQL) запросах.


Вторая часть.
Третья часть.


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

Читать дальше →
Total votes 29: ↑27 and ↓2+25
Comments28

Антивакцинаторы и теория игр, или математические основы антивакцинаторского движения

Reading time19 min
Views32K


Несмотря на злободневность, идея этой заметки родилась задолго до известных событий. Задачка является любопытным математическим этюдом и прямо просится к рассмотрению через призму теории игр, хотя в этом ключе практически не освещается. Даже люди с хорошим математическим пониманием склонны игнорировать её игровую природу. В прогрессивных кругах при взгляде на людей, выступающих против вакцинации, принято задумчиво хмуриться и пожимать плечами, но было бы странно, если бы такое мощное социальное явление не имело под собой никаких фундаментальных основ. Есть ли в отказе от прививок рациональное? Большинство заявлений антивакцинаторов не имеют под собой никаких оснований, но причины поступков человека часто не совпадают с тем, что он декларирует. В этой статье я немножко поиграю с математической моделью конфликта и покажу, почему антивакцинаторство необоримо. Если вы заинтересовались, прошу к тексту.

Читать дальше →
Total votes 109: ↑107 and ↓2+105
Comments241

30 миллиардов параметров: реально ли обучить русский GPT-3 в «домашних» условиях?

Reading time17 min
Views31K

Не так давно Сбер, а затем и Яндекс объявили о создании сверхбольших русских языковых моделей, похожих на GPT-3. Они не только генерируют правдоподобный текст (статьи, песни, блоги и т. п.), но и решают много разнообразных задач, причем эти задачи зачастую можно ставить на русском языке без программирования и дополнительного обучения — нечто очень близкое к «универсальному» искусственному интеллекту. Но, как пишут авторы Сбера у себя в блоге, «подобные эксперименты доступны только компаниям, обладающим значительными вычислительными ресурсами». Обучение моделей с миллиардами параметров обходится в несколько десятков, а то сотен миллионов рублей. Получается, что индивидуальные разработчики и маленькие компании теперь исключены из процесса и могут теперь только использовать обученные кем-то модели. В статье я попробую оспорить этот тезис, рассказав о результатах попытки обучить модель с 30 миллиардами параметров на двух картах RTX 2080Ti.

Читать далее
Total votes 42: ↑41 and ↓1+40
Comments41

Необычный дуалбут: ноутбук с «двойным дном»

Reading time15 min
Views81K

Не так давно на Habr Q&A я наткнулся на интересный вопрос — как сделать, чтобы два жестких диска не видели друг друга? Чтобы вирус, попав на одну систему, никоим образом не мог заразить другую. В ответах предлагали достаточно стандартные способы — использовать полнодисковое шифрование, отключить диск в диспетчере устройств и даже поставить переключатель на питание. Но что если взглянуть на задачу совершенно с другого угла и сделать всё средствами самого HDD? Да-да, сегодня мы снова погружаемся в пучины модификации прошивок и реверс-инжиниринга!
Узнать подробности
Total votes 361: ↑357 and ↓4+353
Comments122

На пути к вершине: Магма и Кузнечик на Эльбрусе

Reading time8 min
Views17K

В последнее время всё чаще появляются статьи о производительности российских процессоров Эльбрус на различных задачах. Тема криптографии пока что остаётся за кадром, хотя в разное время были упоминания то о высоких возможностях Эльбруса (некий ГОСТ лучше в 9 раз на Эльбрус-4С, чем на Intel Core i7-2600), то о плохой оптимизации компилятора и, соответственно, крайне низкой скорости реализованных алгоритмов (Кузнечик в 100 раз медленнее, чем на Intel?). Предлагаю наконец разобраться, что может Эльбрус, на примере двух ГОСТ алгоритмов симметричного шифрования.

Так что он может?
Total votes 46: ↑46 and ↓0+46
Comments35

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

Reading time4 min
Views27K

Представьте человека, который изучает алгоритмы. Чтобы понять как они работают, приходится разбираться в их коде и представлять, как компьютер будет его выполнять. Это странно — почему мы должны учиться думать как компьютер, вместо того, чтобы заставить его помогать нам? Какая-то сильная технозависимость.

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

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

<img>. Доклад Яндекса

Reading time30 min
Views27K
«Просто добавь картинку на сайт», — говорили они. А оказалось, что «просто» не значит «правильно». В докладе я постарался разобраться, как эффективно добавлять изображения на страницу, какие форматы графики для каких случаев полезны и как автоматизировать автоматизируемое.

— Всем привет. У меня доклад с интригующим названием в виде одного тега.
Total votes 45: ↑45 and ↓0+45
Comments4

В русском языке не менее 15 падежей (к международному дню русского языка)

Reading time2 min
Views44K

А ЗНАЕТЕ ЛИ ВЫ, что в русском языке не менее 15 падежей. Не только было, а всё ещё есть. Не верите?

«… и никогда не теряйте дара речи» - этой фразой я заканчивала каждую телепрограмму «Знают ли русские русский?»

Как странно, есть же фраза «он просто ДАР речи потерял», но при это «не теряйте ДАРА речи». Почему «дара»? Почему одно и то же существительное с тем же глаголом даёт две разные формы? Потому что это лишительный падеж, он используется с глаголами с частицей «не». «Я не хочу знать правды» (сравним: «хочу знать правду»), «он не имеет права» (а когда имеет, то «право»)

Помните фразеологизм «Врачу, исцелися сам!» (это на церковно-славянском, на латыни: Medice, cura te ipsum)? Что это за «врачу»? Это звательный падеж! В некоторых языках, например, в чешском, он сохранился в полной мере.

Несколько лет назад я услышала, как моя чешская знакомая зовёт своего пса по кличке Арчик:

- Арчику! Арчику!

- В чешском есть звательный падеж? – сразу заинтересовалась я.

Оказалось, да, есть и он образуется так же, как «врачу» из фразеологизма.

Звательный падеж: «Отче, княже, старче...» «Что тебе надобно, старче?» - это как раз из Пушкина, чей день рождения сегодня отмечаем.

Сейчас, конечно, чаще используется новозвательный падеж: «мам, пап, Танюш, Саш...»

«Баллотироваться в мэры. Взять в жёны. Пойти в лётчики…» Что это за форма? Это же не множественное число в именительном падеже)) Это превратительный (включительный) падеж. Он пошёл «превращаться» в лётчика, включаться в категорию «лётчики»

Счетный падеж — встречается с числительным, когда мы что-то считаем: «машины едут в два рядА» (родительный падеж: «из левого рЯда»), «а до смерти четыре шагА» (не «шАга»).

Читать далее
Total votes 145: ↑131 and ↓14+117
Comments389

Рунет родился из космической гонки — и без новой космической гонки Рунет ждёт упадок

Reading time25 min
Views26K

Каким образом в нулевые в России случился бум IT? Дело вовсе не в высоких ценах на нефть. Если посмотреть на биографии и возраст лидеров движения — это сплошь математики и физики, получившие, очевидно, очень фундаментальное образование в СССР 70-80-х. И конвертировали это в «Яндекс» и далее по списку. Ну и остальные кадры оттуда же. Если в стране был такой сильный физмат, то это показатель качества образования в целом. Космическая гонка, опять же. В общем, условно, последние 20 лет СССР обеспечили первые 20 лет Рунета. Вопрос: что дальше? Советское образование кончилось 30 лет назад. Рунета не было бы, не будь этих 20-30 лет бума советского образования. Откуда бы отцы Рунета пришли тогда? Так вот, последние 30 лет — это 30 лет без бума советского образования. И кадровый голод, по-моему, уже начинается.
В России еще остается небольшое количество научных школ, работает несколько сильных университетов, есть институты, имеющие научный авторитет в мире. Тем не менее, если текущая ситуация продлится еще лет 5–10, научная база в стране будет уничтожена настолько, что создавать ее придется практически с нуля, приглашая зарубежных специалистов, в том числе и опытных менеджеров, работающих в сфере науки. (Какое будущее ждет российскую науку)
Узнать историю
Total votes 130: ↑98 and ↓32+66
Comments319

Заповеди тимлида Авито

Reading time6 min
Views23K

Мы уже публиковали свои внутренние документы с ожиданиями от инженеров и менеджеров продукта в плейбуке на Гитхабе. Пришло время поделиться ещё одним — кодексом тимлида.


Читать дальше →
Total votes 80: ↑79 and ↓1+78
Comments33

Мой питомец умер. История тамагочи

Reading time11 min
Views40K
image

В детстве о собственном питомце мечтали если не все, то многие. Собачке там, котёнке, попугайчике или хомячке. Хотелось ухаживать за ним, кормить, холить и лелеять, а так же гулять и играться. Но, увы, подобная возможность была не у всех. Многим банально не разрешали родители, понимавшие всю ответственность и хлопоты, которые обязательно лягут на их хрупкие плечи, появись в доме мохнатый или пернатый друг. А вот товарищ, герой данной статьи, о котором пойдет дальнейший рассказ, таких проблем не вызывал, затрат на корм не требовал, потому, за недостатком друга живого, детям приобретали друга электронного, ставшего любимой игрушкой и хитом своего времени. Да, речь о Тамагочи, девайсе, увлекшем не одно поколение мальчишек и девчонок. Рассмотрим историю зарождения, узнаем, что это вообще такое и дальнейшее развитие. Поехали.
Total votes 54: ↑52 and ↓2+50
Comments23

История нефтеперевозок. От танкеров с бакинской нефтью до современных монстров

Reading time8 min
Views26K


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

Для лампового масла эта субстанция не очень годилась, зато она отлично подходила для смазывания деталей механизмов, которых к тому времени в Англии было довольно много, и спрос на «нефтяной воск», предотвращающую порчу металлических деталей, вдруг скакнул до небес.

Правда, новое производство Янга и его компаньонов Мелдрама и Бинни испытывало постоянные проблемы с поставками сырья, потому что «естественного просачивания нефти» было явно недостаточно для удовлетворения спроса на парафин. Янг проявлял чудеса изобретательности (например, догадался получать нефть из горючего сланца), но в конце концов новые фабриканты неизбежно встали перед проблемой завоза нефти.
Читать дальше →
Total votes 74: ↑73 and ↓1+72
Comments21

Как собрать свой собственный прибор ночного видения за $50 из смартфона

Reading time12 min
Views29K


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

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

В древности, этими средствами выступали разнообразные костры, факелы и другие способы подсветки окружающей среды.

С ходом ускорения научно-технического прогресса, средства обеспечения видимости органов зрения человека, в темное время суток, -  становились всё более изощренными и совершенными. Теперь, в их качестве выступали уже разнообразные средства подсветки, в числе которых основную роль играли способы, которые обеспечивали человека непрерывной подсветкой в течение продолжительного времени и минимальным контролем за ней.
Total votes 53: ↑37 and ↓16+21
Comments15

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

Reading time13 min
Views54K
image

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

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

Но, думаю, это всё ещё не объясняет, почему полечить зубы может стоить в некоторых случаях миллион, а не сто тысяч. Давайте разберём подробнее.
Читать дальше →
Total votes 96: ↑82 and ↓14+68
Comments239

Как я монетизировал гнездо аистов

Reading time6 min
Views31K

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

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

Читать далее
Total votes 245: ↑244 and ↓1+243
Comments73

Good vs. Well, или Гайд о прилагательных и наречиях в английском языке

Reading time5 min
Views18K

Сегодня мы поговорим о достаточно скользкой теме в грамматике английского. На вид она простая. «Bad» — прилагательное, а «badly» — наречие.

Но как сказать правильно: «I feel bad» или «I feel badly»? «I feel good» или «I feel well»?

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

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

Как баг с потерянными днями рождения привёл нас в историю СССР

Reading time2 min
Views13K

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

Читать далее
Total votes 17: ↑16 and ↓1+15
Comments14

Oldschool Sci-Fi — Роджер Желязны «Князь Света»

Reading time6 min
Views7.2K

Хей-хо Хабр!

Что мы любим, помимо технический статей, обзоров железных новинок и сакксесс стори с переездом в Никарагуа? Фантастику!

Хабр знает/любит Нила Стивенсона (раз, два...) и Лю Цысиня (раз, два..), но почему-то не вспоминает Роджера Желязны или Урсулу Ле Гуин. Да и вообще, 50-70-ые годы с точки зрения фантастики были плодовитыми.

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

Сегодня у нас на полке книга Роджера Желязны «Князь Света» («Бог Света»), премия Хьюго 1968 года за лучший роман. Важно - книга не устарела за эти 50+ лет. Часть провидческих идей уже прижилась или близка к реализации сейчас (клонирование человека, электронная копия сознания, «облачные» хранилища, цифровая карма/социальный индекс).

Идеальным эпиграфом к данной книге выступит третий закон Артура Кларка:

«Любая достаточно развитая технология неотличима от магии»

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

Читать далее
Total votes 18: ↑14 and ↓4+10
Comments19

Классические алгоритмы генерации лабиринтов. Часть 1: вступление

Reading time8 min
Views60K


Предисловие


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

Если моя статья Вам понравится, я продолжу писать о различных алгоритмах. Мы рассмотрим два самых примитивных и простых случая – генерация двоичного дерева и Сайдвиндер, который, по своей сути, просто чуть измененная версия двоичного дерева с одним заметным плюсом. ОСТОРОЖНО ТРАФИК.
Читать дальше →
Total votes 68: ↑68 and ↓0+68
Comments35

Загадка отсутствия дефолтного приложения «Калькулятор» на iPad и поиск его замены

Reading time5 min
Views28K


Любой человек, мало-мальски знакомый с экосистемой Apple, знает, что приложение «Калькулятор», по умолчанию предустановленное на iPhone, Apple Watch и компьютеры Mac, обошло стороной планшеты компании. Вероятно, многие люди, впервые пытавшиеся произвести вычисления на iPad, недоумевали и задавались вопросом: как компания, издавна славившаяся своим софтом и произведшая множество революций в сфере программного обеспечения, до сих пор не смогла обеспечить пользователей своих планшетов, казалось бы, самой простой программой, аналоги которой школьники создают, впервые изучая программирование: калькулятором. Спойлер: мы не знаем.

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

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity