Pull to refresh
0
0
Send message

Вопросы и ответы для собеседования по Kotlin. Часть 1

Level of difficultyMedium
Reading time14 min
Views64K
Читать далее
Total votes 2: ↑2 and ↓0+2
Comments10

Паттерны проектирования в Dart

Reading time17 min
Views21K

В последние годы растет популярность фреймворка для кроссплатформенной разработки приложений Flutter, а вместе с ним вторую жизнь получил и язык программирования Dart. Dart создавался как потенциальная замена JavaScript и мог бы занять нишу, которая сейчас принадлежит TypeScript, но по ряду причин он так и оставался длительное время "одним из проектов Google", который не был оценен ни для использования в web (после транспиляции в JavaScript), ни для создания серверных или десктопных приложений.

При этом компилятор Dart создает оптимизированный высокопроизводительный код для основных операционных систем и может также использоваться для компиляции в другие аппаратные архитектуры (например, для микроконтроллеров) и, в целом, Dart может использоваться как язык общего назначения для создания серверных приложений (Shelf, Aqueduct), устройств умного дома (с целевой платформой ARM и пакетом dart_periphery) и, конечно, десктопных, мобильных и веб-приложений (Flutter).

И все же язык обладает определенным набором особенностей, которые надо учитывать при реализации кода и использованию типовых паттернов проектирования. В этой статье мы рассмотрим примеры реализации самых часто используемых основных и порождающих шаблонов на языке Dart (будем использовать возможности наиболее актуальной версии Dart 2.17), а во второй части статьи будут рассмотрены более сложные структурные и поведенческие паттерны.

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments6

Развитие Стамбула: султан сказал — султан сделал

Reading time19 min
Views24K
Стамбул, столица четырёх империй, — один из древнейших городов мира, но из-за постоянных землетрясений лишь незначительная часть его зданий сегодня старше хотя бы 100 лет. Конечно, это город контрастов — входит в ТОП-5 по числу проживающих в нём долларовых миллиардеров, но в сохраняющихся ещё районах самостроя (gecekondu) там проживают беднейшие слои населения. Город, безусловно, красивый, немного хаотичный, но живой и свежий. За последние 70 лет он вырос в 15 раз, приезжие из других провинций Турции составляют три четверти его населения. Столь стремительный рост не мог не вызвать перекосов в развитии, которые муниципалитет постепенно уже начинает исправлять. Естественно, не без восточной специфики. При этом, Анкара, нынешняя столица Турции, ревностно следит за его развитием, иногда как чёртик из коробочки выпрыгивая и начиная там новый транспортный мегапроект. Итак, чем живёт сегодня динамичный мегаполис?

Читать дальше →
Total votes 71: ↑70 and ↓1+69
Comments28

Как я разрабатывал интеграцию для Home Assistant

Reading time8 min
Views16K

Так сложилось что недавно я поставил себе Home Assistant (далее HA) для управления всем моим зоопарком устройств из одного места, что оказалось довольно удобно. Но без ложки дегтя никуда и нашлось все таки одно устройство, интеграции для которого в HA не было, а привязать его хотелось. Было решено написать собственную интеграцию. Если интересно, что из этого вышло, добро пожаловать под кат.

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments14

Храним данные в JSONB, как это влияет на скорость запросов?

Reading time4 min
Views24K

Добрый день, меня зовут Павел Поляков, я Principal Engineer в каршеринг компании SHARE NOW, в Гамбурге в 🇩🇪 Германии. А еще я автор Telegram-канала Хороший разработчик знает, где рассказываю обо всем, что должен знать хороший разработчик.

Сегодня хочу поговорить о том стоит ли хранить данные в JSONB полях в PostgreSQL. Как это влияет на производительность?

Читать далее
Total votes 21: ↑13 and ↓8+5
Comments26

Data Science Digest

Reading time3 min
Views4.8K


Хабр, привет!

Очень давно я вел на Хабре дайджест посвященный AI и BigData. Сейчас хочу восстановить его и раз в месяц делать подборку интересных материалов из области Data Science.

В январе я начал опрос дата-сайентистов об их рабочих инструментах. За это время в нем уже приняло участие больше 600 человек. До 3 марта в нем еще можно принять участие, если вы это еще не сделали. Опубликовать результаты я планирую в 10-х числах марта, а пока предлагаю свежую подборку материалов под катом.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments1

Краткий обзор видео по Go c FOSDEM 2015

Reading time4 min
Views8.6K
Одна из самых популярных конференций по open-source проектам, FOSDEM, прошла 31 января — 1 февраля, и, помимо многих dev-румов, был dev-room, целиком посвященный Go. Видео с этой конференции уже выложены в паблик, доклады по 30-40 минут каждый, и, надо сказать, доклады очень достойные — привычного и надоевшего интро для новичков в стиле «Что мне нравится в Go?» или «Как тестировать в Go» тут не было.

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



Всего было 8 докладов по 30-40 минут, и полтора часа так называемых Lightning talks — коротких докладов, идущих один за другим.

Сразу привожу ссылки на плейлисты:

Youtube: www.youtube.com/playlist?list=PLtLJO5JKE5YDK74RZm67xfwaDgeCj7oqb
FOSDEM http: video.fosdem.org/2015/devroom-go

Итак, в порядке выступлений.
Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments1

Как накормить мозг программиста… или feed your brain

Reading time12 min
Views370K

Введение


Из всех наслаждений, отпущенных человеку в жизни,
самое изысканное — шевелить мозгами.
(Борис Акунин)


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

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

В данной публикации мы рассмотрим, как правильно питаться для жизнеобеспечения мозга и как его разогнать ноотропами (в случае аврала необходимости).
Читать дальше →
Total votes 213: ↑163 and ↓50+113
Comments145

ImageLoaders: Продолжение

Reading time5 min
Views9.1K
В предыдущей статье я сравнивал библиотеки UniversalImageLoader (UIL) и Picasso на предмет оптимального использования памяти. Среди комментариев были некоторые тонкости применения библиотек и просьбы протестировать другие загрузчики. Эти вопросы дали начало второй части benchmark-а с участием 5 библиотек.
Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments16

Спагетти-статья о спагетти-коде

Reading time15 min
Views48K
image

Перевод статьи Майкла О. Черча — What is spaghetti code?

Самый простой способ для эпитета утратить свое первоначальное значение — это стать чрезмерно широким, начать означать чуть больше, нежели просто “мне это не нравится”. Речь идет о термине “спагетти-код”, который люди часто используют как синоним к понятию “плохой код”. Проблема в том, что не всякий плохой код является спагетти-кодом. Спагетти-код — это особенно опасный и специфический вид плохого кода, и его особое зло заключается в самом способе разработки нами программного обеспечения. Почему? Потому что отдельно взятые люди редко пишут спагетти-код самостоятельно. Скорее, определенный стиль в разработке делает его все более распространенным со временем. Для того, чтобы понять это, нужно рассмотреть первоначальный контекст, в котором было определено понятие “спагетти-код” — ужасное (и в основном архаичное) использование оператора goto.
Читать дальше →
Total votes 31: ↑22 and ↓9+13
Comments10

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity