Новости информационных технологий - 26655

То, что Safari стал для верстальщиков новым IE6 ни для кого не новость. Сегодня столкнулся с очередным багом, решение которого банально до невозможности, но отняло у меня час рабочего времени.

Итак, имеем блок, который должен непрерывно плавать вверх-вниз. Сходу пишем стандартный для такой анимации код:

.block {
	animation-name: floating;
	-webkit-animation-name: floating;
	animation-duration: 3.0s;	
	-webkit-animation-duration: 3.0s;
	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;	
	animation-timing-function: ease-in-out;	
	-webkit-animation-timing-function: ease-in-out;
}

@keyframes floating {
	0% {transform: translateY(0%);}
	50% {transform: translateY(8%);}	
	100% {transform: translateY(0%);}			
}

@-webkit-keyframes floating {
	0% {-webkit-transform: translateY(0%);}
	50% {-webkit-transform: translateY(8%); }	
	100% {-webkit-transform: translateY(0%); }			
}

Тестируем и видим, что данный код работает во всех популярных браузерах, кроме мобильного Safari. Причём согласно спецификации он должен поддерживать этот код. Далее замечаем ещё одну особенность. Если перейти в другое приложение или по какой-то ссылке и вернуться назад, то анимация начинает работать. Очень странное поведение Safari. То есть сам код ему понятен, но при обновлении страницы анимация сразу не хочет проигрываться.

Долгие поиски по различным форумам ни к чему не привели, поэтому решение было найдено методом «научного тыка».
Читать полностью »

Всем привет.

Хочу с Вами поделиться информацией как к «российским» ОС прикрутить репозитории CentOS и заменить установленные пакеты.

Всё началось, когда нашу организацию обязали перейти на «российское» ПО. В первую очередь начал искать серверные ОС. Как оказалось наши разработчики предлагают ОС на базе Linux, а в организации 100% windows платформа. Организация не маленькая, примерно 150 серверов только в одном округе.

После изучения рынка «российских» ОС выбор пал на ROSA и ОСь. ROSA это платная ОС и стоит не маленьких денег, но так как не очень уж хочется платить за воздух я остановился на ОС ОСь. Далее начинается самое интересное далее. У ОСи добавлен репозиторий от РосТех и в версии пакетов добавлена как правило одна буква:

1. Пакет от ОСи — openssh-6.6.1p1-33z3.el7.x86_64
2. Стандартный пакет CentOS — openssh-6.6.1p1-33.el7.x86_64

Первопроходцем должен быть AD на samba4, но тут возникает проблема. При установке зависимостей для samba4 yum не чего не может сделать с пакетами ОСи и соответственно пакеты не устанавливаются из-за неразрешнных зависимостей.

Все действия я делал на ОС ОСь minimal.

В общем решение этой проблемы следующее:

1. Необходимо закоментировать существующие репозитории.
2. Создать новый файл с CentOS'совскими репозиториями.

vi /etc/yum.repos.d/centos7.repo

Вот сам файл centos7.repo
Читать полностью »

Хочу поделиться своим опытом настройки автоматического перехода на резервный интернет 3G, когда основной пропадает, и возврата на основной, когда он заработает. Все это реализовано стандартными средствами Windows.

Задача была — обеспечить постоянное наличие интернета на майнинг ферме. Усердное гугление ничего не дало. Интернет пропадает очень редко, потому покупать Mikrotik или другие железки желания не было.

Имеем проводной интернет (или wi-fi) и 3G свисток.

Вся настройка сводится к подключению 3G свистка и настройки коммутируемого подключения. Далее скрипт в .bat, который кладем в авто запуск.
Читать полностью »

Сразу к делу. Собственно, сразу дам ссылку — это модульный движок на основе mvc внутри каждого модуля, также система роутинга своя
Есть возможность делать уобный URI для сайта например:

user/profile/register — вы хотите такой url, путь в вашей папке должен быть такой:

image

далее если для вас это слишком длинный путь, вы можете сделать его короче изменив файл Config.php:

namespace dvijokcore;
class Config {
	
	public static $useDb = true;
	public static $dbHost = 'localhost';
	public static $dbLogin = 'root';
	public static $dbPassword = '';
	public static $dbName = 'dvijok';
	public static $remaps = array(
	
		'reg' => array(
		
			'path' => 'user/profile/register',
			'lock' => true
		)
	);
	public static $db = false;
}

Читать полностью »

в 0:00, , рубрики: Песочница

Россия, Иркутск, 1990 год, ДК «Юный техник»

Каждый вечер мальчишки с нашего района собирались в ДК «Юный техник», который находился на первом этаже обычной пятиэтажки и слушали лекции Виктора Анатольевича, записывали самое важное и зарисовывали схемы, а после с пионерским рвением выпаивали резисторы и транзисторы со старых плат, и раскладывали их по специальным деревянным коробочкам. Все шло своим чередом, уже скоро мне, ученику первого класса, разрешат паять первые простенькие схемы.Читать полностью »

image

Знаю, звучит толсто. Но это правда возможно. Почти. Предлагаемый мной способ вряд ли применим в крупных проектах, но в мелких, для себя, типа «сайтов про кота», вполне рабочее решение. Возможность сортировки нам предоставит flexbox и css-переменные (они же custom properties) и js тут не потребуется.
Читать полностью »

Понадобилось нам выводить данные в виде дерева.
Причем, надо выводить не одно поле, а несколько. Поэтому стандартный TreeView подходит плохо.
В программе использовался WPF и компоненты DevExpress. Там есть навороченный GridControl, предоставляющий в числе прочего просмотр данных в виде дерева. То есть на первый взгляд проблема на полчаса.

Читать полностью »

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

Волшебный квадрат - 1

# Создадим переменную равную наименьшему из 9-ти разрядного числа

counter = 100000000

Далее запускаем цикл пока не достигнем наибольшего 9-ти разрядного числа

while counter < 999999999:
# Разбиваем наще число на разряды
p = [int(n) for n in str(counter)]

 #Теперь складываем отдельные цифры и присваиваем результат
 #переменным согласно расположению в таблице
 diagonal_1   = p[0] + p[4] + p[8]
 diagonal_2   = p[2] + p[4] + p[6]
 gorizontal_1 = p[0] + p[1] + p[2]
 gorizontal_2 = p[3] + p[4] + p[5]
 gorizontal_3 = p[6] + p[7] + p[8]
 vertical_1   = p[0] + p[3] + p[6]
 vertical_2   = p[1] + p[4] + p[7]
 vertical_3   = p[2] + p[5] + p[8]

Завершающий этап: проверка всех вышеперечисленных переменных на равенство
и вывод результатов на экран


#Проверка на равенство
 if diagonal_1 == diagonal_2 and diagonal_1 == gorizontal_1 and diagonal_1 == vertical_1 and  gorizontal_1 == gorizontal_2 and gorizontal_1 == gorizontal_3 and vertical_1 == vertical_2 and vertical_1 == vertical_3 and vertical_1 == gorizontal_1 and vertical_1 == gorizontal_2 and vertical_1 == gorizontal_3:

  #Печать результатов
  print ( p[0], p[1], p[2] )
  print ( p[3], p[4], p[5] )
  print ( p[6], p[7], p[8] )
  print ( 'Счетчик равен: ', counter )
  print ('________________' )

 counter += 1

Читать полностью »

в 0:00, , рубрики: Песочница

Месяца назад я получил свою первую работу и стал стажер-разработчиком, наша команда использует язык Scala. Мне кажется, все начинающие разработчики в первый день потерянные. одновременно наваливается куча новых имен, технологий, каких-то правил, да и мало ли что еще, абсолютно все для тебя ново, это же первая работа. В моем же случае я еще и не знал языка, на котором буду программировать, до момента собеседования я даже никогда о нем не слышал. Итог: в первый день я был в полном ауте. Спросите как тогда я вообще получил эту работу? Я знал Java, на собеседовании мне сказали что джависту перейти на скалу будет достаточно легко и можно не переживать. Но видимо чуть-чуть попереживать все же стоило, потому что первое время перед собой я видел просто экраны, заполненные текстом, в которых сходу была ясна едва ли половина.

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

final String str = "abc"; //Java

val str = "abc" // Scala

Читать полностью »

После очередной чистки системы (пылесосом) и смены термопасты (впервые с 2011 года) 45 нанометровый AMD Phenom II X6 1100T 3.3 GHz в простое грелся до 35 градусов, под нагрузкой до 60. Температура мостов на материнке (GA-880GA-UD3H AMD880G/SB850) была 38-45 градусов в простое, датчик общей температуры в корпусе около 37-39.

Цифры вроде не критичные, более чем адекватные для такого техпроцесса, но захотелось их снизить. Благо вентиляторы сейчас не самые дорогие.

Охлаждение в бюджетном miditower или как опустить процессор ниже 30 градусов - 1

Первые три температуры — корпус и мосты, далее скорости вентиляторов, ниже ядра процессора. Температура в простое до замены вентиляторов.

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

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js