Search
Write a publication
Pull to refresh
56
0
Илья @WST

Инженер-программист

Send message

15 самых популярных языков программирования по версии GitHub

Reading time6 min
Views199K

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

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

Однако некоторые игроки ИТ-рынка оказались предприимчивыми и создали проекты, посвященные ранжированию и трендам. К примеру, на этой неделе GitHub опубликовал собственный рейтинг 15 самых популярных языков программирования. Конечно же, популярность определялась по количеству pull-запросов на GitHub за последний год.
Читать дальше →

Жаргон функционального программирования

Reading time10 min
Views95K


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


В примерах используется JavaScript ES2015). (Почему JavaScript?)


Работа над материалом продолжается; присылайте свои пулл-реквесты в оригинальный репозиторий на английском языке.


В документе используются термины из спецификации Fantasy Land spec по мере необходимости.


Arity (арность)


Количество аргументов функции. От слов унарный, бинарный, тернарный (unary, binary, ternary) и так далее. Это необычное слово, потому что состоит из двух суффиксов: "-ary" и "-ity.". Сложение, к примеру, принимает два аргумента, поэтому это бинарная функция, или функция, у которой арность равна двум. Иногда используют термин "диадный" (dyadic), если предпочитают греческие корни вместо латинских. Функция, которая принимает произвольное количество аргументов называется, соответственно, вариативной (variadic). Но бинарная функция может принимать два и только два аргумента, без учета каррирования или частичного применения.

Читать дальше →

Тестирование мультиметров, а также об ошибках измерения

Reading time5 min
Views66K


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

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

Читать дальше →

Британских киноцензоров заставили 10 часов смотреть, как сохнет краска

Reading time2 min
Views34K


В знак протеста против устарелой традиции цензуры кинофильмов британский режиссёр Чарли Лайн (Charlie Lyne) снял фильм… как сохнет краска. Прикол в том, что это многочасовой фильм. По закону цензоры обязаны просмотреть каждую минуту.
Читать дальше →

MS Office переносит слова на новую строку по буквам

Reading time1 min
Views80K
Краткая заметка о том, как одна проблема чуть не свела меня с ума, а её решение оказалось ещё более неожиданным. Итак, для одного документа внезапно Ворд начал вести себя странно:

image

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

Superbook, превращающий смартфон в 11" ноутбук, набрал на Kickstarter $1,5 млн

Reading time2 min
Views27K


В конце прошлого месяца на Kickstarter была запущена кампания по сбору средств на Superbook — устройство, позволяющее превратить смартфон в 11" ноутбук. Некоторые детали работы такого девайса уже публиковались на Geektimes. В частности, известно, что Superbook представляет собой своеобразную болванку с аккумулятором. клавиатурой и качественным дисплеем. Для начала работы смартфон нужно подключить к Superbook, и на дисплее устройства тут же отобразится знакомый интерфейс Android.

Данные транслируются на экран «ноутбука» при помощи специального приложения. Каких-то безграничных возможностей разработчики Superbook не предлагают, но пользователь такой системы может работать с документами, играть в игры и даже программировать. И все это — на устройстве ценой всего $100. Небольшой квази-ноутбук при таком раскладе вполне может заменить собой обычный для тех пользователей, кому нужны лишь электронная почта, документы, нетребовательные игрушки. Этот проект собрал 3299% требуемой суммы, $1,6 млн вместо планируемых $50000. Собранная сумма позволит разработчикам добавить ряд плюшек к итак неплохой системе.
Читать дальше →

Интерполяция замкнутых кривых

Reading time8 min
Views17K
Всем привет! Недавно возникла практическая необходимость использовать интерполяцию для замкнутых кривых. Проект разрабатывался под .Net на C#, а готовых реализаций алгоритма я не обнаружил, впрочем, как и для других языков и технологий. В результате пришлось самому изучить мат.часть существующих методов и написать свою библиотеку. Наработками и готовым решением готов поделиться с вами.


Читать дальше →

О выравнивании памяти на ARM процессорах на простом примере

Reading time1 min
Views13K
Допустим у нас есть функция, которая принимает в себя указатель. Мы знаем, что в указателе лежит нуль-терминальная строка, а за ней 4-байтное целое. Задача — вывести в консоль строку и целое. Решить можно вот так:

void foo(void* data_ptr)
{
  //Ставим указатель на строку на начало данных
  char* str = (char*)data_ptr;
  //А указатель на целое смещаем на длину строки и еще один байт
  int* value = (int*)(str+strlen(str)+1);
  //и выводим содержимое указателей
  printf("%s %d", str, *value);
}

Довольно тривиальная задача, не так ли? Проверяем на компе (x86), все ОК. Загружаем на борду с ARM. И, не успев выстрелить себе в ногу, наступаем на грабли. В зависимости от содержания строки, целое значение выводится то нормальным, то кривым. Поверяем указатели, проверяем память, на которые они указывают. Все в норме.
Читать дальше →

Тиристоры для чайников

Reading time3 min
Views821K
Добрый вечер хабр. Поговорим о таком приборе, как тиристор. Тиристор — это полупроводниковый прибор с двумя устойчивыми состояниями, имеющий три или больше взаимодействующих выпрямляющих перехода. По функциональности их можно соотнести к электронным ключам. Но есть в тиристоре одна особенность, он не может перейти в закрытое состояние в отличие от обычного ключа. Поэтому обычно его можно найти под названием — не полностью управляемый ключ.
Читать дальше →

Учёные нашли старейшее дерево в Европе, которому 1075 лет

Reading time4 min
Views27K

Адонис, боснийская сосна возрастом более 1075 лет. Фото: Dr Oliver Konter, Mainz

Боснийская сосна (Pinus heldreichii) в горах Пинд на севере Греции официально признана старейшим отдельно растущим деревом в Европе. Группа учёных из Стокгольмского университета (Швеция), Университета Майнца (Германия) и Аризонского университета (США) дендрохронологическим методом определила, что возраст сосны составляет минимум 1075 лет.
Читать дальше →

Omega2: самый маленький в мире микрокомпьютер с Linux и Wi-Fi

Reading time2 min
Views64K


«Интернет вещей» все плотнее входит в нашу жизнь. Конечно, разработчики не могут обойти своим вниманием столь бурно развивающуюся сферу. Но для того, чтобы создавать соотвествующие разработки, необходимы надежные инструменты. Одним из них может стать одноплатник Omega2. Его создатели позиционируют свой микрокомпьютер под управлением Linux как самый маленький в мире. На «борту» микрокомпьютера есть модуль Wi-Fi, а стоимость всей системы — всего $5.

На Kickstarter этот проект уже давно собрал нужную сумму. Она многократно превышена — вместо $15000 собрано уже $307471. И хотя до конца сборов еще 11 дней, вероятность того, что девайс вскоре попадет к заказчикам и в магазины, очень велика.
Читать дальше →

Const и оптимизации в C

Reading time3 min
Views20K

Сегодня на /r/C_Programming задали вопрос о влиянии const в C на оптимизацию. Я много раз слышал варианты этого вопроса в течении последних двадцати лет. Лично я обвиняю во всём именование const.

Читать дальше →

Xiaomi Mi Drone — первые реальные тесты нового квадрокоптера

Reading time4 min
Views46K
Спешу поделиться с Вами своими впечатлениями от покупки новинки от компании Xiaomi — Mi Drone. В этой статье я буду говорить исключительно о впечатлениях от полетов, а также максимально объективно расскажу о всех плюсах и минусах этой новинки.


Читать дальше →

Аппроксимация числа Пи с помощью множества Мандельброта

Reading time3 min
Views28K

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

Читать дальше →

Это маленькое чудо — алгоритм Кнута-Морриса-Пратта (КМП)

Reading time9 min
Views192K
Алгоритм Кнута-Морриса-Пратта используется для поиска подстроки (образца) в строке. Кажется, что может быть проще: двигаемся по строке и сравниваем последовательно символы с образцом. Не совпало, перемещаем начало сравнения на один шаг и снова сравниваем. И так до тех пор, пока не найдем образец или не достигнем конца строки.
Читать дальше →

Прощай, объектно-ориентированное программирование

Reading time8 min
Views106K


Я в течение десятилетий программировал на объектно-ориентированных языках. Первым из них стал С++, затем был Smalltalk, и наконец .NET и Java. Я фанатично использовал преимущества наследования, инкапсуляции и полиморфизма, этих трёх столпов парадигмы объектно-ориентированного программирования. Мне очень хотелось воспользоваться обещанным повторным использованием и прикоснуться к мудрости, накопленной моими предшественниками в этой новой и захватывающей сфере. Меня волновала сама мысль о том, что я могу мапить объекты реального мира в классы и думал, что весь мир можно аккуратно разложить по местам.

Я не мог ошибаться сильнее.
Читать дальше →

Переход от монолита к микросервисам

Reading time5 min
Views37K

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


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

Читать дальше →

Мифы о FreeBSD

Reading time7 min
Views80K


FreeBSD хороша для серверов, но не для настольных компьютеров


У FreeBSD есть полнофункциональная звуковая подсистема c низкой задержкой, а смешивание в ядре позволяет нескольким приложениям воспроизводить звуки одновременно (с независимыми настройками громкости) без дополнительных настроек. Дефолтные настройки включают в себя X.org и настройки рабочего стола, такие как KDE или GNOME, это так же просто как выбрать метапакет в зависимости от того, какой вы предпочитаете.
Читать дальше →

Обзор физики в играх Sonic. Части 7 и 8: пружины и штуковины, суперскорости

Reading time6 min
Views15K


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

Ice Bucket Сhallenge помог открыть мутацию

Reading time3 min
Views25K
В 2014 году в флешмобе приняли участие около 17 миллионов человек, в то время как остальные ждали вызова и наблюдали за переворачиванием ведёрок со льдом на ютьюбе. Помните, ради чего был флешмоб? «Атлас» готов рассказать подробности.



Читать дальше →

Information

Rating
Does not participate
Location
Красногвардейское, Адыгея, Россия
Date of birth
Registered
Activity