JavaScript: загадочное дело выражения null >= 0

Автор: admin от 12-09-2017, 13:45, посмотрело: 33

JavaScript: загадочное дело выражения null >= 0



Однажды я собирал материалы чтобы устроить ликбез по javascript для пары коллег. Тогда я и наткнулся на довольно интересный пример, в котором рассматривалось сравнение значения null с нулём. Собственно говоря, вот этот пример:



null > 0; // false
null == 0; // false
null >= 0; // true


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

Категория: Программирование » Веб-разработка

 

Пишем оператора для Kubernetes на Golang

Автор: admin от 12-09-2017, 09:15, посмотрело: 267

Прим. перев.: Операторы (operators) — это вспомогательное ПО для Kubernetes, призванное автоматизировать выполнение рутинных действий над объектами кластера при определённых событиях. Мы уже писали об операторах в этой статье, где рассказывали об основополагающих идеях и принципах их работы. Но если тот материал был скорее взглядом со стороны эксплуатации готовых компонентов для Kubernetes, то предлагаемый теперь перевод новой статьи — это уже видение разработчика/DevOps-инженера, озадаченного реализацией нового оператора.



Пишем оператора для Kubernetes на Golang


Этот пост с примером из реальной жизни я решил написать после своих попыток найти документацию по созданию оператора для Kubernetes, прошедших через изучение кода.



Пример, который будет описан, таков: в нашем кластере Kubernetes каждый codev_0 представляет окружение-песочницу какой-то команды, и мы хотели ограничить доступ к ним так, чтобы команды могли играть только в своих песочницах. ->

Категория: Программирование

 

Plugin for HANA Database project in Visual Studio

Автор: admin от 12-09-2017, 06:55, посмотрело: 32

Я работаю по SCRUM-у в ASP .NET MVC-проекте, в котором HANA используется как база данных, а в качестве Source Control-а – TFS. На уровне базы данных преимущественно используем View (Calculation, Attributes and DB Views), а также Stored Procedure – для выполнения транзакционных запросов на сервер.



После окончания каждого релиза у меня всегда возникал вопрос: «А что именно изменилось в этом релизе?» или «Кто какое изменение сделал?» В связи с этим я подумал: «Почему бы не трекать состояние объектов в TFS после каждого изменения?»



В результате я решил создать плагин, который позволяет использовать Database-проект в Visual Studio (VS) и импортировать изменения, которые есть в базе данных. Так родилась идея создания данного приложения.



