Рекомендуем к прочтению книгу Александра Бындю "Антихрупкость в IT"
Эта книга — результат многолетнего опыта построения IT-продуктов. И прежде всего она о том, как выстроить процессы разработки IT-систем таким образом, чтобы успевать вовремя подстроиться под любые изменения.
В её основе — описание работающих практик, примеры из реальных проектов, анализ ошибок и выводы. В книге собраны рекомендации для владельцев бизнеса и разработчиков. Первые приобретут систематизированные знания о том, как правильно взаимодействовать с IT, а вторые — как делать хорошо и не делать плохо.
Сайт издания
Ознакомиться с книгой
Эта книга — результат многолетнего опыта построения IT-продуктов. И прежде всего она о том, как выстроить процессы разработки IT-систем таким образом, чтобы успевать вовремя подстроиться под любые изменения.
В её основе — описание работающих практик, примеры из реальных проектов, анализ ошибок и выводы. В книге собраны рекомендации для владельцев бизнеса и разработчиков. Первые приобретут систематизированные знания о том, как правильно взаимодействовать с IT, а вторые — как делать хорошо и не делать плохо.
Сайт издания
Ознакомиться с книгой
Как включить все стандартные библиотеки одной командой
Чтобы разом включить в проект все стандартные библиотеки, используйте #include <bits/stdc++.h>. Это особенно полезно в условиях дефицита времени на соревнованиях по программированию.
Но помните, что:
#include <bits/stdc++.h>
содержит множество заголовочных файлов, которые, возможно, и не понадобятся в конкретном проекте. А это может привести к увеличению времени компиляции.
#include <bits/stdc++.h> не является стандартным заголовочным файлом библиотеки GNU C++. Таким образом, не относящиеся к типу GCC (GNU Compiler Collection) компиляторы могут испытывать затруднения в процессе исполнения. Однако так бывает не часто!
#cpp
Подписывайтесь на канал 👉@cod_academy
Чтобы разом включить в проект все стандартные библиотеки, используйте #include <bits/stdc++.h>. Это особенно полезно в условиях дефицита времени на соревнованиях по программированию.
Но помните, что:
#include <bits/stdc++.h>
содержит множество заголовочных файлов, которые, возможно, и не понадобятся в конкретном проекте. А это может привести к увеличению времени компиляции.
#include <bits/stdc++.h> не является стандартным заголовочным файлом библиотеки GNU C++. Таким образом, не относящиеся к типу GCC (GNU Compiler Collection) компиляторы могут испытывать затруднения в процессе исполнения. Однако так бывает не часто!
#cpp
Подписывайтесь на канал 👉@cod_academy
👍2
Пирамидальная сортировка
Пирамидальная сортировка является методом сортировки, который интерпретирует элементы в массиве, как почти полное бинарное дерево.
Она берет элементы массива и вставляет их в пирамиду.
После построения пирамиды, из нее по очереди удаляются наибольшие элементы и вставляются в конец массива, где и находятся в отсортированном виде.
Общее время сортировки расчитывается по O(N logN) для N элементов.
#java
Подписывайтесь на канал 👉@cod_academy
Пирамидальная сортировка является методом сортировки, который интерпретирует элементы в массиве, как почти полное бинарное дерево.
Она берет элементы массива и вставляет их в пирамиду.
После построения пирамиды, из нее по очереди удаляются наибольшие элементы и вставляются в конец массива, где и находятся в отсортированном виде.
Общее время сортировки расчитывается по O(N logN) для N элементов.
#java
Подписывайтесь на канал 👉@cod_academy
👍1
Присвоение первого непустого значения из ряда
Следующая инструкция присвоит первый непустой (имеющий истинное значение) объект из множества объектов A, B и С. Или None, если все предыдущие объекты окажутся пустыми.
#python
Подписывайтесь на канал 👉@cod_academy
Следующая инструкция присвоит первый непустой (имеющий истинное значение) объект из множества объектов A, B и С. Или None, если все предыдущие объекты окажутся пустыми.
#python
Подписывайтесь на канал 👉@cod_academy
👍1
Ссылки в C++
Когда переменная объявляется как ссылка, она становится альтернативным именем для существующей переменной. Переменную можно объявить как ссылку, поместив в её объявление "&".
#cpp
Подписывайтесь на канал 👉@cod_academy
Когда переменная объявляется как ссылка, она становится альтернативным именем для существующей переменной. Переменную можно объявить как ссылку, поместив в её объявление "&".
#cpp
Подписывайтесь на канал 👉@cod_academy
👍1
Google-json (GSON)
Google-json, как понятно из названия, ещё одна разработка прямиком из Google. Библиотека реализует механизмы работы с форматом JSON, а именно приведение Java-объектов в этот формат и обратно.
Примерно вот так выглядит сериализация и десериализация с помощью GSON(см картинку).
Как видно, перевод объекта проходит с помощью минимального количества легкочитаемого и понимаемого кода. Особенно эта библиотека пригодится при работе с RESTful приложениями, которые общаются преимущественно с помощью json.
#java
Подписывайтесь на канал 👉@cod_academy
Google-json, как понятно из названия, ещё одна разработка прямиком из Google. Библиотека реализует механизмы работы с форматом JSON, а именно приведение Java-объектов в этот формат и обратно.
Примерно вот так выглядит сериализация и десериализация с помощью GSON(см картинку).
Как видно, перевод объекта проходит с помощью минимального количества легкочитаемого и понимаемого кода. Особенно эта библиотека пригодится при работе с RESTful приложениями, которые общаются преимущественно с помощью json.
#java
Подписывайтесь на канал 👉@cod_academy
👍1
Почему присвоение не является копированием?
В python все является объектом. В этом легко убедится воспользовавшись функцией
При присвоении в новую переменную отправляется ссылка на объект. А при изменении объекта ссылка на него не меняется.
Тут многие могут спросить про строки и числа, поэтому отвечаю — с ними то же самое. Просто при операциях не изменяется старый объект, а создается новый. Все это можно проследить воспользовавшись функцией
Интересно то, что за частью чисел в языке на программном уровне закреплена ссылка на объект. Можете попробовать сами.
#python
Подписывайтесь на канал 👉@cod_academy
В python все является объектом. В этом легко убедится воспользовавшись функцией
dir().При присвоении в новую переменную отправляется ссылка на объект. А при изменении объекта ссылка на него не меняется.
Тут многие могут спросить про строки и числа, поэтому отвечаю — с ними то же самое. Просто при операциях не изменяется старый объект, а создается новый. Все это можно проследить воспользовавшись функцией
id(), которая показывает номер объекта.Интересно то, что за частью чисел в языке на программном уровне закреплена ссылка на объект. Можете попробовать сами.
#python
Подписывайтесь на канал 👉@cod_academy
👍2
nullptr
Раньше для обнуления указателей использовался макрос
#cpp
Подписывайтесь на канал 👉@cod_academy
Раньше для обнуления указателей использовался макрос
NULL, являющийся нулем — целым типом, что, естественно, вызывало проблемы (например, при перегрузке функций). Ключевое слово nullptr имеет свой собственный тип std::nullptr_t, что избавляет нас от бывших проблем. Существуют неявные преобразования nullptr к нулевому указателю любого типа и к bool (как false), но преобразования к целочисленных типам нет.#cpp
Подписывайтесь на канал 👉@cod_academy
👍2
Метод matches()
Возвращает значение true, если, и только в том случае, если эта строка соответствует заданному регулярному выражению.
#java
Подписывайтесь на канал 👉@cod_academy
Возвращает значение true, если, и только в том случае, если эта строка соответствует заданному регулярному выражению.
#java
Подписывайтесь на канал 👉@cod_academy
👍1
Как отправить post запрос в Python?
Для того, чтобы отправить
Как мы видим - сервер получил наши данные.
В качестве отправных данных можно поставить любые значения - данный сервер их примет.
#python
Подписывайтесь на канал 👉@cod_academy
Для того, чтобы отправить
post-запрос, нам нужно воспользоваться библиотекой requests.Как мы видим - сервер получил наши данные.
В качестве отправных данных можно поставить любые значения - данный сервер их примет.
#python
Подписывайтесь на канал 👉@cod_academy
👍2
range-based циклы
В С++11 была добавлена поддержка парадигмы
Это полезно, когда вы просто хотите получить элементы массива/контейнера или сделать с ними что-то, не заботясь об индексах, итераторах или кол-ве элементов.
#cpp
Подписывайтесь на канал 👉@cod_academy
В С++11 была добавлена поддержка парадигмы
for each для итерации по набору. В новой форме возможно выполнять итерации в случае, если для объекта итерации перегружены методы begin() и end().Это полезно, когда вы просто хотите получить элементы массива/контейнера или сделать с ними что-то, не заботясь об индексах, итераторах или кол-ве элементов.
#cpp
Подписывайтесь на канал 👉@cod_academy
👍2
Какая проблема возникнет с этим кодом?
Ответ: Данный код не с компилируется.
Этот вопрос на знание иерархии исключений, в данном случае
#java
Подписывайтесь на канал 👉@cod_academy
Ответ: Данный код не с компилируется.
Этот вопрос на знание иерархии исключений, в данном случае
FileNotFoundException унаследован от IOException, первый catch будет перехватывать все исключения и в следующий блок catch управление не будет передано.#java
Подписывайтесь на канал 👉@cod_academy
👍2
Форматирование строк
Часто приходится работать со строкой и выводить различные данные. Не проблема, когда нужно вывести что-то короткое:
print('Hello', name). Но чаще строки нужны для отображения на формах, а не через print(). Еще чаще вывод должен быть намного сложнее.
В python3 есть очень удобный способ. Нужно поставить f перед строкой а в фигурных скобках {} написать нужную переменную. Если же эти скобки понадобились в тексте, то достаточно написать их дважды, чтобы экранировать.
Еще один способ — воспользоваться методом format(). Суть та же, но на этот раз без добавления f и добавления переменных как аргументов.
#python
Подписывайтесь на канал 👉@cod_academy
Часто приходится работать со строкой и выводить различные данные. Не проблема, когда нужно вывести что-то короткое:
print('Hello', name). Но чаще строки нужны для отображения на формах, а не через print(). Еще чаще вывод должен быть намного сложнее.
В python3 есть очень удобный способ. Нужно поставить f перед строкой а в фигурных скобках {} написать нужную переменную. Если же эти скобки понадобились в тексте, то достаточно написать их дважды, чтобы экранировать.
Еще один способ — воспользоваться методом format(). Суть та же, но на этот раз без добавления f и добавления переменных как аргументов.
#python
Подписывайтесь на канал 👉@cod_academy
👍2
document.gif
23.4 KB
Создание PDF из HTML шаблона с помощью Python
Если вам необходимо сгенерировать PDF файл скриптом на Python, то вам будет полезно прочесть статью ниже. В ней автор рассказывает, какая похожая задача перед ним возникла и как он её решал.
https://tretyakov.net/post/sozdanie-pdf-iz-html-shablona-s-pomoshhyu-python/
Подписывайтесь на канал 👉@cod_academy
Если вам необходимо сгенерировать PDF файл скриптом на Python, то вам будет полезно прочесть статью ниже. В ней автор рассказывает, какая похожая задача перед ним возникла и как он её решал.
https://tretyakov.net/post/sozdanie-pdf-iz-html-shablona-s-pomoshhyu-python/
Подписывайтесь на канал 👉@cod_academy
👍3
В чём разница между string и String в C#?
Ответ на самом деле очень прост: string — это просто псевдоним (alias) для System.String т.е. технически, никакой разницы нет. Так же, как и нет разницы между int и System.Int32.
https://tproger.ru/problems/c-sharp-strings/
Подписывайтесь на канал 👉@cod_academy
Ответ на самом деле очень прост: string — это просто псевдоним (alias) для System.String т.е. технически, никакой разницы нет. Так же, как и нет разницы между int и System.Int32.
https://tproger.ru/problems/c-sharp-strings/
Подписывайтесь на канал 👉@cod_academy
👍1
JavaScript: разрабатываем приложение для записи звука
В этом небольшом "туториале" я хочу показать вам, как разработать приложение для записи и воспроизведения аудио-файлов.
Функционал нашего приложения будет следующим:
запись аудио
отображение записи с возможностью ее предварительного прослушивания и последующего сохранения или удаления
хранение аудио-файлов на сервере
извлечение аудио-файлов, хранящихся на сервере, и их отображение в браузере
https://habr.com/ru/companies/timeweb/articles/581086/
Подписывайтесь на канал 👉@cod_academy
В этом небольшом "туториале" я хочу показать вам, как разработать приложение для записи и воспроизведения аудио-файлов.
Функционал нашего приложения будет следующим:
запись аудио
отображение записи с возможностью ее предварительного прослушивания и последующего сохранения или удаления
хранение аудио-файлов на сервере
извлечение аудио-файлов, хранящихся на сервере, и их отображение в браузере
https://habr.com/ru/companies/timeweb/articles/581086/
Подписывайтесь на канал 👉@cod_academy
👍2
10 фич в C#, о которых вы определённо должны узнать и начать их использовать
Если вы только начали изучение C# или же решили расширить свои знания, мы нашли для вас 10 фич, знание которых позволит вам избежать ошибок, писать более понятный код и сохранить кучу времени.
https://tproger.ru/translations/10-c-sharp-tips/
Подписывайтесь на канал 👉@cod_academy
Если вы только начали изучение C# или же решили расширить свои знания, мы нашли для вас 10 фич, знание которых позволит вам избежать ошибок, писать более понятный код и сохранить кучу времени.
https://tproger.ru/translations/10-c-sharp-tips/
Подписывайтесь на канал 👉@cod_academy
Python RegEx: практическое применение регулярок
Рассмотрим регулярные выражения в Python, начиная синтаксисом и заканчивая примерами использования.
https://tproger.ru/translations/regular-expression-python/
Подписывайтесь на канал 👉@cod_academy
Рассмотрим регулярные выражения в Python, начиная синтаксисом и заканчивая примерами использования.
https://tproger.ru/translations/regular-expression-python/
Подписывайтесь на канал 👉@cod_academy
👍1