Быстрая шпаргалка: смена кодировки файла в Linux

Система: Linux Ubuntu 16.04

Проблема: кодировка файла не совпадает с кодировкой системы. Чаще всего после переноса txt файлов из Windows.

Решение:

устанавливаем утилиту enca:

 sudo apt-get install enca 

Команда смены кодировки:

enconv filename

Кодировка файла «filename» сменится на локальную по умолчанию.

Установка Eclipse для Linux Ubuntu 16.04

Всем здравствуйте, продолжаю рассуждать на тему минимального пакета программ, который обеспечит комфортную работу в системе Linux Ubuntu 16.04. В прошлый раз я рассказал о своем выборе диспетчера задач. А сегодня на очереди один из самых важных вопросов — выбор IDE.

Задача выбора хорошей IDE

Во времена, когда я конкретно сидел Windows, с этим не было проблем. Однозначно Visual Studio оставляет позади любых конкурентов. Настолько «откормленной» и поддерживаемой среды разработки не найти, там даже есть модуль для Python!. Однако, распространять поддержку на Linux, Microsoft не стали и передо мной встала серьезная проблема.

Хочется:

  • подсветка синтаксиса;
  • автодополнение, подсказки;
  • проверка синтаксических ошибок «налету»;
  • поддержка многих языков программирования, хотя сам я чаще всего пишу на C/C++;
  • встроенный компилятор/транслятор;
  • удобные инструменты отладки.

читать далее «Установка Eclipse для Linux Ubuntu 16.04»

Реализация топологической сортировки и поиск компонент сильной связности графа

Приветствую вас, друзья мои. В прошлых статьях я поделился своей реализацией поиска в ширину и поиска в длину на графе. Рассмотрел задачи, решаемые с помощью поиска в ширину. Теперь пришло время реализовать две задачи на поиск в глубину: топологическая сортировка и поиск компонент сильной связности. Реализовывать будем по прежнему на C++.

Топологическая сортировка

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

Реализация топологической сортировки на c++ с использованием стека

читать далее «Реализация топологической сортировки и поиск компонент сильной связности графа»

Реализация алгоритма поиска в глубину на графе

Краткое описание алгоритма поиска в глубину

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

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

Моя реализация поиска в глубину на c++

читать далее «Реализация алгоритма поиска в глубину на графе»

Выбор диспетчера задач в Linux

После того, как я окончательно и бесповоротно перешел на Linux Ubuntu, появилась потребность собрать пакет программ, которые помогут чувствовать себя максимально комфортно при использовании новой системы.

А в первую очередь не хватает инструмента для просмотра списка процессов в системе. У винды был встроенный диспетчер задач, а на Linux по умолчанию есть только ps, которого совсем не хватает. Я даже не хочу графический интерфейс, мне бы возможность убивать процессы одним нажатием, это самое главное. Как оказалось, аналогов очень много, я их внимательно изучил и каждый попробовал, и готов поделиться своими наблюдениями.

читать далее «Выбор диспетчера задач в Linux»