Как стать автором
Обновить
0
@Arminesanread⁠-⁠only

Пользователь

Отправить сообщение
Google Guetzli в качестве приложения (не сервис) и только для мака нашел для себя здесь Image Optim
О, идея!
Испльзовать ORM-фреймворк — отличная методология создания свой БД.
Сначала пишешь при коннекте «DBI:itsmysql:database=test;host=localhost» — устраняешь все ошибки, затем другие и другие ошибки.
stepik не хватает. Программирование, статистика, биоинформатика и куча других абсолютно бесплатных курсов.

Еще интересен вариант сочетания http/2 и defer: загрузка скрипта и парсинг HTML — могут происходить одновременно, а запуск произойдет в момент, когда HTML будет готов, но раньше, чем это произошло бы при синхронном формировании запросов скриптов по ходу парсинга.

Помимо рекламы вашего сервиса (кстати, сайт нормально не грузится), польза от подобного обзора стремится к нулю. Нет ни сравнения цен, ни сравнения фич. Я использую low code development для своих проектов. Для меня критические факторы — это возможность скачать весь код к себе и полностью уйти с платформы в сулчае необходимости, а так же цена пакета и его возможности. У вас в обзоре нет даже этого, не говоря о более детальных факторов — только общие слова о каждом проекте, которые никак не помогут в анализе и никак не сузят поле выбора.

Возможно, вам будет интересно: showterm.io, как ещё более «живая» альтернатива к script
Спасибо, было интересно!

Узнал про script, буду пробовать. Раньше бы сделал скриншот или фотку :)

Заметка про замену табов\пробелов — для этого есть специальные тулзы. Но можно и через универсальный tr, как у вас.

expand - convert tabs to spaces

unexpand - convert spaces to tabs
А вы видели Authentic Theme для Webmin/Virtualmin/Cloudmin?

Вместо того, чтобы слепо следовать указаниям непонятного супер-программиста Марка (который тоже может ошибаться), я предпочитаю заставлять всех своих программистов следовать стандартам кодирования, разработанными не самыми мелкими и уважаемыми организациями. Так больше вероятность, что выработанные ими стандарты логичны. Например NASA и JPL регулярно публикуют стандарты кодирования Си. Сейчас у них есть и Java.
http://homepages.inf.ed.ac.uk/dts/pm/Papers/nasa-c-style.pdf
http://lars-lab.jpl.nasa.gov/JPL_Coding_Standard_C.pdf
http://www.havelund.com/Publications/jpl-java-standard.pdf

Как можно что-то вообще объяснять новичкам, снимая при этом видео, и не использовать хотя бы git log --graph?..
Советую новичкам ungit, не кормить сразу читать книги.
Есть решения которые позволяют стилизовать даже без написания функций под каждый стиль.
Например в SKStyleKit используется описание стилей в виде JSON файла и в общем случае кода не приходится писать вообще.
Круто, спасибо за ещё один метод. Однако функции можно объявлять и прямо в оболочке, так что проверка конфига не спасёт:

попробуйте поставить из коробки 7.0.16 + 7.1.2 через apt-get или aptitude

add-apt-repository ppa:ondrej/php && apt-get update && apt-get -y install php7.0-fpm php7.1-fpm

php7.0-fpm  7.0.16-1+deb.sury.org~trusty+2
php7.1-fpm  7.1.2-1+deb.sury.org~trusty+1

Конфиги и сокеты разделены по отдельным папкам, все счастливы. Оно не совсем официальное, но по сути это собранные под убунту пакеты из debian unstable. Аккуратно, может притащить с собой libssl с отключенным SSLv3 для клиентской части, лечится прибиванием гвоздями apt-pin libssl1.0.0 из основных реп.


Я не против ручной сборки, но ИМХО это для проектов, где есть ресурсы чтобы заниматься этим каждый раз при выходе CVE-шек, а для простых смертных лучше нормально обновляющийся репозиторий.

