Биты и байты.

Биты и байты.

четверг, 14 марта 2024 г.

Полезные каналы

Полезные каналы Youtube

суббота, 30 июля 2022 г.

Круговая диаграмма на D3.js

Тестовая визуализация с использованием библиотеки D3.js

2022 Смартфоны доля рынка по компаниям

Итоговая сумма млн: $
0

четверг, 14 июля 2022 г.

Пример на D3.js

Тестовая визуализация с использованием библиотеки D3.js

Иногда требуется сделать что-то нестандартное и индивидуальное.
Для тех кто интересуется продвинутой визуализацией и хочет выйти за привычные границы
рекомендую почитать основы D3.js на метанит.

суббота, 28 мая 2022 г.

Зачем нужны фуллстек разработчики ?

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

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

Конфигуратор для фуллстека BI

180000 руб
30000 руб
80000 руб
40000 руб
30000 руб
30000 руб

Стоимость: 0 руб

четверг, 20 апреля 2017 г.

Несколько доменов в Sharepoint. Лес, трасты и тд.

Когда пользователи SharePoint находятся в нескольких доменах добавить пользователей из домена с трастовыми отношениями не проблема.


В данной ситуации выручит команда
stsadm -o setproperty -pn peoplepicker-searchadforests
Детальное описание тут

Достаточно выполнить 3 простых шага.
1. Зайти на любой сервер фермы SharePoint, открыть командную консоль SharePoint
2. Получить URL  нужного веб приложения командой

Get-SPWebApplication

3. Запустить эту команду для вашего приложения с полученным URL выше

Для полного траста 

stsadm -o setproperty -pn peoplepicker-searchadforests -pv "forest:MY-DOMAIN.local;forest:TRUSTED-DOMAIN.local;domain:MY-DOMAIN.local;domain:TRUSTED-DOMAIN.local" -url http://my-sp2013-site.com.au/

Для одного домена 

STSADM.exe -o setproperty -propertyname peoplepicker-searchadforests -propertyvalue "domain:test.com;forest:uganda.com,uganda\user,123456" -url  http://sharepoint.com

Также можно проверить свойство командой

STSADM.exe -o getproperty -propertyname peoplepicker-searchadforests -url http://sharepoint.com

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

среда, 1 февраля 2017 г.

Парсинг XML c помощью powershell

Допустим поступила такая задача, есть много файлов XML


В каждом файле есть нужный атрибут


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

$folderPath= "C:\Shared\BR_Playlist\1\"
$HouseIds= @()
foreach ($item in dir $folderPath)
{
$xmlFilePath = $folderPath + $item.Name
[xml] $xmlContent = [xml] (Get-Content -Path $xmlFilePath)
#Write-Host $item.Name
foreach( $event in $xmlContent.playlist.program.event )
{
    #Write-Host $event.housenumber
    $HouseIds+=$event.housenumber
}
}
#{$_} 
$HouseIds | sort-object | Get-Unique | Select-Object   @{Name="Comnd";Expression={"Select '"+$_+"' as evnt UNION ALL"  }}



пятница, 30 декабря 2016 г.

Новые возможности в SQL Server 2016.

Эволюция  не стоит на месте, она затрагивает не только живое, но и все окружающие нас вещи, в том числе и SQL Server.
Появляются новые возможности которые существенно упрощают жизнь не только разработчикам , админам , но  и конечным потребителям информации.
Ниже опишу полезные возможности  которые были найдены на просторах интернета в различных статьях. Полный список от МС здесь.

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


Temporal – исторические таблицы
Отличается от обычной таблицы возможностью хранить историю изменений строк без создания триггеров и дополнительных таблиц. Подробнее здесь
Для включения опции в таблице должны быть два столбца дат с типом datetime2  и опцией GENERATED ALWAYS AS ROW START и GENERATED ALWAYS AS ROW END
+ необходимо включить опцию версионирования таблицы с указанием имени исторической таблицы  WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = dbo.EmployeeHistory));

--Исторические таблицы, любую таблицу можно преобразовать в историческую
CREATE TABLE Employee
(
EmployeeID int Primary KEY,
FirstName varchar(20) NOT NULL,
LastName varchar(20) NOT NULL,
DepartmentName varchar(50) NOT NULL
)
GO
INSERT INTO Employee VALUES
(1,'Ken','Sanchez','Executive'),
(2,'Terri','Sanchez','Engeneering'),
(3,'Roberto','Sanchez','Engeneering'),
(4,'Bob','Sanchez','Engeneering'),
(5,'Gail','Sanchez','Support'),
(6,'Dylan','Sanchez','Support')

select * from employee

--чтобы скрыть столбцы дат, добавьте hidden в инструкцию
ALTER TABLE EMPLOYEE ADD
            StartDate datetime2 GENERATED ALWAYS AS ROW START  HIDDEN NOT NULL DEFAULT CAST('1901-01-01 00:00:00.0000000' as datetime2),
            EndDate   datetime2 GENERATED ALWAYS AS ROW END  HIDDEN  NOT NULL DEFAULT CAST('9999-12-31 23:59:59.9999999' as datetime2),
                    PERIOD FOR SYSTEM_TIME( StartDate,EndDate)
GO
ALTER TABLE Employee SET (system_versioning = on(history_table=dbo.EmployeeHistory))
GO
--TEST
UPDATE employee
   SET LastName = 'Markao'
   WHERE employeeid = 2
GO
UPDATE employee
   SET LastName = 'Johnson'
   WHERE employeeid = 3
GO
UPDATE employee
   SET LastName = 'Ganja'
  WHERE employeeid = 4
GO
DELETE employee WHERE employeeid = 5
GO
--Disable versioning
Alter table employee SET (system_versioning = off)

--Enable versioning
Alter table employee SET (system_versioning = ON)

--Проверяем данные
select * from employee order by employeeID , Startdate

Declare @datestart datetime2 = dateadd(ss,-5,getdate())
select * from employee for system_time as of @datestart

Declare @datestart datetime2 = dateadd(ss,-10,getdate())
select * from employee for system_time as of @datestart

Declare @datestart datetime2 = dateadd(ss,-15,getdate())
select * from employee for system_time as of @datestart


--Добавление столбца, автоматически добавляет его в историческую таблицу
alter table employee add RegionID int null

--Cleanup
Alter table employee SET (system_versioning = OFF)
drop table if exists EmployeeHistory
drop table if exists employee

About