Pull to refresh
18
0
Павел @INC_R

C# developer

Send message

Попытка использовать Raspberry Pi 4 в качестве десктопа. Часть 1, Raspbian

Reading time5 min
Views92K
Привет, Хабр.

С момента появления Raspberry Pi 4 стало значительно больше желающих использовать этот микрокомпьютер в качестве основного ПК. Вычислительная мощность Pi4 стала уже весьма неплохой, да и полноценный Linux «на борту» звучит многообещающе. Меня давно интересовала возможность использования портативного и бесшумного ПК для несложных задач вроде набора этого текста, где «настоящий» десктоп избыточен, а планшет неудобен. Я купил топовую модель Raspberry Pi 4 c 8 Гб памяти — настала пора проверить, как это работает.



Для тех, кому интересно что из этого получилось (спойлер — работает пока далеко не всё), подробности под катом.
Читать дальше →
Total votes 76: ↑68 and ↓8+60
Comments93

День, когда Dodo IS остановилась. Синхронный сценарий

Reading time8 min
Views17K
Dodo IS — глобальная система, которая помогает эффективно управлять бизнесом в Додо Пицце. Она закрывает вопросы по заказу пиццы, помогает франчайзи следить за бизнесом, улучшает эффективность сотрудников и иногда падает. Последнее — самое страшное для нас. Каждая минута таких падений приводит к потерям прибыли, недовольству пользователей и бессонным ночам разработчиков.

Но теперь мы спим лучше. Мы научились распознавать сценарии системного апокалипсиса и обрабатывать их. Ниже расскажу, как мы обеспечиваем стабильность системы.

Читать дальше →
Total votes 48: ↑43 and ↓5+38
Comments19

Различия Fluent и gettext

Reading time6 min
Views5.1K

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

Gettext — это система локализации, глубоко укоренившаяся в проект GNU и сопутствующие ему архитектурные решения. Fluent Project рассматривает gettext как хороший пример полноценной низкоуровневой платформонезависимой экосистемы библиотек и инструментов для управления полным циклом выпуска продукта с файлами локализации в удобочитаемом формате. В то же время парадигма Fluent приводит нас к другим архитектурным решениям в важных локализационных аспектах, которые, в свою очередь, приводят к совершенно разным API и жизненным циклам.
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments32

Разбираем змею

Reading time6 min
Views86K

Принципиальная схема змеи, рисовала прекрасная Ш.А.Г. с моих слов

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

Ну и вокруг них много недопонимания.

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

Есть змеи, которые умеют плеваться ядом вам в глаза. Есть змеи, которые офигенно плавают. Есть змеи, которые могут двигаться под песком как маленькие версии червя из Дюны.

Но начнём с разбора змеи. С корпуса.
Читать дальше →
Total votes 302: ↑296 and ↓6+290
Comments282

FAQ: что надо знать путешественнику-гику про прививки перед поездкой

Reading time11 min
Views33K
Мадагаскар закрывает границы!Вакцина — это способ показать иммунной системе сигнатуру угрозы, к которой за несколько циклов обучения будет выработан иммунный ответ.

Любая борьба организма с инфекционным заболеванием — это попытки распознать сигнатуру угрозы и выработать контрмеры. В общем случае этот процесс ведётся до полного результата, то есть до выздоровления. Однако могут быть инфекции, которые:

  • Убивают носителя быстрее, чем будет выработан иммунный ответ.
  • Меняются быстрее, чем иммунная система сможет «распознать» патогены.
  • Маскируются и прячутся в местах, где очень сложно получить доступ к патогену.

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

Давайте сначала разберёмся с ликбезом, потом перейдём к путешествиям и списку действий.

Почему путешествия опасны?


Предположим, вы летите в Африку. Там есть повышенный риск жёлтой лихорадки. Простая вакцина обойдётся вам примерно в 1 500 рублей вместе с приёмом терапевта и услугами процедурного кабинета, вакцина более высокого уровня — в 3 000 рублей. Вылечиться от жёлтой лихорадки специализированными медикаментами нельзя (то есть можно только поддерживать ресурсы организма, пока он сам не справится), заболеть легко, летальность — около 10%, основной вектор — комары. Побочных эффектов у вакцины почти нет. Стоит вакцинация того? Наверное, да. Но решать вам.
Читать дальше →
Total votes 113: ↑107 and ↓6+101
Comments96

Fluent 1.0: гибкая система локализации

Reading time7 min
Views6.2K


Fluent — семейство спецификаций, реализаций и практик для локализации, разработанной Mozilla. Сейчас она применяется в браузере Firefox. Используя Fluent, переводчики могут писать более естественные переводы на родном языке. Сегодня мы представляем спецификацию формата файлов Fluent версии 1.0. Приглашаем разработчиков переводческих инструментов попробовать его и рассказать о ваших впечатлениях.

Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments41

42 оператора расширенного поиска Google (полный список)

Reading time15 min
Views278K
Те, кто давно занимается поисковой оптимизацией, хорошо знают об операторах расширенного поиска Google. Например, почти все знают об операторе site:, который ограничивает поисковую выдачу одним сайтом.

Большинство операторов легко запомнить, это короткие команды. Но уметь эффективно их использовать — совсем другая история. Многие специалисты знают основы, но немногие по-настоящему овладели этими командами.

В этой статье я поделюсь советами, которые помогут освоить поисковые операторы для 15 конкретных задач.
Читать дальше →
Total votes 127: ↑124 and ↓3+121
Comments40

Интеграция Cake и TeamCity

Reading time4 min
Views3.4K

Cake — замечательный инструмент для создания конвеера доставки для ваших приложений. Я люблю его, поскольку он позволяет мне писать этот конвеер на языке C#, который я знаю хорошо. Прекрасным свойством Cake, PSake и дургих подобных фреймворков является то, что они создают скрипт, который можно выполнять как на локальной машине разработчика, так и на CI серверах. Здесь я объясню, как организовать взаимодействие скрипта Cake с TeamCity.

Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments2

Рыцари плаща и руткитов: что посмотреть про хакеров. Сериалы

Reading time8 min
Views69K
Лето — пора путешествий и заслуженного отдыха.  Каким бы ни было путешествие и куда бы вы ни направлялись, наверняка, это будет длинная дорога (авиаперелет или поезд), или же среднего качества связь, если мы говорим об удаленных от благ цивилизации местах.

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

Мы приготовили для вас небольшую подборку сериалов, так или иначе связанных с ИT. А натолкнула нас на идею этого поста многолетняя дружба ЛАНИТ с Международным фестивалем документального кино "ДОКЕР", где, кстати, в том числе с нашей помощью традиционной стала номинация для фильмов о возможностях информационных технологий «Let IT Doк!».

Кадр из сериала «Mr. Robot» (eps3.1_undo.gz)
Читать дальше →
Total votes 93: ↑89 and ↓4+85
Comments88

C#: обратная совместимость и перегрузки

Reading time8 min
Views10K
Здравствуйте, коллеги!

Напоминаем всем, что у нас вышла отличная книга Марка Прайса "C# 7 и .NET Core. Кросс-платформенная разработка для профессионалов". Обратите внимание: перед вами уже третье издание, первое издание было написано по версии 6.0 и на русском языке не выходило, а 3-е издание вышло в оригинале в ноябре 2017 года и охватывает версию 7.1.


После выхода такого компендиума, который прошел отдельную научную редактуру для проверки обратной совместимости и прочей корректности изложенного материала, мы решили перевести интересную статью Джона Скита о том, какие известные и малоизвестные сложности с обратной совместимостью могут возникать в языке C#. Приятного чтения.
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments5

Цвет: от шестнадцатеричных кодов до глаза

Reading time16 min
Views53K


Почему мы воспринимаем background-color: #9B51E0 как этот конкретный фиолетовый цвет?



Долгое время я думал, что знаю ответ на этот вопрос. Но хорошенько поразмыслив, осознал значительные пробелы в своих знаниях.
Читать дальше →
Total votes 104: ↑104 and ↓0+104
Comments26

Релиз первой беты кросс-платформенного XAML UI-тулкита Avalonia

Reading time6 min
Views22K

Состоялся релиз первой бета-версии Авалонии.