Так, ничего не мешает ручками скачать, проверить хеш и собрать новый php.

Структура простая:
/opt/php-7.0/
/opt/php-7.1/
/opt/src/тут-все-сырцы


Ну и
systemctl ляля php-7.0-fpm.service
systemctl ляля php-7.1-fpm.service

Текущему админу не нужно ломать голову, так как все запускается после старта виртуалки автоматом и автоматом папочки на ремдиске делаются. Если же ему надо будет что-то перезапустить, что вместо ковыряния консоли он запускает mc, следом заходит в /usr/ssi14/ и там пачка скриптов для запуска, статусов и прочего + завтра добавлю ручной бекап (если ему надо сделать до или после того, как автоматический сработает).

И, самое приятное, мне не зачем забивать на этот контакт, так как есть вероятность других совместных проектов, где я сам займусь серверной частью. Поэтому сервер будет периодически проверяться.

Ну и… сейчас в unstable ветке 7.0.15 и 7.1.1, 7.0.16 & 7.1.2 доступны только с сайта, на момент этого коммента.

Далее, я придерживаюсь политики, что лучше всего ставить софт из пакетов, из репы… пока это не оказывает проблем.

А проблема: попробуйте поставить из коробки 7.0.16 + 7.1.2 через apt-get или aptitude (я к последней привык, и приложил усилие отвыкнуть от первой).
Уверен, что решение будет длиннее, чем собрать их ручками, «скопировать файлики» в init.d и в system, подцепить их и…
systemctl ляля php-7.0-fpm.service
systemctl ляля php-7.1-fpm.service
как я писал выше.
легко ориентироваться по зависимостям модуля при помощи ctr+click

А что меншает допустим также и например сервисы запрашивать в явном виде?


import './careers.component.scss';

import {Component, BaseClass} from '_global_common_angular';
import Crud from './../shared/crud.service';
import Profile from './../profile/profile.service';

@Component({
    __filename
})
export default class extends BaseClass {
    static $inject = [
        Crud.$name,
        Profile.$name,
...
    constructor(Crud, Profile, ...) {
        super({Crud, Profile, ...});
...

PS Я предпочитаю использовать TypeScript пусть даже только как трайспайлер вместо Babel. Он работает немного быстрее, код генерирует более красивый (для меня), тянет меньше npm зависимостей.

Не так давно решал похожую задачу, правда переходили с Gulp :)

Много идей подчерпнул из отличного шаблона NG6 starter, рекомендую.

По поводу экспорта имени модуля, вы это имели в виду?
export default angular.module('app.core', [
  ...
]).name;


Если под автозагрузкой вы имели в виду загрузку модулей по требованию, у нас используется такая схема:
// bundle-loader автоматически оборачивает контент модуля в require.ensure
const handler = require('bundle-loader?lazy!app/components/' + moduleName + '/index.js');

handler((module) => {
    // плагин ocLazyLoad регистрирует модуль и его зависимости в angular
    $ocLazyLoad.load({ name: module.default });
});

Вместе с роутингом схема выглядит немного сложнее, используется свойство resolve у $stateProvider.

Так же сегодня мигрировали на Webpack 2, трудности возникли только с ngInject — ng-annotate-loader перестал работать, но вместо него отлично подошел babel плагин angularjs-annotate.
Production сборка стала значительно быстрее, а вот от tree shaking эффекта не заметили :)

Не видел этот пример, так что не скажу почему автор написал именно так, но никто не запрещает создать строку напрямую:


let mut abc = String::new();

Это будет действительно немножко эффективнее чем инициализация пустой строкой:


let mut abc = String::from("");

Но может автор хотел заодно показать этим примером, как можно создать не только пустые строки, но и с заданным текстом.
Если очень сильно заботится о производительности, то можно предположить сколько текста будет на входе и выделить память заранее:


let mut abc = String::with_capacity(10);
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность