Pull to refresh
0
0
Send message

Blazor: Нужен ли нам .Net в вебе?

Reading time8 min
Views33K

Всем доброго времени суток, меня зовут Михаил. Я .net разработчик в компании Orion Innovation. Сегодня речь пойдет про наш опыт создания веб приложения при помощи Blazor. Обсудим с какими проблемами мы столкнулись при разработке и почему вообще решили использовать Blazor.

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

Пожалуй, осталось совсем немного людей, кто хоть раз не слышал про новый, модный, молодежный фреймворк от Майкрософт. Однако, для тех кто в танке. Blazor - это фреймворк для построения web приложений с использованием всеми любимой платформы .net. Если опустить детали, то можно выделить 3 главных компонента, которыми вы будете пользоваться при создании своих сайтов: Razor pages, .Net core и web технологии (html, css, js). 

Читать далее
Total votes 23: ↑21 and ↓2+24
Comments69

7 распространенных ошибок в SQL-запросах, которые делал каждый (почти)

Reading time6 min
Views89K

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

Однако работая с большим количеством junior-ов, мы раз от раза находим в их решениях одни и те же ошибки. Реально — иногда просто создается ощущение, что они копируют друг у друга код. 

Кстати, иногда такая же участь постигает и специалистов более высокого полета. 

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

Читать далее
Total votes 37: ↑31 and ↓6+32
Comments92

Английский язык Джеки Чана: почему он пропускает звуки или добавляет лишние

Reading time6 min
Views14K

Уже давно не было статей в рубрике про акценты известных людей. Мы решили это исправить — сегодня у нас в номере Джеки Чан. Большинство из Хабровчан выросло на его фильмах.

Сам Джеки Чан долгое время он стеснялся своего акцента, когда говорил на английском. И вплоть до 1998 года его персонажей попросту переозвучивали.

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

Читать далее
Total votes 18: ↑15 and ↓3+17
Comments7

Meshtastic – оперативно-тактический радиочат без сотовой связи и интернета. Часть 1. Знакомство

Reading time9 min
Views82K

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

Meshtastic — это проект, который позволяет построить свою частную радиосеть с очень большим временем автономной работы, используя недорогие радио модули LoRa и экономичные микроконтроллеры серии ESP32.

Радиомодем связаны с вашим смартфоном по сети Bluetooth. Для некоторых сценариев использования смартфон вообще не требуется.

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

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

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

Спаси себя сам и вокруг спасутся многие
Total votes 56: ↑56 and ↓0+56
Comments114

ASP.NET MVC. Урок 0. Вступление

Reading time2 min
Views783K
Я пишу сайты на asp.net mvc. В этих 16 главах я хочу рассказать, как я это делаю. Это некий учебник-справочник всех тех знаний, которые я накопил в течение трех лет.

Почему именно asp.net mvc

ASP.NET MVC я люблю потому что:
  • Это .net. Я знаю .net и С#.
  • Это компилируемый код.
  • Это не ASP.NET WebForms, я работаю с html-кодом.
  • Используется MVC-паттерн.
  • Visual Studio – самое популярное средство разработки, в котором есть IntelliSense.
  • Отличные инструменты отладки.


Читать дальше →
Total votes 290: ↑215 and ↓75+140
Comments67

Как крупное кредитное бюро Experian 5 лет зарабатывает на уязвимости в своей системе

Reading time7 min
Views6.8K


В 2017 году портал KrebsOnSecurity уже сообщал об уязвимости в одном из трёх крупнейших кредитных бюро в США. Уязвимость позволяет злоумышленникам отменить запрос клиента бюро Experian о замораживании кредитного счёта и получить доступ к его персональным данным. На прошлой неделе один клиентов рассказал сотрудникам KrebsOnSecurity, что и сейчас можно разморозить счёт без входа в соответствующий аккаунт на сайте Experian. Я решил вновь поднять больную тему о проблемах с безопасностью информационных систем кредитных бюро.


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

У Experian есть специальная страница, где можно ввести информацию для восстановления забытого PIN-кода. Такой «удобной» возможностью могут воспользоваться и злоумышленники, чтобы узнать ваш PIN. Но для этого нужно иметь достаточно информации о вас. Раньше мы надеялись, что не на все вопросы можно ответить, имея при себе чужие персональные данные, которые периодически утекают в сеть из базы Equifax и других кредитных бюро. 

История клиента


В прошлом году Дюн Томас, инженер-программист из Сакраменто (Калифорния), заморозил свои кредитные счета в Experian, Equifax и TransUnion, так как узнал, что мошенники пытались получить доступ к средствам на счетах, используя адрес его пустующего дома (в штате Вашингтон), выставленного на продажу.
Читать дальше →
Total votes 18: ↑16 and ↓2+23
Comments0

Bluetooth Low Energy: подробный гайд для начинающих. Bluetooth Mesh

Reading time16 min
Views21K

Внедрение стандарта BLE в 2010 году привело к быстрому росту вариантов использования устройств интернета вещей, таких как сенсоры, носимые устройства, портативные медицинские инструменты и прочие. В то же время, большим недостатком BLE, существующим с момента его внедрения, была невозможность организации ячеистых сетей, когда множество устройств могут посылать друг другу сообщения и ретранслировать их при необходимости на другие устройства в сети. Ситуация изменилась в июле 2017 года, когда Bluetooth SIG выпустила стандарт Bluetooth Mesh.

В этой главе мы рассмотрим наиболее важные основные понятия, чтобы облегчить начало вашего пути в изучении Bluetooth Mesh.

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

Боль разработчика: «Никогда не давайте пользователям бесплатный тариф»

Reading time7 min
Views88K


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

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

И будет требовать от вас надёжного сервиса, новых функций и предъявлять претензии. Чем меньше платит пользователь — тем больше шуму он поднимает в социальных сетях и тем больше поддержки требует. Отрицательные отзывы идут именно от бесплатных юзеров, а не от платных (это вполне логично, если подумать).
Читать дальше →
Total votes 77: ↑71 and ↓6+84
Comments266

Анатомия GNU/Linux

Reading time13 min
Views116K

Какое-то время назад на Хабре была небольшая волна постов на тему «Почему я [не] выбрал Linux». Как порядочный фанатик я стриггерился, однако решил, что продуктивнее что-нибудь рассказать о своей любимой системе, чем ломать копии в комментариях.

У меня сложилось впечатление, что многие пользователи GNU/Linux слабо представляют, из чего сделана эта операционная система, поэтому утверждают, что она сляпана из попавшихся под руку кусков. В то же время, архитектура большинства дистрибутивов является устоявшейся и регламентируется рядом стандартов, включая стандарт графического окружения freedesktop.org и Linux Standard Base, расширяющий стандарты Unix. Мне при знакомстве с GNU/Linux несколько лет назад для погружения не хватало простой анатомической карты типичного дистрибутива, поэтому я попробую рассказать об этом сам.

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

Всё о проекте «Спутниковый интернет Starlink». Часть 4. Абонентский терминал

Reading time8 min
Views44K
Часть 1Часть2 Часть 3 Часть 4

Абонентский терминал


Абонентский терминал – это индивидуальная станция, устанавливаемая на стационарном объекте (доме) и рассчитанная на обслуживание одного абонента (аккаунта). То есть пользоваться интернетом, который раздается по Wi-Fi, могут все проживающие в доме, но это будет один счет в биллинге. И вероятность того, что SpaceX организует в ближайшее время групповой доступ или несколько аккаунтов на один терминал, я оцениваю как очень низкую.

В 2016 году в документах направленных Space X в FCC (см. apps.fcc.gov/els/GetAtt.html?id=197812&x=) было заявлено 5 типов абонентских терминалов. В таблице ниже это Модели A, B, C, D. E
Total votes 22: ↑17 and ↓5+22
Comments23

ООП: Кто взял Измаил? Вопрос принадлежности методов объекту

Reading time4 min
Views9.8K
Данная статья посвящена разбору вопроса о том, какому именно объекту ООП должен принадлежать метод, осуществляющий взаимодейстие между несколькими сущностями.

Это распространённая тема для холиваров. Например:
Не используйте ООП. Никогда. Это ошибка.

На эту тему есть много материалов, к примеру: www.youtube.com/watch?v=QM1iUe6IofM

Если ООП все еще кажется вам хорошей идеей, то решите простую задачку.

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

Вопрос: методом какого класса будет являться метод.покормить()?

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

Теперь сравните это с функциональной реализацией: у вас есть функция покормитьКошку() принимающая в качестве аргумента ссылку на кошку и кормушку.
Цитата из холивара

Как ответить на данный вопрос?
Читать дальше →
Total votes 30: ↑14 and ↓16+5
Comments398

Шпаргалка по SOLID-принципам с примерами на PHP

Reading time10 min
Views445K
Тема SOLID-принципов и в целом чистоты кода не раз поднималась на Хабре и, возможно, уже порядком изъезженная. Но тем не менее, не так давно мне приходилось проходить собеседования в одну интересную IT-компанию, где меня попросили рассказать о принципах SOLID с примерами и ситуациями, когда я не соблюл эти принципы и к чему это привело. И в тот момент я понял, что на каком-то подсознательном уровне я понимаю эти принципы и даже могут назвать их все, но привести лаконичные и понятные примеры для меня стало проблемой. Поэтому я и решил для себя самого и для сообщества обобщить информацию по SOLID-принципам для ещё лучшего её понимания. Статья должна быть полезной, для людей только знакомящихся с SOLID-принципами, также, как и для людей «съевших собаку» на SOLID-принципах.

Читать дальше →
Total votes 110: ↑100 and ↓10+90
Comments67

ООП, «святая троица» и SOLID: некоторый минимум знаний о них

Reading time43 min
Views115K

Необходимое вступление


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


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


Столь малые гарантии поднимают вопросы о причинах, по которым статья пишется. Я считаю, что этим вещам должны учить везде, где учат программированию, вплоть до уроков информатики в школах с углублённым её изучением. Тем не менее, для меня стала пугающе нормальной ситуация, когда я узнаю, что собеседник мой коллега, причём работающий уже не первый год, но про инкапсуляцию «что-то там слышал». Необходимость собрать всё это в одном месте и давать ссылку при возникновении вопросов зрела давно. А тут ещё и мой «pet-project» дал мне изрядно пищи для размышлений.


Тут мне могут возразить, что учить эти вещи в школе рановато, и вообще на ООП свет клином не сошёлся. Во-первых, это смотря как учить. Во-вторых, 70% материала этой статьи применимо не только к ООП. Что я буду отмечать отдельно.



Читать дальше →
Total votes 88: ↑82 and ↓6+76
Comments79

Information

Rating
Does not participate
Registered
Activity