Avalonia — кроссплатформенный .NET UI-тулкит, вдохновлённый технологиями WPF и распространяемый под лицензией MIT. Он полностью поддерживает .NET Core 2.0, XAML, дата-биндинги, lookless-контролы и многое другое. Avalonia позволяет писать на C# приложения под Windows, Linux и Mac OS X. Возможность запуска на iOS и Android находится в экспериментальном состоянии.



Данная версия стабильна и имеет полное право называться бетой: тулкит не разваливается в руках и имеет приличный базовый набор контролов (см. видео). На нём создано два достаточно больших приложения с открытым исходным кодом: AvalonStudio — кроссплатформенная IDE для разработки на C# и C++ и Core2D — редактор 2D-схем и диаграмм.

Total votes 100: ↑97 and ↓3+94
Comments77

Моделирование динамических систем: введение

Reading time9 min
Views24K

Предисловие


Трудно переоценить значение компьютерного моделирования в современном мире. Давным давно канули в Лету времена, когда траектории выведения спутников на околоземную орбиту вычислялись толпой девушек-расчетчиц с «Феликсами» наперевес (была такая вычислительная машина). Сегодня скромных размеров ящик около вашего рабочего стола решает все мыслимые и немыслимые задачи. Но есть одно «но».



Состояние инженерного образования, не знаю, как там в столицах, а здесь, на периферии, выглядит в контексте данного вопроса удручающе. Винить тут стоит подход к преподаванию в вузах таких дисциплин как «Численные методы решения инженерных задач на ЭВМ», «Математическое моделирование в %нужное впишите сами%» и прочих. Эта беда инженерного образования вытекает из того факта, что в курсах, подобным перечисленным, порой напрочь отрублены междисциплинарные связи. У обучаемого не складывается в голове цепочка: фундаментальная теория -> практическое применение -> инструмент решения задачи.

У меня давно зрела мысль написать цикл, в котором будет разобрано по полочкам всё то, что мы называем современным математическим моделированием. Но сделать это просто и доступно для тех, кто только начинает познавать эту необъятную дисциплину современной науки. Что из этого выйдет, неизвестно, но тех кому стало интересно я приглашаю под кат.
Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments36

Моделирование динамических систем: численные методы решения ОДУ

Reading time6 min
Views15K

Введение


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



Итак, задача:
Камень бросают вертикально, без начальной скорости с высоты h = 100 м. Пренебрегая сопротивлением воздуха, определить закон движения камня, как функцию высоты камня над поверхностью Земли от времени. Ускорение свободного падения принять равным 10 м/с2
Простая задачка? Да элементарная, имеющее аналитическое решение, которое легко напишет мало-мальски грамотный школьник. Но эта простая задача послужит нам весьма показательным примером
Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments11

CQRS. Факты и заблуждения

Reading time10 min
Views186K

CQRS — это стиль архитектуры, в котором операции чтения отделены от операций записи. Подход сформулировал Грег Янг на основе принципа CQS, предложенного Бертраном Мейером. Чаще всего (но не всегда) CQRS реализуется в ограниченных контекстах (bounded context) приложений, проектируемых на основе DDD. Одна из естественных причин развития CQRS — не симметричное распределение нагрузки и сложности бизнес-логики на read и write — подсистемы Большинство бизнес-правил и сложных проверок находится во write — подсистеме. При этом читают данные зачастую в разы чаще, чем изменяют.

Не смотря на простоту концепции, детали реализации CQRS могут значительно отличаться. И это именно тот случай, когда дьявол кроется в деталях.
Читать дальше →
Total votes 31: ↑30 and ↓1+29
Comments108

Кроссплатформенная новогодняя демка на .NET Core и Avalonia

Reading time3 min
Views27K

"ААА! Пришло время переписывать на .NET Coreǃ", говорили они, WPF в комментариях обсуждали. Так давайте же проверим, можно ли написать кросс-платформенное GUI приложение на .NET / C#.



Новогоднее настроение навеяло идею сделать анимацию падающего снега. Были такие демки под DOS, горящий огонь, фракталы, снежок, падающий на ёлочку, и так далее.


