Search
Write a publication
Pull to refresh
2
0
Алексей Клеандров @akass

Разработчик

Send message

Утки, Таиланд и T-SQL… или что может подстерегать программистов при работе с SQL Server?

Reading time33 min
Views50K

Все начиналось довольно обыденно… Зачитывался Рихтером и усиленно штудировал Шилдта. Думал, что буду заниматься разработкой под .NET, но судьба на первом месяце работы распорядилась иначе. Один из сотрудников неожиданно покинул проект и во вновь образовавшуюся дыру докинули свежего людского материала. Именно тогда и началось мое знакомство с SQL Server.

С тех пор прошло чуть меньше 6 лет и вспомнить можно многое…

Про бывшего клиента Джозефа из Англии, который переосмыслил жизнь, за время отпуска в Таиланде, и в моем скайпе стал подписываться Жозефиной. Про веселых соседей по офису, с которыми приходилось сидеть в одной комнате: один страдал от аллергии на свежий воздух, а другой маялся от неразделенной любви к С++ дополняя это аллергией на солнечный свет. Один раз по команде свыше пришлось на время стать Александром отцом двух детей, чтобы изображать из себя обросшего скилами сениора по JS.
Подробнее

Строим real-time веб-приложения с RethinkDB

Reading time10 min
Views44K
От переводчика: Совсем недавно узнал про эту довольно интересную базу данных и как раз наткнулся на свежую статью. На Хабре нет почти ни слова о RethinkDB, в связи с чем было решено сделать этот перевод. Добро пожаловать под кат!

image

База данных RethinkDB упрощает разработку веб-приложений, рассчитанных на обновления в режиме реального времени.
Читать дальше →

IoT за копейки: делаем устройство с веб-интерфейсом

Reading time6 min
Views50K

Автор: Николай Хабаров, Senior Embedded Developer, DataArt

В этой статье мы расскажем, как создать собственное устройство с веб-интерфейсом в домашней сети, используя новейшую версию 0.5 прошивки DeviceHive для микросхемы ESP8266. Но для начала, давайте разберем, что нового появилось в самой прошивке: основные нововведения связаны с возможностью автономной работы в локальной сети.

Видеозаписи лучших докладов .NET-конференции DotNext 2016 Piter

Reading time4 min
Views13K


Пока подготовка к московскому DotNext идёт полным ходом, мы открыли доступ к видеозаписям докладов с прошедшей летом конференции. По ссылке — полный плейлист, а под катом — топ-5 докладов по отзывам участников. Говоря «топ», мы не имеем в виду наши любимые доклады или выбор каких-то «экспертов» — лучшие отобраны на основе взвешенной оценки от 80% участников конференции. Как думаете, чьё выступление зрители оценили выше — перфоманс-эксперта Саши Гольдштейна или харизматичного Дино Эспозито?
Читать дальше →

ServiceStack & .NET Core

Reading time10 min
Views14K
Полтора месяца назад популярный фреймворк для создания веб-сервисов и приложений ServiceStack наконец выпустил релиз под .NET Core. В этом обзоре я хочу рассказать, немного о самих пакетах платформы и что придется переделать в своих проектах использующих ServiceStack, что бы портировать их на платформу .NET Core.
Читать дальше →

Создаем первое приложение на NancyFX

Reading time3 min
Views25K

Почему NancyFX?



Сейчас, когда набирают популярность single page application, от серверного фреймворка требуется фактически перенаправить запрос пользователя по определенному роуту на какую-то конкретную страничку. К серверной части не предъявляются какие либо особые требования, от нее нужно только перенаправление. При использовании .NET просто глупо становится для таких целей использовать такую махину как ASP.NET MVC, 99% возможностей которой будут не востребованы. Плюс к этому достаточно громоздкая структура проекта MVC, включающего в себя как минимум три папки и большое количество ссылок на библиотеки, при всем при том что от конечного результата Вам требуется только редирект на готовую html страничку.

Как один из вариантов для выхода из сложившейся ситуации это использование фреймворка NancyFX, который является идеальным решением для таких ситуаций( если конечно у Вас на сервере используется .NET). Основные достоинства этого фреймворка состоят в легковесности, простоте( как будет показано ниже), а также в том что он может быть размещен не только на Windows хостинге но и на *unix платформах с MONO.
Читать дальше →

Техника безопасности при работе с PostgreSQL

Reading time7 min
Views28K
Так получилось, что я начал работать с PostgreSQL три года назад и за это время умудрился методично собрать все возможные грабли, которые можно вообразить. И сказать по правде, если бы была возможность поделиться с собой трехлетней давности нынешним горьким опытом, моя жизнь была бы куда проще и нервные клетки целее. Именно поэтому я решил написать абсолютно субъективную статью со сводом правил, которых придерживаюсь при разработке на PostgreSQL. Возможно, кому-то эта статья поможет обойти собранные мной грабли (и наступить на другие, ха-ха!).


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

Установка Jenkins и Bonobo Git Server под ОС Windows для сборки Android приложений

Reading time5 min
Views15K
Добрый день. Не имея времени копаться в LinuxСтолкнувшись с пробелами в информации при поиске по сети инструкций по установке и настройке под ОС Windows сервера непрерывной сборки Jenkins для приложений Android, Git сервера и их интеграции решил поделиться информацией о том, что у меня получилось.
Читать дальше →

Vanilla JS vs jQuery 2.0

Reading time7 min
Views37K
Статья навеяна фреймворком Vanilla.js.

Эпоха старых браузеров уходит в небытие, вряд ли сейчас найдется сознательный человек, использующий ie6,7,8, на зло разработчикам и вопреки техническому прогрессу. Возможно, только по необходимости, например корпоративная система написана под IE6, или лентяи админы издеваются над пользователями и не хотят обновлять/устанавливать новые версии. Тем не менее, статистика использования этих браузеров неумолимо стремится к нулю. Собственно и новая версия jQuery 2.0, отказалась поддерживать устаревшие браузеры(IE 6-8). И тут с релизом jQuery возник вопрос, а для чего же тогда нужен jQuery?
Читать дальше →

Vanilla JS — очень мощный javascript-фреймворк

Reading time4 min
Views195K
Как ни странно, на Хабре упоминание этого мощнейшего фреймворка нашлось лишь в одном комментарии от апреля 2012 года.

Вступление


Для меня эта тема особенно актуальна, ведь последнее время на Хабре упоминается огромное количество js-фреймворков. Какие-то из них авторы различных проектов находят в Сети, какие-то — пишут сами, не очень понимая зачем. Кто-то просто пишет свои велосипеды.

Моё же мнение — надо стремиться к отсутствию избыточного кода, к максимальному минимализму, простите за тавтологию.
Если на весь сайт вам нужно только выбирать html-элементы по их id — глупо подключать jQuery.

Если вам на Node.js проекте надо собрать пачку js-файлов и сжать их — глупо писать или подключать тяжёлые фреймворки с кучей настроек, параметров, дополнений и методов, ведь простейший скрипт, склеивающий файлы и прогоняющий их через Кроукфордский jsmin будет намного быстрее, надёжнее и проще.

Чем больше кода — тем больше ошибок. Чем больше стороннего кода — тем сложнее поддерживать проект. Ведь когда вы берёте чужой код, вы берёте на себя и ответственность за его поддержку. Нельзя будет сказать «этот баг не мой, а вон из той библиотеки».

Vanilla JS


Итак, начнём обзор этого мощнейшего и самого популярного в мире JS-фреймворка.

Сравнительный обзор BPM-систем

Reading time11 min
Views113K

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

Нельзя запускать проект, опираясь на возможности наскоро выбранного продукта и обещания вендора, есть масса аспектов, которые нужно обдумать и взвесить. А последствия неправильного выбора и осознание своей ошибки уже во время работы, «на половине пути» может стоить дорого.



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



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

Каково оно учить JavaScript в 2016

Reading time10 min
Views349K


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

— Это теперь называется Front-End инженер, но да, я — именно он. Я работаю с вебом в 2016. Визуализации, музыкальные плееры, летающие дроны, которые играют в футбол, все что угодно. Я только что вернулся из JsConf и ReactConf, так что я знаю новейшие технологии для создания веб-приложений.

— Круто. Мне нужно создать страницу, которая отображает последние действия со стороны пользователей, так что мне просто нужно получить данные от REST и отобразить их в какой-то фильтруемой таблице, ну и обновлять её, если что-то изменится на сервере. Я думал, может быть, использовать JQuery для извлечения и отображения данных?

— О, Мой Бог! Нет! Никто больше не использует JQuery. Ты должен попробовать React: это — 2016!
Читать дальше →

RetroBase — аналог Retrofit для запросов к базам данных

Reading time6 min
Views8.3K
Многие разработчики, используют в своих проектах библиотеку Retrofit, которая позволяет превратить HTTP API в java-интерфейс. Это очень удобно, так как позволяет избавиться от лишнего кода и использовать ее очень легко. Нужно лишь создать интерфейс и навесить несколько аннотаций.

Недавно я занимался разработкой приложения для Android, которому необходимо было делать запросы к базе данных через JDBC- драйвер. Тогда мне пришла идея создать нечто подобное Retrofit только для запросов к базе данных. Так появился RetroBase, о котором я Вам сейчас и расскажу.
Читать дальше →

Строим свой full-stack на JavaScript: Клиент

Reading time12 min
Views31K

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

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

Структуры данных для самых маленьких

Reading time22 min
Views346K
James Kyle как-то раз взял и написал пост про структуры данных, добавив их реализацию на JavaScript. А я взял и перевёл.

Дисклеймер: в посте много ascii-графики. Не стоит его читать с мобильного устройства — вас разочарует форматирование текста.


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

Пять перспективных языков программирования со светлым будущим

Reading time12 min
Views154K

КДПВ


Если разделять языки программирования по популярности, то они делятся на три эшелона. Первый эшелон включает мейнстрим-языки, такие как Java, JavaScript, Python, Ruby, PHP, C#, C++ и Objective-C. Несмотря на то, что некоторые из ведущих языков возможно увядают, вам лучше знать один или несколько из них, если вы хотите иметь возможность легко найти работу.


Языки второго эшелона пытаются пробиться в мейнстрим, но ещё не добились этого. Они доказали свою состоятельность путем создания сильных сообществ, но они до сих пор не используются большинством консервативных IT-компаний. Scala, Go, Swift, Clojure и Haskell — языки, которые я бы отнёс ко второму эшелону. Некоторые компании используют эти языки для отдельных сервисов, но широкое применение встречается редко (за исключением Swift, который начинает обгонять Objective-C в качестве основного языка для iOS). Go и Swift имеют хорошие шансы на переход из второго эшелона в первый в течение ближайших двух-трёх лет.


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


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

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

Kotlin и autoboxing

Reading time3 min
Views14K
В последнее время достаточно много презентаций и статей на тему Котлина. В тоже время бОльшая их часть сводится к перечислению основных достоинств языка, без рассмотрения как это работает внутри и в какой байт код транслируется.

А зря, т.к. недавно общаясь с одним из своих коллег, который как раз прочитал одну из статей по Котлину с обзором основных фич, доказывал мне что null-safety зло и реализовано через обработку исключения, т.е. выполняя код:

name?.length

компилятор просто оборачивает вызов в try-catch, пытаясь поймать NullPointerException.

Аналогично другой товарищ после очередного обзора считал, что раз var есть в Kotline, как и в JS, то типизация и там и там динамическая, да и вообще «все эти ваши var/val зло, ничего не понятно, хорошо, что их в Java нет». Say hello, JEP286!

Еще один неудачный пример популяризации языка случился недавно, когда на одной из презентаций по Котлину сам автор доклада не совсем корректно описал работу языка, связанную с примитивами из Java, рассказывая о том, что в Котлине всегда будут использоваться ссылочные типы. Об этом и хотелось бы рассказать поподробней.
Читать дальше →

Скрипт для тех, кому лень разбираться в Linux

Reading time7 min
Views113K
Сфер применения Linux может быть очень много. Особенно, когда арендовать VPS стало можно от $1 в месяц. Кроме стандартного использования под хостинг сайтов, его используют в качестве сервера для игр (CS:GO, Terraria, Minecraft), в качестве Proxy-сервера и VPN-сервера. Под майнинг криптовалют. Под резервное хранилище бэкапов. Под домашнюю торренто-качалку. А также для тестирования, разработки и просто различных экспериментов. Именно доступность VPS на базе Linux с огромным спектром возможного его применения привела к популяризации Linux. Но желающих использовать Linux значительно больше, чем людей, которые умеют его использовать. И часто именно слабые познания администрирования Linux останавливают людей от его использования. Ну или просто усложняют таким людям жизнь — им приходится часами ковыряться в мануалах, форумах и «статьях для новичков».

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

Чтобы понять, что он умеет, проще всего глянуть на заглавный скриншот:


Далее подробнее опишу, что и как он делает.
Читать дальше →

Как я наступил на грабли и разобрался с NanoPi2

Reading time3 min
Views22K
Примерно 3 месяца назад пришла мне идея сделать гонки на машинках, управляемых через интернет.

Аналог микрогонки и гонки тарантасов. Оба этих проекта заглохли, по тем или иным причинам.

Начал я подбирать одноплатник, который бы наиболее подошел для данного проекта. Можно было бы использовать virt2real или Raspberry PI, ну или на крайний случай tp-link tl-mr3020 c CyberWRT на борту.
Читать дальше →

Information

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