«Кроме работы я еще работаю» — 10 вопросов программисту, третий выпуск |
https://habr.com/post/421965/?utm_source=habrahabr&utm_medium=rss&utm_campaign=421965
Метки: Интервью android java |
Умный город изнутри — взгляд Huawei |
https://habr.com/post/421937/?utm_source=habrahabr&utm_medium=rss&utm_campaign=421937
Метки: Урбанизм умный дом Интернет вещей Будущее здесь Блог компании Huawei умный город |
Как выявляют риски в госконтроле и зачем для этого машинное обучение |
https://habr.com/post/421677/?utm_source=habrahabr&utm_medium=rss&utm_campaign=421677
|
Создание демо для старого телефона — AONDEMO |
https://habr.com/post/421961/?utm_source=habrahabr&utm_medium=rss&utm_campaign=421961
Метки: Старое железо Ненормальное программирование демосцена Assembler z80 демо чиптюн |
[Из песочницы] Что делать, когда “this” теряет ссылку на контекст |
https://habr.com/post/421959/?utm_source=habrahabr&utm_medium=rss&utm_campaign=421959
Метки: JavaScript this контекст |
Деньги на ветер: почему ваш антифишинг не детектирует фишинговые сайты и как Data Science заставит его работать? |
https://habr.com/post/420269/?utm_source=habrahabr&utm_medium=rss&utm_campaign=420269
Метки: Информационная безопасность Блог компании «Group-IB» антифишинг Group-IB Threat Intelligence data science |
[Перевод] Используем SQL в Rails |
Во-первых, статья не о том, как я люблю рельсы, во-вторых, статья не о том, как я их ненавижу. К ним можно относиться совершенно по-разному и лучше они станут только если их менять. И хуже они могут стать только если их начать менять. Ну, в общем, я вас предупредил, а вы меня поняли.
Одна из основных концепций ActiveRecord состоит в том, что база данных достаточно утилитарна и может быть изменена. Ну, вы такие сидите, пишете свои модельки с использованием MySQL и вдруг где-то прочитали, что можно вот так вот взять и заменить MySQL на MongoDB. Хорошо, не так радикально, но, скажем, на PostgreSQL у вас могут быть причины заменить MySQL. Или наоборот, ничего не имею против MySQL. Тут ActiveRecord утверждает, что сделать вам это проще простого, мол скоупы, before/after фильтры и ассоциации достаточно абстрактны, чтобы не переживать за формирование запросов к базе данных и заботится о логике приложения. Что вместо WHERE is_archived = TRUE
вы с радостью напишете where(is_archived: true)
и ActiveRecord сделает все за вас. Все примеры будут преведены для PostgreSQL, а не для MySQL, так что пользователи MySQL вынуждены будут изобретать свой собственный велосипед.
Но как бы не так! На практике оказывается, что этот слой абстракции вся напрочь дырявая, как корыто из сказки о Золотой Рыбке. И что многие базовые возможности использовать нельзя, вроде сравнения дат или работы с массивами. И получаются скоупы с вынужденными where("#{quoted_table_name}.finished_at >= ?", Date.current)
или where("#{quoted_table_name}.other_ids <@ ARRAY[?]", ids)
. На что ActiveRecord дает вполне осознанный и логичный ответ: не используйте это. Вместо массивов используйте habtm-связь, а если надо сравнивать даты, живите с этим. Да, и не дай бог вам пропустить quoted_table_name
в таком скоупе — первый же includes
или joins
расставит все на свои места. Проще везде и всегда писать, чтобы руку не сбивать.
https://habr.com/post/421939/?utm_source=habrahabr&utm_medium=rss&utm_campaign=421939
Метки: ruby on rails sql postgresql monkeypatching |
Разбираемся в дизайнерских профессиях |
https://habr.com/post/421923/?utm_source=habrahabr&utm_medium=rss&utm_campaign=421923
Метки: дизайн веб-дизайн Блог компании Нетология ui/ux дизайн |
Исследование файловой системы HDD видеорегистратора модели QCM-08DL |
https://habr.com/post/421933/?utm_source=habrahabr&utm_medium=rss&utm_campaign=421933
Метки: Реверс-инжиниринг Работа с видео Восстановление данных Видеотехника dvr ext recovery data обратная разработка h264 video |
Huawei на IFA 2018: чип, умная колонка и трекер (текстовая трансляция) |
https://habr.com/post/421909/?utm_source=habrahabr&utm_medium=rss&utm_campaign=421909
Метки: Смартфоны Процессоры Huawei IFA 2018 |
[Перевод] Колмогоровская сложность и наши поиски смысла |
https://habr.com/post/421763/?utm_source=habrahabr&utm_medium=rss&utm_campaign=421763
Метки: Математика Колмогоровская сложность закономерности |
[Перевод] Влияние защиты от Spectre, Meltdown и Foreshadow на производительность Linux 4.19 |
https://habr.com/post/421931/?utm_source=habrahabr&utm_medium=rss&utm_campaign=421931
Метки: Процессоры Настройка Linux Информационная безопасность Linux 4.19 Spectre Meltdown Foreshadow |
ИБП и батарейный массив: куда ставить? Да подожди ты |
https://habr.com/post/421803/?utm_source=habrahabr&utm_medium=rss&utm_campaign=421803
|
Обзор смартфона General Mobile GM8 Go: турецкий бюджетник с Android 8.1 Oreo Go Edition |
https://habr.com/post/421927/?utm_source=habrahabr&utm_medium=rss&utm_campaign=421927
Метки: Смартфоны гаджеты Блог компании gadgetfreaks General Mobile GM8 Go мобильные устройства |
Год до брексит: Британия решает проблему нехватки рабочих рук с помощью роботизации |
https://habr.com/post/421929/?utm_source=habrahabr&utm_medium=rss&utm_campaign=421929
Метки: робототехника Блог компании Smile-Expo smile-expo смайл экспо роботы агротехника великобритания |
Зачем айтишнику «знать, чем живут другие»? |
https://habr.com/post/421921/?utm_source=habrahabr&utm_medium=rss&utm_campaign=421921
Метки: Учебный процесс в IT Конференции Блог компании JUG.ru Group образование |
Прямая линия с ТМ. v2.0 |
https://habr.com/post/421919/?utm_source=habrahabr&utm_medium=rss&utm_campaign=421919
Метки: Управление сообществом Блог компании ТechMedia AMA Ask me anything |
Toyota инвестирует в Uber $500 млн. Такси-сервис оценили в $72 млрд |
https://habr.com/post/421917/?utm_source=habrahabr&utm_medium=rss&utm_campaign=421917
Метки: Финансы в IT Блог компании ITI Capital uber toyota инвестиции финансы |
HP iPaq hx4700: без пяти минут современность |
https://habr.com/post/421911/?utm_source=habrahabr&utm_medium=rss&utm_campaign=421911
|
1 сентября 110 лет назад: тригонометрия, курс доллара и бенгальские огни |
https://habr.com/post/421205/?utm_source=habrahabr&utm_medium=rss&utm_campaign=421205
Метки: Читальный зал Математика Блог компании АСКОН история история математики |