Pull to refresh
1
0

Пользователь

Send message

F# меня испортил, или почему я больше не хочу писать на C#

Reading time13 min
Views65K

Раньше я очень любил C#


Это был мой основной язык программирования, и каждый раз, когда я сравнивал его с другими, я радовался тому, что в свое время случайно выбрал именно его. Python и Javascript сразу проигрывают динамической типизацией (если к джаваскрипту понятие типизации вообще имеет смысл применять), Java уступает дженериками, отстутствием ивентов, value-типов, вытекающей из этого карусели с разделением примитивов и объектов на два лагеря и зеркальными классами-обертками вроде Integer, отсутствием пропертей и так далее. Одним словом — C# клевый.


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


А потом я из любопытства попробовал F#.

Читать дальше →
Total votes 82: ↑79 and ↓3+76
Comments327

[в закладки] PDF-версия руководства по Node.js и новое руководство по JavaScript

Reading time2 min
Views43K
Недавно мы опубликовали серию материалов, представляющую собой перевод руководства по Node.js. В первой публикации мы интересовались мнением аудитории о целесообразности перевода этого руководства и говорили, что планируется подготовить его PDF-версию.

image


PDF-версия документа состоит более чем из 120 страниц, содержит оглавление, немного картинок и всё необходимое форматирование. Просто закидывайте файлик в читалку и готово. Или в папочку с литературой. Или… решать вам.

Скачать PDF-версию [ 1.8 Мб ]



Сегодня мы хотим представить вашему вниманию новое руководство того же автора, посвящённое JavaScript.

Вот краткий перечень вопросов, которые оно раскрывает:
  • Общая характеристика языка и его стандартизация
  • Особенности стандартов ES6, ES7, ES8, ES9
  • Оформление кода, руководства по стилю
  • Лексическая структура языка
  • Переменные
  • Типы данных
  • Выражения
  • Логические выражения
  • Прототипное наследование
  • Классы
  • Исключения
  • Функции и замыкания
  • Массивы
  • Циклы
  • События
  • Асинхронное программирование
  • Таймеры
  • Строгий режим
  • Математические вычисления
  • Модули

Мы планируем это руководство перевести, но, прежде чем приняться за работу, хотели бы предложить вам поучаствовать в небольшом опросе
Читать дальше →
Total votes 37: ↑34 and ↓3+31
Comments11

Работа с абстрактными синтаксическими деревьями JavaScript 

Reading time7 min
Views14K
Зачем парсить свой код? Например, для того, чтобы найти забытый console.log перед коммитом. А что делать, если вам надо изменить сигнатуру функции в сотнях вхождений в коде? Справятся ли тут регулярные выражения? В этой статье будет показано, какие возможности перед разработчиком открывают абстрактные синтаксические деревья.



Под катом — видео и текстовая расшифровка доклада Кирилла Черкашина (z6Dabrata) с конференции HolyJS 2018 Piter.
Total votes 32: ↑31 and ↓1+30
Comments5

Как сотрудники подрядчика NASA используют очки дополненной реальности Microsoft AR HoloLens для сборки узлов Orion

Reading time4 min
Views10K


Сотрудники подрядчика NASA используют очки-гарнитуру дополненной реальности Microsoft AR HoloLens для быстрой и правильной сборки элементов космического аппарата Orion
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments36

Бэкдоры в микрокоде ассемблерных инструкций процессоров x86

Reading time6 min
Views68K

Софту мы не доверяем уже давно, и поэтому осуществляем его аудит, проводим обратную инженерию, прогоняем в пошаговом режиме, запускаем в песочнице. Что же насчёт процессора, на котором выполняется наш софт? – Мы слепо и беззаветно доверяем этому маленькому кусочку кремния. Однако современное железо имеет те же самые проблемы, что и софт: секретную недокументированную функциональность, ошибки, уязвимости, малварь, трояны, руткиты, бэкдоры.



ISA (Instruction Set Architecture) x86 – одна из самых долгих непрерывно изменяющихся «архитектур набора команд» в истории. Начиная с дизайна 8086, разработанного в 1976 году, ISA претерпевает постоянные изменения и обновления; сохраняя при этом обратную совместимость и поддержку исходной спецификации. За 40 лет своего взросления, архитектура ISA обросла и продолжает обрастать множеством новых режимов и наборов инструкций, каждый из которых добавляет к предшествующему дизайну, и без того перегруженному, новый слой. Из-за политики полной обратной совместимости, в современных процессорах x86 присутствуют даже те инструкции и режимы, которые на сегодняшний день уже преданы полному забвению. В результате мы имеем архитектуру процессора, которая представляет собой сложно переплетающийся лабиринт новых и антикварных технологий. Такая чрезвычайно сложная среда – порождает множество проблем с кибербезопасностью процессора. Поэтому процессоры x86 не могут претендовать на роль доверенного корня критической киберинфраструктуры.

Читать дальше →
Total votes 147: ↑142 and ↓5+137
Comments87

Сколько зарабатывает Хабр + инструкция как узнать сколько зарабатывают другие компании

Reading time3 min
Views75K
Предыстория: после того, как мы с командой в прошлом году закрыли компанию и еще не начали работу над новой, мы решили обновить наш старый, но довольно большой сайт с кулинарными рецептами. Чтобы понять насколько серьезно стоит углубляться в работу над ним, я проанализировал данные по выручке сайтов, которые тоже зарабатывают на рекламе.

В этом году уже вышли новые данные, которыми тоже решил поделиться. Доходы, расходы и прибыль приведены в миллионах рублей.

image
Читать дальше →
Total votes 103: ↑100 and ↓3+97
Comments66

Ассортимент — классическая задача оптимизации

Reading time7 min
Views29K


Ассортимент очень влияет на выручку магазина, но управляется не самим магазином. Судя по последним исследованиям, ассортиментом в России в целом мало кто управляет эффективно. Просто если поддерживать нужные товары в нужном количестве в нужных местах, можно дико поднять эффективность продаж многих магазинов. Дико — это, например, на треть.

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

Первый вопрос в том, почему вообще может не быть какого-то товара. Это очевидная вещь для любого человека из розницы, но крайне нелогичная для человека со стороны. Столетиями работает рынок, так почему, чёрт побери, до сих пор случаются неувязки?
Читать дальше →
Total votes 77: ↑74 and ↓3+71
Comments89

Как стать React разработчиком в 2018 году

Reading time17 min
Views77K


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

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

План Адама представляет собой список основных пунктов, которые вам нужно изучить самостоятельно. Мы добавили описание, а в некоторых сложных моментах указали ссылки на дополнительные справочные материалы, с помощью которых вы получите ответ на вопрос: «Что я должен узнать как React-разработчик?».
Читать дальше →
Total votes 67: ↑62 and ↓5+57
Comments121

Программисты своими руками лишают себя работы

Reading time9 min
Views96K

Когда работникам удаётся автоматизировать свои обязанности, кто должен пожинать плоды?




В 2016 году на Reddit появилось анонимное признание: «Уже где-то лет шесть я ничего не делаю на работе». Вроде бы ничего особенного, если дело касается офисной работы. Но этот программист, скрывавшийся под ником FiletOFish1066, сказал, что он работал на известную технокомпанию, и он реально совсем ничего не делал. Он написал, что после того, как восемь месяцев проработал в отделе обеспечения качества, сумел полностью автоматизировать всю свою работу. «Я не шучу. 40 часов в неделю я хожу на работу, играю в League of Legends, читаю Reddit, занимаюсь, чем хочу. За последние шесть лет я проработал часов 50». Когда его боссы поняли, что за половину десятилетия он проработал меньше, чем большая часть программистов Кремниевой долины за неделю, они его уволили.

Эта история быстро распространилась по технологическим уголкам веба, из-за чего её герою в итоге пришлось удалить и сам пост, и даже учётную запись.
Читать дальше →
Total votes 77: ↑70 and ↓7+63
Comments382

ref locals и ref returns в C#: подводные камни производительности

Reading time7 min
Views23K
В языке C# с самого начала поддерживалась передача аргументов по значению или по ссылке. Но до версии 7 компилятор C# поддерживал только один способ возврата значения из метода (или свойства) — возврат по значению. В C# 7 ситуация изменилась с введением двух новых возможностей: ref returns и ref locals. Подробнее о них и об их производительности — под катом.

Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments12

Текстовый редактор — это вам не высшая математика, тут думать надо

Reading time17 min
Views96K
Современные текстовые редакторы умеют не только бибикать и не давать выйти из программы. Оказывается, внутри них кипит очень сложный метаболизм. Хотите узнать, какие ухищрения предпринимаются для быстрого пересчета координат, как к тексту приделываются стили, фолдинги и софтврапы и как это всё обновляется, при чем тут функциональные структуры данных и очереди с приоритетами, а также как обманывать пользователя — добро пожаловать под кат!



В основе статьи — доклад Алексея Кудрявцева с Joker 2017. Алексей уже лет 10 пишет Intellij IDEA в JetBrains. Под катом вы найдете видео и текстовую расшифровку доклада.
Читать дальше →
Total votes 208: ↑206 and ↓2+204
Comments189

Эволюция рендеринга пробок в MAPS.ME

Reading time5 min
Views12K


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

Читать дальше →
Total votes 68: ↑64 and ↓4+60
Comments45

Релиз первой беты кросс-платформенного 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

Смерть микросервисного безумия в 2018 году

Reading time12 min
Views100K
Прим. перев.: Этот материал, написанный опытным разработчиком, не задаётся целью похоронить идею микросервисов, как можно подумать, глядя на заголовок. Статья — разумное предупреждение для тех, кто решил, что микросервисы — это «серебряная пуля», которая сама по себе решает все архитектурные и эксплуатационные проблемы. Для демонстрации этого автор собрал и систематизировал популярные проблемы, зачастую встречающиеся в сегодняшних проектах, уже использующих микросервисы или мигрирующих на них.



В последние годы микросервисы стали очень популярной темой. «Микросервисное безумие» выглядит примерно так:

«Netflix хороши в DevOps. Netflix делают микросервисы. Таким образом, если я делаю микросервисы, я хорош в DevOps».
Читать дальше →
Total votes 90: ↑87 and ↓3+84
Comments167

Плюсы и минусы разработки на Xamarin

Reading time7 min
Views24K
Принимаясь за разработку приложений под iOS и Android, большинство в первую очередь рассматривает в качестве инструментов разработки признанные нативные стеки технологий, такие как Objective-C, Swift и Java. Однако существует множество других способов создания эффективных и простых в использовании мобильных приложений. Платформа для разработки приложений Xamarin — один из них. В этой статье мы проведем углублённый обзор платформы Xamarin в сравнении с нативными и кроссплатформенными решениями для мобильной разработки на рынке.

Что такое Xamarin?


Когда речь заходит о ключевых инструментах разработки мобильных приложений, Xamarin невозможно обойти стороной. Xamarin — сравнительно новый инструмент, основанный на принципах технологий Microsoft. Но на сегодняшний день в его сообществе уже свыше 1,4 млн разработчиков.

Платформа Xamarin была создана разработчиками открытой платформы Mono, находившейся в свободной реализации .NET, которая впервые была представлена в 2001 году. Тем не менее в отличие от своего предшественника, Xamarin существовал исключительно как коммерческий проект до тех пор, пока компания не была приобретена Microsoft.

Xamarin — это особый инструмент, так как для создания приложений для всех мобильных платформ он использует единый язык C#.
Читать дальше →
Total votes 11: ↑9 and ↓2+7
Comments13

Моя компания не взлетела, 6 уроков ценою в 4 года жизни и $150 000

Reading time5 min
Views65K
Симпатичная девушка попросилась на фейсбуке в друзья и спросила, почему мы приостановили развитие нашего проекта. А мы не приостанавливали, даже наоборот, дела пошли в гору — нащупали работающие пути получения трафика, выручка наконец начала расти. Но через несколько месяцев я понял, что она была права.

О том, как мы работали по 10 часов в сутки без выходных, получили инвестиции, прошли во ФРИИ, набрали более ста тысяч пользователей в США, нас хотел купить Sports Illustrated, но в итоге мы закрыли компанию.

Читать дальше →
Total votes 107: ↑96 and ↓11+85
Comments62

10 приемов по созданию красивых бизнес презентаций из 2017 года

Reading time6 min
Views376K
Встречали ужасные PowerPoint презентации с разноцветными слайдами и безвкусными картинками? Тогда вы точно должны прочитать эту статью!

ВАЖНО: здесь я пишу только про бизнес презентации для чтения — не для публичных выступлений. Это важно понять, так как техники разные в этих двух форматах. Под форматом «бизнес презентаций для чтения» я подразумеваю такие документы как коммерческие предложения, спонсорские пакеты, инвестиционные презентации проектов, презентации продуктов, которые в большинстве случаев отправляются исключительно по электронной почте.

В этой статье я расскажу о наиболее распространенных ошибках в дизайне и поделюсь своими 10 приемами по созданию поистине крутых презентаций. Почти все примеры, которые я привожу ниже, — это выдержки из реальных кейсов, которые мы реализовали.
Здесь важно отметить, что 10 приемов актуальны на 2017 год (и ближайшие месяцы 2018).

Начнем с самого важного при создании презентации:
Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments48

Не простая координатная система, а золотая

Reading time3 min
Views13K
В одной из мозаик Пенроуза используются всего два ромба, отличающиеся углами. Из этих элементов можно выстроить апериодическую мозайку любых размеров. Для её отображения я попробовал представить координаты аналитически.

image

Распределение углов в ромбах в одном 1:4, 36°:144°, в другом 2:3, 72°:108°. Углы в ромбах кратны одной десятой полного разворота, 36°.

Определим координаты углов правильного десятиугольника.
Читать дальше →
Total votes 37: ↑36 and ↓1+35
Comments19

Ключевые анонсы Connect(); 2017

Reading time5 min
Views8.5K
Привет, Хабр! В Нью-Йорке в эти дни проходит ежегодная конференция Microsoft Connect 2017. На ней уже анонсировали множество обновлений существующих продуктов и большое количество новых инструментов. Под катом читайте о самых интересных из них.


Total votes 23: ↑23 and ↓0+23
Comments2

Типичные проблемы IT-стартапов, которые мешают быстро развиваться, и как их избежать

Reading time10 min
Views16K
На онлайн-конференции ФРИИ «Как построить бизнес на основе технологий» Звиад Кардава, ответственный за developer relations в Google, рассказал о проблемах технологических стартапов в разработке, развитии продукта и управлении процессами, и как их можно решить или избежать.


Читать дальше →
Total votes 28: ↑24 and ↓4+20
Comments4
1
23 ...

Information

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