Програмист
Витамин D. Краткий экскурс
Это мой первый пост, так что, возможно он будет несколько сумбурным – прошу не очень строго судить, но конструктивным замечаниям буду рад. Картинок не будет.
Если мой пост что называется «зайдёт», я планирую осветить ещё некоторые интересные, на мой взгляд, темы, связанные с медициной, фармацией и здоровьем.
Пишу простым языком, с минимумом медицинской и фармацевтической терминологии.
Оптимизация node.js приложения
Стандартные решения проблемы: докинуть серверов, все переписать с 0, оптимизировать уже написанное.
Давайте попробуем пойти путем оптимизации и разобраться, как можно найти и улучшить слабые места приложения. А быть может ускориться не трогая ни строчки кода :)
Всех заинтересованных добро пожаловать под кат!
Как в Android'е передать переменную из фрагмента в активность?
Запускаем IDE (integrated development environment) Android Studio. Создаём новый проект: File -> New -> New Project. Выбираем «Empty Activity», жмём «Next».
Делаем проект на Node.js с использованием Mongoose, Express, Cluster. Часть 2.1
Введение
Здраствуйте, дорогие хабровчане! Сегодня у нас в основном будут маленькие изменения, но изменений много. В этой части мы будем:
- Создавать свой логгер
- Записывать в лог запросы и время их обработки
- Исправлять ошибки, которые мы допустили в первой части.
- Разбираться с авторизациеей
- Разбираться с некоторыми классами
- Конфиги!
Добавление водяного знака на все картинки сайта
От клиента пришла заявка, на старом сайте, обновить все изображения, а именно добавить на них водяной знак с логотипом. Проблема заключалась в том, что картинок было более 10000 штук и находились они в разных папках и под папках.
Мы решили написать универсальный скрипт, который можно запустить из консоли или прямо в браузере и обновить все картинки на сайте.
Дайджест свежих материалов из мира фронтенда за последнюю неделю №320 (18 — 24 июня 2018)
Создание игры Tower Defense в Unity — Часть 2
Это вторая часть туториала «Создание игры Tower Defense в Unity». Мы создаём в Unity игру жанра tower defense, и к концу первой части, научились размещать и апгрейдить монстров. Также у нас есть один враг, нападающий на печенье.
Однако враг пока не знает, куда ему смотреть! Кроме того, нападение в одиночку выглядит странно. В этой части туториала мы добавим волны врагов и вооружим монстров, чтобы они могли защищать драгоценную печеньку.
Опыт настройки и использования WSL (подсистемы Linux в Windows 10)
К написанию данной статьи меня побудил вопрос на Тостере, связанный с WSL. Я, после нескольких лет использования систем на ядре Linux, около полугода назад перешел к использованию Windows 10 на домашнем ПК. Зависимость от терминала и Linux окружения в моей работе практически сразу привели меня к вопросу: или ставить виртуалку или попробовать WSL. Я выбрал второе, и остался вполне доволен.
Под катом я расскажу как установить и настроить WSL, на какие я наткнулся проблемы и ограничения, как запускать Linux приложения из Windows и наоборот, а так же как интегрировать элементы окружения Xfce в окружение рабочего стола Windows.
Синонимы, которые сбивают с толку новичков: say, tell, speak, talk
Идея о том, как можно создать единый трекер здоровья с системой принятия решений
На мой взгляд, эти идеи могут иметь очень далеко идущие перспективы, хоть они и кажутся простыми. Главная цель статьи — получить конструктивную критику от сообщества и принять решение о том, стоит ли разрабатывать своё ПО.
В статье представлены реальные примеры из жизни, в которых трекинг был полезен или просто необходим. Рассмотрены переменные, которые можно отслеживать и сопоставлять. Среди них есть физиологические показатели (пульс, давление), показатели окружающей среды (температура, яркость солнца, магнитное поле), питание, а также психологические показатели (индекс счастья, восприятие мультимедиа, хронометрика обучения).
Как я делал свой учет финансов под андроид с блэкджеком, СМС и ФНС
Введение
Все началось в далеком 2011-м году, когда я купил свой первый андроид смартфон и открыл для себя удивительный мир андроид маркета. Именно там я нашел великолепное приложение для учета финансов Financisto. Несколько лет я трекал в нем свои расходы и доходы, сильно привык, однако были и слабые стороны:
- необходимость вводить все транзакции вручную. Притом, что доля безналичных платежей непреклонно росла, а банк на каждый чих шлет вам смс.
- нет глобального взгляда на бюджет в длительном временном разрезе. То есть хотелось видеть таблицу, предположим, на год, где для каждого месяца было бы видно, сколько планировалось потратить и заработать и сколько вышло по факту, плюс итого по всем строкам и столбцам. Тут ориентиром был YNAB.
- нет синхронизации между устройствами. Да был Flowzr, но как-то он мне не зашел.
Если вторая проблема решилась экспортом в CSV и всемогущим экселем, то с остальными нужно было что-то делать. Очевидный вариант — сменить программу. Поизучав предложение, пришел к выводу, что все приложения делятся на скудные по функционалу и на дорогие:) Тем временем шел 2015-й год и мне все сильнее хотелось изучить разработку под мобильные девайсы. Что ж, звезды сходятся, принято решение пилить свое приложение!
Так как мой девелоперский бэкграунд был связан с написанием узкоспециализированных программ на дельфи, то, естественно, первым порывом было попробовать мультиплатформенную разработку в самой дельфи. Но не будем о том печальном опыте, я быстро пришел к выводу, что мне нужно нативное приложение и нормальный тулинг. Так была скачана андроид студия и создан новый проект. Далее идет мой поток сознания, который я постарался разделить по темам.
Открытый вебинар: «Области видимости и невидимости»
Делимся с вами очередным открытым уроком, который мы проводили в рамках курса «Разработчик C++». На уроке Сергей Кольцов разбирал проблему деинициализации, которая довольно часто возникает в разработке ПО с использованием legacy или native-кода.
Как всегда ждём вопрос и комментарии тут или сегодня на Дне открытых дверей.
Vue.js и как его понять
Хуки жизненного цикла Vue.js
Хуки жизненного цикла (lifecycle hooks) — важная часть любого серьёзного компонента. Нам часто нужно знать, когда компонент был создан, добавлен в DOM, обновлён или уничтожен. Хуки жизненного цикла показывают нам, как работает «за кулисами» выбранная библиотека. Они часто вызывают у новичков трепет или беспокойство. К счастью, понять принцип работы хуков несложно, см. схему:
Полезное дизайнеру / разработчику. Свежие утилиты и инструменты для ускорения работы. Выпуск № 9
Пока дизайнеры продолжают испытывать восторг от появления возможности прототипирования в двух известных инструментах, анонсированных в один день; мир независимых разработчиков продолжает выпускать всякие нужные инструменты. В 9-м выпуске 20 ссылок
Пишем компонент — таблицу, не совсем обычным способом
Компонентов-таблиц для Vue наделано немало. С различными возможностями. И везде по-разному таблица собирается в template страницы или какого-то компонента.
В основном происходит это как-то так:
<template>
<cmp-table :items="items" :columns="columns"/>
</template>
<script>
export default {
name: 'page',
data() {
return {
items: [
{ id: 1, name: 'Sony' } ,
{ id: 2, name: 'Apple' },
{ id: 3, name: 'Samsung' } ],
columns: [
{ prop: 'id', title: 'ID' },
{ prop: 'name', title: 'Name' } ]
}
}
}
</script>
Непрерывные переходы между общими элементами: из RecyclerView во ViewPager
Использование переходов в Material Design дает приложению визуальную непрерывность. Пока пользователь ходит по приложению, элементы интерфейса в нем меняют состояние. Анимации переходов соответствующих элементов от одного экрана к другому подчеркивают идею о том, что интерфейсы осязаемы.
Целью этой статьи является предоставление гайдлайнов и реализации для определенных непрерывных переходов между фрагментами ОС Android. Мы продемострируем, как реализовать переход из картинки в RecyclerView в картинку внутри ViewPager и обратно, используя "общие элементы" (shared elements) чтобы определить, как и какие элементы участвуют в переходе. Мы также обработаем сложный случай перехода обратно в сетку после листания на странице к элементу, который в сетке изначально был за пределами экрана.
Вот результат, которого мы хотим добиться (анимированная версия под катом).
Если вы хотите пропустить объяснение и сразу приступить к изучению кода, вы найдете его здесь.
От переводчика. Далее будет довольно много кода и гифок (по прикидкам, мегабайт на 20).
Введение в Data Vault
Большинство компаний сегодня накапливают различные данные, полученные в процессе работы. Часто данные приходят из различных источников — структурированные и не очень, иногда в режиме реального времени, а иногда они доступны в строго определенные периоды. Все это разнообразие нужно структурированно хранить, чтоб потом успешно анализировать, рисовать красивые отчеты и вовремя замечать аномалии. Для этих целей проектируется хранилище данных (Data Warehouse, DWH).
Существует несколько подходов к построению такого универсального хранилища, которые помогают архитектору избежать распространенных проблем, а самое главное обеспечить должный уровень гибкости и расширяемости DWH. Об одном из таких подходов я и хочу рассказать.
Кому будет интересна эта статья?
- Ищете более функциональную альтернативу схеме «звезды» и Третьей Нормальной Форме?
- У Вас уже есть хранилище данных, но его тяжело дорабатывать?
- Нужна хорошая поддержка историчности, а текущая архитектура для этого не подходит?
- Возникают проблемы при сборе данных из нескольких источников?
Если на какой-либо из этих вопросов Вы ответили утвердительно, и при этом не знакомы с Data Vault — прошу заглянуть под кат!
Основные принципы C++: Правила выражений и операторов
Что ж, мы плавно выходим на старт второго потока группы «Разработчик С++» и разбираем интересные материалы, которые накопились у преподавателя в свободное от работы и преподавания время. Сегодня рассмотрим (а потом и продолжим) серию материалов, где разбираются отдельные пункты С++ Core Guidelines.
Поехали.
В C++ Core Guidelines много правил, посвященных выражениям и операторам. Если быть точным, то более 50 правил посвящено объявлениям, выражениям, операторам и арифметическим выражениям.
*перевод
Информативные названия
Оптимальная длина переменных
- Не должны быть слишком длинными (maximimNumberOfPointsInModernOlympics.) или слишком короткими (например, x, x1)
- Длинные названия сложно печатать, короткие названия недостаточно информативны..
- Дебажить программы с названиями от 8 до 20 символов гораздо проще
- Гайдлайны не заставляют вас срочно менять названия переменных на имена из 9-15 или 10-16 символов. Но если вы найдете в своем коде более короткие названия, убедитесь, что они достаточно информативны.
Слишком длинные:
numberOfPeopleOnTheUsOlympicTeam; numberOfSeatsInTheStadium; maximumNumberOfPointsInModernOlympics
Слишком короткие:
n; np; ntmn; ns; nslsd; m; mp; max; points
В самый раз:
numTeamMembers, teamMembersCount
Information
- Rating
- Does not participate
- Location
- Красногорск, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity