Ознакомьтесь с нашей политикой обработки персональных данных
  • ↓
  • ↑
  • ⇑
 
10:20 

О Планировании и планировщиках

Юрий Рэйн
λOther side of the memory crystal. …λ
В последнее время часто упоминаются машинное обучение, и нейронные сети. Это очень интересные технологии, но для некоторых задач есть более подходящие (которые как будто стали забытыми). Например с помощью алгоритмов планирования был создан ИИ для игры в стратегию StarCraft http://pekalicious.github.io/StarPlanner/ (Java, C++) (Там можно найти ссылку на демо-видео.)

А ведь эти алгоритмы не только для игр, но и роботов.

читать дальше

@темы: C++, C#, C, Python, Алгоритмы, Искусственный интеллект (ИИ)

19:19 

Python Plays: Grand Theft Auto V - робот-водитель

Юрий Рэйн
λOther side of the memory crystal. …λ
Парень пишет робота-водителя для игрушки.
https://www.youtube.com/playlist?list=PLQVvvaa0QuDeETZEOy4VdocT7TOjfSA8a
Python Plays: Grand Theft Auto V

https://github.com/Sentdex/pygta5
https://pythonprogramming.net/game-frames-open-cv-python-plays-gta-v/

В итоге ... нормально). Иногда похоже теряет разметку дороги и едет в кусты, иногда может аккуратно проехать между идущими впритык машинами. Но в целом трассу держит. Почти как человек).

@темы: Уроки, Полезные ссылки (urls), Python

19:32 

Qt QML

Юрий Рэйн
λOther side of the memory crystal. …λ
23:08 

Самый лучший просмотрщик и редактор SQLite!

Юрий Рэйн
λOther side of the memory crystal. …λ
Самый лучший просмотрщик и редактор SQLite!
http://sqlitebrowser.org/

Просмотр, выполнение запросов, конструирование таблиц (причём в удобной форме: команду создания конструирует само).

@темы: Инструменты, Полезные ссылки (urls)

22:18 

Юрий Рэйн
λOther side of the memory crystal. …λ
Пишет Юрий Рэйн:
06.08.2016 в 22:14


пара книжек может быть полезна:
«Advanced C and C++ Compiling» Milan Stevanovic 2014 - похоже, что книжка про библиотеки: статические и динамические, GCC & MSVS
«C++ Standard Library Quick Reference» Peter Van Weert Marc Gregoire 2016
«Optimized C++» by Kurt Guntheroth 2016, O’Reilly

Но про потоки, раз уж зашло, на всякий случай приложу:
Qt Threads
http://www.slideshare.net/ICSinc/qthreads-are-you-using-them-wrong
http://woboq.com/blog/qthread-you-were-not-doing-so-wrong.html
http://blog.qt.io/blog/2010/06/17/youre-doing-it-wrong/

@темы: QML, C++, Qt, Основы (базовые знания)

20:28 

Статья, объясняющая то, как работают динамические структуры данных (Списки) в ядре Ли

Юрий Рэйн
λOther side of the memory crystal. …λ
Статья, объясняющая то, как работают динамические структуры данных (Списки) в ядре Линукс.
http://rflinux.blogspot.ru/2009/05/linux.html
То, как люди на Си сделали универсальную библиотеку для работы со списками. (Во всяком случае не тот метод, который приходит в голову. И навскидку позволяющий сэкономить на одном malloc.)

Здесь, адаптированное автором для обычных приложений: http://isis.poly.edu/kulesh/stuff/src/klist/list.h.

Так же, возможно стоит глянуть: http://isis.poly.edu/kulesh/stuff/src/

@темы: C, Интересные приёмы, Указатели

12:55 

Git

Юрий Рэйн
λOther side of the memory crystal. …λ
Как перестать отслеживать изменения в файле, не удаляя его.

git update-index --assume-unchanged your_file
После этого гит не будет реагировать на какие-либо изменения в этом файле, чтобы отменить это поведение, выполните следующее

git update-index --no-assume-unchanged your_file

@темы: Git

11:27 

О Компиляторах С++

Юрий Рэйн
λOther side of the memory crystal. …λ
MinGW - популярно, Дёшево и сердито (С++11, С++14. флаг компиляции --std=c++11 или что-то вроде).
Win 32:
https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/

Win 64:
http://nuwen.net/mingw.html (Разработчик Stephan L. Microsoft C++ Core Developer. Boost и либы в комплекте.)

https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/

Есть ещё clang, но он как-то не очень прижился как я понял.

GNU Make (Старо, зато есть везде. Игнатов, перевод доков+ собственная статья):
http://embedded.ifmo.ru/sdk/sdk11/soft/make/make.pdf
http://citforum.ru/operating_systems/gnumake/
http://rus-linux.net/nlib.php?name=/MyLDP/algol/gnu_make/gnu_make_3-79_russian_manual.html

@темы: Полезные ссылки (urls), C++

11:20 

Java

Юрий Рэйн
λOther side of the memory crystal. …λ
*Наблюдая краем глаза за тредом в избранном, узнал, что в Java, File.exists можно сдавать в утиль (то ли ОС, то ли виртуальная машина Java кэшируют информацию о ФС), так что файл может только что быть удалённым, а вернётся true.
Так же getFreeSpace может возвращать размер для отсутствующей папка/файла.

@темы: Баги, фичи и сюрпризы

22:04 

Юрий Рэйн
λOther side of the memory crystal. …λ
https://habrahabr.ru/company/wunderfund/blog/277143/ Алгоритмы и структуры данных в ядре Linux, Chromium и не только

@темы: C, C++, Алгоритмы, Полезные ссылки (urls)

16:03 

Юрий Рэйн
λOther side of the memory crystal. …λ
Наконец-то собрался написать о книгах по программированию, которые оставили очень хорошее впечатление.

Наука:
А.Пегат - "Нечеткое моделирование и управление" - 2013
Piegat, Andrzej "Fuzzy Modeling and Control"
Пожалуй самая понятная и доступно изложенная книга о нечёткой логике (Fuzzy Logic) из всех, которые я видел.
Из недостатков - плохо с практическими примерамми, но если хорошо задуматься, думаю, теории изложенной автором хватит для решения практической задачи.

Петер Флах "Машинное обучение. Наука и искусство построения алгоритмов, которые извлекают знания из данных" (2015)
Flach, Peter "Machine Learning: The Art and Science of Algorithms That Make Sense of Data"
Пока не дочитал, но по первым главам многообещающая книга.

С++/Си
Уильямс, Энтони "Параллельное программирование на C++ в действии"
Williams, Anthony "C++ Concurrency in Action"
Автор описывает многопотчность в стандарте C++11, и на мой взгляд делает это хорошо. Можно даже сказать - увлекательное чтение. Впечатление, что если и стоит читать что-то ещё по теме, так это углоблённо про архитектуру многопоточных коллекций и о параллельных алгоритмах.
В качестве бонуса - в приложении автор делает краткий обзор новых особенностей С++ (r-value, move semantics,...) И пусть кратко, но на мой взгляд ему удалось объяснить суть (пусть и не синтаксис), что с трудом понимается из других статей. (Впрочем, люди ещё советуют http://thbecker.net/articles/rvalue_references/section_01.html)

Torjo, John "Boost.Asio C++ Network Programming"
Небольшая книга о написании асинхронных программ с помощью Boost для работы с интернетом и не только. Не самая лёгкая в понимании, но заслуживает внимания.

Klemens, Ben "21st Century C: C Tips from the New School"
Особо вряд-ли можно назвать выдающимся, тем не менее почитать было любопытно, и пару-тройку приёмов для себя почерпнул.

В дополнение:
Peter Prinz & Tony Crawford "C in a Nutshell" secod edition, covers C11 standart.


Qt:
Марк Саммерфилд - "Qt Профессиональное программирование" - 2011
Summerfield, Mark "Advanced Qt Programming: Creating Great Software with C++ and Qt 4"

Не смотря на то, что книга описывает старый Qt 4, большинство, похоже, применимо и в Qt5.
Прочитав её я пожалел, что потратил время на поиск статей по Drag&Drop, моделям, автодополнению, многопоточности, выводу на принтер... Достаточный аргумент для прочтения? По моему да.
Но автор этим не ограничивается, давая краткий обзор Qt State Machines, которые позволяют сделать проще работу с состояниями приложения (например "Пауза", "Воспроизведение" для проигрывателей.)

http://qmlbook.github.io A Book about Qt5 QML

И о GNU MAKE:
Эффективное использование GNU Make embedded.ifmo.ru/sdk/sdk11/soft/make/make.pdf или зеркало http://adm.jinr.ru/doc/gnumake/index.html

Программа управления компиляцией GNU make Версия 3.79 http://linux.yaroslavl.ru/docs/prog/gnu_make_3-79_russian_manual.html

@темы: книги

14:11 

Юрий Рэйн
λOther side of the memory crystal. …λ
Кстати, а вы знали, что в (можно сказать и так) API Linux Kernel, и Windows есть поддержка двухсвязных списков? Вот и я не знал.

@темы: C++, C

16:02 

Юрий Рэйн
λOther side of the memory crystal. …λ
Может кому-то из вас, или ваших знакомых, но могу назвать две книги, которые лично мне понимание указателей более-менее поставили. Были бы они у меня в период студенчества).

Reese R. - Understanding and Using C Pointers - 2013 (O'Rielly)

Эту я читал и был очень рад). Она на английском, но даже самого слабого знания должно хватить.

Toppo, Hrishikesh - Pointers in C A Hands on Approach - 2013

Эту пролистал по диагонали, но выглядит тоже интересно и в ней есть пара дополнительных глав, отсутствующие в первой.

@темы: C++, C, Указатели, Теория, Основы (базовые знания)

18:51 

The Absolute Minimum Every Software Developer Must Know About Unicode

Вдруг кому? Вряд-ли все читали, да и мне например было полезно освежить память и перечитать.
23.09.2015 в 11:11
Пишет iCindy:

The Absolute Minimum Every Software Developer Must Know About Unicode
Давненько я не предавалась благородному переводческому ремеслу, надо бы освежить навыки. Наткнулась тут на днях на отличную статью про Unicode и решила перевести. На самом деле перевод этой статьи уже был выложен на Хабре, но он мне совсем не понравился.
Статья древняя, аж 2003-го года, но некоторые вещи никогда не стареют.
Не знаю, кому она может здесь пригодиться, но пусть лежит. Как говорит моя бабушка, "не пропадать же добру."

оригинал на сайте joelonsoftware.com

Текст оригинала


Абсолютный минимум того, что каждый разработчик ПО абсолютно, несомненно должен знать о Unicode и кодировках (никаких оправданий!)

Вы когда-нибудь задумывались о том, что означает таинственный тэг Content-Type? Вы думаете, это то, что нужно, особо не задумываясь, засунуть в HTML код?

Вы когда-нибудь получали электронное письмо от друга из Болгарии со строкой "???? ?????? ??? ????"?

Я был в смятении, узнав, как много разработчиков не в курсе того, что творится в загадочном мире кодировок, символов, Юникода и прочего. Пару лет назад бета-тестировщик FogBUGZ поинтересовался, сможет ли программа работать с емэйлами на японском языке. А то он без понятия. Проверив как следует, мы выяснили, что в программе творилось черти что. Я связался с разработчиком, который с сожалением сообщил, что они не могут ничего с этим поделать. Как и большинство программистов, они надеялись, что как-нибудь да пронесет.

Не пронесло. Когда я узнал, что PHP, популярнейший инструмент веб-разработчиков, поддерживает ровно 256 различных символов, а также не имеет встроенной поддержки Unicode, то решил, что хватит это терпеть!

Хочу сделать небольшое объявление: если вы считаете себя программистом и не знаете основ кодировки символов и Юникода, то я найду вас. Найду и покараю, заставив шесть месяцев кряду чистить лук в субмарине. Честное слово.

И еще кое-что:

Это совсем не сложно!

URL записи

06:53 

Юрий Рэйн
λOther side of the memory crystal. …λ
http://hugo-dc.com/posts/2015-07-14-gui-automation-with-python.html
Автоматизация работы с GUI чужой программы на Python

@темы: Python, Полезные ссылки (urls)

15:12 

Юрий Рэйн
λOther side of the memory crystal. …λ
SQLite-Net, C#, .NET 4.5.1, к приложению были приложены ДЛЛ-ки (часть из которых, полагаю, лишняя):
sqlite3.dll
System.Data.SQLite.dll
System.Data.SQLite.EF6.dll
System.Data.SQLite.Linq.dll
EntityFramework.SqlServer.dll
EntityFramework.dll
/x86/EntityFramework.dll

На ОС установлена только студия и .NET 4.5.1, приложение работает.

П.С. Выпуск видео пока, к сожалению, откладывается.

@темы: C#, Передача личного опыта

19:29 

Юрий Рэйн
λOther side of the memory crystal. …λ
http://metanit.com/sharp/mvc5/12.1.php - неплохой на первый взгляд сайт на русском по ASP NET MVC 5

@темы: C#, Полезные ссылки (urls), Уроки

19:17 

Юрий Рэйн
λOther side of the memory crystal. …λ
Чужио видеолекции по базовым алгоритмам.
http://habrahabr.ru/company/mailru/blog/251561/

@темы: Алгоритмы, Основы (базовые знания), Теория, Уроки

18:25 

Python

Юрий Рэйн
λOther side of the memory crystal. …λ
Имхо, неплохие задачки на Квалификацию. (Выглядит как мелочь, но как мне кажется, пытаясь их решить разными способами можно прокачаться в основах) Были как вступительные в Яндекс.

1.
Преобразовать строку вида:
s = "k1:v1:k2:v2:k3"
в словарь.
подсказка

1.1 Дополнение: А попробуйте получать из списка (вначале list, потом iterable) группы по N элементов, причём N задаётся с клавиатуры. (Короче - любое число)

2. вывести 10 самых встречаемых ip адресов из файла filename,
содержащего строки вида:
host\tport\tpage

Подсказка: можно использовать минимум 2 типа словаря *из поставки Python* и минимум два подхода)).

П.С.
Ещё качаться можно на http://www.checkio.org/ - там задачки разной сложности (но имхо бестолковая система авторизации).

@темы: Python, Задания

20:12 

Юрий Рэйн
λOther side of the memory crystal. …λ
http://scipy-lectures.github.io/index.html Пайтон научный. Только по английски и без Pandas.
Может кому пригодится.

@темы: Уроки, Python

Teach Coding

главная