Форум программистов, компьютерный форум, киберфорум
JavaScript: API
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/34: Рейтинг темы: голосов - 34, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 29.10.2016
Сообщений: 6
VK API

Альбом из ВК в masonry на сайт

29.10.2016, 15:23. Показов 7152. Ответов 14

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Очень нуб.. Не пинайте если можно.
Очень хочется сделать адаптивную галерею, подгружающуюся из ВК альбома.
Но с json вообще не знаком (
Как бы так вывести в сетку (Плагин masonry), изображения самого высокого размера ?
Понимаю что не стол заказов.. Если не сложно ткните в статью где это описано.
Но если поможете буду благодарен )
Нативно понимаю что использовать надо photos.get
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.10.2016, 15:23
Ответы с готовыми решениями:

Не работает Masonry
Здравствуйте. Пытаюсь подключить скрипт masonry, но он не работает. В файле functions.php написала: function mason_script() { ...

Настройка Masonry Layout
Нашел шикарный плагин Masonry Layout, на тест странице он настроен, установил его + page builder, но никак не разберусь, как сделать такое...

Подключение masonry в wordpress
Как подключить и работать с Masonry. Тема находится в приклепленном файле. Какие плагины лучше всего использовать. Хочу взять пример сайта...

14
 Аватар для evikza
968 / 530 / 244
Регистрация: 20.05.2015
Сообщений: 776
29.10.2016, 21:19
Enroller, Здравствуйте, если необходимо получить фото из общедоступного альбома, можно обойтись без прав доступа. Запрос и последующий вывод данных JSON будет выглядеть вот так:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$.ajax({
  url: 'https://api.vk.com/method/photos.get?',
  data: {
    owner_id: '1', // ID пользователя
    album_id: '136592355' // ID альбома
  },
  dataType: "jsonp",
  success: function(data) {
    data.response.forEach(function(item) {
      var img = item.src_xxxbig;
      (!(img)) ? img = item.src_big : img; // проверяем, есть ли самое большое разрешение у фотографии
      $('.grid').append('<div class="grid-item"><img src="' + img + '" alt="" /></div>');
    });
  }
});
Демонстрация

Как мы видим, у нас есть главный класс <div class="grid">. А цикл выводит фотографии в класс <div class="grid-item">. Как того требует плагин, с самим плагином не работал, но думаю суть должна быть ясна
1
0 / 0 / 0
Регистрация: 29.10.2016
Сообщений: 6
30.10.2016, 19:33  [ТС]
Спасибо !
И всё вроде замечательно .. Но плагин отказывается с этим работать..
Если такую - же структуру написать хардкодом .. Всё замечательно..
А этих элементов он как будто не видит (
Мучаюсь часов 6.. Не понимаю..
0
 Аватар для evikza
968 / 530 / 244
Регистрация: 20.05.2015
Сообщений: 776
30.10.2016, 20:59
Enroller, как вариант, вызывать плагин, когда страница подгружена:

Полный файл:

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<html lang="en">
 
<head>
  <meta charset="UTF-8">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
  <script src="https://unpkg.com/masonry-layout@4.1.1/dist/masonry.pkgd.min.js" type="text/javascript"></script>
</head>
<style>
  img {
        width: 200px;
    }
</style>
 
<body>
  <div class="grid"></div>
</body>
<script>
  $.ajax({
        url: 'https://api.vk.com/method/photos.get?',
        data: {
      owner_id: '1', // ID пользователя
      album_id: '136592355' // ID альбома
  },
  dataType: "jsonp",
  success: function(data) {
    data.response.forEach(function(item) {
        var img = item.src_xxxbig;
        (!(img)) ? img = item.src_big : img; // проверяем, есть ли самое большое разрешение у фотографии
        $('<div class="grid-item"><img src="' + img + '" alt="" /></div>').appendTo($('.grid'));
    });
  }
  });
    // когда страница полностью прогрузилась, вызываем наш плагин для упорядочивания фотографий
    window.onload = function () {
        $('.grid').masonry({
            itemSelector: '.grid-item',
            columnWidth: 200
        });
    }
</script>
 
</html>
Демонстрация
1
0 / 0 / 0
Регистрация: 29.10.2016
Сообщений: 6
31.10.2016, 01:43  [ТС]
Блин.. так неудобно .. Вы меня уже многому научили тут )
Если могу как-то проставить .. хоть пива ).. Буду рад.
А вот такое реализуемо ?

Вот у меня теперь получается страница с альбомами :
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$.ajax({
        url: 'https://api.vk.com/method/photos.getAlbums?',
        data: {
      owner_id: '-72629433', // ID пользователя
      need_covers: '1', // Возвращать обложку
  },
  dataType: "jsonp",
  success: function(data) {
    data.response.forEach(function(item) {
        var img = item.thumb_src;
        (!(img)) ? img = item.thumb_src : img; // берём обложку
         var title = item.title; // берём описание
      (!(title)) ? title = item.title : title;
        $('<div class="grid-item"><img src="' + img + '" alt="" /> <p>'+ title +'</p></div>').appendTo($('.grid')); // выводим обложку и название
    });
  }
  });
И надо чтобы при клике на обложку выводилась страница с галереей :
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$.ajax({
        url: 'https://api.vk.com/method/photos.get?',
        data: {
      owner_id: '-72629433', // ID пользователя
      album_id: '237018219' // ID альбома
  },
  dataType: "jsonp",
  success: function(data) {
    data.response.forEach(function(item) {
        var img = item.src_big;
        (!(img)) ? img = item.src_big : img; // проверяем, есть ли самое большое разрешение у фотографии
        $('<div class="grid-item"><img src="' + img + '" alt="" /></div>').appendTo($('.grid'));
    });
  }
  });
    // когда страница полностью прогрузилась, вызываем наш плагин для упорядочивания фотографий
    window.onload = function () {
        $('.grid').masonry({
            itemSelector: '.grid-item',
            columnWidth: 200
        });
Я так примерно понимаю .. что нужно как-то передавать идентификатор кликнутого альбома в photos.get запрос..
И генерировать страницу ?
0
 Аватар для evikza
968 / 530 / 244
Регистрация: 20.05.2015
Сообщений: 776
31.10.2016, 05:24
Enroller, тут задача уже сложнее, лично для меня. Варианты развития событий:

1. Человек заходит на сайт, видит обложки альбомов. Кликает на нужный альбом, открывается ссылка вида site.ru/album.html?238131702 - где после ? идет ID альбома. Забираем GET запросом ID, подставляем его в photos.get.

2. Второй вариант, я если честно с трудом смогу реализовать. Просто забираем ID альбома через аргумент функции. А дальше уже поставляем в запрос photos.get и выводим например в поп-ап окне фотографии. Примерный набросок этого способа, можете посмотреть, при клике на фото => происходит alert(ID):

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
$.ajax({
  url: 'https://api.vk.com/method/photos.getAlbums?',
  data: {
    owner_id: '-72629433', // ID пользователя
    need_covers: '1'
  },
  dataType: "jsonp",
  success: function(data) {
    data.response.forEach(function(item) {
      var thumb = item.thumb_src; // забираем обложку альбома
      var title = item.title; // забираем описание альбома
      $('<div class="grid-item"><a href="#" onclick="album(this)"><img src="' + thumb + '">' + item.aid + '</a><p>' + title + '</p></div>').appendTo('.grid');
    });
  }
});
 
function album(el) {
  // тут возможно будет $ajax для photos.get
  alert('ID альбома: ' + el.text) // выводим аргумент, который лежит в атрибуте <a>
}
/* когда страница полностью прогрузилась, => вызываем masonry(); */
window.onload = function() {
  var $grid = $('.grid').masonry({
    percentPosition: true,
    columnWidth: 200,
    itemSelector: '.grid-item'
  });
  $grid.on('click', function() {});
}
Демонстрация

Не по теме:

Блин.. так неудобно .. Вы меня уже многому научили тут )
Мне самому много чему учиться нужно :)

2
0 / 0 / 0
Регистрация: 29.10.2016
Сообщений: 6
31.10.2016, 20:54  [ТС]
Наверное будет разумно выводить галерею с фото.. Просто в блоке ниже. На той-же странице )

Добавлено через 10 часов 51 минуту
Можете ещё помочь сделать так чтобы masonry мог отследить появления фото из альбома ?
А то получается что они появляются после прогрузки страницы..
И так чтобы при клике на другой альбом фотографии шли не после старых .. а вместо них..
Я JS совсем не знаю... А тут уже почти решение готово
0
 Аватар для evikza
968 / 530 / 244
Регистрация: 20.05.2015
Сообщений: 776
01.11.2016, 11:37
Лучший ответ Сообщение было отмечено Enroller как решение

Решение

Не по теме:

Enroller, Попробую посмотреть методы это плагина. Я постараюсь вам помочь, но к сожалению ничего обещать не могу. :(



Добавлено через 53 минуты
Enroller, и снова здравствуйте. Вроде что-то похожее получилось.
Можете ещё помочь сделать так чтобы masonry мог отследить появления фото из альбома ?
У плагина есть методы подгрузки $ajax. Эту проблему я решил.

Зачем подгружать обложки альбомов через плагин? Лично я не вижу в этом никакого смысла. Но это опять же субъективное мнение. Можно обложки задизайнить адаптивно так же сеткой. (или же оставить просто название альбомов). А уже альбомы подгружать непосредственно плагином.

Цитата Сообщение от Enroller Посмотреть сообщение
И так чтобы при клике на другой альбом фотографии шли не после старых .. а вместо них..
Для этого, воспользуемся функцией, в начале запуска albums():
JavaScript
1
$('.grid').empty();
Вот такой велосипед у меня получился:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
$(document).ready(function($) {
  // получаем через JSON названия альбомов
  $.ajax({
    url: 'https://api.vk.com/method/photos.getAlbums?',
    data: {
      owner_id: '-72629433', // ID пользователя
      need_covers: '1'
    },
    dataType: "jsonp",
    success: function(data) {
      data.response.forEach(function(item) {
        var aid = item.aid; // забираем ID альбома
        var thumb = item.thumb_src; // забираем обложку альбома
        var title = item.title; // забираем описание альбома
        $('<a href="#" class="nav-alb" onclick="albums(this)"><img src="' + thumb + '">' + item.aid + '</a>').appendTo('.nav');
      });
    }
  });
});
// если все хорошо, при клике обрабатываем запрос: 1. Вызываем плагин 2. Подставляем нужный нам ID альбома
  function albums(el) {
    // перед каждым запуском функции, очищаем div => .grid
   $('.grid').empty();
  // инициализация плагина
  var $container = $('.grid').masonry({
    columnWidth: 200,
    itemSelector: '.grid-item',
    gutter: 5
      // isFitWidth: true
  });
 
  $.ajax({
    url: 'https://api.vk.com/method/photos.get?',
    data: {
      owner_id: '-72629433', // ID пользователя
      album_id: el.text, // ID альбома
      count: 10 // пробуем выводить 10 изображений
      
    },
    dataType: "jsonp",
    success: function qwe(data) {
      data.response.forEach(function(item) {
        var img = item.src_xxxbig;
        (!(img)) ? img = item.src_big: img; // проверяем, есть ли самое большое разрешение у фотографии
        var moreBlocks = '<div class="grid-item"><img src="' + img + '" alt="" /></div>';
        var $moreBlocks = $(moreBlocks);
        // добавляем блоки из цикла
        $container.append($moreBlocks);
 
        $container.masonry('appended', $moreBlocks);
      });
    }
  });
  
  }
Демонстрация (фунционал рабочий)

Да, еще хочу заметить. Машине сложно подгружать за раз ~ 50 фотографий. С другого сервера, да еще и в хорошем разрешении. Я поставил вывод 10 фотографий. Проблема решаема конечно, но это уже совсем другая история
1
0 / 0 / 0
Регистрация: 29.10.2016
Сообщений: 6
01.11.2016, 16:53  [ТС]
Последний вопрос и иду учить JS )
Фотки только со второго клика по альбому открываются нормально.. с первого просто накладываются друг на друга.
И как на JS войти во вложенный массив sizes (Хочу передавать в photos.getalbums параметр photo_sizes.. чтобы обложку в хорошем разрешении выводить) и забрать оттуда ссылку по полю type "r"(допустим).
Очень благодарен за полное и подробное решение
Обязательно скину ссылку на конечный продукт )
И про пиво... я всё-же настаиваю )

Добавлено через 2 часа 2 минуты
Может поставить искусственную задержку ?
Я так понимаю что из-за того что он за секунду всё хватает.. Оно наслаивается
0
 Аватар для evikza
968 / 530 / 244
Регистрация: 20.05.2015
Сообщений: 776
02.11.2016, 21:02
Enroller,
Цитата Сообщение от Enroller Посмотреть сообщение
И как на JS войти во вложенный массив sizes (Хочу передавать в photos.getalbums параметр photo_sizes.. чтобы обложку в хорошем разрешении выводить) и забрать оттуда ссылку по полю type "r"(допустим).
Можно перебором по type пройтись в цикле:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/* *** */
data.response.forEach(function(item) {
      for (i = 0; i < 9; i++) { // длина массива sizes = 9 (всего размеров)
        var typeImg = item.sizes[i].type; // перебираем все type
 
        if (typeImg == 'r') {
          break; // если находим нужный type = r, говорим остановить перебор
        }
      }
 
      var aid = item.aid;
      var thumb = item.sizes[i].src // а тут выводим в переменную после break!
      var title = item.title;
      $('<a href="#" class="nav-alb" onclick="albums(this)"><img src="' + thumb + '"/>' + item.aid + '</a>').appendTo('.nav');
});
/* *** */
Ну, а если совсем не заморачиваться, смотрим в дерево ответа JSON. Где находится свойствами. Находитим type = r. Получаем:

JavaScript
1
2
3
4
5
6
7
8
/* *** */
data.response.forEach(function(item) {
  var aid = item.aid;
  var thumb = item.sizes[4].src // и никаких проблем!
  var title = item.title;
  $('<a href="#" class="nav-alb" onclick="albums(this)"><img src="' + thumb + '"/>' + item.aid + '</a>').appendTo('.nav');
});
/* *** */
И да, насчет накладывания фотографий, я заметил, вообще не понимаю в чем проблема. Хотя она очень часто встречается в интернетах. Будем посмотреть.


/* ====================================== */
Добавлено через 1 минуту
Enroller, иииии в сотый раз здравствуйте! Я обшарил половину интернета Единственное решение, которое я могу вам предложить - Подключить @imagesloaded, декларированный самим Masonry. Это дополнительная функция, позволяющая упорядочить фотографии при загрузки. Это удачное решение в вашем случае. Решающее проблему накладывания фотографий друг на друга.


Конечно еще можно поиграться со свойством opacity, пока фото полностью не загрузятся. Или выводить плашку, например: Loading IMG. Что бы пользователь знал, что что либо вообще происходит на странице

Так же, я заменил:

JavaScript
1
$('.grid').empty();
На метод плагина, для плавного дестроя сетки:

JavaScript
1
$container.masonry('remove', $('.grid-item')).masonry(); // очищаем сетку методом плагина masonry()
Прилагаю полный код:

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<head>
  <meta charset="UTF-8">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
<style>
  .img-alb {
    width: 450px;
  }
  .nav-alb {
    font-size: 0;
  }
  img {
    background-color: #ddd;
  }
</style>
<body>
  <p>Альбомы (кликабельно):</p>
  <div class="nav"></div>
  <p>Отображаем фотографии:</p>
  <div class="grid"></div>
</body>
<!-- подключаем плагины галереи и подгрузки фотографий -->
<script src="https://unpkg.com/masonry-layout@4.1.1/dist/masonry.pkgd.min.js" type="text/javascript"></script>
<script src="https://npmcdn.com/imagesloaded@4.1/imagesloaded.pkgd.js"></script>
<script>
  $(document).ready(function($) {
    $.ajax({
      url: 'https://api.vk.com/method/photos.getAlbums?',
      data: {
        owner_id: '-72629433',
        need_covers: '1',
        photo_sizes: '1'
      },
      dataType: 'jsonp',
      success: function(data) {
        data.response.forEach(function(item) {
        for (i = 0; i < 9; i++) { // длина массива sizes = 9 (всего размеров)
          var typeImg = item.sizes[i].type; // перебираем все type
 
          if (typeImg == 's') {
            break; // если находим нужный type, говорим остановить перебор
          }
        }
        var aid = item.aid;
        var thumb = item.sizes[i].src // а тут выводим в переменную после break!
        var title = item.title;
        $('<a href="#" class="nav-alb" onclick="albums(this)"><img src="' + thumb + '"/>' + item.aid + '</a>').appendTo('.nav');
      });
      }
    });
  });
 
  function albums(el) {
 
    var $container = $('.grid').masonry({
      columnWidth: 450,
      itemSelector: '.grid-item',
      gutter: 5
    });
    $container.masonry('remove', $('.grid-item')).masonry(); // очищаем сетку методом плагина masonry()
    $.ajax({
      url: 'https://api.vk.com/method/photos.get?',
      data: {
        owner_id: '-72629433',
        album_id: el.text, // аргумент ID альбома
        count: 30
      },
      dataType: 'jsonp',
      success: function(data) {
        data.response.forEach(function(item) {
          var img = item.src_xxxbig;
          !img ? img = item.src_big : img;
          var moreBlocks = '<div class="grid-item"><img src="' + img + '" alt="" class="img-alb"/></div>';
          var $moreBlocks = $(moreBlocks);
              $container.append($moreBlocks);
              $container.masonry('appended', $moreBlocks);
              $container.imagesLoaded(function() {
              $container.masonry('layout'); // после подгрузки фотографий, начинаем упорядочивание >:
          });
        });
      }
    });
  }