Как увидим ниже, это не только весело, но и позволит испытать ключевой функционал UI фреймворка. Поехали!

Читать дальше →
Total votes 55: ↑52 and ↓3+49
Comments55

Git снизу вверх

Reading time27 min
Views125K
У этого перевода не совсем обычная история. Системы контроля версий далеки от моих профессиональных интересов. Для рабочих проектов они мне требовались нечасто, причем, разные, так что, каждый раз, когда возникала такая необходимость, я заново вспоминала, как в них делается та или иная операция. А для личных проектов мне хватало возможностей Dropbox, хранящей историю версий файлов.


Изображение из твиттера @girlie_mac

Но вот однажды я на три незабываемых дня попала в роддом — это иногда случается с женщинами. Из развлечений у меня были новорожденная дочь и телефон с большим экраном. Дочь поначалу развлекала плохо (дома она быстро исправилась), а на телефоне помимо книг и фильмов обнаружился текст «Git from the bottom up», который оказался более чем годным… С тех пор прошло почти 3 года, подросшей дочке уже пора самой начинать использовать Git Git стал мейнстримом, если не сказать стандартом в современной разработке, а я с удивлением обнаружила, что перевода на русский этого чуда, полезного не только начинающим, но и продвинутым пользователям Git, до сих пор нет. Исправляю эту ситуацию.
Читать дальше →
Total votes 104: ↑102 and ↓2+100
Comments32

Структура и модель выполнения .NET Core приложений

Reading time15 min
Views51K
В этой статье я рассмотрю компоненты платформы .NET Core 2.0, необходимые для загрузки и выполнения .NET Core-приложений, а также артефакты для двух возможных типов развертывания.

Текст объемный и рассчитан на:

  • начинающих разработчиков, которые только знакомятся с платформой .NET Core;
  • опытных разработчиков, выполняющих роль DevOps-инженеров в produсtion-окружении.

В статье не упоминается процесс создания приложений при помощи SDK (dotnet CLI), однако эта информация будет полезной для понимания, как работает SDK, а именно её основной компонент (ядро) — «драйвер» dotnet.dll, поскольку эта библиотека является управляемой сборкой и выполняется на .NET Core.

Примеры процессов выполнения описаны для ОС Windows, но работают по тому же принципу и на других ОС (с учетом различных расширений исполняемых файлов и нативных библиотек).
Читать дальше →
Total votes 42: ↑41 and ↓1+40
Comments10

Объясняем современный JavaScript динозавру

Reading time15 min
Views264K


Если вы не изучали JavaScript с самого начала, то осваивать его современную версию сложно. Экосистема быстро растёт и меняется, так что трудно разобраться с проблемами, для решения которых придуманы разные инструменты. Я начал программировать в 1998-м, но начал понимать JavaScript только в 2014-м. Помню, как просматривал Browserify и смотрел на его слоган:


Browserify позволяет делать require («модули») в браузере, объединяя все ваши зависимости


Я не понял ни слова из предложения и стал разбираться, как это может помочь мне как разработчику.


Цель статьи — рассказать о контексте, в котором инструменты в JavaScript развивались вплоть до 2017-го. Начнём с самого начала и будем делать сайт, как это делали бы динозавры — безо всяких инструментов, на чистом HTML и JavaScript. Постепенно станем вводить разные инструменты, поочерёдно рассматривая решаемые ими проблемы. Благодаря историческому контексту вы сможете адаптироваться к постоянно меняющемуся ландшафту JavaScript и понять его.

Total votes 174: ↑171 and ↓3+168
Comments505

Деловая переписка на английском языке: фразы и советы

Reading time18 min
Views599K
Елена Соловьева, менеджер проектов в компании Лаборатория Касперского, специально для блога Нетологии поделилась советами о том, как вести деловую переписку с иностранными коллегами и партнерами на английском языке. Статья участвует в конкурсе.

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

Задача становится сложнее, если вы общаетесь на неродном английском языке с представителями других культур. В статье я поделюсь, на что в этом случае обратить внимание, как избежать ошибок и достичь взаимопонимания с иностранными коллегами и партнерами.
Читать дальше →
Total votes 104: ↑100 and ↓4+96
Comments80

Information

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