Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Привязка домашнего сервера к домену?

Лучший ответ:
делегируйте домен на яндекс, для этого вам надо прописать неймсервера яндекса с их айпишниками, и заведенный домашний сервер - для проверки от яндекса..Как делегировать домен на Яндекс
    Перейдите на страницу Мои домены. Если у вас несколько доменов, выберите тот, который вы собираетесь делегировать на Яндекс. На странице домена перейдите по ссылке «Редактор DNS» и убедитесь, что в списке DNS-записей присутствуют все необходимые записи. Если каких-либо записей не хватает, добавьте их, используя форму добавления DNS-записей.
    Внимание! Редактирование DNS-записей — процедура, требующая определенных знаний и навыков. Пожалуйста, будьте внимательны.
    Измените NS-сервера вашего домена (эта процедура производится при помощи инструментов регистратора доменов или хостинг-провайдера, у которого вы приобретали домен):
        Первичный DNS-сервер: dns1.yandex.net.
        Вторичный DNS-сервер: dns2.yandex.net.
    Внимание! DNS-серверы называются dns1.yandex.net. и dns2.yandex.net. Буква d в начале имени DNS-сервера обязательна.
    Если в интерфейсе вашего регистратора имеются поля для указания IP-адресов, их нужно оставить незаполненными.
Делегируя свой домен на Яндекс, вы подтверждаете владение доменом. Это справедливо в том случае, если делегирование производится не позже, чем через сутки после подключения домена, а подключение выполнялось под единственным логином. Если после делегирования домена прошло более суток или было несколько попыток подключения под разными логинами, вам необходимо подтвердить владение доменом.
Через некоторое время ваш домен будет делегирован на Яндекс. Об изменении статуса домена вы сможете узнать на странице Мои домены. Напротив имени делегированного домена появится надпись «Домен подключен и делегирован на Яндекс».
https://yandex.ru/support/pdd/hosting.xml

Худший ответ:
Здесь вы можете только указать какие NS вы хотите использовать.
Привязку айпи к домену нужно делать в настройках NS, выглядит примерно так
Если ни регистратор ни хостер (в данном случае хостера нет) не предоставляет NS, то можете поискать бесплатный.
Вопрос: Как оптимизировать дальше? Использовать ли base 64 для изображений?

Лучший ответ:
Файлы изображений вырастают на 30%.
gzip должен компенсировать.

Худший ответ:
Когда-то на работе эксперимента ради делали лендинг на котором всё было встроено в страницу: JS-код, стили, картинки в base64. Да, трафик мы немного економили как и нагрузку на сервер, но "на глаз" увидеть разницу между таким способом подключения всего и обычным через link&src не увидели. Это так, на поразмыслить =)
Вопрос: Как подключить JQuery к Wordpress, или проблема все-таки не в нем?

Лучший ответ:
Никогда не включайте jQuery со сторонних сервисов (хоть jQuery.com, хоть Google CDN), потому что:
1. В комплекте с WordPress уже идет jQuery, подключается стандартными средствами (wp_enqueue_scripts)
2. Многие плагины рассчитывают на этот встроенный jQuery, если скрипт плагина требует наличия jQuery, при подключении скрипта всего лишь указывается аргумента dependency - 'jquery'.
3. Вместе со штатным jQuery подключается jQuery Migrate, который может быть необходим для некоторых плагинов, использующих старые библиотеки скриптов
4. Зачем ради одного файла добавлять на страницу сторонний запрос, который добавляет 1 лишний DNS Resolving + полный цикл RTT, а это виновники самых больших задержек по времени при загрузке страницы, а учитывая, что CDN Google будет отдавать файл скорее всего из Ирландии, а CDN jQuery - из США, резолвинг DNS будет порядка 100-300мс, RTT - еще столько же, плюс время на получение файла. Итого, железно получаем 200-600мс задержки только из-за одного jQuery, который, к тому же, еще и блокирует рендеринг страницы. Тоесть Time to First Byte будет задержан дополнительно на этот период времени. Если же подключить штатный jQuery, DNS Resolving не делается вообще (уже сделан при запросе страницы), RTT короткий, а если на сервере правильно настроен keep_alive_timeout, то RTT вообще мизерный и файл прилетает значительно быстрее.

Худший ответ:
jQuery подключился. О каком плагине речь?
Вопрос: .Net работа с Com-портом?

Лучший ответ:
программно и +5V ровно — никак. у него напряжение меняется от +5..+15 для «0» и -5..-15 для «1». т.ч. поймаете вы там скорее всего что-то в районе (±)7..8V
посмотрите схемы в сети(google: rs232 5v), которые дадут вам ровные 5v, а потом уже ищите софтовое решение как на пин давать постоянно 1. (правда, емнип, вы все равно получите «пилу», т.к. в зависимости от частоты будут еще падения до «логинчекое непонятно» (+3v)). в общем без дополнительной схемы ну никак

Худший ответ:
там можно управлять только 2-3 пинами, и это нестандартный режим порта, его поддерживают только встроенные порты (сейчас уже вроде бы даже не все). имхо лучше взять самую дешёвую тиню или пик, стоит она как кабель ком-ком, и сделать на ней всё без изврата. в нормальном режиме работать с ком портом не сложнее чем с файлом, разве что нужно будет настроить таймауты и конфигурацию
Вопрос: Где хранить данные, которые меняются раз в 3-6 месяцев?

Лучший ответ:
Хранить их в БД, но при этом кешировать. Чтобы за таким словарем не бегать в БД каждый раз.

Худший ответ:
Эмм, ну явно не в редисе. Он должен хранить данные в оперативке, а реляционные базы - на диске. Кто в итоге больше подходит под хранение данных, которые изменяются редко ?
Именно в mysql и храните. Тем более, пока нет никаких ограничений. Почему вам "не хочется" их там хранить ?
Вопрос: Как повысить разрешение в Формах C#?

Лучший ответ:
Вот мой старый ответ.

Худший ответ:
Во первых - во время редактирования и создания winforms не учитывается две вещи - текущая тема и DPI. Попробовать скинуть их к стандартным значениям и попробовать запустить. stackoverflow.com/questions/22735174/how-to-write-... также посмотрите эту ссылку
Во вторых - пробегитесь по коду, может быть при запуске, после InitializeComponent (а иногда и до) есть код меняющий вид формы. 
В третьих - это у вас в конкретном проекте такая проблема или в любом? (в том числе вновь созданном?)
Вопрос: Вывести описание категории в wordpress?

Лучший ответ:
Не вдаваясь в теорию, и анализ вашего кода, в данном случае получать надо так $term = get_term_by('slug', $post_port, 'portfolio_category');
echo term_description($term->term_id, 'portfolio_category');
Любовь к выводу всякого через шаблоны страниц временами убивает,  достаточно было воспользоваться шаблоном
taxonomy-portfolio_category.php и жить стало бы намного прощще

Худший ответ:
Тебе нужно использовать term_description - возвращает описание (которое заполняется в админке) элемента таксономии, ID которого был передан в параметрах или же описание текущего элемента, если ID не был указан. Если описания не существует – возвращает пустую строку.<?php echo term_description($term->term_id, 'portfolio_category');?>
Читать тут и тут. Успеха!
Вопрос: С чего начать постигать 1С, в качестве системного администратора?

Лучший ответ:
С чего начать путь в 1с?
С отказа от этой глупой идеи

Худший ответ:
Самое лучше что можно посоветовать собрано тут
Вопрос: Как выбрать оптимальный размер изображения?

Лучший ответ:
А что с копирайтами на картинки или есть ссылка на оригинал? может быть владелец против того, чтобы Ваш бот собирал картинки с его сайта?

Такое поведение чревато последствиями

Худший ответ:
Можно предложить пользователю выбрать соотношение сторон перед загрузкой, если изображение не соответствует заданному соотношению, показать диалог обрезки.
Вопрос: Онлайн менеджер паролей?

Лучший ответ:
LastPass хорошая штука.

Худший ответ:
https://lastpass.com/ru/
уверяют, что база паролей шифруется на стороне клиента общим паролем, который они не хранят.
Вопрос: Что вставить в футер когда туда нечего вставить?

Лучший ответ:
Копирайт студии.
Копирайт заказчика.
Скрипт, показывающий «год основания — нынешний год».
Чёрного властелина ;)

Худший ответ:
Контакты.
Вопрос: Возможна ли интеграция IE 6 в Windows 7 x86\64?

Лучший ответ:
Если нужен полноценный IE6, то скорее всего придется ставить виртуалку с Windows XP.

