Pull to refresh
1
0
Send message

Основы электробезопасности при проектировании электронных устройств

Reading time12 min
Views69K
Привет, Хабр!

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


Тема это большая и сложная, но я постараюсь выделить основные моменты — не в последнюю очередь на основании ошибок, которые я видел во всевозможных реальных устройствах и проектах, в том числе публиковавшихся на Хабре. Я не буду долго и нудно перечислять ГОСТы, но перечислю совсем базовые вещи, которые необходимо понимать и соблюдать, чтобы не убить хотя бы себя (если вы планируете не убивать также и окружающих, то после завершения этой статьи не поленитесь пролистать и релевантные ГОСТы).

Итак, вы собрались делать устройство, которое как минимум одним своим концом включается в розетку.
Читать дальше →
Total votes 172: ↑167 and ↓5+162
Comments281

Быть или не быть… Использовать ли www на своём домене?

Reading time5 min
Views23K
В течение 20 лет или около того идёт дискуссия, использовать ли www в каноническом имени хоста (CNAME) вашего веб-сайта. Так что, использовать или нет?



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

Для вас как IT-администратора вашим доменом будет ваша сеть. Разумно дать домену название. Для этого приспособлена система DNS, поэтому вы регистрируете доменное имя, например, example.com. Теперь, под этим доменом у вас будут свои хосты. Каждая машина с подключением к сети считается хостом. Машина для обслуживания документов WWW, естественно, получит в вашем домене имя хоста www, так что её полное доменное имя (FQDN) будет www.example.com. Вы сделаете то же самое и для остальных хостов в своей сети, есть у вас веб-сервер или нет. Так вы наводите порядок в своей сети.
Читать дальше →
Total votes 29: ↑19 and ↓10+9
Comments20

Создание собственной цветовой палитры

Reading time4 min
Views44K
Адаптировано из нашей будущей книги «Рефакторинг UI»

Видели эти модные генераторы цветовой палитры? Когда выбираешь цвет, настраиваешь несколько параметров с музыкальными словечками типа «триада» или «четвёртый мажор» — и получаете пять идеальных цветов для своего веб-сайта?



Такой вычислительный и научный подход к выбору идеальной цветовой гаммы крайне соблазнителен, но не очень полезен.
Читать дальше →
Total votes 94: ↑92 and ↓2+90
Comments12

Забытая история ООП

Reading time14 min
Views41K
Большинство парадигм программирования, которые мы используем сегодня, были впервые математически изучены в 1930-х годах с использованием идей лямбда-исчисления и машины Тьюринга, которые представляют собой варианты модели универсальных вычислений (это формализованные системы, которые могут выполнять вычисления общего назначения). Тезис Чёрча-Тьюринга показал, что лямбда-исчисление и машины Тьюринга функционально эквивалентны. А именно, речь идёт о том, что всё, что можно вычислить с использованием машины Тьюринга, можно вычислить и с использованием лямбда-исчисления, и наоборот.


Читать дальше →
Total votes 27: ↑23 and ↓4+19
Comments24

Кротовые норы в JavaScript

Reading time5 min
Views22K

Привет, Хабр! Представляю вашему вниманию перевод статьи "Wormholes in JavaScript" автора Mathius Buus.



Компьютеры — интересные машины. В теории они представляются нам идеальными механическими математиками работающими с цифрами и хорошо выполняющими операции сложения, умножения и вычитания.


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


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

Читать дальше →
Total votes 44: ↑40 and ↓4+36
Comments29

Операция Vk 2.0. Внесён законопроект о новостных агрегаторах. «Яндекс.Новости» закроют, если сервис не сменит владельца

Reading time5 min
Views56K
Вчера в Госдуму поступил законопроект «О внесении изменения в статью 104 Федерального закона „Об информации, информационных технологиях и о защите информации”».

Законопроект запрещает иностранцам и лицам с иностранным участием владеть новостными агрегаторами. А те юрлица, где иностранцы косвенно контролируют более 20% акций или долей, не должны контролировать, управлять либо как-либо влиять на управление новостным агрегатором.

Если законопроект будет принят, то сервису «Яндекс.Новости» грозит запрет на работу в России. Единственный выход — сменить владельца. Например, перейти под государственное управление.

На фотографии: Аркадий Волож, основатель и основной акционер «Яндекса», имеет гражданство России и Мальты
Читать дальше →
Total votes 90: ↑80 and ↓10+70
Comments453

Что такое кнопки-призраки и почему их нужно бояться

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


Кнопки-призраки, то есть кнопки, у которых обозначена граница, но нет заполнения цветом, в последнее время стали популярны в Сети. Призраками их называют, чтобы подчеркнуть их прозрачность — так как у них вообще нет никакого цвета, они сливаются с фоновым изображением (часто это фотография). Но всякий раз как он попадаются мне на глаза, я поневоле задаюсь вопросом: проводили ли дизайнеры A/B тестирование? Может быть, сказывается мой опыт работы над повышением конверсии, а может, дело в их популярности в современном дизайне — так или иначе, у меня к ним сложное отношение.

В этой статье мы поговорим о том, как на смену скевоморфизму пришел плоский дизайн, как кнопки-призраки завоевали популярность в последние годы и какой эффект они могут оказывать на конверсию.
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments18

Тим Бернерс-Ли выходит на тропу войны: «Один маленький шаг для web…»

Reading time5 min
Views12K
image

Я всегда считал, что web для всех. Вот почему я и все остальные яростно сражаются, чтобы защитить его. Изменения, которых нам удалось добиться, создали лучший и более связанный мир. Но помимо всего хорошего, что мы достигли, сеть превратилась в двигатель несправедливости и разделения; на который оказывают влияние мощные силы, использующие его для своих собственных целей.

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

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

Solid изменяет текущую модель, где пользователи должны передавать персональные данные цифровым гигантам в обмен на субъективную стоимость. Как мы все выяснили, это не в наших интересах. Solid — это то, как мы развиваем web, чтобы восстановить равновесие — путем предоставления каждому из нас полного контроля над данными, личными или нет, революционным способом.
Читать дальше →
Total votes 30: ↑22 and ↓8+14
Comments43

Создание безопасного ИИ: спецификации, надёжность и гарантии

Reading time9 min
Views4.8K
Среди авторов статьи — сотрудники подразделения безопасности искусственного интеллекта (safety team) из компании DeepMind.

Строить ракету тяжело. Каждый компонент требует тщательной проработки и тестирования, при этом в основе лежат безопасность и надёжность. Ракетные учёные и инженеры собираются вместе для проектирования всех систем: от навигации до управления, двигателей и шасси. Как только все части собраны, а системы проверены, только тогда мы можем посадить на борт астронавтов с уверенностью, что всё будет хорошо.

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

На высоком уровне исследования в области безопасности в DeepMind сосредоточены на проектировании надёжных систем, при этом обнаруживая и смягчая возможные краткосрочные и долгосрочные риски. Техническая безопасность ИИ — относительно новая, но быстро развивающаяся область, содержание которой варьируется от высокого теоретического уровня до эмпирических и конкретных исследований. Цель этого блога — внести вклад в развитие области и поощрить предметный разговор о технических идеях, тем самым продвигая наше коллективное понимание безопасности ИИ.
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments7

Обзор применения 3D-печати в электронике

Reading time13 min
Views26K


3D-печать многим представляется чем-то вроде фантастического универсального метода производства, с помощью которого можно создать что угодно: достаточно лишь загрузить модель, подождать какое-то время, и вот оно — готовое к использованию изделие.

В некоторых областях, в частности — в машиностроении, это уже реализовано: подавляющее большинство 3D-принтеров ориентированы на печать материалом одного типа, например — термопластичными полимерами или металлами, чего вполне достаточно для производства механических деталей.
Читать дальше →
Total votes 37: ↑37 and ↓0+37
Comments27

Моё разочарование в софте

Reading time11 min
Views389K

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


Я занимаюсь программированием уже 15 лет. Но в последнее время при разработке не принято думать об эффективности, простоте и совершенстве: вплоть до того, что мне становится грустно за свою карьеру и за IT-отрасль в целом.

Для примера, современные автомобили работают, скажем, на 98% от того, что физически позволяет нынешняя конструкция двигателя. Современная архитектура использует точно рассчитанное количество материала, чтобы выполнять свою функцию и оставаться в безопасности в данных условиях. Все самолёты сошлись к оптимальному размеру/форме/нагрузке и в основном выглядят одинаково.

Только в программном обеспечении считается нормальным, если программа работает на уровне 1% или даже 0,01% от возможной производительности. Ни у кого вроде нет возражений.
Total votes 505: ↑474 and ↓31+443
Comments2474

Трудно сосредоточиться? Может быть, это не ваша вина

Reading time8 min
Views14K
image

Последним значительным событием в год, когда Силиконовая долина только и приносит извинения, стал технологический аналог «выпивания с умом» или «осторожного азарта» игорной индустрии. В августе Facebook и Instagram объявили о внедрении новых инструментов для пользователей, с помощью которых можно устанавливать временные ограничения на обеих платформах, а также о панели для наблюдения за ежедневной активностью. Они сделали это вслед за Google, ранее представившим инструменты так называемого «Цифрового благополучия».

Технологические компании, поступая таким образом, кажется, подразумевают, что проводить время в интернете — это не целесообразная, здоровая привычка, а доставляющий удовольствие порок, который, если его не контролировать, может превратиться в непривлекательную зависимость.
Читать дальше →
Total votes 25: ↑21 and ↓4+17
Comments16

С — не низкоуровневый язык

Reading time11 min
Views79K


Ваш компьютер не является быстрой версией PDP-11


Привет, Хабр!

Меня зовут Антон Довгаль, я С (и не только) разработчик в Badoo.

Мне попалась на глаза статья Дэвида Чизнэлла, исследователя Кембриджского университета, в которой он оспаривает общепринятое суждение о том, что С — язык низкого уровня, и его аргументы мне показались достаточно интересными.

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

Производители процессоров не одиноки в этом. Разработчики компиляторов C/C++ тоже внесли свою лепту.
Читать дальше →
Total votes 206: ↑198 and ↓8+190
Comments296

Настройка домашней среды для разработки (docker + gitlab + DNS)

Reading time5 min
Views34K

Intro


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


У большинства из нас есть какие-нибудь мелкие личные поделки, которые не выходят за рамки наших домов. Кто-то хостит их на рабочем компьютере, кто-то — на Heroku, кто-то — на VPS, а у кого-то есть домашний сервер. На реддите даже есть сообщество r/homelab, в котором люди обсуждают разные железки и софт для т.н. домашней лаборатории.


Я не настолько увлечен этим вопросом, но у меня дома стоит Intel NUC, который проигрывает музыку с NAS с помощью MPD. Помимо MPD на нем крутятся мои мелкие поделки, которые помогают мне с ним работать: ныне мертвый бот для телеграма, HTTP API на синатре и корявенький фронтенд для него.


В посте я без особых подробностей (многих из которых сам не понимаю) опишу процесс установки DNS-сервера для работы с доменными именами для сервисов, схему одновременной работы нескольких сервисов с помощью Docker и установку Gitlab с CI. Ничего нового вы не узнаете, но вдруг кому-нибудь пригодится этот "гайд". К тому же я бы хотел услышать предложения по поводу того, как можно было бы сделать это проще/элегантнее/правильнее.

Читать дальше →
Total votes 30: ↑28 and ↓2+26
Comments21

Способ организации «умного» дома с максимально широкими возможностями управления электрикой

Reading time3 min
Views28K
Сразу оговорюсь, что под «умным» домом скорее понимается удобная система для управления электрическим оборудованием в доме, а её «ум» будет заключаться в ваших умениях использовать её.

При постройке дома стал вопрос о том, как правильно организовать электрику, при условии, что стены сделаны из СИП-панелей, который нельзя штробить. Есть вариант «накрутить» на стены толстый слой гипсокартона и штробить его, но этот способ показался мне не очень удачным из-за того, что пришлось бы крутить довольно гипсокартон довольно толстым слоем, что бы убрать в стену рукав для проводов.

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

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

Вот, что получилось…
Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments91

65% российских IT-специалистов хотят поработать за рубежом

Reading time3 min
Views12K
Международное кадровое агентство Kelly Services опросило российских IT-специалистов и выяснило, что 65% из них планируют поработать за рубежом, сообщает РБК. Причины различные, а главная из них — ценный опыт (в опросе это вариант «Интересно работать в другой стране/международном коллективе»).

Среди «личных причин» лидируют политические мотивы (59%) и климат (15%).

Почему российские IT-специалисты хотят поработать за рубежом?
(можно было выбрать три варианта ответа)

  1. Интересно работать в другой стране/международном коллективе — 82%
  2. Более высокая зарплата — 73%
  3. Больше карьерных возможностей — 60%
  4. По личным причинам — 20%
  5. Привлекает престиж компании-работодателя — 19%
  6. Легче найти работу — 3%
Источник: данные Kelly Services. Похожий опрос среди пользователей «Хабрахабра» опубликован в конце этой статьи
Читать дальше →
Total votes 58: ↑47 and ↓11+36
Comments79

Пишите код, который легко удалять и отлаживать

Reading time10 min
Views23K


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

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

Умение писать код, который легко отлаживать, начинается с понимания, что вы ничего не помните о ранее написанном.
Читать дальше →
Total votes 45: ↑42 and ↓3+39
Comments9

Как машины анализируют большие данные: введение в алгоритмы кластеризации

Reading time13 min
Views15K


Перевод How Machines Make Sense of Big Data: an Introduction to Clustering Algorithms.

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


Закончили?
Total votes 19: ↑19 and ↓0+19
Comments7

10 must-have качеств на заметку начинающему менеджеру продукта

Reading time5 min
Views31K
В некоторых компаниях количество менеджеров и тим лидов кажется неоправданно большим. Почему роль эффективного менеджера сегодня становится все популярнее, и какие качества помогут рядовому сотруднику быстро превратиться в грамотного управленца? Это зависит от сферы деятельности компании, ее роста и специфики рынка, но, в целом, хорошего менеджера можно “распознать” по его личностным и профессиональным характеристикам еще задолго до необходимости “закрыть” вакансию.

image
Читать дальше →
Total votes 10: ↑7 and ↓3+4
Comments3

Практика применения прокси-объектов в JavaScript

Reading time7 min
Views30K
Возможно, вы слышали о том, что в JavaScript ES6 появились новые объекты — так называемые прокси. Тем, кто знает о том, что такое прокси-объекты, и умеет с ними работать, они могут принести немалую пользу. Сегодня мы публикуем перевод материала, который направлен на то, чтобы объяснить всем желающим особенности работы с прокси-объектами JS на множестве примеров.

image

Также откройте в новой вкладке наш предыдущий пост: JavaScript-прокси: и красиво, и полезно
Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments15

Information

Rating
Does not participate
Location
Кемерово, Кемеровская обл., Россия
Date of birth
Registered
Activity