Начинаем с простого и смотрим, какие прототипы есть у Microsoft. Как пример возьмем MS-SQL-сервер и Database-проект в Visual Studio и рассмотрим все возможности, которые у них существуют:




  • Можно создать свою схему (использовать существующую) в MS-SQL и потом импортировать ее в Database-проект в Visual Studio (DB VS).

  • Можно создать (изменить) объект в Database и трансформировать изменения в базу данных.

  • Можно трекать изменения в Source Control (в моем случае в TFS).

  • Таким образом, мы можем отслеживать все изменения, которые происходят в ходе разработки, а также их авторов.



  • Сразу говорю, что поддерживать все эти возможности очень непросто, тем более что в HANA существует такой вид объектов, как Graphic View: он создается в графическом виде и его никак не продемонстрируешь в Visual Studio (но тем не менее для этого типа объектов тоже нашелся подход, чтобы импортировать его в VS).



    Я пошел по простому пути. Рассмотрим каждую возможность по отдельности.
    ->

    Категория: Программирование

     

    Получение текста запросов из SoapHttpClientProtocol

    Автор: admin от 11-09-2017, 17:00, посмотрело: 32

    У .NET есть несколько вариантов создания SOAP клиента, одним из них является его генерация с помощью wsdl.exe. На выходе получаем файл (поскольку пишу я на C#, то генерировал cs, соответственно), основой которого является класс, унаследованный от SoapHttpClientProtocol. Подробнее тут.

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

    Впрочем, если очень хочется, то нужно сделать.

    Основная идея

    Категория: Программирование

     

    Отчет с митапа для back-end разработчиков

    Автор: admin от 11-09-2017, 16:15, посмотрело: 41

    6 сентября на Дизайн-заводе Flacon прошел неформальный митап для back-end разработчиков.



    Нас пугали ураганом, грозой и холодом. Не сработало, к нам присоединилось более 150 участников!



    Горячий глинтвейн и бургеры, теплая атмосфера. А еще горячие темы выступлений:



    — Как с пользой провести время на собеседовании

    — Почему Big Data бесполезна

    — Как внедрить Kubernetes и не сойти с ума

    — Почему архитектуру иногда нужно менять просто так

    — Про Docker



    Отчет с митапа для back-end разработчиков

    ->

    Категория: Программирование

     

    Эзотерический язык, транслирующийся в шаблоны C++

    Автор: admin от 11-09-2017, 15:10, посмотрело: 29

    Эзотерический язык, транслирующийся в шаблоны C++ Шаблоны C++ — полный по Тьюрингу язык, на котором можно писать compile-time программы. Только вот синтаксис рассчитан на описание параметризованных типов и слабо приспособлен к ясному выражению чего-то более сложного. В этой статье рассмотрим, как типы и шаблоны становятся значениями и функциями, а также узнаем, к чему привела попытка автора создать свой функциональный язык, транслирующийся в шаблоны C++. Для прочтения текста знания в области функционального программирования почти не требуются.
    ->

    Категория: Программирование

     

    JavaScript: методы асинхронного программирования

    Автор: admin от 11-09-2017, 14:50, посмотрело: 32

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



    JavaScript: методы асинхронного программирования



    Практически каждая полезная JS-программа написана с привлечением асинхронных методов разработки. Здесь в дело вступают функции обратного вызова, в просторечии — «коллбэки». Здесь в ходу «обещания», или Promise-объекты, называемые обычно промисами. Тут можно столкнуться с генераторами и с конструкциями async/await. Асинхронный код, в сравнении с синхронным, обычно сложнее писать, читать и поддерживать. Иногда он превращается в совершенно жуткие структуры вроде ада коллбэков. Однако, без него не обойтись.



    Сегодня предлагаем поговорить об особенностях коллбэков, промисов, генераторов и конструкций async/await, и подумать о том, как писать простой, понятный и эффективный асинхронный код.
    ->

    Категория: Программирование » Веб-разработка

     

    Технокубок 2017-2018

    Автор: admin от 11-09-2017, 14:20, посмотрело: 33

    Каждый год Министерство образования и науки РФ публикует перечень школьных олимпиад, дающих льготы при поступлении в вузы. С 2015 года в этот список входит и Технокубок — олимпиада по программированию под эгидой Mail.Ru Group.



    Технокубок 2017-2018



    Поучаствовать в Технокубке могут ученики 8—11-х классов. Олимпиада позволяет ребятам оценить свои силы и пообщаться с профессионалами IT-отрасли, а главное — дает шанс поступить в ведущие профильные вузы России.

    ->

    Категория: Программирование

     

    Использование системных функций D-Bus в Sailfish OS

    Автор: admin от 11-09-2017, 13:40, посмотрело: 35

    Введение



    Данная статья является продолжением материала об использовании системного API в Sailfish OS и посвящена функциям D-Bus в данной операционной системе. Подробно будет разобрано взаимодействие со стандартным календарём и вспышкой. Список остальных основных функций D-Bus системы представлен в конце статьи.



    Для понимания изложенного материала необходимо знание основ разработки для Sailfish OS и принципов взаимодействия с D-Bus в рамках операционной системы. Хорошей стартовой точкой являются соответствующие статьи от FRUCT:



    [1] Начало разработки для Sailfish OS;

    [2] Разработка для Sailfish OS: работа с D-Bus.
    ->

    Категория: Программирование » Веб-разработка

     

    Погружение в CSS: метрики шрифтов, line-height и vertical-align

    Автор: admin от 11-09-2017, 11:10, посмотрело: 28

    Погружение в CSS: метрики шрифтов, line-height и vertical-align




    codev_0?



    Давайте углубимся в не самый простой механизм CSS… ->

    Категория: Программирование » Веб-разработка