Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «программирования»
Программирование под Linux 2017-05-13 15:12:49
... обзорная статья про программирование под Linux. Мы ... p>
Запись Программирование под Linux впервые ...
+ развернуть текст сохранённая копия
Все действия в операционной системе выполняются с помощью программ, поэтому многим новичкам интересно не только использовать чужие программы, а писать свои. Многие хотят внести свой вклад в кодовую базу OpenSource. Это обзорная статья про программирование под Linux. Мы рассмотрим какие языки используются чаще всего, рассмотрим основные понятия, а также возможности, разберем как написать простейшую программу на одном из самых популярных… Read more →
Запись Программирование под Linux впервые появилась Losst.
Тэги: программирование
О программировании 2017-05-12 12:45:00
это перепост заметки, оригинал находится на моем сайте: http://lleo.me/dnevnik/2017/05/12. ...
+ развернуть текст сохранённая копия
это перепост заметки, оригинал находится на моем сайте: http://lleo.me/dnevnik/2017/05/12.htmlЗакончил пару программных проектов — песни для Розового Слона и и заводской конвейер для Юры Ильина. Второе — это у Юры колоссальная (для скромно поставленной задачи) система мониторинга окружающей среды и перемещений палетт по конвейерам, он там свою собственную mesh-сеть разработал с датчиками, репитерами и базовыми станциям. А я помогал ему с сайтом-аккумулятором для обсчета и показа всего этого, но и сайт в итоге вышел развесистый и с кучей функций:
А первое — это проект для расшифровки интервью, и эту систему у меня есть планы использовать и далее, уж больно удобная получилась и для разбора интервью и для разбора музыкальных концертов, и вообще. Тут был конечно прикол. Как вы помните, BBC-шную графику waveform я приспособил к своему движку, обвесил системой редактирования, снабдил автоматической резкой фонограммы на обозначенные куски, и всё вроде работало: http://lleo.me/dnevnik/2017/04/28.html. Работало сперва на домашнем home.lleo.me, работало, когда я перенес пост в дневник на lleo.me, а вот когда я накатил этот модуль Розовому Слону на движок vigele, там все эти красивые waveform тупо отказались запускаться, повисая на полпути. Почему? Загадка. При переносе тех же mp3 на home.lleo.me все начинало работать. Первый вечер я убил на поиски, в чем могут быть различия в конфигурациях моего движка, который должен быть стандартен на любом сайте. Не нашел. Второй вечер был убит на изучение, чем отличается хостинг FreeBSD от Linux (может, какие хедеры nginx вместо apache отдает?) В третий вечер выяснилось, что перенесенные на home.lleo.me файлы тоже перестали работать. И вечер я убил на выяснение, чем может в этом плане отличаться mp3 на 48 кГц от 44.1, и в чем может быть для BBC-шного конвертера разница между Joint Stereo и просто Stereo. А тем временем... на home.lleo.me тоже по очереди перестало работать всё, выключая старые фонограммы Боричева и Паперного, которые я изначально там и разбирал, и на которых всё отлаживал. Причем, в дневнике на lleo.me модуль работу свою продолжал как ни в чем не бывало. Четвертый вечер был убит на изучение этой загадочной эпидемии с наблюдениями, как один за другим сами собой прекращают работать страницы, еще недавно работавшие. Наконец случайно удалось выяснить, что проблема наблюдается только только у меня и только в Firefox. А Chrome показывал и показывает исправно. Более того: если Firefox временно снести и установить с нуля, то в нем тоже всё и везде работает. А вот сброс кэшей не помогает. Читатели-программисты ждут отгадки? Да, она есть. Вы не поверите. Масштаб страницы! Масштаб, сцуко, страницы! Если нажать в Forefox Ctrl+/Ctrl- масштаб конкретно этой страницы изменится и запомнится, о чем будет пометка в строке адреса. И вот этот BBC-шный движок (можете сами проверить: http://waveform.prototyping.bbc.co.uk/) отказывается запускаться в Firefox, если масштаб отличается от 100% в ту или иную сторону: Сцука, масштаб страницы разом ломает все графические наработки программистов корпорации BBC! Почему?! Поскольку там наворочены тонны чужих фреймворков один поверх другого (не считая сраного Jquery, который я отдельно ненавижу за подобные приключения), то я полагаю, у этой системы не существует разработчика, который смог бы понять, почему. По крайней мере, мне копаться в этом дерьме совершенно не улыбается: Мораль проста (хотя я знаю множество программистов, которые со мной не согласятся): ничто не способно отнять столько сил и времени, как чужой код. Если есть возможность, надо всё и всегда делать самому. По крайней мере, это проще, понятней, приятней, не приносит настолько мистических загадок и не требует магии и танцев с бубном. В отличие от чужого и непонятного черного ящика, который способен отвалиться в любую минуту без причин. это перепост заметки, оригинал находится на моем сайте: http://lleo.me/dnevnik/2017/05/12.html
Тэги: неведомая, программирование, хуйня
[Перевод - recovery mode ] Как стать веб-разработчиком в 2017 году — план действий 2017-05-11 14:53:31
Светлана Шаповалова, редактор «Нетологии» адаптировала заметку Quincy Larson, в которой он ...
+ развернуть текст сохранённая копия
Светлана Шаповалова, редактор «Нетологии» адаптировала заметку Quincy Larson, в которой он представил три возможных пути становления веб-разработчика: для фронтенда, бекэнда и DevOps.
Читать дальше →
Тэги: backend, backend-программирование, developer, devops, front-end, frontend, tools, бекенд, блог, веб-сайтов, карьера, компании, нетология, перевод, программирование, программиста, разработка, фронтенд
Вдогонку к вчерашнему посту про алгоритмы 2017-05-04 23:21:15
это перепост заметки, оригинал находится на моем сайте: http://lleo.me/dnevnik/2017/05/04. ...
+ развернуть текст сохранённая копия
это перепост заметки, оригинал находится на моем сайте: http://lleo.me/dnevnik/2017/05/04.html
Вчерашний пост http://lleo.me/dnevnik/2017/05/03.html про управление мотором собрал множество комментариев - реально горжусь вами, что вы у меня такие умные. Советов оказалось множество, и буквально в пятом комменте некто Лжедмитрий Малобуков дал ссылку на математический алгоритм: https://stackoverflow.com/questions/22583391/peak-signal-detection-in-realtime-timeseries-data/22640362#22640362 Который сильно подкупал анимированной гифкой, иллюстрирующей матаппарат. Язык алгоритма правда был незнакомый. Да и математику я, оказывается, сильно подзабыл - средние отклонения там всякие, Мю... Но с помощью PHP я алгоритм воссоздал, и он заработал у меня на тестовом массиве. А Чук, неожиданно заинтересовавшийся проблемой, параллельно накидал его на C. Я его код потом пару раз переписал, в итоге получилось вообще несколько строчек, ниочем, как говорится:
[ ТЕКСТ ПОД КАТОМ: Доступен только в оригинальной заметке на сайте ] Вопреки сомнениям скептиков, этот код исправно работал. Ниже на картинке пара пробегов двухоборотного замка туда и обратно от заедания до заедания: Эту картинку передает по WiFI чип 8266 в браузер, по аяксу график плавно плывет и достраивается. Красные эпюры - ток мотора, как мы помним. Синяя линия - результат математической оценки по анализу текущего момента: всплески и провалы. Нас, собственно, интересуют всплески. Зеленая линия - идеал: моменты, когда двигается щеколда замка. Как видим, даже малозаметные всплески в нужных местах исправно отмечаются всплесками синей линии, совпадающей с зеленой. Вы наверно спросите, откуда она взялась, зеленая? Ну, честно говоря, у меня в замке все-таки есть кнопка состояния. Она размыкается в момент, когда приподняты железяки, запирающие защелку, и соответственно, идет её движение - выдвигание или убирание (сорри, не помню правильную слесарную терминологию): Короче, кнопка-то есть. По крайней мере, иногда. Я ее сперва поставил, потом снял, когда понял, что можно мерять токи мотора, сейчас поставил опять, чтобы на графике отображать эталон. Но кнопка мне не нравится, потому что это неспортивно. Ну правда же, на дворе 21 век, все предыдущие века толпы седых математиков думали, карандаши грызли, в безумие впадали, и всё для чего? Чтобы теперь, в век, когда мощный компьютер умещается в чипе ESP8266 размером с ноготь, припаивать в замок лишние кнопки? Не хочется :) Однако, и скептики в комментариях были тоже совершенно правы. Система работает практически без ошибок, но в ситуации полной пробежки: мы включили замок, и вот он пошел вращаться два своих оборота и далее до упора. Потом обратно. И там все очень хорошо работает. Но в реальности задача немного иная: надо быстро защелкнуть замок (например, на один оборот, потом можно подождать с полчасика и еще на один). А потом на этот оборот надо быстро повернуть обратно и открыть. Понятно, что при закрытии замка мотор должен остановиться как можно раньше после выполнения работы - чтобы, вернувшись, человек не ждал, пока мотор будет долгие секунды подъезжать обратно, чтобы отщелкнуть замок. И вот тут возникает проблема. Потому что при старте мотора сам собой вылезает огромный ток старта - оно и понятно, система инерционная, на мотор большая нагрузка, пока не раскрутит все шестерни. Ну, пик старта я просто отсекаю - не измеряю пару секунд после старта. А дальше подъезжает пик поворота защелки. И его система зачастую не видит, потому что не успевает набрать статистику ровного хода для своих дисперсий и прочих вычислений: На этой трагической ноте я мог бы закончить этот пост, и подытожить, что, увы, без кнопки не обойтись. Но я только что для прикола поставил значение размера буфера FLT_lag равным 5 вместо 10, и вообще всё заработало идеально: Не знаю, надолго ли, будем наблюдать. Но на данный момент математика победила. Слава математике! Спасибо всем за советы и сомнения! PS: Кому интересно, вот полный скетч для Ардуины-8266 - добавить к вышеупомянутому chuk.c/chuk.h, и можете повторить эксперимент с замком сами ;) [ ТЕКСТ ПОД КАТОМ: Доступен только в оригинальной заметке на сайте ] это перепост заметки, оригинал находится на моем сайте: http://lleo.me/dnevnik/2017/05/04.html
Тэги: программирование, сам, сделай, электроника
[recovery mode] SimplePage: простой, декларативный фреймворк для быстрого прототипирования 2017-05-04 14:12:01
Хочу поделиться с Хабром простым PHP-фреймворком, выросшим из идей минимализма и ...
+ развернуть текст сохранённая копия
Хочу поделиться с Хабром простым PHP-фреймворком, выросшим из идей минимализма и нацеленным на быструю разработку простых сайтов.
Не хочу показаться зазывалой, впаривающим вам очередной фреймворк, потому все ссылки для быстрого ознакомления с проектом оставляю над катом:
- Пример блога
- Исходники проекта
- Документация
- Баги и предложения
- Быстрая связь
Пример страницы просмотра статьи<?php
$sp = [
'layout' => [
'title' => 'Статья',
],
'input' => [
INPUT_GET => [
'id' => [
FILTER_SANITIZE_NUMBER_INT,
[
'filter' => FILTER_VALIDATE_INT,
'options' => ['min_range' => 1],
'comment' => 'Идентификатор должен быть положительным, целым числом'
]
],
],
],
'pdo' => [
'queries' => [
'article' => [
'SELECT * FROM article WHERE id = :id',
'params' => [
'id' => &$_GET['id'],
],
],
],
],
];
include('../../sp.php');
$article = $article->fetch();
?>
<h1>
<?= $article->title ?>
</h1>
<div>
<?= $article->content ?>
</div>
<ul>
<li>
<a href="/articles/edit?id=<?= $article->id ?>">edit</a>
</li>
<li>
<a href="/articles/delete.php?id=<?= $article->id ?>">delete</a>
</li>
</ul>
Пример экшена удаления статьи<?php
<?php
if($_SERVER['REQUEST_METHOD'] != 'GET'){
http_response_code(404);
exit;
}
$sp = [
'input' => [
INPUT_GET => [
'id' => [
FILTER_SANITIZE_NUMBER_INT,
[
'filter' => FILTER_VALIDATE_INT,
'options' => ['min_range' => 1],
'comment' => 'Идентификатор должен быть положительным, целым числом'
]
],
],
],
'pdo' => [
'queries' => [
[
'DELETE FROM article WHERE id = :id',
'params' => [
'id' => &$_GET['id'],
],
]
],
],
];
include('../sp.php');
header('Location: /articles', 302);
Для заинтересовавшихся, под катом будет краткое описание возможностей проекта, его преимуществ и пример использования. Читать дальше →
Тэги: framework, php, ненормальное, программирование
Главная / Главные темы / Тэг «программирования»
|
Взлеты Топ 5
Падения Топ 5
|