SELECT * FROM Vzakladke.net

Статьи об автоматизации и программировании

22.05.2018 11:12

Рекурсивный запрос на MS SQL с использованием обобщенного табличного выражения (CTE)

Рекурсивный SQL запрос - один из способов решения проблемы дерева и других проблем, требующих рекурсивную обработку.
В MS SQL нет ключевого слова recursive, но рекурсию можно выполнить используя создание простого обобщенного табличного выражения CTE (с использованием ключевого слова WITH). С его помощью можно написать рекурсивный запрос, т.е. запрос, который, написанный один раз, будет повторяться многократно пока истинно некоторое условие.


Рекурсивный CTE имеет следующий вид:

WITH <имя>[(<список столбцов>)]
AS(
< SELECT... > -- анкорная часть
UNION ALL -- рекурсивная часть
< SELECT...FROM <имя>… > 
WHERE <условие продолжения итераций>
)

Подробнее


01.05.2018 12:23

Как настроить cURL Proxy на PHP

Представим ситуацию, когда нам нужно подключаться к сайту на своем сервере через прокси. Во-первых, находим подходящий прокси сервер (например здесь, https://hidemy.name/ru/proxy-list/). Выбираем прокси для HTTP или HTTPS, предпочтительнее второе, иначе Ваш код не будет работать с сайтами, использующими SSL-сертификат. Далее нам понадобится CURLOPT_PROXY которой мы передаем хост выбранного прокси-сервера и не забываем указывать номер порта (через двоеточие).

Подробнее


30.11.2017 10:58

Как купить Bitcoin или другие криптовалюты и как заработать на криптовалюте

Торговля на биржах криптовалюты, использование обменников и как на этом можно заработать - вот популярные вопросы на сегодняшний день среди пользователей интернет. Многие интересуются новым трендом, но остерегаются всего нового так как боятся скама (т.е. обмана). Между тем, чтобы не потерять свою криптовалюту нужно знать надежные сервисы с минимальной комиссией и высоким уровнем безопасности.

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

На официальном сайте https://bitcoin.org/ru/choose-your-wallet Вам предлагается получить кошелек в разных вариантах:

  1. Компьютер
  2. Мобильный
  3. Веб
  4. Специальное устройство

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

Кроме того есть и другие валюты (LitecoinEthereum, Monero, Ripple и т.д.), на сайте которых предлагается получить официальный кошелек. Однако большинство пока еще десктопные и с мобильными криптокошельками пока еще есть проблемы - Вам придется пользоваться сторонними приложениями, такими например как Jaxx, которые по сути дела назвать децентрализованными уже трудно.

Кроме того, периодически появляются новые монеты и хранить их можно не только на мобильных кошельках, но и на таких сервисах, как Криптонатор https://ru.cryptonator.com/.  

Подробнее


05.08.2017 18:11

Советы о том чтобы скрипты и стили на веб-странице загружались без блокировки

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

Для подгружаемых скриптов подойдет код на javascript:

var js = document.createElement('script');
js.src = 'myscript.js';
var head = document.getElementsByTagName('head')[0];
head.appendChild(js);

Для подгружаемых стилей подойдет код на javascript:

var h = document.getElementsByTagName('head')[0];
var link = document.createElement('link');
link.href = 'mycss.css';
link.type = 'text/css';
link.rel = 'stylesheet';
h.appendChild(link);

В некоторых случаях программисты помещают ссылку на подгружаемый код в конце страницы, тем самым обеспечивая его загрузку только после загрузки основного контента и основных стилей. Кроме того, зачастую на помощь приходят атрибуты ссылок async и defer, которые обеспечивают асинхронную и отложенную загрузку соответственно.

Подробнее


03.06.2017 11:16

Регистрация входящих сообщений MS Outlook в MS Access, логирование записей и сохранение вложений

Для организации записи логов в журнал на базе MS Access из поступающих писем в MS Outlook можно обратиться к внутреннему функционалу MS Office по созданию макросов на VBA. В данной статье предлагается метод регистрации писем без сохранения вложений в базе, но позволяет сохранять вложения в отдельной папке, на которую мы будем давать ссылку через форму в Access. Так как у каждого письма есть свой уникальный идентификатор в почте, мы будем создавать папки с учетом этого идентификатора и давать ссылку из Access на путь, где сохраняются наши файлы. Для чего Вам это решение может потребоваться решайте сами, возможно Вы захотите поиск сделать по базе писем, может структурируете входящую почту в базе и будете там хранить свою переписку или автоматизируете в дальнейшем свои отчеты... как говорится, это уже дело фантазии.

Первым делом, чтобы разобраться как настроить регистрирование входящей почты, нам предстоит определиться в какую базу мы будем сохранять историю и в какую папку будем сохранять вложения. Для этого мы должны создать базу out.accdb на диске например E (название базы или имя диска Вы можете поправить на свои) и в прописать в Outlook следующий программный код

 

Подробнее


30.04.2017 11:04

Отображение экрана смартфона Android на телевизоре (Дублирование экрана) своими руками

Не всегда легко отобразить экран мобильного устройства на смарт-телевизоре для просмотра фото, видео или сайтов можно с помощью специальной кнопки, если эта кнопка доступна. 
“Дублирование экрана” – это функция отображения экрана устройства, поддерживающего функцию Дублирование экрана (например, смартфона или компьютера), на телевизоре с помощью технологии Miracast. При использовании этой функции не требуется беспроводной маршрутизатор (или точка доступа).

На некоторых смартфонах эта кнопка недоступна по умолчанию для стриминга с планшета или смартфона на смарт-тв, но мы можем создать приложение, которое будет вызывать для нас эту настройку. Однако не везде это приложение может работать, так например на Sony Xperia приложение работает отлично, а на смартфоне  Samsung с ОС Android 6 совсем не хочет работать. А на телефонах Asus эта кнопка есть в меню, поэтому это приложение и писать не нужно будет. Итак, давайте напишем приложение для наших исключительных случаев для телевизоров Samsung.

 

Подробнее


16.03.2017 17:14

Выгрузка истории из Outlook в Excel на VBA с именами получателей и отправителей, категориями, именами вложений

Для каждого из тех, кто работает с MS Outlook наступает момент, когда просыпается интерес к истории всей переписки за годы службы на предприятии. Порой бывает в таких случаях трудно найти тот файл, который когда-то отправлял последний раз, а может все-таки предпоследний, который был более актуален. Даже иногда нужно просто все лишнее удалить чтобы почистить почтовый ящик, но историю переписки сохранить, чтобы оставаться в теме и иметь возможность вспомнить какие письма уходили и приходили на выбранную дату. А как часто мы хотим вспомнить что было в переписке полгода назад?

Для этих целей специально был разработан макрос, который позволяет выгружать в MS Excel историю переписки.

 

Подробнее


23.02.2017 19:06

Расчет суммы значений по дереву элементов с учетом применяемости вышестоящих узлов в Excel применяя формулы или VBA

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

Начинаем формировать таблицу.

Первый столбец «» – задается путь по структуре в виде иерархии, например, 1 – 1.1 – 1.2 – 1.2.1 – 1.2.2 – 1.3.

Второй столбец «Идентификатор» принимает значение обозначения элемента. Зададим тогда и столбец Наименование».

Далее представим столбец «Тип объекта», где будем указывать «Сборочная единица», «Деталь», «Прочее» и т.д.

Столбец «Есть ли структура» будет позволять нам иметь представление о наличии структуры у элемента.

Столбец «Количество» содержит количество элементов на заданном уровне.

Последним в исходной таблице будет столбец «Цена».

Для реализации задачи по подсчету суммы с учетом количества вышестоящих уровней в MS Excel попробуем применить формулы. Для начала попробуем найти по первом столбцу (колонка A) номер пути родительского элемента, например, в 5-ой строке:

=ЕСЛИОШИБКА(ЛЕВСИМВ(A5;ЕСЛИОШИБКА(НАЙТИ(".";A5;ДЛСТР(A5)-1);ЕСЛИОШИБКА(НАЙТИ(".";A5;ДЛСТР(A5)-2);ЕСЛИОШИБКА(НАЙТИ(".";A5;ДЛСТР(A5)-3);"")))-1);"")

Узнаем уровень, на котором находится наш элемент:

=ЕСЛИ(A5="0";"";ДЛСТР(A5)-ДЛСТР(ПОДСТАВИТЬ(A5;".";""))+1)

Можем даже посмотреть наверх, чтобы уточнить значения в столбце «Количество» у родительских элементов

=ЕСЛИОШИБКА(ВПР(AB5;$A:$K;СТОЛБЕЦ($K$1);0);1)

Где AB5 – это ячейка с родительским номером в пути, а СТОЛБЕЦ($K$1) – это номер столбца для отступа вправо по функции ВПР.

Далее мы столбец с ценой умножим на столбец с количеством (запишем результат в столбец Z), но с условием что на родительский элемент не проставлена цена, иначе мы будем считать цену, которая задана сверху:

=ЕСЛИ(ЕСЛИОШИБКА(ВПР(AB5;A:Y;СТОЛБЕЦ(Y$3);0);1)>0;0;Y5*K5*ЕСЛИОШИБКА(ВПР(AB5;A:K;СТОЛБЕЦ(K$3);0);1))

Позже попробуем просуммировать все нижестоящие элементы по каждому узлу – если есть сумма, то мы используем ее, иначе суммируем:

=ЕСЛИ(Z5>0;Z5;СУММЕСЛИМН(Z5:СМЕЩ(Z$5;0;0;СЧЁТЗ(B:B);1);AB5:СМЕЩ(AB$5;0;0;СЧЁТЗ(B:B);1);A5&"*"))

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

 

Подробнее


12.07.2016 09:57

Простой пример отправки данных формы POST-запросом на Android

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

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

 

Подробнее


02.04.2016 15:08

Какие способы заработка есть в интернете

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

1. Тизерная реклама на сайте

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

Немного отличается, но суть примерно та же, это Сеть товарных рекламных объявлений от Recreativ

Подробнее


<< Назад 1 2 3 4 5 >>