</script>
 
</html>
Демонстрация

В скрипте уже есть выборка по type, которую мы обсуждали в предыдущем посте.
Я тут посмотрел, одна фотография весит 1.5 мб, это же утопия для большинства пользователей. Не все к сожалению обладают сногшибательным интернетом.
2
0 / 0 / 0
Регистрация: 29.10.2016
Сообщений: 6
05.11.2016, 02:22  [ТС]
И в стовторой раз здравствуйте..
Можно ли как-то подгружать и строить например 20 фото..?
За ним ещё 20.. итд
0
 Аватар для evikza
968 / 530 / 244
Регистрация: 20.05.2015
Сообщений: 776
08.11.2016, 00:02
Enroller, подгружать конечно можно. За это отвечает параметр смещения - offset в документации к photos.get.
0
0 / 0 / 0
Регистрация: 26.05.2023
Сообщений: 2
26.05.2023, 13:11
Цитата Сообщение от evikza Посмотреть сообщение
Enroller, подгружать конечно можно. За это отвечает параметр смещения - offset в документации к photos.get.
Здравствуйте, уважаемый Евгений evikza!
Бьюсь уже месяц, не могу победить подобную задачу... На сайте места на хостинге не много((, поэтому в карточку подопечного животного пытаюсь вывести фото из альбома вк методом photos.get через запрос с использованием Open API - VK.Api.call, т.к. у меня сделано приложение для группы, и на страницах сайта происходит инициализация. Например, Вместо загрузки на сайт фото в карточке животного http://taksalliance.ru/?p=244 - альбом с фото из вк.
Я пытаюсь сконструировать запрос:
PHP/HTML
1
2
3
4
5
6
7
8
9
<script type="text/javascript">
   VK.Api.call('photos.get', { access_token: "ххх" - если у меня инициализация по id приложения нужен таки токен или нет?, owner_id: -37664938, album_id: 293055754, rev: 0, v:"5.131" }, function(r) {
   if(r.response) {
   /*
   тут нужен какой то вариант вывода в плагин галереи, чтобы были thumbnails, а при клике полное фото. При тесте на сайте dev.vk.com запрос выдает массив jsonp, пытаюсь Ваш вариант конструировать, не получается( другие варианты тоже
   */
   }
   });
</script>
помогите, пожалуйста, очень Вас прошу...

уже не понимаю, ошибка в запросе или в выводе ответа

evikza, пробовала Вашу демонстрацию, вносила свои данные, не работает( токен туда вставляла
0
 Аватар для evikza
968 / 530 / 244
Регистрация: 20.05.2015
Сообщений: 776
27.05.2023, 19:27
Keepsaky, здравствуйте. Знать бы, что еще там сейчас у VK происходит.

Open API — не имеет смысл использовать, там необходима авторизация на клиенте для работы. Такая себе идея.

Берите VK API и работайте с ним. Прошлые примеры, конечно работать не будут. Так как уже несколько раз изменилась версия API, а вместе с ней структура ответа от сервера. Да и обязательным параметром добавился токен. Используйте сервисный ключ доступа для access_token. Его можно взять в приложении на вкладке «Настройки».

А как Вы собираетесь привязывать идентификатор альбома к странице с питомцем?
0
0 / 0 / 0
Регистрация: 26.05.2023
Сообщений: 2
28.05.2023, 14:30
evikza, Спасибо за подсказки!
Для каждого питомца своя страница, и в вк для каждого питомца свой альбом. Указывать в js на странице питомца id его альбома
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.05.2023, 14:30
Помогаю со студенческими работами здесь

Постраничная навигация и Masonry
Помогите, пожалуйста, связать навигацию с Masonry:cry: 1.php &lt;HTML&gt; &lt;head&gt; &lt;meta http-equiv=&quot;Content-Type&quot;...

Masonry неправильно строит статьи
Добрый вечер. Решил подключить masonry для постройки сетки статьей в блоге. Все ок, но заметил что скрипт делает это в неправильном...

Стиль ячейки Masonry Grid
Добрый день! Делаю сайт на cms Drupal 7 На front page вставил блок типа masonry grid с двумя полями в каждой ячейке - img и taxonomy...

Поиск на сайте и Masonry - PHP, JAVASCRIPT
После того как я добавила вот этот код, кнопка &quot;поиск&quot; перестала переадресовывать на страницу searh.php (при заполненном поле). При пустом...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru