Frontman's mind

Yeah, that's nori and it's delicious

How to remove or delete samsung galaxy wallpaper

31 января 2021, 15:28

There is only one way to remove or delete the default wallpaper on your Samsung Galaxy Android phone: blank 1 pixel PNG file.

Yeah, it's just a simple 123 bytes image.

Here's the step by step instructions:

  1. Create a black 1×1px image manually or just download it from here
  2. Save it in your phone gallery
  3. Open the gallery and find that image
  4. Tap on «...» or look for some submenu with «Set as wallpaper» title
  5. Ignore the warning about image size
  6. Be happy with you beautiful black background with no wallpaper at all

In the end you can remove image from gallery. The background will stay black.

<select> input with options blows up the fieldset

25 ноября 2020, 10:49

Here's the detailed description:

https://stackoverflow.com/questions/17408815/fieldset-resizes-wrong-appears-to-have-unremovable-min-width-min-content/17863685

It happens when the content of select option is longer than select input width and therefor it resizes the fieldset.

The solution is to add max-width: 0 to the fieldset.

How to make OpenAPI generator typescript-axios support JavaScript

9 октября 2020, 16:58

Sometimes there is a moment when you don't want or cannot use the default OpenAPI generator preset, but you need to import your API library package in your JavaScript project.

I'm talking about typescript-axios preset that generates only TS files. It forces you to use babel or other transpiler.

JS-TS issue

I suppose you store npm package in npm repository (public or private like Nexus).

If you import your generated package it can cause an error in ES imports:

Failed to compile with 1 errors  

This dependency was not found:

* your-api-package in ./src/store/actions.js

To install it, you can run: npm install —save your-api-package

So you either have to add TS support or change building process.

npm publish runs npm run build as preinstall hook.
That gives you a dist folder with all necessary JavaScript code so such package can be used in both TS and JS projects.

Build template

But when you publish such package all you get is this basic *.ts files in root without dist.

All you need is to add to package.json these lines:

    'files': [
        'dist'
    ]

And then publish it.

But you cannot edit package.json every time you update your OpenAPI spec.

Consider you use Java stack and build all your libs with gradle. The secret is that you can override *.mustache templates that is used during code generation.

In this case you should copy and edit original template: https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator/src/main/resources/typescript-axios/package.mustache and place it in your gradle templates folder (i.e. .templates/libraries/TypeScriptAxios/package.mustache).

build.gradle example:

...
def rootClientTemplateDir = '$rootDir/templates/libraries/TypeScriptAxios'.toString()
...
tasks.register('generateClient', org.openapitools.generator.gradle.plugin.tasks.GenerateTask) {
    println 'Start generating client ${clientConf.artifactId}'
    inputSpec = clientConf.inputSpec
    def info = [
            version: extractVersion(clientConf.inputSpec)
    ]
    generatorName = clientConf.generatorName
    outputDir = clientOutputDir
    configOptions = clientConf.extendedConfiguration
    configOptions['npmName'] = clientConf.artifactId
    configOptions['npmVersion'] = '${info.version}'
    templateDir = rootClientTemplateDir
}

Мягкий знак не нужен

8 февраля 2019, 12:29

С сегодняшнего дня официально разрешено не ставить мягкий знак в конце слова после букв Ж, Х, Ц, Ч, Ш, Щ

В этом нет никакого смысла. Эти буквы и так достаточно мягкие. Это равносильно попытке произнести мягкий знак отдельно.

Читаем вслух и не видим разницы, а смысл остается:

блаж
вмаж
вреж
дрож
рож
дич
доч
жеч
леч
береч
волоч
впряч
вскач
желч
вещ
мощ
немощ
помощ
брееш
бриош
ваяеш
велиш

Следующий на очереди мягкий знак в окончании ТЬСЯ. Это навсегда решит большую часть ошибок.

Британские авиалини и транзит в Лондоне (виза)

30 декабря 2018, 18:59

Если вы летите с шенгеном через Лондон, например, из Москвы в Амстердам, то вам может понадобиться британская транзитная виза.

Представьте ситуацию: вы покупаете билет из Москвы в Амстердам с пересадкой в Лондоне. Вылет из Москвы вечером 1 сентября, потом 10 часов вы ожидаете в транзитной зоне до следующего рейса и отправление в Амстердам утром 2 сентября.

То есть вы прилетаете и улетаете через один и тот же аэропорт и терминал.

В таком случае вас с большой долей вероятности не пустят на рейс, а авиакомпания не вернёт деньги за билет.

Как объяснил сотрудник бритиша, на ночь транзитная зона закрывается, а так как у вас прилет и вылет в разные дни, то вам нужна виза. Вас просто не пустят на рейс.

К сожалению, нагуглить это перед покупкой билета нереально.

Исключение: у вас оформлена виза США, вид на жительство ЕС и еще несколько редких случаев.

Задачки для собеседования на фронтендера

24 октября 2018, 16:02

Эти задачи встречаются довольно часто. Рекомендую обращать внимание не на решения, а на то как объясняется происходящее.

Что выведет консоль?

var b = {}; 
var c; 

b.b = 1; 
c = b; 
c.b = 2; 

console.log(b.b); // ? 
console.log(c.b); // ?

var i = 10; 
var array = []; 

while (i--) { 
  array.push(function() { 
    return i + i; 
  }); 
} 

console.log([ 
  array[0](), 
  array[1](), 
])
let x, { x: y = 1 } = { x }; y;
console.log(x, y);

Напишите функцию

console.log(sum(2)(3)) // 5
console.log(sum(2,3)) // 5

Напишите функцию, которая делает копию объекта

Напишите функцию, аналогичную методу Array.prototype.reduce()

Есть связанный список. Напишите функцию, которая его переворачивает задом наперёд

Полезные на практике

class Storage {
    // ?
}

const StorageInst = new Storage();

StorageInst.push(1).push(2).export() // [1,2]

function huff(src) {
    return ;
}

huff('AABCCCDD'); // '2AB3C2D

Синтетические задачи, оторванные от реальной жизни:

let a = 10 
a += ++a + a++ + a++ 
console.log(a);

// как сделать чтобы результат был положительный?
console.log((a == 1) && (a == 2) && (a == 3)) // true

var y = 5;
var x = function(){
    return y;
};
var z = function(t){
    var y = 10;
    return t();
};
console.log(z(x));

(function(x, f = () => x) {
    var x;
    var y = x;
    x = 2;
    return [x, y, f()];
})(1);

/*
 * Complete the 'ItemCollector' class below.
 * The print function will return a comma separated list of the brands.
 * You have to make the print function work by only modifying the class.
 */

class ItemCollector {
  get items() {
    return ["Apple", "Orange", "Grapes", "Watermelon"];
  }
  // Write your code here


  // End of your code  
  constructor() {
    return this;
  }
}

function print() {
    return Array.from(new ItemCollector()).join(",");
}

Напишите функцию аналогичную JSON.stringify()

Иньекция зависимостей в компонентах Вью: способы решения.

Библиотека компонентов и возможные проблемы

Что делать когда переиспользуемый компонент нужно модифицировать в зависимости от места

Передача состояний между компонентами?

Ctrl + ↓ Ранее