Недавно передо мной встала задача протестировать приложение, написанное на Bash. Изначально я решил использовать unit-тесты на Python, однако, мне не захотелось добавлять лишние технологии в проект. И пришлось выбирать тестовый фреймворк, родным языком которого является многострадальный Bash.
Дмитрий @driessen
User
django-controlcenter
13 min
21KВсем привет, хочу поделиться своей небольшой разработкой — django-controlcenter. Это приложение для создания дешбоардов для вашего django-проекта.
+30
6 принципов визуальной иерархии
6 min
50KTranslation
Чтобы научиться дизайну, мы записались на курс Design 101 от trydesignlab.com. Первые уроки были посвящены визуальной иерархии. Мы перевели одну из лучших статей на эту тему от 99designs.com.
Перевод от сайта для начинающих предпринимателей «Я люблю ИП»
Перевод от сайта для начинающих предпринимателей «Я люблю ИП»
+15
«Защита от дурака» или как запретить изменение/удаление важных папок
2 min
49KДоброе время суток.
Исторически так сложилось, что для своих мелких проектов держу виртуалку. Однако, так как я не использую ее ресурсы на 100%, решил не жадничать и пустил похоститься несколько друзей. Сайтов не много, деньги за хостинг не беру, поэтому ставить что-то вроде cpanel счел перебором. К тому же я их тех, кто предпочитает настраивать все вручную. Структуру выбрал следующую:
И тут возник вопрос: как запретить пользователю удалять/переименовывать папки в sitename.ru? Если будет отсутствовать папка web, то и apache и nginx выдадут предупреждение, но все-равно загрузятся. Но если удалить/переместит папку logs, то и apache и nginx не запустятся из-за ошибки (по мне довольно странное поведение). Папка hostuser полностью принадлежит данному пользователю и его личной группе (hostuser:hostuser), а это означает, что при желании он сможет удалить любую внутреннюю папку/файл, даже если она будет принадлежать суперпользователю. Так как же запретить удаление/перемещение, чтобы пользователь (случайно или специально) не сломать весь хостинг?
Исторически так сложилось, что для своих мелких проектов держу виртуалку. Однако, так как я не использую ее ресурсы на 100%, решил не жадничать и пустил похоститься несколько друзей. Сайтов не много, деньги за хостинг не беру, поэтому ставить что-то вроде cpanel счел перебором. К тому же я их тех, кто предпочитает настраивать все вручную. Структуру выбрал следующую:
/home/hostuser/vhosts/sitename.ru/{tmp,web,logs}
И тут возник вопрос: как запретить пользователю удалять/переименовывать папки в sitename.ru? Если будет отсутствовать папка web, то и apache и nginx выдадут предупреждение, но все-равно загрузятся. Но если удалить/переместит папку logs, то и apache и nginx не запустятся из-за ошибки (по мне довольно странное поведение). Папка hostuser полностью принадлежит данному пользователю и его личной группе (hostuser:hostuser), а это означает, что при желании он сможет удалить любую внутреннюю папку/файл, даже если она будет принадлежать суперпользователю. Так как же запретить удаление/перемещение, чтобы пользователь (случайно или специально) не сломать весь хостинг?
+9
OneTesla: Катушка Тесла как музыкальный инструмент
2 min
75KК сожалению, не получилось встроить видео с презентацией. Если что, то вот оно.
OneTesla — это небольшая катушка Тесла, подключаемая через порт MIDI и играющая музыку электрическими разрядами. Само устройство, которое в высоту около 25 сантиметров, может выдавать молнии длиной до полуметра. Этот агрегат может устроить неплохое шоу и удивить ваших друзей музыкальной плазмой. Все спецификации устройства открыты и доступны вместе с инструкцией по сборке на сайте проекта.
Как она играет музыку?
Человеческое ухо воспринимает звуковые волны где-то от 20 герц до 20 килогерц, в то время, как устройство резонирует с частотой 230 кГц, что значительно превышает максимальную частоту звука, слышимую человеком. Но можно включать и выключать разряды именно с той частотой, с которой слышен нужный нам звук.
Краткие технические характеристики
Параметр | Значение |
---|---|
Первичная катушка | 6 витков, радиус 88.9мм, 1.6мм провод (14 AWG) |
Вторичная катушка | 65мм х 254мм, 0.127мм провод (36 AWG), 1800 витков |
Конденсатор | CDE 940C30S68K, 0.068μF@3000V |
Тороид | 200мм х 50мм, покрыт фольгой |
Резонансная частота | ~230 КГц |
Инвертор | Полумост на базе IGBT транзисторов FGA60N65SMD, 340 вольт |
Длительность импульса | 50 мкс при 1 КГц, 150 мкс при 50 Гц) |
Максимальная длина разряда | 58 см |
МК платы-прерывателя | ATmega328P-PU |
+43
Метеостанция Гром-2М (Анемометр)
2 min
65KЗдравствуйте уважаемые Айтишники и Эмбеддеры. На Ваш суд и мнение выношу выше озаглавленный пост.
Дело в том, что еще тройку лет назад возникло желание создать метеостанцию для дома, но не имея времени и в большей степени возможности в финансовом плане, -это желание преследовало меня на протяжении всего этого времени. Буквально пару недель назад мне захотелось постепенно избавиться от этой назойливой мании преследования.
Внимание! Под катом трафик!
Дело в том, что еще тройку лет назад возникло желание создать метеостанцию для дома, но не имея времени и в большей степени возможности в финансовом плане, -это желание преследовало меня на протяжении всего этого времени. Буквально пару недель назад мне захотелось постепенно избавиться от этой назойливой мании преследования.
Внимание! Под катом трафик!
+35
40 великолепных QR-кодов
1 min
193KQR-коды — новый тип штрих-кодов, который содержит в себе информацию, но они выглядят смертельно скучно. Однако, благодаря талантливым дизайнерам, они могут превратиться в настоящее искусство.
Осторожно, под катом очень много картинок.
Осторожно, под катом очень много картинок.
+70
Заземление. Что это такое и как его сделать (часть 1)
12 min
584KМой рассказ будет состоять из трёх частей.
1 часть. Заземление
(общая информация, термины и определения)
2 часть. Традиционные способы строительства заземляющих устройств
(описание, расчёт, монтаж)
3 часть. Современные способы строительства заземляющих устройств
(описание, расчёт, монтаж)
В первой части (теория) я опишу терминологию, основные виды заземления (назначение) и предъявляемые к заземлению требования.
Во второй части (практика) будет рассказ про традиционные решения, применяемые при строительстве заземляющих устройств, с перечислением достоинств и недостатков этих решений.
Третья часть (практика) в некотором смысле продолжит вторую. В ней будет содержаться описание новых технологий, используемых при строительстве заземляющих устройств. Как и во второй части, с перечислением достоинств и недостатков этих технологий.
Если читатель обладает теоретическими знаниями и интересуется только практической реализацией — ему лучше пропустить первую часть и начать чтение со второй части.
Если читатель обладает необходимыми знаниями и хочет познакомиться только с новинками — лучше пропустить первые две части и сразу перейти к чтению третьей.
Мой взгляд на описанные методы и решения в какой-то степени однобокий. Прошу читателя понимать, что я не выдвигаю свой материал за всеобъемлющий объективный труд и выражаю в нём свою точку зрения, свой опыт.
Некоторая часть текста является компромиссом между точностью и желанием объяснить “человеческим языком”, поэтому допущены упрощения, могущие “резать слух” технически подкованного читателя.
+167
VIA Technologies запустит в продажу собственные мини-ПК
1 min
2.1KПохоже на то, что тема мини-компьютеров становится все более популярной. Многие производители уже заявили о намерении создать свои мини-ПК, и у некоторых компаний это получилось. Старается не отставать от других и VIA Technologies, сообщившая на днях о своем проекте, основанном на процессоре Eden X2. Этот компьютер, по словам разработчиков, предназначен для установки в автомобилях, но будет использоваться и в домашних медиа-системах или профессиональном оборудовании.
+28
Как правильно использовать режимы сглаживания и увеличения частоты видео в ЖК телевизорах при подключении к ПК
4 min
148KВ современных ЖК ТВ средних ценовых диапазонов зачастую присутствует режим расширения частоты до 100-200 Гц за счет технических хитростей восприятия изображения человеком.
Например технологии TrueMotion в телевизорах LG, в samsung — Motion Plus, в philips -Perfect Natural Motion, RealCinema у Panasonic.
Как же их правильно использовать при подключении к ПК?
Например технологии TrueMotion в телевизорах LG, в samsung — Motion Plus, в philips -Perfect Natural Motion, RealCinema у Panasonic.
Как же их правильно использовать при подключении к ПК?
+31
В поисках удобного источника питания, обзор внешнего аккумулятора на 6000мАч
6 min
108KВведение
В нашем институте введена бальнорейтинговая система, благодаря этому хочешь ты или нет, но для хорошей оценки необходимо посещать пары на 146%. Поэтому с каждым днем все острее становилась проблема смены Nokia x6, отсутствие приложений и сильные лаги браузера на каждой второй странице только ускоряли процесс. И вот, три месяца назад я приобрел Samsung Galaxy R с чипом Tegra 2, в первые дни аппарат из рук практически не выпускал, и быстрый разряд батареи списывал на излишний интерес к девайсу. Время шло, интерес постепенно спадал, и в конце концов установился на определенном уровне, но увы заряда аккумулятора не всегда хватало чтобы вернуться домой слушая музыку. В связи с этим начался поиск источников дополнительной энергии.
Осторожно, под катом 5Мб фотоматериалов.
+53
Bash-script с gui для проигрывания видео из Vkontakte в обычном плеере
9 min
12KЧасто, занимаясь своими делами, я люблю открыть какие-нибудь фильмы/клипы/сериалы, которые не требуют никакого внимания, повесив плеер где-нибудь в углу экрана. В наш век быстрого интернета и большого количества свободного видео в социальных сетях(например Vkontakte) во многом удобно смотреть их в потоке, не захламляя ненужными файлами жесткий диск… Но, попытавшись реализовать описанную выше схему, мы сталкиваемся с тем, что повесить окно браузера с плеером «где-нибудь» в углу экрана так, чтобы делать что-то полезное, больше не отвлекаясь проигрывание видео, не так уж просто. Кроме того, flash обычно ест больше ресурсов, чем обычный плеер в системе, что несколько критично для маломощных нетбуков.
Поэтому ( а еще потому, что в плеере Vkontakte отсутствует playlist, и это заставляет отвлекаться от основного занятия, когда заканчивается серия), взвесив все плюсы и минусы и посмотрев на исходный код страниц с видео, я понял, что в большинстве своем, они не сильно отличаются, и возможностей bash вполне достаточно, для реализации родившейся идеи — всё, что требуется для получения со страницы ссылки на видео — подобрать необходимые регулярные выражения и разобрать полученные wget-ом данные с помощью стандартных команд, таких как grep, sed и tr.
Поэтому ( а еще потому, что в плеере Vkontakte отсутствует playlist, и это заставляет отвлекаться от основного занятия, когда заканчивается серия), взвесив все плюсы и минусы и посмотрев на исходный код страниц с видео, я понял, что в большинстве своем, они не сильно отличаются, и возможностей bash вполне достаточно, для реализации родившейся идеи — всё, что требуется для получения со страницы ссылки на видео — подобрать необходимые регулярные выражения и разобрать полученные wget-ом данные с помощью стандартных команд, таких как grep, sed и tr.
+29
Тысяча чертей! Потребитель? Защищайтесь!
5 min
16KТак уж сложилось, что законодательство РФ в большинстве своем далеко от совершенства. Противоречит само себе, множественно трактуется и вообще сложновато для восприятия.
Но есть луч света в темном царстве!
Закон о защите прав потребителя. Замечательная штука, поверьте. При прокачанном скиле использования данного закона можно стать настоящим потреб. террористом. Это, кстати, полуофициальный термин — так называют людей, намеренно злоупотребляющих широкими возможностями, которые предоставляются вышеупомянутым законом.
Итак! На что вы имеете право!
По просьбе NermaN я попробую составить мануал, как и что.
Но есть луч света в темном царстве!
Закон о защите прав потребителя. Замечательная штука, поверьте. При прокачанном скиле использования данного закона можно стать настоящим потреб. террористом. Это, кстати, полуофициальный термин — так называют людей, намеренно злоупотребляющих широкими возможностями, которые предоставляются вышеупомянутым законом.
Итак! На что вы имеете право!
По просьбе NermaN я попробую составить мануал, как и что.
+65
Программирование для начинающих: как стартовать и куда двигаться?
2 min
389KБывает, что человек, совсем не связанный с IT, проникается интригующей красотой этой сферы и ставит себе задачу постепенно освоить программирование с нуля. И тут он зачастую просто теряется, не понимая, с чего начать, и нуждаясь в хорошем фундаменте и системном подходе.
Я, будучи недавно в такой же ситуации, гуглила, искала мануалов на Хабре (кое-что нашла: Десять советов начинающим программистам, Начинающему программисту про стартапы и не только…), но в итоге всё же была вынуждена обратиться за советом к одному хорошему человеку, который составил для меня вот такой план. С разрешения этого человека размещаю данный план на Хабре – вдруг он пригодится и кому-то ещё. (Тем более, что перечисленные книги относятся к «золотому фонду» литературы в данной сфере и проверены временем.)
UPD: Новичкам советую обратить внимание на комментарии — там активно и аргументированно корректируется этот план.
Я, будучи недавно в такой же ситуации, гуглила, искала мануалов на Хабре (кое-что нашла: Десять советов начинающим программистам, Начинающему программисту про стартапы и не только…), но в итоге всё же была вынуждена обратиться за советом к одному хорошему человеку, который составил для меня вот такой план. С разрешения этого человека размещаю данный план на Хабре – вдруг он пригодится и кому-то ещё. (Тем более, что перечисленные книги относятся к «золотому фонду» литературы в данной сфере и проверены временем.)
UPD: Новичкам советую обратить внимание на комментарии — там активно и аргументированно корректируется этот план.
+26
Smart KM Link A820
2 min
8.8KЧасто приходится работать за ноутом и ПК одновременно — не весь софт есть и там и там, не весь софт на ноуте работает достаточно быстро, часто нужно прервать работу и ехать на встречу.
Работая таким образом, я, как наверное и многие, периодически пытаюсь мышкой компа что-то щелкнуть на ноуте или передвинуть мышу с ноута на соседний монитор. Особенно это знакомо тем, у кого больше одного монитора на столе.
Теперь это возможно!
Работая таким образом, я, как наверное и многие, периодически пытаюсь мышкой компа что-то щелкнуть на ноуте или передвинуть мышу с ноута на соседний монитор. Особенно это знакомо тем, у кого больше одного монитора на столе.
Теперь это возможно!
+90
Medal for Return — полнометражный мультфильм
1 min
1.5KШесть лет в одиночку и полнометражный мультфильм готов.
Автор сего произведения, некий житель Владивостока — Александр Тимченко.
Как весело заметили на youtube, «мопед не мой»!
Обратите внимание на продолжительность ролика.
Автор сам разработал картины, диалоги, сценарий, внешность персонажей, одежду, фоновые декорации, сцены и оживил всех персонажей. В общем, веселого много.
Автор сего произведения, некий житель Владивостока — Александр Тимченко.
Как весело заметили на youtube, «мопед не мой»!
Обратите внимание на продолжительность ролика.
Автор сам разработал картины, диалоги, сценарий, внешность персонажей, одежду, фоновые декорации, сцены и оживил всех персонажей. В общем, веселого много.
+177
Бюджетный неттоп в качестве HTPC
5 min
60KУ каждого любителя посмотреть хорошее и качественное кино несомненно встает вопрос: как и чем это кино воспроизводить. Сейчас на рынке присутствует огромное количество мультимедийных плееров разной ценовой категории, с разным дизайном, количеством поддерживаемых форматов и других “плюшек” в виде встроенного торрент-клиента и т.д. Но, как правило, достойные плееры выходят за рамки бюджетных устройств и при этом всем они все же не отличаются гибкостью в настройке системы. Но как же тогда поступить? Мы плавно подошли к разговору о HTPC.
+39
Стэнфорд организует бесплатный онлайн-курс по ИИ
1 min
7.6KСтэнфордский университет организует бесплатный онлайн-курс CS221 по искусственному интеллекту осенью этого года. Курс будет проходить с 2 октября по 16 декабря.
CS221 является вводным курсом в основы искусственного интеллекта. В нём описываются основные элементы искусственного интеллекта, такие как представление знаний, вывод, машинное обучение, планирование и игры, поиск информации, машинное зрение и робототехника.
В десятинедельный курс входит примерно двадцать лекций, около восьми домашних заданий, один промежуточный и один итоговый экзамен.
CS221 является вводным курсом в основы искусственного интеллекта. В нём описываются основные элементы искусственного интеллекта, такие как представление знаний, вывод, машинное обучение, планирование и игры, поиск информации, машинное зрение и робототехника.
В десятинедельный курс входит примерно двадцать лекций, около восьми домашних заданий, один промежуточный и один итоговый экзамен.
+72
Мой опыт реанимации жесткого диска
3 min
377KНаверное, рано или поздно это случается с каждым — однажды и у меня слетел usb-жесткий диск.
Куда-то сильно торопился и просто выдернул шнурок из гнезда USB в ноутбуке (как это часто бывает).
Прихожу на работу, подключаю HDD, а он пустой…
Что делать!? Что делал я — читаем далее.
Куда-то сильно торопился и просто выдернул шнурок из гнезда USB в ноутбуке (как это часто бывает).
Прихожу на работу, подключаю HDD, а он пустой…
Что делать!? Что делал я — читаем далее.
+18
Почему литий-ионные батареи умирают так рано?
6 min
131KTranslation
Смерть батареи: мы все видели, как это происходит. В телефонах, ноутбуках, фотоаппаратах, а теперь и электромобилях, процесс болезненный и — если повезет — медленный. С годами, литий-ионный аккумулятор, который когда-то питал ваши устройства в течение нескольких часов (и даже дней!) постепенно теряет свою способность удерживать заряд. В конце концов вы смиритесь, быть может, проклянёте Стива Джобса, а затем купите новую батарею, а то и вовсе новый гаджет.
Но почему это происходит? Что происходит в батарее, что заставляет её испустить дух? Короткий ответ заключается в том, что из-за ущерба от длительного воздействия высоких температур и большого числа циклов зарядки и разрядки в конце концов начинает нарушаться процесс перемещения ионов лития между электродами.
Более подробный ответ, который проведет нас через описание нежелательных химических реакций, коррозию, угрозу высоких температур и других факторов, влияющих на производительность, начинается с объяснения того, что происходит в литий-ионных аккумуляторах, когда всё работает хорошо.
Но почему это происходит? Что происходит в батарее, что заставляет её испустить дух? Короткий ответ заключается в том, что из-за ущерба от длительного воздействия высоких температур и большого числа циклов зарядки и разрядки в конце концов начинает нарушаться процесс перемещения ионов лития между электродами.
Более подробный ответ, который проведет нас через описание нежелательных химических реакций, коррозию, угрозу высоких температур и других факторов, влияющих на производительность, начинается с объяснения того, что происходит в литий-ионных аккумуляторах, когда всё работает хорошо.
+135
Information
- Rating
- Does not participate
- Location
- Новосибирская обл., Россия
- Date of birth
- Registered
- Activity