38 Matching Annotations
  1. Last 7 days
    1. Note: it is not possible to apply a boolean scope with just the query param being present, e.g. ?active, that's not considered a "true" value (the param value will be nil), and thus the scope will be called with false as argument. In order for the scope to receive a true argument the param value must be set to one of the "true" values above, e.g. ?active=true or ?active=1.

      Is this behavior/limitation part of the web standard or a Rails-specific thing?

  2. Jul 2022
    1. From Friday 2022-07-29 evening:

      Narrative String Theory<br /> Sherlock Holmes: A Game of Shadows (Warner Bros., 2011) has background NST boards at approx 17:22 and 1:18:46.

      Currently available on Netflix. If you're careful with timing you can get some fun facial expressions out of Holmes and Watson on one of them.

      https://www.imdb.com/title/tt1515091/

  3. Apr 2022
    1. Favor std::array, std::vector, or std::string over a smart pointer managing a fixed array, dynamic array, or C-style string.

      对于固定的 array,动态 array 和字符串,更推荐使用哪种类型?

  4. Jan 2022
  5. Aug 2021
  6. Jun 2021
    1. use :ENABLE_SOUNDTRACK, class: :boolean
    2. ENV! can convert your environment variables for you, keeping that tedium out of your application code. To specify a type, use the :class option:
  7. Oct 2020
  8. Jul 2020
  9. Jun 2020
    1. What would be nice is if JavaScript had a built-in way to do what I can do in Ruby with:

      > I18n.interpolate('Hi, %{name}', name: 'Fred')
      => "Hi, Fred"
      

      But to be fair, I18n comes from i18n library, so JS could just as easily (and I'm sure does) have a library that does the same thing.

      Update: Actually, you can do this in plain Ruby (so why do we even need I18n.interpolate?):

      main > "Hi, %{name}" % {name: 'Fred'}
      => "Hi, Fred"
      
      main > ? String#%
      
      From: string.c (C Method):
      Owner: String
      Visibility: public
      Signature: %(arg1)
      Number of lines: 9
      
      Format---Uses str as a format specification, and returns the result
      of applying it to arg. If the format specification contains more than
      one substitution, then arg must be an Array or Hash
      containing the values to be substituted. See Kernel::sprintf for
      details of the format string.
      
         "%05d" % 123                              #=> "00123"
         "%-5s: %016x" % [ "ID", self.object_id ]  #=> "ID   : 00002b054ec93168"
         "foo = %{foo}" % { :foo => 'bar' }        #=> "foo = bar"
      

      I guess that built-in version is fine for simple cases. You only need to use I18n.translate if you need its more advanced features like I18n.config.missing_interpolation_argument_handler.

    2. When you hear there's something called "template strings" coming to JavaScript, it's natural to assume it's a built-in template library, like Mustache. It isn't. It's mainly just string interpolation and multiline strings for JS. I think this is going to be a common misconception for a while, though.
  10. May 2020
    1. In ES2015 with nested template literals: const classes = `header ${ isLargeScreen() ? '' : `icon-${item.isCollapsed ? 'expander' : 'collapser'}` }`;
    2. Expression interpolation
    1. bug_status=NEW&bug_status=ASSIGNED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED

      Passing multiple values for the same param key

  11. Apr 2020
  12. Sep 2019
  13. Aug 2019
  14. Mar 2019
    1. print(self.num,"/",self.den)

      i particularly like an alternate construction better, because it allows you better control of the output string(this example will not insert spaces before and after the slash, unless you deliberately put them there)

      print('{}/{}'.format(self.num,self.den))
      

      It uses the .format module, that lets you replace {} structures with the print verions of variables, you can set names for them like

      print('{numerator}/{denominator}'.format(denominator = self.den, numerator = self.num))
      

      and a lot of other stuff, you can learn more reading the python documentation of the string class

  15. May 2017
  16. citeseerx.ist.psu.edu citeseerx.ist.psu.edu
    1. Faster Approximate String Matching Baeza-Yates and G. Navarro, R. Algorithmica (1999) 23: 127. doi:10.1007/PL00009253


  17. Apr 2017
    1. significant.

      So, there is a performance hit for using + or +=, but not enough for any reasonable string literal in code. Concatenating a long paragraph, use StringBuilder.

  18. Apr 2015
    1. Basically how CORS works is that if the Access-Control-Allow-Orign header is set in the HTTP response, then the content loaded by AJAX can be used in our script regardless of the fact it is on the same domain or some other. Now for your purpose, you can upload your local JSON file to Dropbox's Public folder and get a Public URL, that you can load by a simple AJAX call.

      Sounds interseting