К основному контенту

Сообщения

MySQL транспонирование

В этой статье я хотел бы поделиться методом для транспонирования строк в колонки. Самый простой пример, когда есть колонка, в которой указано имя поля и колонка с его значением (пример разобран тут ). Но давайте предположим, что у нас есть таблица связи многие ко многим, в которых связаны, допустим, идентификатор пользователя и идентификатор системы, к которой он имеет доступ. А на выходе нам нужно получить таблицу, где колонками являются имена систем и, если пользователь имеет к ней доступ, в колонке с системой напротив его идентификатора стоял "X".

Google и Banggood

Да, в названии сплошная реклама. На певый взгляд, как можно связать поисковик и магазин помимо поиска? На самом же деле речь пойдет не о конкретном поиске Google , а об аналоге MS Excel - Google Sheet . Целью было сделать таблицу со списком нужного мне товара и актуальной ценой на него. Забегая вперед скажу, что проект рабочий на 99%. Остался 1% на получение ценника на товар, в котором возможны опции и от них зависит цена. Для такого варианта есть временное обходное решение. Итак, план работ следующий: Создать список товаров Вбить к ним ссылки Получить цены с сайта Посчитать чек  Подготовка Для начала проведем анализ данных, которыми обладает товар. Рассмотрим на примере Li-Po аккумулятора . Открываем товар, кликаем правой кнопкой мыши на цене -> проинспектировать элемент.

Кастомный JavaScript для сайтов

В продолжение темы об организации цен, решил написать этот пост. Я столкнулся с такой проблемой - есть некоторые интернет магазины, в которых, на мой взгляд, очень странный формат отображения цен или просто непривычный. Например взять тот же Banggood . В моем варианте это русский язык сайта, но английский язык браузера. Полагаю отсюда и ноги растут. Представление цены у меня, например, 8,003 руб . Из минусов - мне не нравится разделитель разрядности запятая. Так же непривычно видеть цену без копеек. Ну и вместо букв "руб" было бы приятнее видеть денежный знак. Да, как вариант - можно написать разработчикам сайта и высказать свои предпочтения. Сами понимает, шанс быть услышанным практически равен нулю. Но если у вас есть прямые руки и православный браузер, то можно изменить представление любого сайта под свои нужды.

Организация цен на TOMTOP

Решил написать статью, которая поможет Вам адекватно и понятно воспринимать цены, выставленные в магазине TOMTOP . Примеры будут приведены для цен в рублях. Естественно, сайт мы поменять не можем, но можем воспользоваться надстройкой для Google Chrome , которая позволит нашему JavaScript обработать страницу магазина. Итак, все по порядку. Расширение для Google Chrome Ставим расширение для Google Chrome   Custom JavaScript for websites . Расширение позволит нам писать собственный скрипт для страниц. Прелесть расширения в том, что оно умеет подключать jQuery , который сильно упростит нам жизнь.

Понимание нумерации версий

В этой статье я хочу показать, как правильно нумеровать версии программ. Одна из самых распространенных нумераций - это нумерация в три уровня. По крайней мере я считаю ее достаточно "подробной", касательно внесения изменений в программу. Итак, состав версионности. Это последовательность цифр, разделенных на уровни, например: 1.3.12 . Маска нумерации следующая: <major>.<minor>.<build>  . Этот способ нумерации используется в Windows API. Существует тонкость - при изменении одного из уровней, все последующие значения уровней обнуляются. Например, цепочка версий: 1.0.1 -> 1.0.2 -> 1.1.0 -> 2.0.0

ABAP оптимизация SQL запросов

В этой статье я решил написать пример, как не нужно писать SQL запросы в ABAP . Для примера взял кусок кода с SQL запросом из реальной Z программы и на его основе поставил эксперимент. Итак, есть вот такой SQL : SELECT * INTO ls_mseg FROM mseg AS m . SELECT SINGLE mblnr INTO ls_mseg-mblnr FROM mseg WHERE smbln = ls_mseg-mblnr AND sjahr = ls_mseg-mjahr AND smblp = ls_mseg-zeile. CHECK sy-subrc 0. * ToDo ENDSELECT. По сути, этот алгоритм отсеивает документы сторно. Я намеренно убрал все условия WHERE из первого оператора SELECT для наглядности. Итак, делаем пример с замерами: GET RUN TIME FIELD t1. SELECT * INTO ls_mseg FROM mseg AS m . SELECT SINGLE mblnr INTO ls_mseg-mblnr FROM mseg WHERE smbln = ls_mseg-mblnr AND sjahr = ls_mseg-mjahr AND smblp = ls_mseg-zeile. CHECK sy-subrc 0. CNT = CNT + 1. ENDS...

Material Design для Android L: Левое меню

Почти неделю вникал в новшества Андроида. Большие затруднения вызвала версия API 21 . Перекопал много источников, но не один из них не подходил на 100%. Очень часто возникали ошибки компиляции или программа умирала на моменте запуска. Буквально на днях наткнулся на статью , где по шагам описаны все действия и приложены исходники. Но с ней тоже пришлось повозится, поскольку программа умирала при запуске. Еще странность была в том, что, хоть я и создал проект с нуля всего с одной главной Activity , компилятор периодически сообщал мне, что не может найти главный класс приложения и, естественно, отказывался работать. Итак, мы будем делать модный дизайн с выезжающим меню и плавающей кнопкой. Сразу признаюсь, что эта статья является вольной интерпретацией источника  с небольшими дополнениями.