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

Хочу поделиться своим опытом настройки автоматического перехода на резервный интернет 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

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

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

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

На данный момент VK API уже имеет версию 5.68 и многие уже знакомы с его методом execute, который позволяет запускать последовательность других методов, сохраняя промежуточные результаты.

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

Реализация на PHP

Чтобы работать с API на PHP необходимо подключить библиотеку

require_once('src/VK/VK.php');
require_once('src/VK/VKException.php');

Затем необходимо пройти авторизацию, для того, чтобы начать делать запросы к vk.com

self::ex();
public static function ex () {
        $attach = ORM::for_table('attach')->where('id', 1)->find_one(); // получение данных для авторизации из базы данных таблицы attach
        $vk_config = array(
            'app_id'        => $attach->app_id,
            'api_secret'    => $attach->api_secret,
            'access_token'  => $attach->access_token
        );

        $vk = new VKVK($vk_config['app_id'], $vk_config['api_secret'], $vk_config['access_token']); // создание объекта с последующей авторизацией

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

Добрый день. Возникла ситуация, когда выпал диск из raid массива. Пришло уведомление от Zabbix о том, что 1 диск выпал, но без пояснения, какой, не очень информативно, пришлось лезть на сервер и смотреть, какой же диск выпал.

Небольшой скрипт на python который парсит вывод arcconf и сопоставляет диск в рейде с реальным диском(позиция на backplane).

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


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