Худший ответ:
Интегрировать в систему никак не получится.
Если нужен браузер попробуй IETester там есть движек IE6.
my-debugbar.com/wiki/IETester/HomePage
А вообще в программе я не увидел ничего отчего может падать, возможно причина в другом куске кода.
Вопрос: Не могу произвести установку ОС по сети?

Лучший ответ:
1) Записать на дискету универсальный эмулятор BootROM. В него включены драйверы для большинства популярных сетевых карт. Скачайте ebnet522.img wtware.ru/files/ebnet522.img, образ дискеты с универсальным загрузчиком Etherboot и программу rawwritewin-0.7.zip wtware.ru/files/rawwritewin-0.7.zip для записи образа на дискету. Если этот загрузчик не сможет определить сетевую карту, придется подобрать другой образ, написанный специально для имеющейся карты wtware.ru/netman/netman2.html#select_rom.

2) попробовать Smart Boot Manager btmgr.sourceforge.net/about.html

3) то же что и 1 но с CD, flash или hdd.

Худший ответ:
я бы с радостью поставил линукс, но мой брат настаивает на xp. эх…
Вопрос: Софт для контроля пользователей в сети?

Лучший ответ:
Вкладываться при этом не хочет — LOL.

Кейлоггер — это через-чур. Если бы я узнал, что втихую от меня кейлоггер поставили, я бы уволился, предварительно запустив просто жесточайших червей, которые уничтожат все данные внутри компании, включая бэкапы. А если все админится — нашел бы предлог, и все это от имени админа сделал.

У Вашего начальства мозги напрочь отсутствуют.

Худший ответ:
Нарушение прав человека, и чхать на начальство!
Вопрос: Что такое анонимная функция и с чем ее едят?

Лучший ответ:
На самом деле классика случая анонимной+замыкание:var name="admin"
    
    setTimeout(function(){
        alert(name);
    },1000);
А анонимная функция без имени, а без имени она потому что ее вызывают не по имени, а по ссылке на нее.
т.е полный пример с замыканием:function sayAfter(text,delay){  
    setTimeout(function(){
        alert(text);
    },delay);
   }

  sayAfter("lol",1000);
Аудитория требует более тонкого примера применения...(function(){
        var x, y, z;

        //много разного кода, много переменных, которые не нужны в глобальной области видимости
    })();

Худший ответ:
Ещё можно тебе голову сломать вот этим:function getFunction(name){
  if (!name) return function(){ return "Who are you?" }
  else       return function(){ return "Hello " + name; }
}

// Вызов
var petya   = getFunction("Петя");
var unknown = getFunction();

petya();  // петя
unknown;  // тИ кто???
Объяснение нужно? Если что, объясню!
Вопрос: Фоточтение и скорочтение — что лучше?

Лучший ответ:
чтение это как еда. не будьте обжорой - вредно во всех смыслах

Худший ответ:
Ресурсы мозга на "усваивание" информации ограничены, человек способен за определенный период времени усвоить определенный объем информации, все что выше будет отфильтровываться мозгом, поэтому если читать быстро вы только быстрее приблизитесь к "точке переполнения" и далее придется делать паузу, чтобы переварить то, что было прочитано. Нет смысла гнаться за скоростью, нужно читать с той скоростью с которой мозг легко информацию воспринимает, не больше не меньше. Естественно для разной литературы она разная, одно дело художественная литература, другое какой ни будь математический анализ.
Вопрос: Возможно ли в Android-телефоне программно перехватывать все push-уведомления?

Лучший ответ:
Да, но сначала требуется изучение русского языка.

Худший ответ:
СМС можно перехватывать через BroadcastReceiver — http://www.androidcompetencycenter.com/2008/12/android-api-sms-handling/. Насколько я понимаю для push должно быть что-то подобное.
Вопрос: Как вольты преобразовать в амперы?

Лучший ответ:
амперы обычно растут на деревьях в лесу сразу за коноплянным полем, а вообще если ты "Собрал генератор постоянного тока" то знаешь что, этот "постоянный" ток всегда настраивается (чем зависит от схемы, обычно резистором) и соответственно можно выставить тот, что тебе нужен, который больше чем "мало ампер".

Худший ответ:
Читаем закон Ома.
Ну и да, вы там поаккуратнее, убивает то как раз таки сила тока а не напряжение...
Вопрос: Каким должен LMS?

Лучший ответ:
Я бы Вам рекомендловал для начала изучить существующие LMS. Хотя бы штуки три. Уверен, что у Вас тогда появятся идеи что должно быть в LMS.

Худший ответ:
Давно как пользователь работал с одной LMS. Расскажу как помню. Обращаю внимание, в реальной LMS некоторые данные относятся к личным, подлежащим особой защите/шифрованию. Проект, в идеале, должен быть доступен всем с планшетов, телефонов, стационарных ПК и информационных терминалов (а-ля терминалы возле магазинов, где деньги на телефон кладёшь). Форма аутентификации логин/пароль. Интеграция с почтовыми сервисами и с сервисами рассылки СМС. Приложение было рассчитано на следующие группы пользователей:
1). Интерфейс для учащегося.
Просмотр расписания предметов, приложенных к домашним заданиям файлов, возможность отправить готовое задание учителю, просмотр оценок по предметам по дням или итоговые / средние оценки. Урезанная копия социальной сети для переписки по топикам кружков, дополнительных занятий и прочего.
2). Интерфейс для преподавателя.
Электронный журнал с оценками, план проведения занятий с темами, возможность помечать для учащихся некоторые уроки как "контрольные", "практические" или "обычные". Назначение на какой-либо день особого "события" для класса - олимпиады, субботника, экскурсии и т.д. с рассылкой информации по профилям родителей и учеников.
3). Интерфейс для родителей.
Повторяет интерфейс учащегося с поправкой: только чтение. Возможность закрытой переписки с преподавателями и директорам по частным вопросам учащегося. Просмотр медицинской карточки.
4). Интерфейс для врача.
Содержит информацию, дублирующую медицинскую карточку учащегося. Расписание прививок и прочих медицинских мероприятий.
5). Интерфейс для сотрудника отдела кадров / директора.
Доступ к управлению по личным делам всех учащихся, включая абитуриентов, и сотрудников учебного заведения. Возможность зачислить в учебное заведение учащегося, подавшего заявку через интернет-портал. Возможность распечатывать документацию по формам, утверждённым Министерством Образования. Возможность сформировать расписание на ВСЁ учебное заведение на заданный период.
6). Интерфейс для разработчика.
Возможность составлять формы для отчётности с эмблемами учебного заведения с автоматической простановкой имён и реквизитов. Управление доступами, администрирование.
Честно говоря, это уже на несколько дипломов тянет. Я думаю, один алгоритм составления расписания - уже сам по себе диплом. Даже если на полноценное учебное заведение он будет работать день или два подряд.
Вопрос: Как организовать доработку большого сайта после запуска?

Лучший ответ:
Поделитесь опытом, пожалуйста
Так ведь поделились уже — просто погуглите книжки или туториалы по Git, заюзайте github для практики — основные команды займут 20 минут изучения максимум. А если юзать внутри IDE с поддержкой git, то вообще не нужно будет думать об этих командах (ну почти :)).

Это же происходит на боевом сервере?
Нет, есть такие штуки как тестовые сервера. alpha, beta, stage — по разному называют их. В поднятии таких штук может помочь Vagrant.

 Как отслеживать изменеия в структуре бд?
С помощью миграций (тут нужны знания от программиста или желание изучить).

Как переносить изменения из рабочего файла в боевой?
бесплатно: rsync, git pull
платно и профессиональнее: beanstalkapp.com/ (и аналоги)

Худший ответ:
1. Создать сервер для разработки, можно локальный — полную копию боевого.
2. Настроить систему управлениями версиями кода (gi, svn, mercurial — на выбор)
3. Для БД есть свои системы управления версиями, однако у нас таких изменений немного и мы в комментарии к тикету при коммите дописываем SQL-код изменений.
4. Коммит — это запоминание изменений в коде, пуш — это выгрузка всех своих изменений в основной репозиторий, пул — выгрузка оттуда.
5. Система разработки нового функционала такая: пулл (на локальном) — коммит — пуш, пулл (на боевом).
Вопрос: Где купить Google Nexus 7 с доставкой в Россию?

Лучший ответ:
Что для вас «разумные цены»? Дороже на ~50 долларов от цены в Штатах устроит? Покупаете на eBay.com, в качестве посредника используете Полярный Экспресс — как раз примерно такая (а, может, и меньше) цена и получится.

P.S. Литий-ионные батареи они возят.

Худший ответ:
По разумным, да после премьеры — думаю увы, на ebay есть, но с учетом доставки — дорого получается
Вопрос: Как отключить сжатие html файла в таске gulp-jade?

Лучший ответ:
gulp.task('jade', function () {
  return gulp.src('public/**/*.jade')
    .pipe(gulpJade({
      jade: jade,
      pretty: true
    }))
    .pipe(gulp.dest('public/'))
})
Прямо на той странице, на которую вы дали ссылку.

Худший ответ:
Как сделать чтобы Gulp.js не минифициролал html файл после его компиляции из jade?
Вопрос: Что бы вы хотели узнать о D?

Лучший ответ:
Насколько его можно применять, если нет времени «играться», а нужно что-то реализовать.
Т.Е.:
 — достоинства по простоте разработки для конкретных задач по сравнению с языками — прямыми конкурентами
 — недостатки в тех же сравнениях
 — важные языковые различия по отношению к «базисным» языкам, вроде С++/Java
 — личные позитивные и негативные впечатления от особенностей языка
 — стабильность в рантайме и стабильность апи библиотек (совместимость между версиями)
 — охват достойными библиотеками конкретных задач (бд, сеть, гуи, етц)

Худший ответ:
Полезен был бы пример реализации на D чего-то полезного, какого-нибудь приложения или игры. Или, был бы полезен хороший обзор имеющихся на этом языке приккладных библиотек. Можно ли к MySQL или Mongo подсоединиться из D?
Вопрос: Правомерность использования &quot;модифицированного&quot; софта на основе 1С

Лучший ответ:
Статья 1280. Свободное воспроизведение программ для ЭВМ и баз данных. Декомпилирование программ для ЭВМ

1. Лицо, правомерно владеющее экземпляром программы для ЭВМ или экземпляром базы данных (пользователь), вправе без разрешения автора или иного правообладателя и без выплаты дополнительного вознаграждения:
1) внести в программу для ЭВМ или базу данных изменения исключительно в целях их функционирования на технических средствах пользователя и осуществлять действия, необходимые для функционирования таких программы или базы данных в соответствии с их назначением, в том числе запись и хранение в памяти ЭВМ (одной ЭВМ или одного пользователя сети), а также осуществить исправление явных ошибок, если иное не предусмотрено договором с правообладателем;

Худший ответ:
буквально недавно спрашивал контору, которая нас по 1с курирует (у нас есть как 7.7, так и 8.1/8.2)

sash (00:13:14 15/10/2010)
а если нет LPT, то допускается ли использование эмулятора и дамп оригинального ключа?
чисто академический интерес

[1c] Александр (00:14:46 15/10/2010)
юридически — не допускается
в теории

[1c] Александр (00:15:23 15/10/2010)
по факту — смотря какой суд, какой юрист, какой судья
прецеденты есть как в ту, так и в другую пользу
Вопрос: Правильно ли я понял суть именования классов в BEM?

Лучший ответ:
Не совсем верно.
Если вы хотите чтобы вся сетка новостей была одним блоком, а не сетка=блок + новость=блок, то в вашем случае логично будет использовать так:
.news-grid - сетка новостей
.news-grid__item - элемент новости (наверное элемент новостЬ)
.news-grid__more-btn - кнопка "Читать далее" в элементе новости
.news-grid__btn-icon - иконка со стрелочкой в этой кнопке.
Блок__Элемент--Модификатор, а не Блок__Элемент__Элемент--Модификатор)))
Название БЭМ, а не БЭЭЭЭМ...
Посмотрите видео  www.youtube.com/watch?v=kBgHdSOj33A - недлинно и понятно

Худший ответ:
Если я сам правильно понимаю то да, так и есть.   
По мне так БЭМ это лишь усложнения,  какие плюсы от этого БЭМ  хз)
Вопрос: Где разместить Telegram BOT'a?

Лучший ответ:
Братцы, ну нашел я отличный и подходящий для меня вариант! c9.io - online ide для разработки. На бесплатном тарифном плане есть нужный функционал.

Худший ответ:
https://dokkur.com - саппорт помогает разместиться
Вопрос: Как правильно хранить записи логинов сторонних систем?

Лучший ответ:
Лучше думаю второй вариант. Плюс надо дать уникальное поле. Это будет полезно если информация будет привязана например к одному из аккаунтов, тогда вы будете указывать там id аккаунта в сети и работать со второй таблицой. Иначе вам надо будет записывать логины в той таблице с данными и потом каждый раз надо будет брать поле резать его и искать по названию. Да еще и представьте удаление, надо вырезать логин (то есть вы везде будете работать не с айди логина и его данных а с тексом) да и представьте что в двух системах у него одинаковые логины… там уже доп поле надо во второй базе, чтобы отличить поле. Налеюсь уйдет ответ… а то карму слили и не пускает писать вообще.

Худший ответ:
Самое простое:

users:
id, email

user_linked_accounts
id, user_id, sn_id

social_networks
id, title

one to many throught user_linked_accounts.

Или я Вас неправильно понял?
Вопрос: OpenVPN-туннель и маршрутизация

Лучший ответ:
Да, настроить на сервере NAT, допустим, с помощью iptables.

Худший ответ:
Вот моя статья на эту тему, может покажется полезной
www.odmin4eg.ru/2010/ubuntu-openvpn-server-nastrojka-soedinenie-filialov-set/
Вопрос: Как избавиться от вопросительного знака в адресной строке?

Лучший ответ:
Да, это делается через .htaccess.
Почитайте Единая точка входа в web-приложение, ЧПУ на PHP. Прочь от ModeRewrite правил. Единая то...

Худший ответ:
Гуглите на тему "Роутинг"
Вопрос: Android. Вопрос о контролах?

Лучший ответ:
Думаю это кастомные элементы

Худший ответ:
Спасибо за ответы!

kwikpik, да, это кастомные элементы.
kwikpik, tangro, хорошая идея. Но если делать отдельную активити, смогу ли я реагировать на изменения в активити, на которой она вызвана(например, при изменении размера шрифта или цвета неплохо бы сразу видеть изменения)?

Декомпилировал 2 приложения, в одном это оказался какой-то виджет, а в другом сделано весьма просто — это FrameLayout с android:layout_gravity=«bottom». При нажатии(на активити, кнопку) его видимость можно менять — View.VISIBLE или View.GONE. Изменения шрифтов и т.п. реализовано с помощью диалогов.
Вопрос: Изменение стиля при помощи javascript

Лучший ответ:
Начнём с того, что раз уж речь идёт о переключении классов, то уместно сразу все стили записать в CSS:
.bImg { /* сюда вписываем стиль обычного div */ }
.vImg { /* сюда вписываем стиль div, жмякнутого мышою */ }
Для элементов <div> после этого достаточно указывать классы (class="..." вместо style="...").

Затем при помощи библиотеки jQuery можно немало упростить себе задачу.

Во-первых, можно сделать проще HTML-код:
Не придётся вписывать в него обработчики onclick, потому что они будут назначены позже, джаваскриптом.
Не придётся и вписывать в него id, так как jQuery исполняет обработчики в контексте элементов: this указывает в обработчике на жмякнутый элемент.
Было так:
<div id="1" style="b-img" onclick="kodimg(id)">...</div>
<div id="2" style="b-img" onclick="kodimg(id)">...</div>
<div id="3" style="b-img" onclick="kodimg(id)">...</div>
<div id="4" style="b-img" onclick="kodimg(id)">...</div>
<div id="5" style="b-img" onclick="kodimg(id)">...</div>

Стало так:
<div class="bImg">...</div>
<div class="bImg">...</div>
<div class="bImg">...</div>
<div class="bImg">...</div>
<div class="bImg">...</div>

Во-вторых, желаемое достигается простым JS-кодом для jQuery:
$(function(){
   // после загрузки документа назначаем обработчики событий:
   $('div.bImg').click(function(){
      // в обработчике делаем две вещи:
      // 1) находим предыдущий жмякнутый div, отменяем жмякнутость
      $('div.vImg').removeClass('vImg').addClass('bImg');
      // 2) свежежмякнутому div придаём жмякнутость
      $(this).removeClass('bImg').addClass('vImg');
   });
});


Худший ответ:
...
...
...
...
...

function kodimg(element){
 document.querySelector('.current').classList.remove('current');// current — класс для выделенного элемента
 element.classList.add('current');
}

Вы в задаче напутали, то про стили пишите. то про классы. Пример для firefox'а, по аналогии можно для остальных браузеров сделать.